使用深度學習進行海上雷達數據質量管控自動化
本文說明Miros公司設計的一套Wavex傳感器系統,如何精準測量波浪、洋流、以及對水航速,并使用深度學習網絡來自動辨識測量下取得的雷達數據,進一步提升Wavex系統的表現與可靠度。
對海上船只而言,海浪、洋流、對水航速(speed through water)等量測數據的準確性,對于船只執行各種任務,如燃料優化、或在受限區域內導航等,具有很高的價值。舉例來說,對水航速量測錯誤,即使只是一些微小誤差,就有可能對船艦效能的計算帶來重大錯誤,讓每天的燃料使用量多出好幾十噸。傳統上,對水航速是透過水下的測速儀器來測量,這類儀器使用船體承受的水壓差異(水壓計程儀),通過聲納訊號的都卜勒偏移(都卜勒測速儀;Doppler velocity log),或通過藉由通電的線圈與移動水體的交互作用產生的訊號(電磁式測速儀;electromagnetic log)來估計船速。這些系統維護起來的成本高昂,而且容易因為泡沫、亂流或其他船只運動產生的干擾受到影響。
在Miros公司,我們設計了一套稱為Wavex的傳感器系統,它可以精準地測量波浪、洋流、及對水航速。我們這一個系統處理從常見的海用X波段導航雷達的數字化影像,消除干擾問題以及與水下傳感器有關的維護費用。我們也使用深度學習網絡來自動辨識,例如下大雨等在較差量測條件下所取得的雷達影像,以進一步提升Wavex的表現與可靠度(圖1)。
圖1 : 雷達影像上半部的波浪的型態出現因大雨造成的干擾。
在這一個降雨的案例,我們可以忽略雷達影像中受到干擾的區域,只使用未被干擾的區域來取得量測值。我們使用MATLAB和Deep Learning Toolbox(深度學習工具箱),結果是所建立的網絡以高于97%的準確度精準地辨識降雨,而辨識風降的準確率更高于99%。
不同于傳統的圖像處理算法需要依不同的量測條件、幾何條件、與雷達類型來進行校正,利用MATLAB所設計出來的深度學習網絡,在各種量測情境都可以達到很高的準確度,不需要再另外調整或校正。
在MATLAB完成深度學習網絡的訓練與檢驗之后,再使用MATLAB Compiler將該網絡作為一個獨立的應用程序部署在Wavex系統,這系統能對水航速、洋流、經過分級的方向波譜、以及經過整合的波浪參數如波浪高度等,提供近乎實時量測數據(圖2)。
圖2 : Wavex用戶接口范例,顯示了對水船速、風、浪的量測資料。
以雷達為基礎的海象量測和風雨效應
使用典型的海用X波段雷達天線、每分鐘以15到48圈的速率轉動,所產生的數字化影像可清晰地看見波浪型態如圖3,Wavex系統從該數字化影像中擷取笛卡兒影像區段(Cartesian image sections),接著使用MATLAB來開發處理這些區段的算法。
這些算法運用噪聲過濾,并且以笛卡兒影像的時間序列執行3-D快速傅立葉變換(fast Fourier transforms;FFTs),產生帶有關于出現在于各種波數和頻率的功率數據的3-D波譜,接著算法使用波數-頻率頻譜來估計洋流與對水航速,以及經過分級的波譜和整合的波浪參數。
圖3 : 來自海用X波段導航雷達的數字化影像輸出,顯示擷取出的笛卡兒區段
某些特定的環境條件,像是低風速和降雨,會導致數字化影像的失真,難以從中擷取出有意義的信息(圖4)。而設定的深度學習目標是要建立一個網絡(network)來自動辨識那些嚴重失真、難以使用于各種海象量測的笛卡兒區段。
圖4 : 在降雨期間(上)與風速下降(下)期間拍攝到的數字化雷達影像。
運用深度學習于影像分類
以深度學習來處理影像分類問題的第一個步驟,要取得各種特性的影像數據并且進行標記,用來訓練之后的深度學習網絡。為此,我們從六個不同的Wavex系統中收集了一組時間超過十年、數量超過7百萬的笛卡兒影像區段。我們將每一個影像區段進行標記,并歸類到下列五種類別:無風降或降雨、顯著降雨、顯著風降、顯著降雨和風降、以及未分類。為了減少需要的工作,讓標記更方便執行,使用整合的視覺評估,并將對從其他來源的有效數據,例如從船板傳感器收集到風的數據,也進行自動化的標記工作。
如同團隊中的其他成員一樣,對于MATLAB和較為通用的機器學習有一些經驗,但完全沒有任何深度學習的應用開發經驗。為了學習,我從MATLAB產品家族的Deep Learning Toolbox(深度學習工具箱)的教學課程和范例開始,先使用簡單的卷積神經網絡來進行影像分類的深度學習。
第一步,我們嘗試一些預先訓練的模型,但很快地發現如果是依照之前看過的程序范例來建立我們自己的深度學習網絡的話,效果可能會更好。我透過幾種網絡架構來進行實驗,直到建置起一個有123層的網絡。這個網絡有著相當標準的結構。影像輸出層后面有五個群組,每個群組各配有一個2-D卷積層、一個批量標準化層、一個線性整流函式(rectified linear unit;ReLU)層、以及一個最大池化層。在最后一個群組,則以一個全連接層來取代最大池化層。這個群組后面接著一個softmax層和一個分類輸出層(圖5)。
圖5 : 雷達影像分類的網絡架構。
一開始,使用從各個Wavex系統收集來的數據分別對該網絡進行訓練,然后確認它可以將影像精準地從其他系統區別出來。接著,再加上使用所有系統的影像進行訓練,以改善網絡在各種雷達種類和操作條件下的精確度。舉例來說,嘗試在第一個卷積層的尺寸進行變化,也嘗試各種網絡的深度、不同的影像輸出層標準化方法。
部署與未來的規劃
為了將經過訓練的最終深度學習網絡和算法整合到Wavex系統,使用MATLAB Compiler來產生一個獨立的應用程序,如此可以將R&D的心力亦即模型的開發與訓練?快速地轉移到生產環境來進行自動質量管控。而產生的應用程序會掃描從每一個運行雷達系統產生的極性影像中所擷取出來的笛卡兒影像區段,接著會將它們分類,并且將結果與其他所有量測值儲存在Wavex軟件存取的數據庫。完成這樣的整合之后,使用MATLAB的可視化工具來驗證系統在各種條件下的效能,將使用自動進行風降和降雨偵測時的性能表現,與未啟用自動偵測時的基準來做比較。
圖6展示一個包含許多事件的時期的范例,可看到以深度學習為基礎的應用程序能準確地辨識各種情況,且可為數據加上正確的卷標,讓用戶可以取得優化的流程和經過改善的數據。
圖6 : 波浪高度量測值圖表,包含以深度學習為基礎的降雨和風降偵測被啟用(藍色線段)與未被啟用(紅色線段)時的結果。
我們所開發的這個獨立的深度學習應用程序,現在已經運行在一些船只上的Wavex系統進行生產端的測試,而團隊目前也正試圖運用類似的深度學習方法來為幾種不同的新應用進行影像和訊號分類。
(本文由鈦思科技提供;作者Rune Gangeskar任職于Miros公司)
評論