王露荻 解月江
航天新長征大道科技有限公司, 北京100070
衛(wèi)星遙感調(diào)查具有視點高、視域廣、數(shù)據(jù)采集快等特點,獲取的資料可直接進入計算機圖像處理系統(tǒng),具有傳統(tǒng)的調(diào)查方法無法比擬的優(yōu)勢。隨著遙感技術不斷發(fā)展,衛(wèi)星遙感影像的應用日益增多,但在云、霧及復雜地形等干擾下進行精確的目標檢測仍是其中的難點。傳統(tǒng)遙感影像識別采用基于知識或基于分類的識別方法[1-2],為抗干擾,算法會對采集到的視頻及圖像首先進行去噪、或圖像增強處理[3-6];之后采取基于高斯背景模型[4]或是手工特征描述算法與分類器結(jié)合[5-6]的方式進行識別。近年深度學習在該領域的應用日益增多,如文獻[7]則使用深度卷積網(wǎng)對目標進行了較為準確的識別。
但現(xiàn)有算法(包括深度學習)檢測復雜背景圖像時仍無法直接取得良好效果。為使工業(yè)實踐中的目標識別算法具備更好的適應性,除了從改善圖像質(zhì)量入手外,還可以通過從原圖有選擇性地提取特征,來增加目標檢測對不同環(huán)境的適應性。實際上,深度學習網(wǎng)絡訓練過程中提取過多和域相關的特征會導致模型在該域內(nèi)過擬合。為減小擬合程度,需設計合適的網(wǎng)絡訓練算法。Yaroslav Ganin等用特征空間上的交叉域魯棒性增強的方式來改進分類網(wǎng)絡,并使用了對抗訓練的方式[8],這是首次對特征空間的域適應,很好地解決了不同域?qū)用嫔系倪m配問題。文獻[9]嘗試將該思路引用到目標檢測網(wǎng)中,也取得了較好的效果。
本文基于域適應的Faster RCNN算法實現(xiàn)了對存在遮擋、復雜光源、目標混淆和動態(tài)干擾等復雜多變環(huán)境下目標的穩(wěn)定識別,并以云、霧和島嶼干擾下的衛(wèi)星遙感艦船目標檢測作為應用場景進行驗證。本文改進了域適應Faster RCNN算法的訓練方式,在域適應算法中設計了源域?qū)Χ喾N目標域的多分類器,使得模型能夠?qū)?個以上的目標域進行域適應。由于惡劣環(huán)境下可收集樣本有限,在域適應部分引入域別平衡,提升模型整體檢測效果,還在RPN網(wǎng)絡部分引入Focal Loss,進一步提升難檢目標的檢測準確率。與經(jīng)典的Faster RCNN、以及域適應Faster RCNN目標檢測算法相比,本文算法明顯提升了復雜環(huán)境條件下的目標檢測效果。
訓練和測試數(shù)據(jù)分布的不一致導致模型在實際應用中表現(xiàn)不佳。為使模型在分布不同但相似的數(shù)據(jù)集上進行遷移,研究者們進行了多種嘗試。Chen Yuhua等[9]嘗試采用對抗訓練的方式控制目標檢測網(wǎng)的特征提取過程,從而防止模型在域內(nèi)過擬合。這種特征空間上的域適應為解決該類問題提供了新思路。這啟發(fā)我們可以將域適配的方法與目標檢測網(wǎng)(Faster RCNN等)結(jié)合來提升復雜背景下的檢測準確率。
域適應Faster RCNN的網(wǎng)絡結(jié)構如圖1所示。在原Faster RCNN的3大模塊:特征提取、候選區(qū)域生成和類別檢測的基礎上添加了2個對抗訓練模塊,即在目標檢測網(wǎng)提取的圖像級及實例級特征表達之后添加了梯度反轉(zhuǎn)(GRL)層和域別判別器,使得目標檢測網(wǎng)的特征提取部分和ROI池化部分,與域別判別器在迭代過程中形成對抗,以提取圖像中那些和環(huán)境不相關的公有特征。目標是盡量訓練出更完美的域別判別器,使其能準確地判別圖像來自哪種環(huán)境;同時盡量使目標檢測網(wǎng)提取的特征更好地欺騙域判別器,從而使特征提取更偏向域無關的方向,集中于要識別的物體本身。同時算法還加入了一致性正則項,使得圖像級和實例級的域分類器結(jié)果更加一致,來更好地學習交叉域的檢測框預測。
圖1 域適應FasterRCNN網(wǎng)絡結(jié)構圖
針對工業(yè)場景中總體背景變化不大,但存在多種動態(tài)干擾因素的現(xiàn)象,將特征空間的域適應方法改進成為可適應多種環(huán)境干擾因素的模型訓練方法。改進后的域適應Faster RCNN算法如圖2所示。
圖2 域別平衡域適應網(wǎng)絡結(jié)構圖
算法關鍵點主要包括:1)將原網(wǎng)絡中的域判別器改為多分類域判別器,以滿足3種不同環(huán)境條件下的域適應,針對不同環(huán)境條件下的樣本可收集數(shù)目不同的問題,設計了針對多種不同域別訓練樣本的類別平衡的softmax和Sigmoid cross Entropy損失函數(shù),分別將其應用于圖像級及實例級域適應的代價函數(shù)當中,以達到防止對抗訓練過程中梯度更新被樣本數(shù)較多的域別主導的目的;2)在目標檢測網(wǎng)的RPN網(wǎng)絡及最后的分類部分,引入Focal loss損失函數(shù),加強對難檢樣本的檢測效果。
1.2.1 多環(huán)境條件域適應及域別平衡設計
為使網(wǎng)絡可提取源域和多個目標域環(huán)境下檢測目標的公有特征,使其所提取的特征最大限度地和域無關,本文在域適應網(wǎng)絡中采用多分類域判別器。而針對不同域別樣本收集難易不同,因而樣本數(shù)目差別較大的問題,本文在圖像及實例級域適應部分分別設計了域別平衡,以改善梯度更新方向。
類別平衡的多分類域判別器Sigmoid Cross Entropy應用于實例級特征提取中,其損失函數(shù)表達式如式(1):
(1)
其中,N表示樣本數(shù);C表示通道數(shù),3個通道是因為one-hot編碼表示下,區(qū)分樣本的3個域別需要三位二進制編碼;Pr(yj=1|x)表示該域別標簽為1,也就是樣本屬于該域別時,對應的輸出概率值;Pr(yj=0|x)表示樣本不屬于該域別時對應的輸出概率值。當該域樣本較少時,設定一個較大的權重值βc,這樣,不屬于該域別的樣本就會被乘以一個較小的權重值1-βc,從而使得樣本較少的域別在loss當中貢獻的分量更多一些,避免其它域別樣本對于梯度更新的主導。
基于Caffe源函數(shù)中的Sigmoid Cross Entropy Loss層,本文對公式進行改寫以保留原來該層數(shù)值平衡的效果,則有:
(2)
其中,pn代表樣本標簽;xn代表上個全連接層的輸入值;β為需設定的超參數(shù)。
1)當xn≥0時,將式(2)展開并合并,可得:
Ln-=(-βpn+pn+β-1)xn-
(2βpn-pn-β+1)ln(1+e-xn)
(3)
2)當xn<0時,為避免e-xn數(shù)值過大溢出,將式(2)中的ln分式上下同乘exn,化簡可得:
Ln-=βpnxn-(2βpn-pn-β+1)ln(1+exn)
(4)
Sigmoid Cross Entropy屬于one-hot編碼,因此Sigmoid Score的輸出為N×C×W×H維的特征圖(N代表樣本數(shù);W和H分別為圖像寬、高;而C代表通道數(shù),對應到像素點就是one-hot編碼對應的每個類別位)
域別平衡的Softmax with Loss應用于圖像級特征提取中,實現(xiàn)細節(jié)有所差異。
1.2.2 基于Focal Loss的損失函數(shù)設計
在one-stage網(wǎng)絡的訓練過程中,難易分類樣本數(shù)不平衡,導致易分類樣本主導網(wǎng)絡的梯度更新方向,造成難分類樣本分類錯誤率較高的問題,F(xiàn)ocal Loss可改善這一問題。
圖像檢測中,樣本分類難易度是以概率置信度作為衡量標準的。觀察普通的交叉熵損失函數(shù)(CE Loss)如式(5):
(5)
(6)
式(6)中,難易樣本由其輸出概率值來表征,當其為正樣本時,輸出概率值較小的為難分類正樣本;負樣本情況相反。γ設置越大,易分類樣本對損失函數(shù)的貢獻下降越明顯。通過調(diào)節(jié)超參數(shù)γ,可以適當增加難分類樣本對損失函數(shù)的貢獻比重。此外,目標檢測網(wǎng)絡的RPN部分會對候選框內(nèi)容進行前景、背景的分類判斷,考慮到每張圖像中檢測目標和背景所占的比例可能相差較大,本文所用Focal Loss還引入了α用于調(diào)節(jié)正負樣本比例。
采用搭建于ImageNet數(shù)據(jù)集上的預訓練模型結(jié)合收集到的公開遙感影像數(shù)據(jù)集[11]進行重訓練,并按照Pascal VOC格式制作遙感艦船影像數(shù)據(jù)集。
遙感影像數(shù)據(jù)集包含源域(晴天日間清晰)、目標域1(日間極濃霧)和目標域2(夜間有霧有遮擋)3個域別共1250張圖像。按域別劃分為訓練集和測試集。最終數(shù)據(jù)分布如表1。
表1 遙感影像數(shù)據(jù)集樣本分布情況
本文設計的數(shù)據(jù)集,每個域別的訓練和檢測圖像中都包含該域別典型及難以檢測的樣本案例。因為訓練時要進行域別適應的訓練,所以不同域別的圖像之間域差要盡量明顯,從而體現(xiàn)出域適應部分對抗訓練提取域別不相關的公有特征的效果。
本文實驗以收集到的衛(wèi)星遙感影像艦船在不同天氣條件下的數(shù)據(jù)作為應用場景對算法進行驗證。訓練時通過調(diào)整訓練次數(shù)及觀察在訓練集上loss值隨著迭代次數(shù)的變化確定最優(yōu)模型,并將本文算法與其它算法進行比較,用總數(shù)據(jù)集及每個域別的數(shù)據(jù)集上的平均準確率均值mAP來評價模型的好壞。
在遙感影像實驗中對Faster RCNN,改進后的多域別域適應Faster RCNN(下簡稱FMda)及只加入Focal Loss和域別平衡的網(wǎng)絡進行對比實驗。為保證變量單一,即只有網(wǎng)絡結(jié)構及參數(shù)不同,采用同樣的訓練集對不同網(wǎng)絡模型進行原始訓練,然后采用每個域類別上同樣的測試集對每個訓練出的模型進行測試。為了找到每種網(wǎng)絡結(jié)構表現(xiàn)最佳的模型,對FMda先訓練10000次,觀察loss曲線在何時趨于平穩(wěn)。然后保存每種網(wǎng)絡在達到收斂的最小迭代次數(shù)時的模型,并比較它們在測試集上的表現(xiàn)。
實驗中參數(shù)β及α設置為域類別比例的倒數(shù),并進行了歸一化處理。為了突出清晰圖像在特征提取中的分量,適當加高了源域的比例,最終在實驗中域適應部分的(beta_1,beta_2,beta_3)及(alpha_1, alpha_2, alpha_3)都設置為0.4, 0.4, 0.6。Focal Loss中參數(shù)γ設置為理論上的最優(yōu)值2。
圖3為Faster RCNN訓練10000次loss曲線,由圖可知大概在8000次迭代左右就已收斂。域適應部分的loss: da_conv_loss和dc_loss的最終目的是區(qū)分不出樣本來自哪個域,即分對分錯的可能性理論上各占50%,所以穩(wěn)定時loss曲線在一個恒定范圍內(nèi)上下波動。如圖4所示,可以看出2000次以后幅值趨于穩(wěn)定,然后在0.6到2.1范圍內(nèi)穩(wěn)定地波動,證明對抗訓練已經(jīng)收斂。
圖3 Faster-RCNN 訓練過程loss曲線
圖4 da_conv_loss迭代曲線
由此得知,判斷2個域適應模型是否收斂,主要觀察檢測網(wǎng)部分的4個loss:Rpn_cls_loss, rpn_cls_bbox, loss_cls和loss_bbox。實驗表明它們在差不多的時刻收斂,以rpn_loss_bbox為例(圖5),可以看出整個模型約在8000到10000次迭代時收斂。
圖5 rpn_loss_bbox迭代曲線(FMda)
取3組網(wǎng)絡在相同訓練集上迭代10000次時的訓練模型在相同的測試集上進行測試,將效果進行對比,如圖6-8所示。每組圖像中左圖和右圖分別為原Faster RCNN及文中改進后網(wǎng)絡的檢測效果。通過清晰、日間濃霧、晚間水汽條件下的幾組檢測樣例對比,可以得到檢測效果顯著提升的結(jié)論。
圖6為日間清晰船只圖像,可以看出本文網(wǎng)絡相比于Faster RCNN,對遠近及大小船只的檢測更具有魯棒性,檢出率及回歸框的準確率也大大提高。
圖6 檢測樣例
圖7為日間濃霧狀態(tài)下的船只檢測效果,可以看出本文網(wǎng)絡對視野存在噪聲不清晰、甚至肉眼難以辨識情況下的遠處模糊小目標的檢測效果大大提升。
圖7 檢測樣例
圖8為夜間黎明時分在近港口處對靠岸船舶在有橋及堤壩等干擾物的情況下的目標檢測,可以看出本文網(wǎng)絡有效避開干擾物并檢測出了干擾物周圍的所有船只,甚至因光線黯淡與海水融為一體的船只也可檢出。
圖8 檢測樣例
此外源域及2個目標域的圖像都存在陸地背景及海面類似船舶的養(yǎng)殖區(qū)的干擾,本文的深度學習網(wǎng)絡較好地避開了這些干擾,達到了精確的檢測效果。
對比3個網(wǎng)絡在測試集上的mAP值,如表2所示。表中Focal+balance指不加入域適應和對抗訓練,只是單獨在圖像和實例級特征表達處加入一個域別分類的分支,以進行域別平衡,然后再加入Focal Loss的網(wǎng)絡;FMda指文中算法提出的網(wǎng)絡。分析表格知,相比Faster RCNN, FMda的檢測結(jié)果在相同訓練次數(shù)下,總的檢測準確率提升了近17%。單獨比較每個域別,源域提升為15%,目標域1提升近19%,而目標域2的提升接近25%,證實了域別平衡算法的有效性。在原Faster RCNN網(wǎng)絡中,因梯度更新被數(shù)量較多的源域和目標域1主導,妨礙了目標域2的檢測效果。而域別平衡改善了這個問題。
表2 不同檢測網(wǎng)絡mAP值對比
此外,對比Focal+balance和FMda的檢測結(jié)果,證實了域適應對于模型適應復雜環(huán)境條件下目標檢測的有效性。
設計了改進的域適應Faster RCNN模型,用于實現(xiàn)多種干擾因素環(huán)境下小樣本的目標檢測問題,特別是部分環(huán)境條件下的樣本難以收集、樣本量不足導致的檢測精度差的問題。本文基于域適應Faster RCNN算法,提出了域別平衡、Focal Loss方法等針對網(wǎng)絡的改進方法,并使用局部標注策略加以輔助。
實驗證明,本文算法對于多個域適應、同時每個域樣本數(shù)量不平衡及樣本檢測難度不一致情況下的目標檢測非常有效。與經(jīng)典的Faster RCNN目標檢測算法、以及域適應Faster RCNN目標檢測算法相比, 本文算法不僅提高了模型整體的檢測精度,還提高了針對低質(zhì)量圖像、小樣本數(shù)據(jù)集的檢測精度。
航天領域在景象匹配等尋的任務中常涉及對遙感、紅外、雷達拍攝的復雜地理環(huán)境景象的精確目標識別,本文的研究成果為解決復雜背景圖像中的目標檢測問題提供了一種可行的思路,同時本文算法也能夠進一步推廣到類似煤礦井下等復雜環(huán)境中的目標檢測。