前言

Hi 大家好,我是梅森。這篇想一次聊三個我做過的資訊專案。它們的主題差很多,一個講環保回收,一個講生態,一個講航空,但有一個共同點:每一個都不是我一個人埋頭寫程式,而是跟不同專業的人合作,把資訊帶進一個我原本不熟的領域。

我一直覺得,資訊最有趣的地方不在於自己能寫出多厲害的程式,而在於能不能跟懂設計的人或懂生態的人一起,把一個真實世界的問題解決。這篇就照環保到生態再到航空的順序,講講我在這三個專案裡怎麼跟人合作。

環保回收

這個專案的起點是校內的公民行動課程。我這組除了我以外,還有一位設計專業跟一位行銷專業的同學,剛好組成一個資訊加設計加行銷的團隊。

上學期:先去現場找問題

上學期我們沒有急著做東西,而是先去現場。我們造訪了 RE-THINK 重新思考 這個環保組織進行訪談跟田野調查,也跟著他們的淨灘活動去拍攝紀錄。實際站在海邊撿垃圾之後,很多在教室裡想不到的問題才會浮現。

跟著 RE-THINK 去淨灘,很多問題是真的站在海邊才會發現的
跟著 RE-THINK 去淨灘,很多問題是真的站在海邊才會發現的
淨灘現場的分類其實很複雜,一件東西到底屬於哪一類常常沒那麼直覺
淨灘現場的分類其實很複雜,一件東西到底屬於哪一類常常沒那麼直覺

我們最後鎖定的問題是:民眾對複雜回收物的認知落差。像手搖飲的杯子,紙杯加吸管加封膜其實是複合材質,一般人很難一眼判斷每個部件該怎麼丟。

這是我們學校的回收區,就算設計專長的組員重新設計回收告示後還是會有人亂丟的現象
這是我們學校的回收區,就算設計專長的組員重新設計回收告示後還是會有人亂丟的現象

下學期:做一個會辨識回收物的網站

下學期我們提案並設計了一款叫 Trashform 的網站,用 AI 影像辨識來彌補這個認知落差。使用者拍一張照片,網站就會告訴你這個東西怎麼分類怎麼處理,還會針對臺北跟高雄給出在地化的指引,因為同一個東西在不同縣市的處理方式其實不一樣。

Trashform 的首頁,拍下廢棄物就立刻知道怎麼丟
Trashform 的首頁,拍下廢棄物就立刻知道怎麼丟

這個網站是我主要負責的部分。它不是一次就做成現在的樣子,而是分成好幾個版本逐步改出來的:

  • v2.0 純前端雛形:最基本的版本,直接在瀏覽器呼叫 Gemini 辨識照片,還沒有後端。
  • v2.1 全端化:一天內把整個架構翻新成 Postgres 加雲端儲存加後台,開始支援複合材質辨識,會自動把一杯手搖拆解成紙杯跟吸管跟封膜分別怎麼處理,也做了組織代號制度讓老師發代號給學生用,不用每個人自備 API Key。
  • v2.2 使用教學:加了會依照使用者裝置自動切換手機版或桌機版的教學頁。
  • v2.3 手機優先加去摩擦:上傳完自動開始辨識少一步操作,後端把圖片壓縮到原本的十分之一,還加了社群連結跟回饋表單按鈕。
  • v2.4 結果體驗加社群分享:辨識結果改用彈窗呈現,加了環保冷知識輪播,可以一鍵把結果分享到 IG 限時動態,後台也能匯出報表。

做這個專案讓我體會最深的,是跨領域合作真的會讓成品完全不一樣。如果只有我,Trashform 大概只會是一個堪用的辨識工具。但因為有設計專業的同學把介面跟視覺顧好,有行銷專業的同學去想怎麼推廣跟收集回饋,它才變成一個真的有人願意打開來用的產品。

跨領域的合作很多時候就是這樣,三個人擠在一起邊討論邊改
跨領域的合作很多時候就是這樣,三個人擠在一起邊討論邊改

