吳 杰,高 策,余 毅,張艷超,裴 玉,馬少峰
1.中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,長(zhǎng)春 130033
2.西昌衛(wèi)星發(fā)射中心,四川 西昌 615099
遙感圖像的目標(biāo)檢測(cè)主要研究在圖像中是否有目標(biāo)物體存在,并確定其位置和類別。隨著深度學(xué)習(xí)與遙感技術(shù)的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)的遙感飛機(jī)檢測(cè)算法在民用和軍事上都起著至關(guān)重要的作用。然而,與傳統(tǒng)的目標(biāo)檢測(cè)不同,遙感飛機(jī)圖像受天氣環(huán)境、光照和背景等因素影響,如果算法要實(shí)現(xiàn)高精度的目標(biāo)檢測(cè)功能,需要計(jì)算機(jī)提供大量的算力和存儲(chǔ),降低了算法的檢測(cè)速度,一定程度上限制了算法的應(yīng)用。因此權(quán)衡算法檢測(cè)速度與精度,針對(duì)遙感飛機(jī)設(shè)計(jì)一種滿足模型參數(shù)少、檢測(cè)精度高的網(wǎng)絡(luò)是有必要的。
針對(duì)遙感目標(biāo)檢測(cè)技術(shù),早期Liu等人[1]用模板匹配的方法應(yīng)用于遙感飛機(jī)的輪廓檢測(cè),但對(duì)于復(fù)雜背景的情況檢測(cè)精度不高。隨著深度學(xué)習(xí)的發(fā)展,對(duì)遙感目標(biāo)檢測(cè)主要有基于區(qū)域建議和基于邏輯回歸的方法,前者代表有Faster RCNN[2],具有較高的檢測(cè)精度,但是遍歷候選框?qū)е滤俣容^慢。基于邏輯回歸的檢測(cè)算法主要有SSD[3]和YOLO系列,SSD在檢測(cè)速度可以達(dá)到較高水平,但是缺陷在于小目標(biāo)的定位,YOLOv4[4]可以權(quán)衡檢測(cè)精度和速度,但是兩者指標(biāo)都不是最佳。為了增加檢測(cè)器性能,Zhang等人[5]提出結(jié)合不同特征的卷積層網(wǎng)絡(luò)提高對(duì)目標(biāo)的檢測(cè)精度,引入無(wú)錨的檢測(cè)方法一定程度降低了遙感目標(biāo)的漏檢率,但是模型依舊較為復(fù)雜。
針對(duì)模型輕量化技術(shù),卷積方式上Google提出了一種輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)MobileNet[6],其核心思想通過(guò)卷積核分解來(lái)減少模型參數(shù),實(shí)現(xiàn)在相同量級(jí)縮小模型計(jì)算量,小目標(biāo)檢測(cè)精度較低。網(wǎng)絡(luò)結(jié)構(gòu)上何凱明提出的殘差模塊,通過(guò)跳躍連接增加模型深度進(jìn)而減少參數(shù)量[7],然而由于連接的關(guān)聯(lián)性太強(qiáng)容易產(chǎn)生過(guò)擬合,不利于遙感飛機(jī)目標(biāo)的模型學(xué)習(xí)。Wang等人[8]設(shè)計(jì)了一種輕量級(jí)的小型網(wǎng)絡(luò)模型Scaled-YOLOv4,該網(wǎng)絡(luò)簡(jiǎn)化了YOLOv4模型復(fù)雜度,極大降低了參數(shù)量,但是對(duì)復(fù)雜目標(biāo)的檢測(cè)精度有待提高。隨后,Liu等人[9]提出網(wǎng)絡(luò)剪枝思想,訓(xùn)練時(shí)設(shè)置一個(gè)閾值然后將YOLOv4等網(wǎng)絡(luò)模型中貢獻(xiàn)度低于閾值的神經(jīng)元裁剪,使得檢測(cè)模型得到輕量化。
本文研究的遙感飛機(jī)檢測(cè)算法從以上幾點(diǎn)出發(fā),結(jié)合遙感圖像中飛機(jī)目標(biāo)的特點(diǎn),以網(wǎng)絡(luò)YOLOv4模型為基礎(chǔ),通過(guò)改進(jìn)多尺度融合預(yù)測(cè)網(wǎng)絡(luò)和引入一致性監(jiān)督網(wǎng)絡(luò),在網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)上對(duì)檢測(cè)網(wǎng)絡(luò)進(jìn)行改進(jìn),結(jié)合更多的細(xì)節(jié)信息解決原網(wǎng)絡(luò)在遙感飛機(jī)檢測(cè)過(guò)程中精度不足的問(wèn)題。輕量化方面分別在預(yù)測(cè)層設(shè)計(jì)密集連接方式,在分類層增加輕量化模塊,加強(qiáng)目標(biāo)特征學(xué)習(xí)并裁剪多余的卷積,解決基于卷積神經(jīng)網(wǎng)絡(luò)的遙感飛機(jī)檢測(cè)算法中模型過(guò)大和速度慢的問(wèn)題。
以主流的YOLOv4網(wǎng)絡(luò)為基礎(chǔ)展開(kāi)研究,應(yīng)用對(duì)象為遙感圖像中的飛機(jī)這一類的簡(jiǎn)單目標(biāo),通過(guò)將輸入圖像調(diào)整為416×416大小,將待檢測(cè)圖像分成13×13形式的網(wǎng)格,再利用中心點(diǎn)與網(wǎng)格寬高預(yù)測(cè)出邊界框?qū)捀?,求出三個(gè)候選邊界框,進(jìn)而得到最終預(yù)測(cè)結(jié)果。網(wǎng)絡(luò)將三個(gè)邊界框的得分進(jìn)行篩選得出最大的預(yù)測(cè)置信值,然后該置信值對(duì)應(yīng)的邊界框會(huì)給相應(yīng)的目標(biāo)加上標(biāo)簽。結(jié)合目標(biāo)柵格與圖像左上角的邊距(C x,C y)以及柵格所在候選框的寬高(P w,P h),預(yù)測(cè)出邊界框的四個(gè)坐標(biāo)值(T x,T y,T w,Th)和一個(gè)目標(biāo)存在的可能性得分To。再由式(1)、(2)計(jì)算得出每個(gè)邊界框與左上角的相對(duì)坐標(biāo)(B x,B y)、寬高(B w,B h)和預(yù)測(cè)置信值C(confi dence)[10-11]。具體計(jì)算公式如下:
C的數(shù)值表示該處是否有目標(biāo),若置信度為0則認(rèn)為該處不存在目標(biāo),若置信度不為0,則顯示該處置信度的數(shù)值。T x、T y用sigmod函數(shù)歸一化處理,使其取值在0~1之間,σ參數(shù)將歸一化值轉(zhuǎn)化為真實(shí)值,P r(obj)為目標(biāo)屬于某一類的概率,σ(To)表示預(yù)測(cè)邊界框的置信值,IOU表示真實(shí)標(biāo)注框與算法檢測(cè)框的交并比。如公式(3)所示,檢測(cè)框精準(zhǔn)度與IOU大小成正比。
式中,Bop為預(yù)測(cè)框與標(biāo)注框的交集,B gt表示預(yù)測(cè)框與標(biāo)注框的并集。YOLOv4的損失函數(shù)由3個(gè)部分組成,分別為中心坐標(biāo)預(yù)測(cè)、寬高坐標(biāo)預(yù)測(cè)和置信度類別預(yù)測(cè)[12]。
YOLOv4存在三個(gè)多尺度融合預(yù)測(cè)的網(wǎng)絡(luò)層結(jié)構(gòu),決定著候選框檢測(cè)的精準(zhǔn)度,然而上采樣和特征融合過(guò)程產(chǎn)生大量迭代參數(shù),降低了檢測(cè)的速度。因此本文設(shè)計(jì)在特征獲取階段和多尺度上采樣后使用密集連接的網(wǎng)絡(luò)結(jié)構(gòu),密集連接技術(shù)主要是借鑒跳躍連接的思想,在各個(gè)輸入加上之前特征的輸出,從而達(dá)到維度的擴(kuò)充。假設(shè)輸出特征圖為x l,原始特征圖為x0。兩者之間的關(guān)系如公式(4)所示:
由式(4)可知,密集連接網(wǎng)絡(luò)中各卷積層接收之前所有卷積層的特征圖作為輸入。遙感圖像中飛機(jī)目標(biāo)對(duì)比度較弱,有效增強(qiáng)了網(wǎng)絡(luò)對(duì)飛機(jī)目標(biāo)特征的提取能力,跳躍的網(wǎng)絡(luò)連接方式不但可以增加網(wǎng)絡(luò)深度,提高檢測(cè)精度,還可以減少用于進(jìn)行多尺度融合時(shí)產(chǎn)生的參數(shù)量,改進(jìn)多尺度融合網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 改進(jìn)多尺度融合網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Improved multi-scale fusion network structure diagram
圖1中將輸入圖像調(diào)整為448×448,這樣在預(yù)測(cè)層能夠增大感受野,獲得更多的預(yù)測(cè)信息,同時(shí)Mish激活函數(shù)曲線在負(fù)值不是直接截?cái)?,梯度下降較快。網(wǎng)絡(luò)由特征金字塔的結(jié)構(gòu)組成,通過(guò)上采樣調(diào)整小尺度特征圖分辨率,與上層大尺度預(yù)測(cè)層融合,分別在三組尺度預(yù)測(cè)層的支路設(shè)計(jì)密集連接的卷積形式,它們之間用由1×1大小的點(diǎn)卷積組成,作用是增加不同層之間飛機(jī)目標(biāo)信息的關(guān)聯(lián)度,增加密集連接后在進(jìn)行上采樣,可以在融合不同層細(xì)節(jié)信息的同時(shí),去除多余的冗余。適當(dāng)調(diào)整預(yù)測(cè)層前的卷積層,選擇大小為14×14的最小尺度進(jìn)行預(yù)測(cè),減少模型過(guò)擬合嚴(yán)重的問(wèn)題。
對(duì)YOLOv4的改進(jìn)集中在第三、四、五個(gè)卷積模塊,并且特征圖在這三個(gè)卷積模塊中傳播時(shí)深度保持不變,符合密集連接的要求,需要適度調(diào)整增長(zhǎng)率,防止特征圖經(jīng)過(guò)Dense Block層后通道數(shù)會(huì)迅速增加在LDS_YOLO中,本文設(shè)置k=32,經(jīng)過(guò)多次實(shí)驗(yàn)發(fā)現(xiàn)這樣既能有效加強(qiáng)對(duì)特征的提取能力,又避免了冗余參數(shù)的大量產(chǎn)生。改進(jìn)后的LDS_YOLO各層結(jié)構(gòu)及參數(shù)如表1所示。
表1可知,改進(jìn)后LDS_YOLO網(wǎng)絡(luò)結(jié)構(gòu)使得融合預(yù)測(cè)層和通道權(quán)重層相應(yīng)地降低了參數(shù)量,網(wǎng)絡(luò)預(yù)測(cè)層一減少了36 864-26 624=10 240個(gè)參數(shù),同理相應(yīng)地可以計(jì)算出網(wǎng)絡(luò)預(yù)測(cè)層二減少的參數(shù)為3×3×32×32-(3×3×32×16+1×1×16×32)=4 096,網(wǎng)絡(luò)預(yù)測(cè)層三由于融合了前兩層減少參數(shù)更多為3×3×64×64-(3×3×64×32+1×1×32×64)=16 360。輕量化分類模塊中的通道權(quán)重層減少的參數(shù)為3×3×64×64-(1×1×32×64)=34 816由此可得LDS_YOLO的參數(shù)含量共計(jì)40 779 912,相較于YOLOv4參數(shù)量減少了22.51%。
表1 LDS_YOLO模型參數(shù)量和計(jì)算量Table 1 LDS_YOLO model parameter amount and calculation amount
LDS_YOLO網(wǎng)絡(luò)用邏輯回歸方式來(lái)預(yù)測(cè)每個(gè)邊界框中目標(biāo)存在的可能性,大小作為預(yù)測(cè)的得分值,這一步通過(guò)設(shè)置合適的閾值來(lái)去掉得分低的邊界框從而減少計(jì)算量。在訓(xùn)練過(guò)程中,網(wǎng)絡(luò)用一致性監(jiān)督損失函數(shù)[13]損失來(lái)預(yù)測(cè)類別。一致性監(jiān)督損失公式如式(5)、(6)所示:
其中,當(dāng)且僅當(dāng)y i和y j相等時(shí),Loss為0;否則,Loss為一個(gè)正數(shù)。在預(yù)測(cè)網(wǎng)絡(luò)設(shè)置之后增加一致性監(jiān)督的網(wǎng)絡(luò),利用多尺度融合算法將改進(jìn)YOLOv4的倒數(shù)第一、二、三、四層進(jìn)行特征融合,構(gòu)建{C1,C2,C3,C4}主特征金字塔。通過(guò)上采樣方式構(gòu)建新的{P1,P2,P3,P4}次金字塔用于每一層的目標(biāo)預(yù)測(cè),配合主金字塔的每個(gè)層通過(guò)1×1卷積進(jìn)行通道降維,同時(shí)將上采樣減少的特征表示為{M1,M2,M3,M4},如圖2所示。
圖2 一致性監(jiān)督損失原理圖Fig.2 Schematic diagram of consistency monitoring loss
多個(gè)分類和回歸連接到這些特征,以產(chǎn)生輔助損失,這些分類和回歸的參數(shù)在不同次金字塔層上共享[14]。為了穩(wěn)定損失函數(shù)的變化,使用權(quán)重λ和β來(lái)平衡由一致性監(jiān)督和原始損失產(chǎn)生的輔助損失。形式上,LDS_YOLO最終損失函數(shù)如公式(7)所示:
p M、d M和p、d分別是中間層和最終金字塔層的預(yù)測(cè),t*和b*分別是基本類別標(biāo)簽和回歸目標(biāo),λ是用于平衡輔助損耗和原始損耗的權(quán)重,β是用來(lái)平衡分類和定位損失的權(quán)重。[t*>0]的定義如公式(8)所示:
2.4.1 LDS_YOLO模型權(quán)重冗余分析
結(jié)合多尺度融合和密集連接的網(wǎng)絡(luò)層以及基于全局平均池化層的網(wǎng)絡(luò)輕量化模型都使得模型參數(shù)得到了減少,訓(xùn)練過(guò)程中每一個(gè)支路的Dense結(jié)構(gòu)如圖3所示。
圖3 Dense模塊結(jié)構(gòu)Fig.3 Dense module structure
Dense模塊中令X l表示第l層的輸出,H l表示一個(gè)非線性變化。第l層的輸出結(jié)果如式(9)所示,其中[X0,X1,X2,…,X l-1]表示將0到第l-1層的輸出特征疊加。Block的參數(shù)量及計(jì)算量的計(jì)算由公式(10)和(11)表示:
其中,Bi表示第i個(gè)Block,L i表示Bi中卷積層的總層數(shù)。
2.4.2 基于改進(jìn)的特征通道權(quán)重的模型裁剪
遙感圖像中的目標(biāo)信息相比普通圖像環(huán)境更為復(fù)雜,飛機(jī)和周圍建筑在形狀上極容易混淆,因此在特征分類的時(shí)候會(huì)增大圖像分辨率和迭代次數(shù),這樣會(huì)增加特征分類模塊模型參數(shù)量,本小節(jié)設(shè)計(jì)一種基于全局平均池化層的輕量化模塊,結(jié)合特征權(quán)重映射在分類遙感飛機(jī)目標(biāo)的同時(shí),去掉模型冗余參數(shù),減少模型大小。改進(jìn)特征分類模塊結(jié)構(gòu)如圖4所示。
圖4 基于全局池化層的輕量化分類模塊Fig.4 Improved pruning based on global pooling
模塊主要包含三個(gè)部分:全局平均池化層(global average pool)、全連接層和特征權(quán)重映射層。其中全局平均池化層的作用是將每一個(gè)特征通道上的信息平均成一個(gè)值,對(duì)應(yīng)的計(jì)算如公式(12)所示:
其中,H、W、C分別代表輸入卷積的高、寬和特征通道數(shù),X∈R1×1×C代表前一層的輸出數(shù)據(jù)。全局平均池化層主要功能是獲取模型通道上的信息,為得到特征通道間的相關(guān)性,需要基于全部數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練。全連接層的作用是將全部數(shù)據(jù)集中的目標(biāo)信息進(jìn)行一個(gè)全面的通道映射,達(dá)到最佳的分類效果。擴(kuò)展型Sigmoid函數(shù)的作用是將數(shù)據(jù)限制在[0,1]范圍內(nèi),方便設(shè)定合適的權(quán)重閾值進(jìn)行裁剪,如公式(13)所示:
假設(shè)在第l層對(duì)LDS_YOLO網(wǎng)絡(luò)模型進(jìn)行通道權(quán)重特征調(diào)整,則前面所有層的輸出特征會(huì)由一個(gè)非線性變換后得到第l層的輸出特征,如公式(14)所示:
Zl表示l層的最后的輸出結(jié)果,經(jīng)過(guò)Sigmoid函數(shù)后的圖像信息被限制在一定范圍內(nèi),由全連接進(jìn)行通道和特征的映射,通過(guò)設(shè)定合適的閾值將影響檢測(cè)率較低的權(quán)重部分去除,在保證不丟失檢測(cè)精度的前提下,可以學(xué)習(xí)數(shù)據(jù)集的全部特征并減少模型的參數(shù)。
文章數(shù)據(jù)集采用了NWPU VHR-10[15]遙感飛機(jī)數(shù)據(jù)集,受各個(gè)衛(wèi)星所拍出的遙感圖片質(zhì)量差異,飛機(jī)的視角差異和高度差異等各種因素影響,包含了多種狀況下的遙感航空?qǐng)D片,如圖5所示。該數(shù)據(jù)集中遙感飛機(jī)的類別有戰(zhàn)斗機(jī)、民用機(jī)等,環(huán)境有大目標(biāo)、小目標(biāo),有建筑和空地等。針對(duì)數(shù)據(jù)集類別不平衡問(wèn)題,設(shè)計(jì)場(chǎng)景數(shù)據(jù)增強(qiáng)方法,使類別均衡化,按樣本數(shù)量均衡類別權(quán)重,利用上采樣將少量的民用機(jī)和小目標(biāo)的飛機(jī)數(shù)量增加,提高模型在復(fù)雜環(huán)境的魯棒性。訓(xùn)練集為23 000張圖像,測(cè)試集為5 000張。通過(guò)手動(dòng)標(biāo)注夠?qū)⒋罅繑?shù)據(jù)匯集的圖像標(biāo)記為xml文檔,標(biāo)記后的文檔中會(huì)存儲(chǔ)圖像中各個(gè)目標(biāo)的類型、尺寸和方位等信息。
圖5 遙感圖像中低質(zhì)量飛機(jī)數(shù)據(jù)集實(shí)例Fig.5 Examples of low-quality aircraft data sets in remote sensing images
3.2.1 LDS_YOLO模型訓(xùn)練分析
本次實(shí)驗(yàn)選用NWPU VHR-10遙感飛機(jī)數(shù)據(jù)集,主要用來(lái)分析LDS_YOLO基于密集連接改進(jìn)的多尺度融合預(yù)測(cè)后對(duì)目標(biāo)的檢測(cè)能力,以及模型大小、計(jì)算量和速度的優(yōu)化程度,最終應(yīng)用在無(wú)GPU的嵌入式設(shè)備樹(shù)莓派3B+上進(jìn)行研究。其中訓(xùn)練集為50 000張圖像,測(cè)試集為7 692張,訓(xùn)練迭代次數(shù)batches為400 000次,bath_size設(shè)為64,學(xué)習(xí)率設(shè)為0.001,在訓(xùn)練過(guò)程圖中每20 000次迭代保存一次此時(shí)的網(wǎng)絡(luò)模型,為了證明本章所設(shè)計(jì)的算法可以完成對(duì)目標(biāo)數(shù)據(jù)集的學(xué)習(xí),利用matlabplot庫(kù)將訓(xùn)練中的loss、IOU數(shù)據(jù)可視化,最終得到如圖6所示的變化曲線。
圖6 訓(xùn)練過(guò)程中的loss曲線和IOU曲線Fig.6 Loss curve and IOU curve during training
從圖6可以看出,隨著迭代次數(shù)的增加,模型的精準(zhǔn)度逐漸提高,從中選擇檢測(cè)率最高的權(quán)重可用于后續(xù)實(shí)驗(yàn)的研究,訓(xùn)練過(guò)程中IOU也逐漸趨于平穩(wěn),平穩(wěn)值為1,從而說(shuō)明LDS_YOLO目標(biāo)檢測(cè)網(wǎng)絡(luò)可以學(xué)習(xí)到遙感飛機(jī)數(shù)據(jù)集中的細(xì)節(jié)內(nèi)容。
3.2.2 損失函數(shù)改進(jìn)實(shí)驗(yàn)
為了驗(yàn)證論文中一致性監(jiān)督損失函數(shù)的有效性,在NWPU VHR-10遙感飛機(jī)數(shù)據(jù)集上將改進(jìn)的LDS_YOLO算法網(wǎng)絡(luò)作為檢測(cè)網(wǎng)絡(luò),分別使用原損失函數(shù)(二元交叉熵)以及一致性監(jiān)督損失函數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在訓(xùn)練的過(guò)程中對(duì)模型特征分類在二維平面內(nèi)進(jìn)行可視化,檢測(cè)結(jié)果如圖7所示,特征分布以(0,0)中心成放射狀。
圖7中不同顏色分別對(duì)應(yīng)NWPU VHR-10數(shù)據(jù)集內(nèi)的10種類別。實(shí)驗(yàn)發(fā)現(xiàn)相比較于原二元交叉熵?fù)p失函數(shù),一致性監(jiān)督損失函數(shù)的特征點(diǎn)分布明顯使得不同類別之間的距離足夠遠(yuǎn),并且類別的特征分布變得更為緊湊,相同顏色點(diǎn)的分布近似壓縮為一條直線,表明分類效果更好。
圖7 不同損失函數(shù)的二維平面內(nèi)可視化圖Fig.7 Two-dimensional in-plane visualization of different loss functions
3.2.3 改進(jìn)剪枝后的損失函數(shù)實(shí)驗(yàn)
(1)引入特征通道調(diào)整層后損失變化分析
本小節(jié)主要對(duì)LDS_YOLO輕量化算法中引入改進(jìn)剪枝層的Dense模塊進(jìn)行實(shí)驗(yàn)(殘差連接模塊同樣適用該剪枝方法)。首先使用改進(jìn)前后的LDS_YOLO網(wǎng)絡(luò)對(duì)遙感飛機(jī)數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中的損失函數(shù)變化曲線如圖8所示。
圖8 損失函數(shù)曲線圖Fig.8 Loss function graph
圖8中紅色曲線在訓(xùn)練的過(guò)程中明顯收斂得更快,且收斂后始終在黑色曲線下方,證明了在LDS_YOLO網(wǎng)絡(luò)引入改進(jìn)剪枝層后不會(huì)影響到原模型的性能。
(2)超參數(shù)φ實(shí)驗(yàn)分析
接下來(lái)分析應(yīng)用了特征權(quán)重調(diào)整層后的LDS_YOLO模型,實(shí)驗(yàn)發(fā)現(xiàn)在公式(8)中,合適的φ值可以有效地將不同種類目標(biāo)特征區(qū)間分開(kāi),這一特性方便剪枝時(shí)閾值的選取。本節(jié)對(duì)Sigmoid函數(shù)曲線特性進(jìn)行實(shí)驗(yàn),通過(guò)設(shè)置大量不同φ值進(jìn)行分析,最終選擇在[5,8,10,100]之間做φ值的選擇實(shí)驗(yàn)。使用不同φ值在LDS_YOLO網(wǎng)絡(luò)模型訓(xùn)練時(shí)的損失值隨著迭代次數(shù)而下降的變化曲線趨勢(shì)如圖9所示。
圖9 損失函數(shù)趨勢(shì)圖Fig.9 Loss function trend chart
圖9中可以看到,φ值過(guò)大會(huì)影響模型的收斂(以100為例,其他數(shù)值曲線未畫(huà)出),無(wú)法準(zhǔn)確地學(xué)習(xí)到目標(biāo)的信息。數(shù)值在10以下模型才會(huì)收斂,而在實(shí)驗(yàn)所選取的使模型有效收斂的三個(gè)數(shù)值中,φ值為5時(shí)所對(duì)應(yīng)的曲線的收斂速度較其他值更快,且趨于平穩(wěn)。
3.2.4 通道權(quán)重剪枝有效性對(duì)比實(shí)驗(yàn)
本小節(jié)實(shí)驗(yàn)以LDS_YOLO輕量化算法為例設(shè)置三組實(shí)驗(yàn)來(lái)說(shuō)明通道權(quán)重剪枝的有效性。實(shí)驗(yàn)基于Python語(yǔ)言進(jìn)行,LDS_YOLO模型在遙感飛機(jī)數(shù)據(jù)集上的剪枝實(shí)驗(yàn)結(jié)果如表2所示。
由表2可知,改進(jìn)后的剪枝方法可適用于多種目標(biāo)檢測(cè)算法,相比于傳統(tǒng)剪枝,參數(shù)量平均減少了9%,浮點(diǎn)運(yùn)算平均減少了7%,說(shuō)明模型在算力和存儲(chǔ)空間上的需求都有所降低。檢測(cè)速度方面剪枝后的模型在無(wú)GPU的樹(shù)莓派3B+上提高了28%以上,證明了改進(jìn)輕量化模塊來(lái)減少模型參數(shù)的可行性。
表2 三種算法模型在數(shù)據(jù)集上的剪枝結(jié)果Table 2 Pruning results of three algorithm models on data set
軍事中經(jīng)常需要將目標(biāo)檢測(cè)算法應(yīng)用在無(wú)GPU的嵌入式平臺(tái),例如在無(wú)人機(jī)系統(tǒng)上對(duì)目標(biāo)進(jìn)行偵察,需要對(duì)目標(biāo)檢測(cè)模型在大小和速度上有較高的要求,這對(duì)計(jì)算機(jī)的存儲(chǔ)空間和計(jì)算能力都是一個(gè)挑戰(zhàn)。本節(jié)選用無(wú)GPU顯卡的樹(shù)莓派3B+作為算法的運(yùn)行平臺(tái),展開(kāi)對(duì)多尺度融合預(yù)測(cè)、損失函數(shù)和輕量化分類網(wǎng)絡(luò)改進(jìn)后的目標(biāo)檢測(cè)算法,進(jìn)行綜合仿真實(shí)驗(yàn)研究。
3.3.1 實(shí)驗(yàn)測(cè)試結(jié)果與對(duì)比分析
為了分析輕量化算法在性能上的變化,本文選用改進(jìn)前的YOLOv4做對(duì)比實(shí)驗(yàn),同樣用遙感飛機(jī)數(shù)據(jù)集進(jìn)行訓(xùn)練,選擇效果最好的模型對(duì)目標(biāo)進(jìn)行測(cè)試,為了直觀體現(xiàn)輕量化后模型在速度上的優(yōu)勢(shì),左上角添加檢測(cè)一張圖像中目標(biāo)所需的時(shí)間,三種檢測(cè)方法的測(cè)試結(jié)果如圖10所示。
圖10分別為在不同場(chǎng)景的遙感飛機(jī)目標(biāo)下三種算法的檢測(cè)效果,從中可以看出YOLOv4的檢測(cè)速度在300~500 ms,換算成幀率平均在3 frame/s,檢測(cè)率最高,在實(shí)驗(yàn)中存在一些漏檢、誤檢;LDS_YOLO是專門(mén)設(shè)計(jì)用來(lái)放在無(wú)GPU的嵌入式上運(yùn)行的,在犧牲1.3%~2.5%準(zhǔn)確率的基礎(chǔ)上,將檢測(cè)速度提高為6~7 frame/s,LDS_YOLO_pruned_ours通過(guò)增加改進(jìn)的剪枝模塊,犧牲2.6%~3.5%準(zhǔn)確率的基礎(chǔ)上,將檢測(cè)速度提高為9~10 frame/s。選取不同場(chǎng)景下的遙感飛機(jī)圖像,選用準(zhǔn)確率較高但速度慢的Faster RCNN與YOLOv4和本文改進(jìn)算法進(jìn)一步比較在高曝光、目標(biāo)小等復(fù)雜背景下改進(jìn)算法的效果如表3所示。
圖10 改進(jìn)前后檢測(cè)算法測(cè)試集的部分效果圖Fig.10 Partial effect of test set of detection algorithm before and after improvement
表3 LDS_YOLO在低質(zhì)量遙感圖像下檢測(cè)指標(biāo)Table 3 Detection indexes of LDS_YOLO in low-quality remote sensing images %
由表3可以看出,改進(jìn)后的LDS_YOLO算法在各個(gè)低質(zhì)量遙感圖像上的檢測(cè)指標(biāo)都存在一定程度上的提升,相比于YOLOv4算法LDS_YOLO算法mAP和召回率在小目標(biāo)上提升最為明顯,分別提高2.2%和4.1%,在云霧遮擋的環(huán)境下由于LDS_YOLO算法加入了一致性損失函數(shù),可以更好地根據(jù)對(duì)比度信息在迭代過(guò)程中監(jiān)督檢測(cè)出飛機(jī)的形狀,檢測(cè)率可以高達(dá)95.2%。幾種算法在高度曝光環(huán)境下檢測(cè)結(jié)果影響最小,而復(fù)雜背景的目標(biāo)檢測(cè)在mAP上Faster RCNN效果較好,而本文算法存在進(jìn)一步的改進(jìn)空間。為了與其他算法比較,文章選取主流輕量化目標(biāo)檢測(cè)算法在相同數(shù)據(jù)集下進(jìn)行對(duì)比實(shí)驗(yàn)分析,結(jié)果如表4所示。
表4 幾種算法在數(shù)據(jù)下的對(duì)比實(shí)驗(yàn)分析Table 4 Comparative experimental analysis of several algorithms under data
表4中性能參數(shù)包括Top-1檢測(cè)率、模型的計(jì)算量FLOPs和參數(shù)量Params,通過(guò)在不同經(jīng)典目標(biāo)檢測(cè)公共數(shù)據(jù)集上進(jìn)行訓(xùn)練測(cè)試??梢钥闯?,文章所設(shè)計(jì)的輕量化目標(biāo)檢測(cè)算法LDS_YOLO與其他輕量化算法比較,在計(jì)算量FLOP和參數(shù)量Params上最少,平均計(jì)算量為100 MFLOPs,模型參數(shù)量約為1.0×107,檢測(cè)率最高可以達(dá)到90%以上,同時(shí)改進(jìn)后的剪枝操作,在檢測(cè)率下降不超過(guò)1.5%的前提下,計(jì)算量和參數(shù)量進(jìn)一步減少18%和21%,再次證明文章中輕量化目標(biāo)檢測(cè)算法LDS_YOLO和改進(jìn)剪枝的LDS_YOLO在檢測(cè)率高于主流算法的同時(shí),計(jì)算量和參數(shù)量也都明顯降低,整體優(yōu)于其他算法。為了證明經(jīng)過(guò)優(yōu)化得到的目標(biāo)檢測(cè)網(wǎng)絡(luò)可以在遙感飛機(jī)數(shù)據(jù)集上取得很好的效果,下面對(duì)模型的抗過(guò)擬合能力、魯棒性等進(jìn)行實(shí)驗(yàn)分析。
3.3.2 模型抗過(guò)擬合能力的對(duì)比實(shí)驗(yàn)
為了分析輕量化LDS_YOLO的抗過(guò)擬合能力,文章選擇在一個(gè)小訓(xùn)練集上進(jìn)行訓(xùn)練,比較準(zhǔn)確率和損失函數(shù)變化值[20]。根據(jù)模型的準(zhǔn)確率和損失值比較可以明顯看出不同模型的抗過(guò)擬合能力差異。分別對(duì)YOLOv4、LDS_YOLO和LDS_YOLO_pruned_ours算法進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(jié)果如圖11所示。
圖11 模型對(duì)比實(shí)驗(yàn)結(jié)果圖Fig.11 Model comparison experiment results
圖中Epoch表示遍歷訓(xùn)練集的次數(shù),Epoch與迭代次數(shù)的關(guān)系如公式(15)所示:
由圖11(a)可知YOLOv4、LDS_YOLO和LDS_YOLO_prune_ours算法隨著迭代次數(shù)的增加準(zhǔn)確率逐漸上升,可見(jiàn)通過(guò)密集連接和通道剪枝的操作進(jìn)行輕量化后的模型具有良好的學(xué)習(xí)能力;兩者相比于YOLOv4在分類能力上分別損失了1.2%和2.3%。由圖11(b)可知,YOLOv4的損失值整體在0.41以上,模型參數(shù)過(guò)多會(huì)導(dǎo)致?lián)p失值隨著訓(xùn)練次數(shù)的增加而增加,在反向傳播過(guò)程中均發(fā)生梯度爆炸,導(dǎo)致模型收斂變慢;LDS_YOLO和LDS_YOLO_prune_ours的損失值隨著訓(xùn)練的進(jìn)行逐漸下降,可見(jiàn)輕量化后的模型具有良好的學(xué)習(xí)能力與抗過(guò)擬合能力。
3.3.3 輕量化后模型的魯棒性實(shí)驗(yàn)
Madry等人[21]發(fā)現(xiàn)模型的容量越大,魯棒性越好。CNN具有一定程度的平移不變性和旋轉(zhuǎn)不變性,這對(duì)檢測(cè)系統(tǒng)來(lái)說(shuō)是一個(gè)很好的特性。魯棒性強(qiáng)的系統(tǒng)希望當(dāng)圖像受到一定程度的擾動(dòng)時(shí)(比如旋轉(zhuǎn)、平移、噪聲、光照條件變化、復(fù)雜背景),系統(tǒng)能夠容忍擾動(dòng)而保持原本的輸出,為了探究輕量化算法訓(xùn)練出的模型魯棒性強(qiáng)弱,文章設(shè)置相應(yīng)的難樣本,分析模型檢測(cè)目標(biāo)的準(zhǔn)確率,結(jié)果如表5所示。
表5 難樣本下各個(gè)算法魯棒性數(shù)據(jù)Table 5 Robustness data of each algorithm under difficult samples
結(jié)合實(shí)驗(yàn)結(jié)果和表5可以看出,當(dāng)圖像受到一定程度的擾動(dòng),包括旋轉(zhuǎn)、平移、噪聲、光照條件變化時(shí),各個(gè)模型的檢測(cè)率均會(huì)下降1.3%左右,輕量化模型LDS_YOLO和通道剪枝LDS_YOLO沒(méi)有隨著圖像擾動(dòng)而使得檢測(cè)率大幅度下降,僅僅在復(fù)雜背景下會(huì)出現(xiàn)6%左右的下降,這一背景下其他成熟算法也都有不同程度的下降,原因是基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)算法的不變性更多體現(xiàn)在旋轉(zhuǎn)、平移和光照上,對(duì)于背景復(fù)雜、目標(biāo)小等圖像還是存在一定的不足??傮w表明,輕量化算法訓(xùn)練出的模型對(duì)于大部分圖像擾動(dòng),都展現(xiàn)出了很好的魯棒性。
本文針對(duì)目標(biāo)檢測(cè)網(wǎng)絡(luò)在遙感飛機(jī)數(shù)據(jù)集上檢測(cè)精度低、速度慢、測(cè)試模型大等問(wèn)題設(shè)計(jì)了一種改進(jìn)型檢測(cè)網(wǎng)絡(luò)LDS_YOLO。該網(wǎng)絡(luò)通過(guò)多尺度融合預(yù)測(cè)層改進(jìn)網(wǎng)絡(luò),結(jié)合改進(jìn)損失函數(shù),增加目標(biāo)飛機(jī)信息關(guān)聯(lián)度,提高檢測(cè)精度并減少參數(shù);利用包含全局平均池化層的輕量化分類網(wǎng)絡(luò)對(duì)LDS_YOLO通道卷積進(jìn)行裁剪,進(jìn)一步減少網(wǎng)絡(luò)模型大小。并對(duì)算法模型做實(shí)驗(yàn)性能分析,進(jìn)一步證明了文章提出的目標(biāo)檢測(cè)算法的可行性。未來(lái)考慮在多尺度預(yù)測(cè)層設(shè)計(jì)自適應(yīng)特征選取網(wǎng)絡(luò),加強(qiáng)主動(dòng)判別重要特征能力,增加模型去冗余的速度。