將基于深度學習的檢測和識別算法應用到SAR圖像智能解譯
近年來隨著阿爾法狗在圍棋上碾壓人類選手,人工智能技術變的家喻戶曉。人工智能(1956提出)是關于知識的學科―怎樣表示知識以及怎樣獲得知識并使用知識的科學。如果機器能夠通過圖靈測試,那么就可以看成具有人類智能。
深度學習簡介
經過六十年的發展,人工智能進展緩慢,勉強可以說實現了弱人工智能(智能在某一個狹窄的領域具有人類的智能),距離通用人工智能和強人工智能還有很長的路要走。早期是采用專家系統的方法,但是需要許多行業的專家考慮各種規則,規則表過于復雜,得到的效果也不理想。
之后從數據中學習知識(機器學習和統計學習)的方法慢慢的代替了專家系統,取得了不錯的效果。機器學習方法主要包括kNN,隨機樹,人工神經網絡,支持向量機,隨機森林等等。其中人工神經網絡經歷了多次的大起大落,直到近年又一次迎來了復興,只不過換了個名字叫深度學習。
深度學習來自于2006年Hinton提出的深度信念網絡DBN,通過逐層無監督預訓練成功訓練出較深的神經網絡,之后稱為深度神經網絡,學習的過程叫深度學習。在業界,深度學習在計算機視覺和語音方面出現的巨大突破是導致其走向復興的標志。
2011年Hinton將深度學習介紹給微軟工程師,使在語音識別領域得到了巨大的突破。2012年Hinton的學生Alex提出的AlexNet在大規模物體分類數據集ImageNet上的巨大成功,使計算機視覺領域所有的任務都被深度學習所主宰。
一直到現在語音和圖像這兩個領域***進的算法都是基于深度學習的方法。Hinton二十幾年磨一劍,與Bengio以及Hinton終于迎來了深度學習的第三次復興。關于深度學習的來龍去脈的細節可以參考它們三人2015年在Nature上聯名發表的綜述。深度學習復興的本質是由大數據、計算能力和算法三者推動的。
基于深度學習的檢測和識別方法
計算機視覺的任務包括很多種,大體可以分成低級、中級和高級三類。低級計算機視覺包括分割、圖像復原和超分辨等,輸出為處理之后的像素。中級計算機視覺主要是指特征提取。
高級計算機視覺主要包括檢測和識別兩種任務。在計算機視覺領域用到的深度學習模型主要是卷積神經網絡CNN,CNN包括交替出現的卷積層和池化層以及***幾個全連接層,通過局部共享權值和池化操作大大減少了參數量。
那么深度相比于傳統方法有什么優點呢,這里借鑒中科院計算所山世光所說的一句話,“深度學習的引入體現了端到端、數據驅動的思想:盡可能少的對流程進行干預、盡可能少的做人為假設”。
其***的優點是可以自動提取***的特征,不需像傳統方法那樣進行人工設計特征。
計算機視覺和SAR圖像
計算機視覺(Computer Vision, CV)的目的是模擬人的眼睛和大腦來完成自動的檢測、識別和跟蹤等任務。計算機視覺領域用處特別廣,例如自動駕駛、智能安防、智能醫療、無人超市和移動互聯網(各種手機APP,例如美圖、激萌、抖音、快手等,百度、騰訊、阿里巴巴、京東、滴滴、華為和小米對這類人才的需求量也特別大)。
每一個領域都是上千億級的巨大市場,所以研究特別活躍,社區發展完善,新穎的算法和思路層出不窮,而且很多都會提供開源代碼。尤其是最近進展神速的無人超市和移動互聯網,正在真實的改變著我們的生活。
而相比于CV領域,SAR圖像研究人員較少,社區不完善,研究進展較慢。主要原因還是由于市場所決定的,后者對應的用戶太少。
現有的深度學習的目標檢測算法都是對日常生活中的照片的物體進行檢測,如圖1 PASCAL VOC數據集(CV領域專門用于訓練和測試檢測器的數據集)的兩個例子,而SAR圖像與這些圖像具有很大的區別。
圖1 PASCAL VOC 數據集和微波遙感數據集的部分圖片示例
1.成像機理不一樣。光學成像屬于被動成像,通過接受物體反射的光信號來成像。SAR成像屬于主動成像,接收發射的電磁信號并進行距離向和方位向壓縮等操作來實現成像,后向反射系數較大的物體在SAR圖像上亮度較大,通過這種亮度差異形成了單通道灰度圖像,而且SAR圖像具有特殊的乘性的相干斑噪聲。這與光學成像完全是兩個不同的學科,具有本質的區別。
2.拍攝角度不一樣。PASCAL VOC是從水平視角拍攝的自然圖像,光學遙感和SAR遙感都是從上到下的視角進行觀測成像,這會產生不同的圖像,并且容易被天氣,光照和視角的影響。
SAR圖像對觀測角度極度敏感,這是由于散射信號的強度取決于物體不同部位的散射系數,觀測角度稍微變化有可能導致散射強度變化劇烈,光學遙感不存在,這對識別造成了很大的困難。
3.SAR圖像目標稀疏且尺寸小,輸入圖像巨大,有相干斑噪聲,訓練數據相對缺乏。
基于深度學習的SAR圖像艦船與識別方法
SAR圖像目標檢測與識別算法的發展脈絡與計算機視覺領域所類似。傳統方法也是人工設計特征,多個流程單獨優化。其中檢測方法包括CFAR提取候選區域和鑒別連個過程,CFAR嚴重依賴于對SAR圖像的統計建模,而實際場景的SAR圖像變化較大,難以建立有效的適用性強的模型。
對于檢測和識別這兩個任務來說,SAR圖像與計算機視覺領域里所使用的圖像共性大于異性,所以應該多借鑒CV領域優秀的算法。
進行基于深度學習的目標檢測和識別之前需要建立數據集。軍用戰車識別的數據集有MSTAR,我們利用一些經典的CNN(VGG/GoogLeNet/ResNet等)進行識別,發現準確率可以飆到99.5%[1],而且實現起來非常簡單方便。
對于艦船目標識別2017年上海交大提出了***個包括十類目標的OpenSARShip數據集,但是類別間樣本數量極其不均衡,難以訓練出較好的分類模型,所以還需一個很好的數據集出現。
對于SAR圖像艦船目標檢測任務我們建立了實際上***個(據我們所知)公開的數據集SSDD[2],得到了十幾所高校和研究所的使用(中科院電子所、中科院遙感所、清華大學、中電科38所、南開大學、中國科學技術大學、復旦大學、中國地質大學、武漢大學、國防科技大學、電子科技大學、北京航空航天大學、哈工程、航天1院等)。
數據集雖然相對比較簡單,但是填補了本領域的空白,提供了統一的數據集和測試標準,促進了這個領域的健康發展。在數據集上我們進行了一些工作,驗證了Faster R-CNN和SSD等檢測器相比于傳統方法的令人驚艷的優良性能,并根據SAR圖像中艦船目標的具體特點對算法進行了改進。
圖2是檢測效果***行是Faster R-CNN的檢測效果,第二行是SSD的檢測效果[3],第三行是利用旋轉邊框檢測效果,具體細節將在下一篇文章進行講解[4]。從效果圖我們可以看到基于深度學習的目標檢測算法能夠適應所有場景。
優勢分析
深度學習目標檢測的方法優點:
***,雖然訓練過程繁瑣,但是預測只需一次前向傳播,通過CNN的壓縮和加速等操作后速度會很快;
第二,深度學習的引入體現了端到端、數據驅動的思想:盡可能少的對流程進行干預、盡可能少的做人為假設,能夠顯著提升分類和檢測性能。
第三,擴展性強,如果需要檢測和識別新目標,只需增加其樣本重新訓練,不需要改結構,不需要專門設計特征。
第四,適應性強,不用區分大片海域和靠岸目標,能夠適應各種復雜背景。
我們認為,基于深度學習的目標檢測和識別算法是未來SAR圖像智能解譯的主要手段,尤其是隨著近年來巨大資本在人工智能領域的投入。
學習資源與交流探討
機器學習課程是必須要學習的,比較好的是斯坦福大學吳恩達的CS229課程,深度學習比較好的課程是斯坦福大學李飛飛CS231和吳恩達deeplearning.ai (網易云課堂手機app有視頻和中文字幕)。
Facebook人工智能研究院FAIR開發的Detectron,Google開發的Tensorflow object detection API是兩個比較好的目標檢測框架,實現了大部分目標檢測算法。
參考文獻
1 Jianwei Li, Changwen Qu and Shujuan Peng. Ship detection in SAR images based on an improved Faster R-CNN. 2017BIGSARDATA, Beijing.
2 Shao Jiaqi, Qu Changwen & Li Jianwei. A performance analysis of convolutional neural network models in SAR target recognition. 1-6. 10.1109/BIGSARDATA.2017.8124917.
3李健偉,曲長文,邵嘉琦. 基于深度學習的SAR圖像艦船檢測數據集及性能分析, 第五屆高分辨率對地觀測學術年會.
4 Jianwei Li, Changwen Qu and Shujuan Peng. Multiscale and Densely Arranged Ship Detection in SAR Images with Gated Feature Pyramid Networks and Oriented Bounding Box. IEEE ACCESS.