完整的程式碼跟開發紀錄都在 GitHub 上,也可以直接試用線上版

淨灘收工後的合照,這個專案是從海邊開始的
淨灘收工後的合照,這個專案是從海邊開始的

生態

第二個專案來自校內的 SDGs 議題探究課程。這次我合作的對象是一位生態專業的同學,我們的分工很清楚,他懂生態,我懂資訊。

我們把題目定在城市綠地連通性與都市生態網路,並以臺北信義區四獸山下的永春陂濕地公園為例。這座公園是從閒置的軍營用地一路復育成生態公園的,裡面復育了大約 50 種鳴禽。

定題的過程比我想像中難很多。我們一開始題目訂得太大,後來是靠系統思考畫因果關聯圖,加上實地去永春陂勘察,再用 eBird 熱點資料跟 iNaturalist 還有工務局大地工程處的新聞稿來佐證,才慢慢把題目收斂成一個可以被數據驗證的生態網路問題。中間也請了一位業界的地政士事務所所長來給我們深度回饋。

我們這組完整的背景分析,從系統圖跟因果關聯一路到數據佐證還有提出的解方,全部整理在同一張上面
我們這組完整的背景分析,從系統圖跟因果關聯一路到數據佐證還有提出的解方,全部整理在同一張上面

我們針對核心問題提出的解方,是導入一套 AI 智慧影像辨識誘捕籠,從源頭管理永春陂周邊的流浪貓,降低牠們對園區鳴禽的捕食壓力。做法是讓籠子用 AI 辨別,確定是流浪貓或狗才關門,再搭配感應器,抓到之後自動發訊息通知放置者去處理。我們也用 SMART 指標把它變成可以衡量的目標,希望在 2027 年前完成周邊流浪動物的數量控管,2030 年前完成安置。

在這個專案裡,我主要負責資訊專業的部分,包括 AI 辨識邏輯的設定跟部分的 3D 構圖,生態的知識則交給我的組員。這種分工讓我學到一件事,就是提案不是把點子講出來就好,而是要能被外部專家跟現實條件檢驗。像那位所長就提醒我們,抓捕之後的收容跟安置才是真正的難題,不能只談抓。我也學會在資料互相矛盾的時候,選擇比較保守而且可以被驗證的數字,這是做研究該有的誠實。

航空

第三個跟前兩個不太一樣。它不是一堂課的專題,而是從航空研究社的社課裡延伸出來的一連串工具。

在帶社課的過程中我發現,很多航空知識太複雜也太抽象,只靠口頭講解很難讓社員真的理解。與其一直講,不如做一些能親手操作的東西。所以我陸續做了不少練習工具跟教材網站,等於是把資訊變成航空教育的工具。

第一個是 Aircraft Marshaller。這是一個用手勢指揮飛機進停機位的網頁遊戲,玩家扮演地面導引員,透過電腦鏡頭即時辨識你的手勢,引導一架 3D 飛機沿著導入線滑進停機位。手勢是照 ICAO 機坪信號設計的,還可以切換 787 跟 777 兩種機型。

Aircraft Marshaller 的畫面,用鏡頭辨識手勢來指揮飛機
Aircraft Marshaller 的畫面,用鏡頭辨識手勢來指揮飛機

下面這部影片是這個專案的 Demo,可以看到社員學習如何透過手勢把一架 ATR-72 引導進停機位。

第二個是 VTSim,一個飛行員潛質測驗的模擬器。它重現了台灣航醫中心那套培訓機師甄選在用的維也納測驗,收錄了好幾個科目:

  • 決斷測驗,也就是俗稱的打地鼠,練反應力
  • 感覺動作協調,俗稱立披薩,練三軸控制
  • 同步多工,俗稱刪數字,練並行任務
  • 空間定向,判斷飛機的三軸姿態
  • 完形知覺,在散點裡找出圖形
  • 持續注意力,盯著白點的變化
