梁杰, 李磊,2, 任君, 齊航,2, 周紅麗
(1.北京機電工程研究所, 北京 100074;2.復雜系統(tǒng)控制與智能協(xié)同技術重點實驗室, 北京 100074)
紅外成像制導的自動目標識別系統(tǒng)利用目標與背景之間的紅外熱輻射差異形成紅外圖像,通過識別圖像中的感興趣目標,實現自主精確定位,具有定位精度高、全天時自主工作等優(yōu)點,成為現代精確制導的重要手段之一。但紅外成像制導也存在一些缺點,主要表現為對獲取目標的紅外成像條件要求較高,當目標處于復雜的背景并受到一定干擾時,其成像效果會受到影響,降低紅外自動目標識別性能[1]。因此,實際應用時亟需提升自動目標識別在復雜場景下的適應能力和抗干擾能力。
遮擋類干擾是紅外成像制導面臨的主要干擾模式之一,從干擾成因上可分為自然(云、霧、沙塵等)和人為干擾(煙幕、高溫熱源等)兩大類,從干擾程度上又可分為強干擾和弱干擾。對于薄霧和輕微沙塵等弱干擾,紅外輻射具有一定的穿透能力,可以通過圖像增強提高目標可識別性;但是對于厚云和濃煙等強干擾,由于紅外輻射無法穿透,使得目標特征被遮擋,紋理細節(jié)和輪廓信息模糊,極有可能因為識別錯誤導致制導偏差較大[2]。
針對上述問題,可嘗試串行和并行兩種抗干擾識別總體方案。串行是先將遮擋區(qū)域檢測出來并去除(如置零等),消除其對后續(xù)處理的影響,然后再對無遮擋區(qū)域的圖像進行目標識別;并行是對原始圖分別進行干擾區(qū)域檢測和直接目標識別,并給出干擾區(qū)域和目標識別結果,然后判斷目標識別結果是否在干擾區(qū)域內,若不在則認為目標未被遮擋,識別成功,反之,則認為識別受到干擾影響,結果不可靠,可視情況重新啟動或采取其他措施。對于這兩種工程應用方案,可視情況選擇資源條件允許下效果更好的方案,但無論哪種均需進行干擾區(qū)域檢測,因而遮擋干擾檢測方法是該問題研究的重點。
目前最常用的遮擋干擾檢測方法可分為閾值法和模式識別法[3]。其中閾值法因為操作簡單,在早期的遮擋干擾檢測中被廣泛應用。其基本原理是將像素的亮度及反射率與預定閾值進行比較,如陸海云超高分辨率輻射計(APPLO)[4]、國際衛(wèi)星云氣候學項目(ISCCP)[5]等。這種方法雖然操作簡單,但閾值選擇的人為主觀因素較強,要求單張圖像數據量大、圖像中遮擋區(qū)域為高亮度(紅外圖像遮擋區(qū)域亮度不具有確定性),因而算法魯棒性不強、實時性較差。之后,學術界提出模式識別類方法解決這類問題,且大多是通過聚類分析實現,比如直方圖聚類、動態(tài)閾值聚類、自適應聚類等[6]。這種方法雖在算法魯棒性和實時性上均有所提高,但很大程度上依賴于先驗知識,在復雜環(huán)境下的檢測能力仍很局限,誤檢和漏檢率較高。隨著機器學習研究的不斷進步,支持向量機(SVM)、隨機森林、誤差反向傳播(BP)神經網絡等淺層機器學習算法越來越熱門,也為遮擋干擾檢測提供了一種新思路,基于SVM的遮擋干擾檢測方法開始被廣泛引用[6]。如王睿[7]提出了一種基于最小二乘的SVM(LS-SVM)法進行云檢測,并結合神經網絡完成厚云去除;Hu等[8]將計算機視覺和隨機森林算法相結合,得到了云覆蓋影像圖;Ma等[9]利用級聯自適應增強算法成功地解決了遙感影像中云像素識別問題。但是,上述遮擋干擾檢測方法大多針對特定波段的紅外數據,對于訓練樣本的敏感度較強,樣本選取難度較大,在復雜環(huán)境下不能有效表達干擾物的特征,干擾區(qū)域定位精度不高[10]。
近些年,深度卷積神經網絡(CNN)在目標檢測上顯現出巨大的優(yōu)越性,主要包括兩大類:1)雙步檢測算法,該類算法將目標檢測劃分為兩個階段,首先使用選擇性搜索算法或者區(qū)域提取網絡(RPN)等方法提取一系列候選區(qū)域,之后對每個區(qū)域進行目標分類和矩形框調整,典型代表為Faster R-CNN[11];2)單步檢測算法,該類算法無需區(qū)域候選,由原圖直接產生物體的類別概率并回歸檢測框,典型代表為YOLO[12]和SSD[13]. 相比而言,雙步檢測算法在準確度上有優(yōu)勢,單步檢測算法在速度上有優(yōu)勢,兩種算法各有所長,考慮到工程上對檢測速度的要求和對網絡深度的限制,本文在平衡速度和精度的情況下選擇學術界通用算法YOLOv2[14]為研究基礎,其屬于第2類算法。YOLOv2算法引入類似于Faster RCNN[11]的錨框機制,采用k均值算法對訓練集的標注框進行聚類以產生合適的先驗框,彌補了YOLO第1代版本在檢測精度上較區(qū)域建議算法的不足。同時,YOLOv2算法使用Darknet-19分類網絡,較GoogleNet有著更好的性能。總之,相對于傳統(tǒng)方法,深度學習憑借CNN強大的特征提取能力,可以學習到更高維、更抽象的特征,解決了傳統(tǒng)算法因特征描述能力有限而無法實現精細化識別的難題[13];同時,YOLOv2是一個端到端的算法,將傳統(tǒng)算法的分步操作合并在一個網絡,從測試數據出發(fā)可以直接輸出得到最終的檢測結果,網絡每一層都可以為了任務來不斷調整自己,最終實現各層之間的通力合作,因而流程更為簡單、可靠,檢測算法在使用過程中具有更高的靈活性和適應能力。
綜上所述,YOLOv2算法的架構適用于解決復雜場景下干擾區(qū)域快速、高精度檢測的問題,本文在對干擾物進行目標特性分析的基礎上,借鑒該算法架構,提出了一種新的可實現干擾區(qū)域定位與分類的檢測器。為提高檢測精度,該檢測器引入多尺度特征金字塔模塊和動態(tài)錨框模塊,將底層的目標位置信息與高層的語義信息有效結合,并對錨框機制進行優(yōu)化。為提高檢測速度,本文將批歸一化(BN)層合并到卷積層中,使網絡在前向傳播時減少計算量。同時,本文在分類損失函數中引入中心損失函數[15],實現兩種函數的聯合訓練,使得類內距離最小化、類間距離最大化,提高原分類器的特征區(qū)分度。為滿足訓練樣本多樣性要求,本文還提出一種紅外樣本增廣方法,保證了網絡模型的泛化能力。經過測試和統(tǒng)計結果分析,在厚云遮擋與機翼遮擋2類干擾場景下,本文方法的檢測效果顯著,證明了算法的有效性,為解決復雜場景下干擾區(qū)域快速、高精度檢測的問題提供了更簡潔的思路。
對于厚云和煙幕等遮擋,遮擋區(qū)域形狀千變萬化,不同類型的遮擋灰度分布特性不同。通過對外場采集的紅外圖像進行分析,遮擋區(qū)域具有如下特征:
1)遮擋部分的灰度分布一致性相對較強,一般不會存在明顯的灰度階躍變化,具有統(tǒng)計意義上高相關性紋理特征;
2)遮擋的外圍邊界位置一般不會存在強邊緣;
3)遮擋邊緣灰度具有隨機性,不可能具有明顯的直線特征。
與遮擋區(qū)域大有不同,紅外圖像的非遮擋區(qū)域具有以下特征:
1)非遮擋區(qū)域的人工地貌區(qū)會具有比較明顯的直線特征;
2)非遮擋區(qū)域的人工地貌經常具有形狀上的完整性,具有比較多的閉合區(qū)域。
基于紅外圖像中的遮擋區(qū)域和非遮擋區(qū)域具有的較大特性差異,本文認為可利用檢測的方法對遮擋干擾區(qū)域進行劃定。
YOLOv2算法的前身是YOLO算法,算法無需區(qū)域生成,可直接在輸入圖像上回歸預測目標,具有較好的實時性。該網絡將重置尺寸后的輸入圖像劃分為S×T(S、T以輸入預測層的特征圖而定)的網格,在每個網格上預測邊界框及置信度,以及C種類別(本文為2類)的概率,最后使用非極大值抑制(NMS)過濾重復邊界框,得到最終的目標預測框。
為解決YOLO 算法檢測易遺漏、定位不精準的問題,YOLOv2 算法引入錨框機制及其寬高維度聚類、高分辨率分類器,并改進了位置預測方法等。為提高檢測速度,YOLOv2算法設計了只包含卷積層和池化層的Darknet-19特征提取網絡,去掉了GoogleNet使用的全連接層,較大地減少了運算量。在VOC2007+2012測試集上,YOLOv2算法的檢測精度與速度,均優(yōu)于Faster R-CNN、SSD和YOLO主流算法。
但是,對于城區(qū)場景下云層分布較為分散的情況,YOLOv2算法對小塊云層(小目標)的檢測效果不理想,分類器學習到的特征分布類內間距大,漏檢率較高。同時,錨框是通過在VOC 數據集上進行維度聚類分析得到的適合該數據集的個數與寬高維度,并不具有通用性,難以適應自建數據集的使用要求。針對上述不足,本文提出改進YOLOv2的遮擋干擾識別算法。
YOLOv2算法的網絡模型包括基礎特征提取網絡Darknet-19和后端的目標檢測網絡,本文對這兩塊分別進行了改進。
YOLOv2算法的前端特征提取網絡包含19個卷積層和5個最大池化層,卷積層的大小為3×3和1×1、步長為1(分別表示為3×3/1和1×1/1),池化層的大小為2×2、步長為2(表示為2×2/2)。為減少下采樣中特征信息的損失,本文改進后采用全卷積來進行特征提取,下采樣采用3×3大小、步長為2(表示為3×3/2)的卷積層,網絡的最大縮放比例仍為32. 同時,在網絡設計過程中,發(fā)現第1層卷積核的通道數會對算法的速度產生重要的影響,在對第1層提取的遮擋干擾特征圖進行可視化分析后,發(fā)現部分通道的特征圖和其他通道特征圖較為相似,即存在冗余的卷積核通道數。因此將第1層通道數由32改為24,后續(xù)層通道數按對應比例縮減,這樣可以減少卷積操作的計算量,提高算法的速度。
在后端的目標檢測網絡中,YOLOv2算法僅采用頂層特征做預測。通常,靠近底層的特征往往語義信息比較少,但位置信息豐富;靠近頂層的特征語義信息比較豐富,但位置信息較粗略。為保證算法對分散小云塊的有效檢測,本文在YOLOv2算法中引入了類似于特征金字塔網絡(FPN)[16]的特征圖上采樣和融合作法,并在3個尺度上進行了預測。
與FPN不同的是:融合兩個特征圖時進行通道拼接而不是對應元素相加,這樣可以保留原始特征圖的完整信息,而且不需要通過額外的卷積保證兩個特征圖的通道數一致。整個改進算法的架構如圖1所示,其中尺度1是對基礎特征提取網絡的輸出再進行一些卷積處理后得到網絡第25層進行預測,特征圖尺度為初始輸入的1/32;尺度2是對第28層的特征圖上采樣后,再通過路由層與第16層的特征圖相加(通道拼接),之后通過多個卷積處理后進行預測,相比尺度1特征圖尺度變大兩倍;尺度3與尺度2類似,使用了尺度2兩倍大小的特征圖。改進YOLOv2算法使用這樣的方式使得模型可以獲取到更多的語義信息。
綜上所述,改進算法首先通過全卷積神經網絡提取出特征,然后對多層特征融合,并在3個尺度上預測,最后將預測框統(tǒng)一進行NMS篩選。整個識別流程如圖2所示。
圖1 改進算法架構圖Fig.1 Improved algorithm architecture
圖2 干擾識別網絡流程圖Fig.2 Flow chart of interference identification network
雖然YOLO v2算法在VOC 2007+2012和COCO數據集上取得了較好的成績,但其對自建的遮擋類干擾數據集并不完全適用。若直接采用原有的訓練參數生成權值模型,測試時算法會產生較多誤檢和漏檢,識別率較低。
在實際測試中發(fā)現錨框的個數和大小對識別精度有著重要影響。YOLO v2 算法通過在VOC 數據集上進行維度聚類分析得到了適合該數據集的錨框寬高維度,其中扁長的框較少,而瘦高的框較多,更有利于檢測動物目標,而遮擋類干擾目標的標注框中扁平的居多,瘦高的較少,因此由VOC 數據集聚類的結果不利于對本文目標進行識別。
為適應自建數據集手工標定的目標框,并達到最優(yōu)的識別效果,本文引入動態(tài)錨框模塊,在訓練前1 000輪不斷用k均值算法對已訓練數據集(含增廣圖像)中目標框的統(tǒng)計規(guī)律進行維度聚類分析,隨著訓練迭代次數的增加動態(tài)得到適合自建數據集的最優(yōu)錨框維度。這樣,對應不同數據集可以在訓練時得到更加合適的錨框。之后,算法選擇9個簇,并將這9個簇均勻地分布在2.1節(jié)中的3個尺度上。
同時,傳統(tǒng)的聚類方法使用的距離是歐氏距離,這意味著較大的框會比較小的框產生更多的誤差,聚類結果可能會偏離。為此,本文采用框之間的交集除以并集(IoU)作為距離的評判標準,構建的距離函數見(1)式,這樣距離誤差就和框的尺度無關了:
d(box,centriod)=1-IoU(box,centriod),
(1)
式中:box為該框的中心點;centriod為聚類中心;d為兩點距離;IoU為兩框IoU. 由(1)式可知,兩個框IoU越大,即兩框重復度越大,框之間的距離越小。
之后,在特征圖上每個待預測的網格(原始圖劃分成S×T個網格)中提取出對應框的粗略位置信息,根據該網格距圖像左上角的橫縱偏移量,以及之前聚類得到的錨寬寬和高,可按(2)式[12]解算出預測框準確位置信息:
(2)
式中:σ(x)為一種sigmoid函數;x、y、w和h分別為對應框的中心橫坐標、縱坐標、寬和高,t和b分別為粗略框和精修框的對應量;(cx,cy)為網格偏移量;pw、ph分別為錨框寬和高。tx、ty經處理后取值限定在0~1,實際意義就是使錨框只負責其所在的網格,有利于提升網絡收斂效率。同時,算法對每個預測框通過邏輯回歸預測一個物體的得分,如果預測的這個框與真實的邊框值大部分重合且比其他所有預測的要好,那么這個值就為1. 如果重疊部分沒有達到一個閾值(這里設定的閾值是0.5),那么這個預測框將會被忽略,也就是會顯示成沒有損失值。
CBL是卷積層、BN層和Leaky-ReLU函數[11]的統(tǒng)稱,在YOLOv2算法中,三者成套使用,卷積后接Leaky激活函數增加線性擬合能力,而在二者之間加入BN層起到避免過擬合的作用,并加速收斂。由于BN層會帶來額外的計算量,本文利用一定的數學推演將BN層合并到卷積層中,提升網絡的運行速度。
假設輸入為X,卷積核的權重與偏置分別為W、B,BN層的尺度參數與偏移參數分別為γ、β,則卷積層與BN層的輸出Yc和Yb分別為:
Yc=W×X+B,
(3)
(4)
W′=αW,
(5)
B′=α(B-μ)+β.
(6)
通過上述推演可知,把BN層直接嵌入卷積層,相當于按一定的倍數縮放卷積核,并對偏置進行改變,這樣整個BN層的計算量都省去了。值得注意的是,該合并方法只有卷積層后面直接連BN層才可以,YOLOv2算法恰好滿足這一要求。
YOLOv2算法類型激活函數為歸一化指數(softmax)函數,函數表達式見(7)式[12]:
(7)
式中:K為類別數;zi為K維向量的第i維分量,輸出可視為第i類的概率。由(7)式可以看出,通過指數運算將目標類型屬性信息變?yōu)閿抵翟?~1之間的軟標簽,某類值越大且越接近1說明目標越有可能屬于該類型。
算法的分類函數是以經softmax函數激活的類型概率為主體的交叉熵損失函數,它在CNN中有著廣泛的應用,但它沒有充分考慮類間距離,類與類的界限不明顯,在一定程度上影響了分類精度。原因在于:函數在更新參數時,只顧及當前j類,懲罰其他類,雖然使特征具有可分性,但未對類內距離進行約束,最終學習到的特征存在類內間距過大的缺點[15]。
為解決上述問題,本文引入中心損失函數對交叉熵損失函數進行約束,以達到增大類間距離和縮小類內間距的目的。中心損失函數定義為:
(8)
式中:cyi為第yi類所有樣本的特征中心;xi為輸入特征。從(8)式函數形式上可看出,該損失函數希望屬于第yi類所有樣本盡可能離中心接近,但實際過程中中心特征不易獲取,往往以每個訓練批次的樣本中心作為替代,經過一定迭代更新后得到接近真實的中心量。中心損失函數與交叉熵損失函數可聯立為
(9)
式中:λ為平衡因子,λ∈(0,1),λ越大則中心損失權重越大,類內差異便越小,特征分辨力越強,但也不能過度增加權重,否則模型可能難以訓練;W和b分別為卷積層的權重與偏置,下標i和j分別為樣本和類型的標記量;m和h分別為樣本和類型的總量。
基于2.2節(jié)~2.4節(jié)的優(yōu)化,改進算法的損失函數由3部分組成:坐標誤差Ec、IoU誤差EIoU和分類誤差Ecls,公式為
(10)
式中:N為特征圖待預測網絡數量。同時,本文使用修正IoU誤差來解決網格存在包含物體與否兩種情況的問題,并通過將物體尺度信息(w和h)進行求平方根來改進不同尺度物體定位誤差對檢測的影響。
綜上,改進的YOLOv2算法損失函數計算公式設計為
(11)
式中:B為該網格下得到的預測框數量;(xd,yd,wd,hd,cd,pd)和(xt,yt,wt,ht,ct,pt)分別為預測框和訓練標記框的中心點坐標、寬、高、物體置信度和類別置信度數值;λc、λnc為該預測框有無目標時的配置系數;lo為該預測框是否負責預測該目標或目標中心點是否落在該網格的標記量,若是值為1,反之為0;c為目標類型;classes為目標類型的集合。如果某個單元格中沒有目標,則不對分類誤差進行BP,B個預測框中與訓練標記框(GT)具有最高IoU的一個進行坐標誤差的BP,其余不進行。
深度學習因其網絡結構復雜、參數較多,需要更多的訓練數據來避免過擬合現象的發(fā)生,以保證訓練的模型具有很好的泛化能力。一方面,受數據獲取條件和成本的限制,往往只能采集獲得一定條件下的紅外遮擋干擾數據,難以涵蓋各種氣象、時段、季節(jié)條件,可獲得的數據樣本有限;另一方面,開源數據庫中的紅外遮擋干擾圖像微乎其微。這些限制給深度學習在紅外遮擋干擾識別中的應用造成了很大的困難。
一般而言,紅外圖像具有對比度低、信噪比低、灰度分布同目標反射無線性關系等特點。為此,針對訓練數據量不足的問題,本文提出一種面向深度學習的紅外圖像樣本增廣方法,以現有的紅外遮擋干擾圖像為基礎進行增廣,盡可能不同成像條件下模擬干擾物目標特性變化,以提升樣本的多樣性,使深度學習技術具備適應不同成像條件和場景的能力。
考慮到紅外成像受不同觀測角、光學系統(tǒng)參數、成像時段、氣象等影響,重點從以上要素設計增廣方法。一方面,考慮紅外成像光學系統(tǒng)參數,可以利用一些現有的圖像擴展方法,如滑動窗口法來模擬部分遮擋或視場角縮小情況、位平面法[17]來調整數據分布規(guī)律等。另一方面,考慮不同的觀測角,可以根據實際飛行中可能出現的飛行狀態(tài),進行尺度變換、旋轉變換來模擬不同的成像距離和角度;進行亮度擴展和對比度擴展,模擬不同的使用時段、季節(jié);利用大氣傳輸模型進行樣本變換,模擬不同氣象條件的能見度情況。通過上述方法,可以在一定程度上保證訓練樣本對實測樣本的覆蓋性。常用的樣本擴充方法有如下3種:
1)滑動窗口法:完全利用訓練樣本自身的信息,在原始圖像中取圖像中的一部分區(qū)域作為新樣本。在擴充樣本的同時不會引入不必要的混淆信息和噪聲,可以很好地保持和強化原始樣本固有的類別信息[18]。
2)位平面法:灰度圖像的每個像素點在計算機中均需要用8個二進制位來存儲。按照比特位可對圖像進行切片,將原始圖像分解為8幅圖像,由低到高為P1,P2,…,P8. 較高位的位平面圖保留了較多圖像特征,較低位的位平面圖則類似隨機噪聲[17-18]。新的樣本則通過調整權重a1,a2,…,a8來生成,合成方法如(12)式所示,合成效果如圖3所示。
P=a1P1+a2P2+…+a8P8.
(12)
圖3 位平面法效果Fig.3 Bit-plane renderings
3)圖像變換法:對圖像進行一定的幾何變化如旋轉、平移、鏡像等,以模擬不同視角、距離、進入方向下的情況;對圖像進行模糊、銳化和多種濾波,改變原始圖像清晰度,模擬不同環(huán)境及成像質量下的情況;對圖像進行對比度、亮度變換及反色等光照變換,模擬不同季節(jié)、時段的情況。對于一些人為固體遮擋物,偶爾也會用到浮雕變換,以增加干擾物的紋理細節(jié)和畫面立體感,模擬干擾物表面凹凸不平的情況。圖像變換效果如圖4所示。
圖4 不同圖像變換的效果Fig.4 Different image transformation
數據是在本實驗室無人機掛載中波紅外攝像頭采集的中國某兩個城市(簡稱A和B)的城區(qū)圖以及干擾實驗得到的長波紅外和可見光圖像基礎上,按3.2節(jié)中的方法進行合理增廣后制作而成。該數據集包含了不同高度、進入角和不同季節(jié)、時段,涵蓋了順光、逆光與側光等可能的光照情況,含有兩類遮擋干擾物:云霧和機翼。圖像大小為640像素×512像素和320像素×256像素,原始圖總共2 985張,含10 435個實例,其中中波紅外占95%,為主要圖像,增廣后得到近1萬張圖,并通過開源工具進行標注,標簽格式為類別代號、矩形中心橫坐標、矩形中心縱坐標、矩形寬、矩形高。為滿足算法的訓練和評估,將整個數據集的4/5作為訓練集,1/5作為驗證集。
本文實驗的訓練和測試過程均在Ubuntu16.04.1的64位操作系統(tǒng)下進行,中央處理器(CPU)為8核Inter(R) Core(TM) i7-6700k,圖像處理器(GPU)為NVIDIA Corporation GP104 GeForce GTX 1080,并以開放的CUDA8.0運算平臺作為加速器。
訓練階段采用動量項0.9的異步隨機梯度下降,權值的初始學習率為0.001,衰減系數為0.000 5,最大迭代次數為20 000,在10 000和15 000次迭代時降低學習率。訓練時以64張圖為一個批次進行處理,一個批次內每8張圖統(tǒng)計一次訓練結果。本文的訓練使用了3核GPU,并開放了Opencv選項。
4.3.1 多尺度特征分析
實驗中首先對3個維度的特征進行可視化顯示,如圖5所示。通過圖5可以看到低維特征集中在輪廓和灰度值上,而高維特征更加復雜抽象且同類特征聚集區(qū)域明顯,因而高低維特征包含不同的語義信息,證明多尺度特征融合對提高檢測精度是有意義的。
圖5 卷積特征效果圖Fig.5 Convolution features
4.3.2 算法性能驗證實驗
實驗用相同條件下訓練出的改進YOLOv2算法和其他基于深度學習的檢測算法對兩個城區(qū)的多種場景圖像進行批量檢測。檢測框的概率閾值設為0.5,改進算法的檢測效果如圖6所示。圖6結果表明本文的改進YOLOv2算法能在復雜背景下準確地檢測出不同類型的遮擋物。
圖6 改進YOLOv2算法檢測結果圖Fig.6 Detection result of improved YOLOv2
為了對本文提出的算法進行量化評價,這里利用目標檢測領域廣泛應用的準確率、召回率、F1值和幀頻4個指標對實驗結果進行分析和比較,結果如表1所示。
表1 多種算法檢測效果量化對比
通過表1的統(tǒng)計數據可知,在本文的自建數據集上改進的YOLOv2算法較其他目標檢測算法有著更好的性能表現。這是因為本文算法在主體上仍然使用的是YOLOv2的單通道全卷積網絡結構,且將BN層與卷積層合并,速度上具有較大的優(yōu)勢;同時引入多尺度特征金字塔、動態(tài)錨框和中心損失函數,極大地改善了原始YOLOv2算法對于小目標檢測精度不高的情況,在精度上達到了可與基于區(qū)域建議網絡媲美的效果。
同時,本文對比了改進YOLOv2算法在兩個城區(qū)樣本上的測試效果,發(fā)現城市B的召回率和平均精度相對較高。經過對目標特性分析可知:云層受光照和地理位置的影響,其成像效果不同,而城市B的不同云層塊成像差異較小,所以其測試樣本和訓練樣本的相關性較強,測試效果更好。
4.3.3 不同改進點效果對比實驗及分析
為了證明多尺度金字塔模型、動態(tài)錨框、改進分類損失函數和改進CBL模塊對遮擋干擾檢測的有效性,采用控制變量法進行對比實驗,6種方法由上述不同的改進點組合而成,結果如表2所示。
表2 不同方法檢測效果對比
對比實驗采用準確率、召回率和幀頻為評價指標。對比方法1和方法2發(fā)現,引入多尺度特征金字塔能夠較為明顯地提高約2%的檢測率,這是因為網絡在檢測時可以對底層特征進行復用,而底層特征往往包含大量的小目標信息,對于分布較散的云層遮擋檢測具有較好的魯棒性;對比方法2和方法4發(fā)現,動態(tài)錨框的引入使得檢測精度提升了約1%,這是因為動態(tài)錨框生成的是針對該樣本的最優(yōu)錨框,能夠較好地覆蓋樣本中遮擋物的形狀大??;對比方法4和方法5發(fā)現,引入中心損失函數對原分類模型進行約束,檢測精度提升了約0.7%,這是因為類內不緊湊、類間不分散的現象得到改善,分布較散的云層漏檢和誤檢情況有所降低;對比方法5和方法6發(fā)現,改進CBL模塊,在不損失檢測精度的基礎上,幀頻可以提高8幀,使整個改進YOLOv2算法的速度與原始算法基本相同,平衡了其他改進措施對檢測速度上的損耗,保證了算法的實時性。
4.3.4 算法泛化能力驗證實驗
本文數據集主要為城區(qū)中波紅外圖像,但實際應用中場景和成像特點較為廣泛,本文利用少量的長波紅外與可見光圖像來驗證網絡的泛化能力,以應對不同的成像條件、場景的需求,測試結果如圖7和表3所示。由圖7和表3可知,改進YOLOv2算法對其他兩類成像機制具有一定的泛化性,圖像增廣對提高模型的跨模態(tài)檢測能力有一定的幫助,對解決異構多源圖像自動目標識別問題有一定的借鑒意義。當然,從測試的平均精度上看,異源的結果要低于同源的結果,說明僅僅通過數據增廣還不能完全滿足需求,還需專門針對該問題進行網絡優(yōu)化和參數調整。
圖7 異源圖像檢測結果圖Fig.7 Detection results of images from different sources
測試集圖片數量/個召回率/%準確率/%長波紅外10082.385.5可見光5083.185.4
針對工程應用中亟需對紅外圖像遮擋干擾區(qū)域定位和類型判斷的需求,本文提出了一種改進YOLOv2的遮擋干擾檢測算法。算法分析與實驗結果表明:
1)算法通過引入多尺度特征金字塔模型、動態(tài)錨框機制以及對CBL模塊的改進,實現多層特征信息的融合復用,且可以動態(tài)優(yōu)化錨框,簡化了運算過程,對于遮擋干擾具有更好的檢測精度和效率。
2)算法通過引入中心損失函數對交叉熵損失函數進行優(yōu)化,提高類間分散性與類內緊密性,對于遮擋干擾的分類能力更強。
3)算法的網絡層數適中,平衡了速度與精度,可滿足算法工程化時的低復雜度要求。
4)在算法訓練前,通過一定的增廣手段對訓練樣本進行擴充,對提高算法性能具有很大的幫助。
5)算法的檢測框為標準矩形,在云層分散時會引入一些無用的背景信息,后續(xù)工作可以考慮使用分割類算法,實現精細化的全場景理解。