鯨魚計畫:運用人工智慧來防止船隻撞擊瀕臨絕種的海洋哺乳動物

作者 Tony Kontzer

數百年來全球鯨魚數量持續大幅減少,人類早就開始採取嚴正作法以求扭轉這項災難性的後果。

其中最新的一項作法便是由加拿大政府領軍的人工智慧項目,以求將船隻碰撞北大西洋露脊鯨的情況降至最低。早期捕鯨者覺得認為體長五十英尺的北大西洋露脊鯨,會在陸地的視線範圍內游泳,捕殺死亡後會浮上水面,「正是」他們的捕獵對象,而有了「right whale」一名。

新的問題來了。或許是因為氣候變遷,造成浮游生物向北游動,北大西洋露脊鯨為了食物而游向新的水域。

鯨魚被迫追捕獵物,新的遷徙路徑得通過既定航線。目前估計全球露脊鯨的數量僅剩下 500 頭,避免這些瀕臨滅絕的生物遭受船隻撞擊一事,很快便成為急待解決的問題。

前幾年加拿大交通部(國家交通部門)一直致力於防止商業船隻撞擊鯨魚。這項計畫在鯨魚的遷徏季節,會以飛機載著海洋生物學家飛到航道上進行觀察。

生物學家在航道上發現鯨魚時,會警告船隻減速,嚴重打斷了航運業務,導致成本增加、運輸時間延長和收入減少。

加拿大交通部八月時為驗證一項概念而調整了計畫內容,使用無人飛行載具(UAS)和人工智慧軟體來偵測鯨魚是否出現在航道中。

露脊鯨母子。

生產用於監控船舶、港口和邊界的自動飛行無人機製造商 Planck Aerosystems,受邀開發能使用 UAS 收集到的照片和影片資料,辨識其中是否出現北大西洋露脊鯨的人工智慧軟體。新的辦法有可能在保護鯨魚的同時,又能維持加拿大的航運經濟。

Planck 技術長 Gaemus Collins 說:「政府需要做出會產生巨大財務影響力的決定。我們的軟體是用於協助生物學家搜尋成千上萬張的影像,找出其中少數可能有鯨魚身影的幾張。生物學家最後再判斷『沒錯,這是鯨魚,對,這是露脊鯨』,然後向加拿大交通部反映航道上的確出現露脊鯨。」

瞭解其它用於從空中辨識北大西洋露脊鯨的深度學習研究內容。

任務:資料集

Planck Aerosystems 已與美國國家海洋暨大氣總署(NOAA)商討在南加州沿海地區進行一個相似的項目,使用電腦視覺工具自動從無人機空拍影像來找出鯨魚。

NOAA 的官員明白加拿大交通部的這些努力,猜想是否能將 Planck 的技術用於這件事上,因此引薦雙方認識。

Planck 的首件要務便是建立一個用於訓練深度學習模型的資料集。

「他們仔細研究了這件事,發現從前的任務並未留下資料可以用來訓練演算法,這可是一大難題。我們得建立一套系統,在 UAS 升空後,每天在現場重新訓練偵測演算法。」Collins 說。

加拿大交通部官員一開始提供解析度為 1080p 的影像資料給 Planck,Planck 可以用小巧的 NVIDIA Jetson TX2 嵌入式人工智慧電腦上進行處理。1080p 解析度的影像卻還不足以用來辨識鯨魚種類,或是鯨魚身上的其它記號(項目的目標之一是收集足夠的影像資料,以便日後用於追蹤個別鯨魚)。

加拿大交通部最終改用2400萬像素的影像裝置,Planck 再搭配 NVIDIA Quadro P5000 GPU 一起使用,這款 GPU 的 RAM 大到足以對這些大型影像檔案進行推論。所有系統皆採用 CUDA 9 和 cuDNN 7.1,以便進行 GPU 加速訓練和推論作業。

Planck 使用雲端環境裡的 Google Compute Engine 進行訓練,可以視需要分配多具 NVIDIA Tesla V100 GPU

Planck 將 darknet 這套深度學習函式庫用於訓練和部署 Planck 的物體偵測演算法。後來再加入 TensorRT 以加快演算法的推論時間。

重點心得與後續步驟

Collins 表示 Planck 有將這種案子要耗費龐大運算資源的重要心得,轉告加拿大交通部。簡單來說,執行速度不可能太快,最終運算需求會壓垮硬體。

「就算用超高功率的 GPU,還是值得要優化軟體。」Collins 說。

Collins 說他希望 Planck 還會有更多機會跟其它政府機構合作類似的環保計畫。Planck 與加拿大漁業及海洋部已經就使用這項技術偵測和追蹤海豹及海獅展開了討論。

Collins 現在對 Planck 的成就覺得相當自豪,期待用它來保護全球各地的鯨魚。

「我們藉由這個案子,證明深度學習工具可以用於自動偵測和分類各種海洋哺乳動物,期望看到在鯨魚常遭到船隻撞擊的地方,更大規模部署這套系統。」Collins 說。