VTSim 的科目選單,把航醫中心那套飛行員潛質測驗搬到網頁上
VTSim 的科目選單,把航醫中心那套飛行員潛質測驗搬到網頁上

下面這部影片是 VTSim 的 Demo。

第三個是 DICAGO,一個把航空英語跟 ICAO 無線電通話做成闖關遊戲的網站。它有闖關關卡跟經驗值跟連續天數,題型從拼讀字母跟數字一路到地面滑行跟機師對答,全部對應到 ICAO 的六大語言能力面向。

DICAGO 用闖關的方式學航空英語跟 ICAO 通話
DICAGO 用闖關的方式學航空英語跟 ICAO 通話

第四個是 VOXATC,一個航管通話的練習平台。它用 Gemini 的語音辨識跟語音合成,讓你按著按鍵通話,跟 AI 塔台進行 ICAO 標準的起飛與到場無線電對話。目前先完成了松山機場 RCSS,桃園跟高雄還在進行中。這個對社課特別有用,因為 ATC 通話只用看的很難學會,一定要實際開口練習。可以直接試用線上版

VOXATC 的首頁,選好機場就能直接跟 AI 塔台對話
VOXATC 的首頁,選好機場就能直接跟 AI 塔台對話

第五個是 MSFS 飛行日誌。它會把我在微軟模擬飛行裡錄下來的航跡,轉成一個可以互動的 3D 地球飛行日誌,做成 PWA 網站,上面有統計列跟可以收合的分析面板。等於把自己飛過的每一趟都變成看得到的紀錄。這個也有線上版可以看。

我的 MSFS 飛行日誌,把錄下來的航跡變成可以互動的 3D 地球
我的 MSFS 飛行日誌,把錄下來的航跡變成可以互動的 3D 地球

第六個是 flightdeck。這個比較特別,它會交叉比對我在 FlightRadar24 上的飛行紀錄跟我的 GitHub 貢獻歷史,然後產生一張可以嵌在首頁的動畫遊牧地圖跟航班看板 SVG。算是把飛行跟寫程式這兩件我最常做的事結合起來。

還有 ATIS-Monster,一個用 Flask 做的機場資訊系統。它會自動錄下松山跟桃園還有高雄機場的 ATIS 廣播,再透過 Gemini 轉錄並翻譯成中文。ATIS 的英文廣播語速快又不容易聽清楚,對剛入門的人並不友善,這個工具就是想把門檻降低。

除此之外我也做了一套臺北飛航情報區的 ATC 管制員模擬器,讓人可以站在管制員而不是機師的角度,看整個空域是怎麼被指揮的。

這些工具的程式碼大多都放在我的 GitHub 上。

心得

把這三個專案擺在一起看,我最大的體會是,資訊對我來說比較像一種通用工具,真正決定成果的,是我能不能把它接到一個我原本不懂的領域上。

三個專案剛好對應到三種不同的合作方式。環保回收是跟設計跟行銷的同學平行合作,各出各的專業,最後拼成一個完整的產品。生態是跟生態專業的同學互補,我出資訊他出領域知識,兩邊缺一不可。航空則是我把資訊當成教學的工具,服務的對象是想學航空的人。

過程中我也踩到不少自己的盲點。做環保回收的時候,我一開始只想著辨識準不準,是設計跟行銷的同學提醒我,一個沒人想用的工具再準也沒意義。做生態的時候,我以為把 AI 辨識邏輯寫好就夠了,是那位所長跟生態組員讓我看到,抓捕背後的收容跟法規才是真正的難題。這些都是我一個人關在房間裡寫程式永遠不會遇到的問題。

如果要用一句話總結,我會說跨領域合作最珍貴的,是它會一直把你從自己的舒適圈裡拉出來。每一次跟不同專業的人合作,我都會更清楚一件事,就是資訊本身很有力量,但它要接上別人的專業,才真的能改變什麼。謝謝一路上一起做專案的每一位夥伴,也謝謝看到這裡的你。