前言

本文記錄三個資訊專案,主題分別為環保回收、生態與航空。它們雖然主題不同,卻有一個共同點,每個專案都需要和不同專業的人合作,將資訊技術帶入我原本不熟悉的領域。

我認為,資訊最有價值的地方不只在於程式能力,而在於能否與設計、生態等領域的專業者合作,處理真實世界的問題。以下依環保、生態與航空的順序,記錄我在三個專案中的合作經驗。

環保回收

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

上學期:先去現場找問題

上學期我們沒有急著做東西,而是先去現場。我們造訪了 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 辨識邏輯寫好就夠了,是那位所長跟生態組員讓我看到,抓捕背後的收容跟法規才是真正的難題。這些都是我一個人關在房間裡寫程式永遠不會遇到的問題。

回顧三個專案,我逐漸理解資訊技術必須與領域知識和使用情境結合,才可能形成可被採用的成果。每次與不同專業的夥伴合作,都讓我重新檢視程式之外的需求與限制,這也是跨領域實作最重要的收穫。