每年平均大約會有500座冰山進入紐芬蘭和拉布拉多離岸區(qū)域,這對海洋運輸和船舶行進形成潛在的威脅。在1990年代,有些公司便開始使用衛(wèi)星合成孔徑雷達(dá)(satellite synthetic aperture radar;SAR)來監(jiān)測冰山與海洋浮冰,SAR非常適用於這樣的任務(wù),因為它可以不分日夜,甚至穿透雲(yún)、霧、和其他不利的天氣條件,從大範(fàn)圍的海洋捕捉影像。
SAR影像的分析工作包含辨識影像中的目標(biāo)物(高強度畫素的叢集),並將它們分類為冰山或船隻(圖1)。即使是受過高度訓(xùn)練的專家,分析少量的畫面也會需要花上幾個小時,尤其是在目標(biāo)物難以辨識的時候。

圖1 : 在紐芬蘭附近拍攝的SAR影像,圓圈標(biāo)示處為目標(biāo)物。 |
|
我們在C-CORE的團隊與挪威的能源公司Equinor合作來開發(fā)自動化的軟體,能使用深度學(xué)習(xí)來分類SAR影像中的目標(biāo)物。我們決定要藉助世界各地AI研究人員社群的專業(yè),因此辦了一場Kaggle競賽,而我們從競賽學(xué)到了最佳的構(gòu)想,並且使用MATLAB及卷積神經(jīng)網(wǎng)路(convolutional neural networks;CNNs)來實現(xiàn)該構(gòu)想,接著去建構(gòu)能夠?qū)嶋H操作使用的軟體。
冰山辨識的挑戰(zhàn)
SAR影像的解析度取決於影像涵蓋的範(fàn)圍要多大:著重於較小範(fàn)圍的影像的解析度會比涵蓋大範(fàn)圍海洋的影像更高,也因此較容易進行目標(biāo)物的分類(圖2及圖3)。在實務(wù)上,為了要從資料集中擷取出最大量的可用資訊,我們必須運用各種解析度的影像,甚至是目標(biāo)物寬度僅有幾個畫素的影像。

圖2 : 從多重極化通道(以HH和HV標(biāo)記)建立能夠輕易被分類為冰山(右上)和船隻(右下)的彩色合成照影像 |
|

圖3 : 難以分類為冰山(右上)和船隻(右下)的彩色合成影像。 |
|
在我們開始使用深度學(xué)習(xí)之前,我們先利用二次判別分析(quadratic discriminant analysis)法來進行冰山的分類,不過這會需要分割影像,把含有目標(biāo)物的畫素從背景海洋的畫素分開。
由於海洋條件可能有很大的差異,而且不佳的條件會造成視覺上的混亂,因而難以定義每一個目標(biāo)物的輪廓,使得影像分割成為一大挑戰(zhàn)。透過CNNs,演算法是以完整的SAR切片、包含單獨一個目標(biāo)物的固定尺寸影像來訓(xùn)練,因此不需要將目標(biāo)物從背景區(qū)分出來。
Kaggle競賽
我們的Kaggle競賽對參賽者提出一項簡單的挑戰(zhàn):開發(fā)一個能夠自動地將SAR影像切片上的目標(biāo)物分類為船隻或冰山的演算法。競賽用的資料集包含了5000張從透過衛(wèi)星哨兵一號(Sentinel-1)沿著拉布拉多和紐芬蘭海岸收集的多通道SAR資料擷取出來的影像(圖4)。我們這場競賽吸引了總共有3343組團隊來參加,繳交件數(shù)超過47,000,足以證明它是在Kaggle上舉辦過最受歡迎的以影像為基礎(chǔ)的一個競賽。
![圖4 : 衛(wèi)星哨兵一號沿著紐芬蘭及拉布拉多海岸收集而來的SAR資料。 Adblu. “Statoil/C-CORE Iceberg Classifier Challenge: Ship or iceberg, can you decide from space?” Kaggle, 8 Nov 2017, [1]](/art/2019/12/181107425850/p4S.JPG)
圖4 : 衛(wèi)星哨兵一號沿著紐芬蘭及拉布拉多海岸收集而來的SAR資料。 Adblu. “Statoil/C-CORE Iceberg Classifier Challenge: Ship or iceberg, can you decide from space?” Kaggle, 8 Nov 2017, [1] |
|
所有表現(xiàn)最好的參賽者們都使用了深度學(xué)習(xí)。他們的模型有許多共通的特性和層級,包含卷積、整流線性單位函數(shù)(rectified linear unit;ReLU)、最大池化(max pooling)、softmax層等等。除此之外,頂尖的參賽者皆使用總集(ensembles)讓預(yù)測的準(zhǔn)確度從92%推進到97%。
透過MATLAB搭建自己的深度學(xué)習(xí)模型
我們採用頂尖的Kaggle參賽結(jié)果作為開發(fā)的起始點,我們透過MATLAB和深度學(xué)習(xí)工具箱(Deep Learning Toolbox)開發(fā)了自己的深度學(xué)習(xí)模型。我們從修改該深度學(xué)習(xí)工具箱內(nèi)提供的一個簡單的分類器開始。在幾天之內(nèi),我們就可以建立一個能夠良好運作的深度學(xué)習(xí)架構(gòu)。
為了優(yōu)化深度學(xué)習(xí)架構(gòu)的表現(xiàn),我們測試過各種組合的參數(shù)值,舉例來說,從每一層裡面的節(jié)點數(shù)量、在卷積層裡使用的濾波器尺寸、到最大池化層使用的池子大小等等。我們撰寫了一個MATLAB自動化程式來自動地建立、訓(xùn)練、測試10,000個不同的CNNs,其中的參數(shù)值會在合理的界線和限制之間隨機地產(chǎn)生。
我們對這項結(jié)果執(zhí)行了一個簡單的貪婪搜尋(greedy search)來找出七個表現(xiàn)最好的CNNs,並使用這些CNNs來建立總集。如同Kaggle競賽優(yōu)勝者使用的總集,我們的總集使整體準(zhǔn)確率提升了將近5%。
透過MATLAB軟體的協(xié)助,我們在兩個星期之內(nèi)就從不太了解CNN分類器的執(zhí)行進展到可以自己建立一個運作良好、足以供營運採用的解決方案。
將分類器整合至完整系統(tǒng)
目標(biāo)鑑別(Target discrimination)是進行冰山辨識流程之中多項步驟的其中一步。這套流程也涉及了陸地的遮蔽效應(yīng),以消除由陸地物體引起的錯誤偵測,並且透過與地理資訊系統(tǒng)軟體的整合,以製作出顯示了冰山和船隻位置的地圖(圖5)。
當(dāng)RADARSAT Constellation Mission衛(wèi)星從2019年起開始產(chǎn)生資料,我們便有了取得更多SAR影像的途徑—資料量對於以人工視覺檢查來進行的分析實在太多。因此我們在MATLAB所開發(fā)的包含深度學(xué)習(xí)演算法的軟體系統(tǒng),大大幫助了C-CORE精準(zhǔn)、快速、自動地處理,來充分地利用大部分的資料。
(本文由鈦思科技提供;作者Kelley Dodge、Carl Howell任職於C-CORE公司)
註解:
[1]https://www.kaggle.com/c/statoil-iceberg-classifier-challenge/discussion/42108/.