張晉陽
(四川大學計算機學院,成都 610065)
遙感圖像視野廣闊、內(nèi)容豐富、信息量大,具有很大的利用價值,但圖像捕獲過程中容易受到光照、云層、空氣質(zhì)量等不可控因素影響,造成目標區(qū)域陰影、遮擋等問題,傳統(tǒng)條件下遙感圖像的精確解譯需要人工進行目視判讀。航空航天技術(shù)的發(fā)展使得機載以及星載遙感影像的獲取變得更加容易,各國飛行器及衛(wèi)星活動產(chǎn)生了海量遙感數(shù)據(jù)。然而高清遙感圖像數(shù)據(jù)尺寸大、目標眾多,依靠人工判讀主觀性大、工作效率低,因此遙感圖像的智能化自動解譯亟待研究。人類自發(fā)明影像記錄技術(shù)以來,就不斷有人嘗試將其用于遠距離觀測記錄。1858年法國人Tournachon 用氣球拍攝了巴黎的鳥瞰相片,是最早的空中攝影記錄。兩次世界大戰(zhàn)中,航空攝影成為軍事偵察的重要手段,各國也意識到了空中偵察和航空攝影的重要軍事價值,第二次世界大戰(zhàn)后期,各類電磁頻譜遙感記錄技術(shù)得到發(fā)展,美國通過遙感影像的解譯標繪軍事目標地圖,成為其太平洋戰(zhàn)爭中重要的情報來源,其后,隨著衛(wèi)星航空遙感的出現(xiàn),遙感的重要價值使得其逐漸發(fā)展成為一門獨立學科。遙感圖像的解譯是通過對遙感圖像所提供的多種特征信息進行分析、推理和判斷,最終從遙感圖像中識別出感興趣目標并確定形狀、尺度、地理位置,利用計算機將遙感圖像中的目標精細化分割和識別,是遙感圖像應用于軍事偵察、資源監(jiān)測等領(lǐng)域的重要步驟。
基于深度學習神經(jīng)網(wǎng)絡(luò)的方法在圖像處理各個經(jīng)典問題中產(chǎn)生了相當優(yōu)秀的結(jié)果。自AlexNet在圖像分類問題上表現(xiàn)出優(yōu)異性能,人們意識到了基于學習的方法的巨大價值,神經(jīng)網(wǎng)絡(luò)被用于解決各個領(lǐng)域的經(jīng)典問題,如目標檢測、語音識別、文本分類等。神經(jīng)網(wǎng)絡(luò)本身也是一項研究課題,如何通過調(diào)整網(wǎng)絡(luò)架構(gòu)模型、損失函數(shù)、訓練策略,引導得到更高效、性能更優(yōu)異的結(jié)果也非常值得研究。遙感圖像解譯中對于目標的提取就是一個實例分割問題,在深度學習方法出現(xiàn)以前,人們通過無監(jiān)督 的K-means、ISODATA(Interactive Selforganization)等方法進行聚類分割,或者通過最大似然、最小距離以及支持向量機等方法進行遙感圖像的分割,但這些方法大多泛化性能較差或者需要人工設(shè)置許多參數(shù),難以進行大規(guī)模數(shù)據(jù)的精準解譯。實例分割問題是目標檢測和語義分割二者的結(jié)合,因為實例分割不僅需要將目標從圖像中檢測出來,并且需要對每個像素進行分類。與語義分割相比,實例分割發(fā)問題更加困難,提出和發(fā)展較晚,現(xiàn)有實例分割算法主要基于深度學習技術(shù),如SDS(Simultaneous detection and segmentation)、 Deep-Mask、MultiPathNet等,隨著數(shù)據(jù)驅(qū)動學習方法的發(fā)展,分割結(jié)果的精度和效率也在不斷提高。在遙感圖像中,實例分割存在的問題和難點有:①與常見的普通實例分割圖片數(shù)據(jù)集相比,高分辨遙感圖像尺寸大,難以直接輸入網(wǎng)絡(luò)進行預測;②小目標分割問題,神經(jīng)網(wǎng)絡(luò)越深,其末端感受野越大,魯棒性越強,但分辨率的降低會導致遙感圖像中一些尺度較小的目標在下采樣過程中特征丟失,小目標的檢測和分割精度下降。
早期的實例分割方法中,常利用底層圖像處理算法進行候選區(qū)域生成,得到圖像中可能存在實例的區(qū)域,然后再進行判斷和分割。如在SDS 中,使用MCG算法進行候選區(qū)域生成,再使用CNN 分別對包圍框內(nèi)的圖像和前景信息進行卷積特征提取,最后對提取到的卷積特征采用SVM 進行分類,對每個候選區(qū)域?qū)儆谀硞€類別的可能性進行打分。一些方法采用密集滑動窗口的方式進行圖像中物體的分割,如Deep-Mask,在整張圖中采用不同尺度的密集滑動窗口獲取圖片的patch,然后提取該patch的卷積特征并輸出patch 的mask 以及該patch 是否存在目標的分數(shù),但DeepMask 最終通過全連接方式得到輸出向量后重組成圖像的方式使得mask 與特征的聯(lián)系丟失,而且滑動窗口的方式存在大量冗余的特征提取步驟。為了解決滑動窗口過于冗余以及先檢測后分割影響性能的問題,Wang等人提出了SOLO算法,利用網(wǎng)格劃分進行實例定位以及分割預測。
本文選取iSAID數(shù)據(jù)集進行實驗,iSAID數(shù)據(jù)集是2019 年CVPR Workshop 提出的一個用于航拍圖像實例分割的數(shù)據(jù)集,其原始圖像來源于DOTA航拍數(shù)據(jù)集。iSAID 包含2806 張高分辨率的圖像,有汽車、運動場、飛機、直升機、橋梁、船只等15 類目標655451 個實例,每個類別都有大量標記實例圖像,增強了網(wǎng)絡(luò)對于實例及相關(guān)背景的學習能力。在iSAID數(shù)據(jù)集中,類間尺度變化較大,在同一圖像中可能出現(xiàn)大、中、小等多種類型的類別實例,同時圖像內(nèi)各個對象數(shù)據(jù)的分布不均勻,不平衡,很好地展現(xiàn)了真實航拍環(huán)境下的數(shù)據(jù)分布狀態(tài)。iSAID 原始航拍遙感圖像數(shù)據(jù)較大,尺寸過大的圖像消耗內(nèi)存以及GPU 現(xiàn)存過大,無法進行訓練,因此按照常用的處理方法,將其分割成較小的圖像塊以方便進行訓練和測試,本文使用數(shù)據(jù)集提供腳本將數(shù)據(jù)分割成600×600 大小進行訓練和測試。圖1 所示為iSAID 數(shù)據(jù)集的一部分類別內(nèi)容。
從圖1可以看出,遙感圖像實例分割問題中不同類別尺度變化較大,如Small_Vehicle 和plane 兩類物體經(jīng)常同時出現(xiàn)但所占像素面積相差數(shù)倍;部分物體密集度高,如圖1(b)中Small_Vehicle 的分布十分密集,全部檢出難度大,影響檢出召回率;部分類別類間差異大,如Harbor 的形狀以及長度在不同的圖像中相差較大,學習難度較高。遙感數(shù)據(jù)的實例分割解譯是一個具有挑戰(zhàn)性的問題。
圖1 iSAID數(shù)據(jù)集實例分割示例樣本
當前的視覺任務中,大多采用神經(jīng)網(wǎng)絡(luò)方法學習圖像數(shù)據(jù)中的特征,神經(jīng)網(wǎng)絡(luò)是一種通過計算機模擬生物神經(jīng)元刺激與響應機制進行學習的方法,其強大的能力使得人們在一些經(jīng)典視覺任務如目標檢測、語義分割等方面取得了巨大的進步。研究者們對于人腦的認知機制的認識仍然不夠透徹,但已經(jīng)發(fā)現(xiàn)的一些人腦對于信號的處理機制對于計算機算法的設(shè)計仍有相當?shù)膯l(fā),注意力機制就是其中一種。注意力機制是人腦的一種有意識的聚焦,人類的視覺系統(tǒng)可以以一種十分快速的方式找到并聚焦場景中的重要區(qū)域。受該現(xiàn)象的啟發(fā),計算機視覺中設(shè)計的注意力機制在圖像識別、目標檢測、語義分割等問題中取得了很大成功,對于視覺系統(tǒng)中的注意力機制,文獻[10]將其抽象為下面的式子:
其中,()代表產(chǎn)生注意力,即關(guān)于重點區(qū)域進行處理的過程。(( ),)表示生成的注意力()對進行處理的過程。
現(xiàn)有視覺任務中的注意力機制有通道注意力機制,如SENet、空間注意力機制,如DANet,以及將二者結(jié)合形成的CBAM。本文將在SOLO 網(wǎng)絡(luò)中嵌入CBAM 空間注意力模塊,以提升網(wǎng)絡(luò)性能。CBAM 的結(jié)構(gòu)如圖2所示。
圖2 CBAM注意力模塊
通道注意力主要通過學習的方式引導網(wǎng)絡(luò)將注意力聚焦在特征的某個或某些通道上,而空間注意力機制則是引導網(wǎng)絡(luò)將注意力聚焦在特征圖的某個重點區(qū)域,聚焦注意力在卷積神經(jīng)網(wǎng)絡(luò)中具體為分配更大的權(quán)重。
圖3 通道注意力與空間注意力模塊
本文基于SOLO 網(wǎng)絡(luò)架構(gòu)進行,SOLO 采用類別預測和實例分割分別進行的思路,進入SOLO 模型的圖像首先通過ResNet 進行特征提取,經(jīng)過ResNet 特征提取的特征圖,分別進入類別預測和掩碼預測分支,進入類別預測的分支通過多層卷積輸出××大小的預測結(jié)果,其中是超參數(shù),是預先設(shè)置的將圖像劃分網(wǎng)格的數(shù)量,是訓練集中的類別數(shù)量。掩碼預測分支用于預測類別預測結(jié)果中每個網(wǎng)格中包含實例的掩碼,因此其輸出是××2,即如果某個實例的中心坐落于某個網(wǎng)格中,該網(wǎng)格就負責預測該實例的掩碼,由于添加了CoordConv,輸出結(jié)果的每個通道都隱式含有對應的網(wǎng)格坐標位置信息,因此每個通道對于每個網(wǎng)格的關(guān)注度不一樣。將掩碼和網(wǎng)格類別預測結(jié)果再采用NMS 的方式進行處理即得到最終的輸出。SOLO 是一個無需鉚選框的實例分割網(wǎng)絡(luò),且可以進行端到端的單步訓練,無需其他后處理手段。我們在原始SOLO 網(wǎng)絡(luò)的基礎(chǔ)上,選取ResNet50作為特征提取網(wǎng)絡(luò),由于在不同的分支網(wǎng)絡(luò)中的任務不同,不適合直接使用CBAM,比如類別預測中,各特征通道之間需要進行權(quán)重分配,而各個位置獨立負責每個各自的類別預測,因此不需要空間注意力,而掩碼預測分支中,由于添加了CoordConv,使用通道注意力會引起圖像信息與空間信息的混淆,因此添加空間注意力機制而不使用通道注意力機制,最終形成網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 整體網(wǎng)絡(luò)架構(gòu)
本文采用切分之后的iSAID 數(shù)據(jù)集進行實驗,輸入圖像尺寸為600×600 的彩色RGB 圖像,其中訓練集共48313 張,驗證數(shù)據(jù)集共16489張。本文實驗軟件環(huán)境為Ubuntu20.04、基于Pytorch 開 發(fā)的開源檢測工具箱mmdetection。實驗硬件平臺配置為GPU1080Ti、32 G 運行內(nèi)存。
實驗數(shù)據(jù)共分為15 類,分別是ship、storage_ tank、baseball_diamond、tennis_court、basketball_court、Ground_Track_Field、Bridge、Large_Vehicle、Small_Vehicle、Helicopter、Swimming_pool、Roundabout、Soccer_ball_field、plane、Harbor。實驗中損失函數(shù)采用SOLO 中的損失函數(shù)構(gòu)造,即將分類預測分支和掩碼預測分支的損失相加,如式(2)所示。
其中,采用FocalLoss:
表示分類預測分支中,每個網(wǎng)格輸出的概率,=1 則表示該網(wǎng)格中存在該類別的實例中心,是用于調(diào)節(jié)的超參數(shù)。和是兩個損失的權(quán)重分配,對于掩碼的預測,采用DICE Loss:
其中,是某個像素位置預測的概率值,是該像素是否是實例的真值。實驗設(shè)置超參數(shù)== 1,= 0.25,= 2。設(shè)置實驗訓練epoch 為12,batch_size 大小為4,訓練學習率采用線性增長,中期固定為0.001,階梯衰減的策略,實驗的學習率和訓練過程的loss損失變化如圖5所示。
圖5 學習率及損失變化
最終得到的測試結(jié)果如表1所示。
表1 AP及AR測試結(jié)果
可以看出,注意力機制提升了SOLO 在遙感圖像數(shù)據(jù)上的平均精度,檢出結(jié)果的一些對比圖像如圖6所示。
圖6 實例分割結(jié)果對比
在添加通道及空間注意力之后,網(wǎng)絡(luò)更好地分割了物體邊緣,并且成功分類了SOLO 網(wǎng)絡(luò)在密集物體區(qū)域為檢測到的部分,使得分割結(jié)果有所提升。
本文基于單步實例分割框架SOLO 進行了改進,結(jié)合通道注意力機制與空間注意力機制,形成了一個神經(jīng)網(wǎng)絡(luò)模型,在iSAID遙感圖像實例分割數(shù)據(jù)集上進行了實驗。實驗結(jié)果顯示,本文算法能夠有效地提取遙感圖像中的感興趣目標。但本文的方法中對于不同目標分割性能差異較大的問題還有待提高。本文采取的增加注意力機制是一個行之有效的方法,但性能還有很大提升空間,遙感圖像的智能化解譯還可以通過對不同尺度實例的分層金字塔分別進行學習。