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

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

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

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