李 超,黃新宇,王 凱
(湖北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,湖北武漢 430068)
小目標(biāo)檢測(cè)在自動(dòng)駕駛、衛(wèi)星圖像和醫(yī)學(xué)圖像分析中發(fā)揮著重要的作用.但是受到環(huán)境和測(cè)量手段限制,小目標(biāo)本身攜帶的信息量較少,這給小目標(biāo)的特征提取、識(shí)別和檢測(cè)帶來了極大挑戰(zhàn)[1].
目前,小目標(biāo)的定義主要有2 種[2].第一種是絕對(duì)小目標(biāo).COCO 數(shù)據(jù)集指明當(dāng)目標(biāo)的像素尺寸小于32×32 時(shí),此類目標(biāo)即可被看作絕對(duì)小目標(biāo)[3].第二種是相對(duì)小目標(biāo).這種目標(biāo)的特點(diǎn)是圖像尺寸較大但是目標(biāo)相對(duì)原圖的尺寸較小,如圖1所示.圖1(a)中紅色框是普通圖像中的絕對(duì)小目標(biāo),圖1(b)中綠色框是高分辨率圖像中的相對(duì)小目標(biāo).與普通圖像相比,由于訓(xùn)練環(huán)境限制,尺寸較大且目標(biāo)數(shù)量較多的高分辨率圖像需要下采樣或裁切到合適尺寸之后才能訓(xùn)練.對(duì)高分辨率圖像多次下采樣后,相對(duì)小目標(biāo)的細(xì)節(jié)信息損失更多,導(dǎo)致更難提取到有效特征,從而造成目標(biāo)漏檢[4,5].對(duì)高分辨率圖像裁切后,目標(biāo)細(xì)節(jié)信息雖然得以保留,但是目標(biāo)周圍的上下文語義信息缺失導(dǎo)致特征相似的目標(biāo)被誤檢.另外,高分辨率圖像中小目標(biāo)的分布極不均勻,由此造成的正負(fù)樣本失衡進(jìn)一步增加了小目標(biāo)的檢測(cè)難度.
圖1 小目標(biāo)樣例
針對(duì)高分辨率圖像中小目標(biāo)檢測(cè)存在的問題,本文提出一種基于特征融合和自學(xué)習(xí)錨框的小目標(biāo)檢測(cè)算法,通過多路分支網(wǎng)絡(luò)對(duì)高分辨率圖像中的小目標(biāo)提取語義和細(xì)節(jié)特征,并對(duì)提取的特征融合,利用融合后的特征指導(dǎo)錨框預(yù)測(cè)小目標(biāo)的位置和形狀.為了評(píng)價(jià)算法的有效性,將本文算法與目前先進(jìn)的檢測(cè)算法進(jìn)行比較.實(shí)驗(yàn)結(jié)果表明,融合后的特征圖能夠有效彌補(bǔ)由下采樣和局部裁切造成的細(xì)節(jié)特征和語義特征缺失,全局語義和細(xì)節(jié)特征在融合時(shí)出現(xiàn)的特征表達(dá)不一致問題得到了較大改善,本文算法可以有效提升高分辨率圖像中小目標(biāo)的檢測(cè)精度.
針對(duì)高分辨率圖像中小目標(biāo)檢測(cè)的難點(diǎn),本文主要從特征融合和建議框改進(jìn)等方面開展相關(guān)研究工作.卷積神經(jīng)網(wǎng)絡(luò)提取的底層特征分辨率較高,因此細(xì)節(jié)信息較多;上層特征的分辨率較低但是具有更強(qiáng)的語義信息[6].為了讓不同層次的特征圖都具有較強(qiáng)的語義信息,特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)[7]利用卷積神經(jīng)網(wǎng)絡(luò)的多尺度特性,通過自上向下的方式對(duì)上層特征圖上采樣后與其相鄰的下層特征圖融合.
受到特征金字塔網(wǎng)絡(luò)的啟發(fā),Libra-RCNN 檢測(cè)模型[8]認(rèn)為傳統(tǒng)的特征金字塔僅關(guān)注特征圖相鄰層間的特征融合,非相鄰層次中的語義信息在每次融合之后都會(huì)被弱化.通過對(duì)不同層次的特征圖進(jìn)行縮放、整合與強(qiáng)化,Libra-RCNN 讓每個(gè)層次的特征圖都能從其他層次的特征圖上獲得同等的信息.裴偉等人[9]針對(duì)無人機(jī)拍攝的圖像分辨率較低和目標(biāo)尺度變化較大的問題,提出了一種基于殘差網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法,該算法將低層特征和高層語義特征結(jié)合在一起,改進(jìn)后的方法提升了無人機(jī)航拍的檢測(cè)精度.黃繼鵬等人[10]認(rèn)為專門為小目標(biāo)設(shè)計(jì)的檢測(cè)方法復(fù)雜度過高,不具有通用性,由此提出一種面向小目標(biāo)的多尺度快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)可以同時(shí)使用低層和高層特征進(jìn)行多尺度目標(biāo)檢測(cè).Liu等人[11]認(rèn)為低層特征包含的較強(qiáng)位置信息對(duì)小目標(biāo)檢測(cè)具有非常重要作用,因此提出將最低層的信息直接傳到最高層特征中.Chen 等人[12]通過2 條分支網(wǎng)絡(luò)提取圖像的細(xì)節(jié)信息和全局信息,實(shí)現(xiàn)了對(duì)高分辨率圖像的精準(zhǔn)語義分割.Sun 等人[13]在并行的多分辨率子網(wǎng)上反復(fù)交換信息,通過在不同分支之間進(jìn)行多尺度的重復(fù)融合來減少信息損耗.Chen 等人[14]設(shè)計(jì)了多任務(wù)、多階段的混合級(jí)聯(lián)結(jié)構(gòu),通過將語義分割分支的空間上下文信息融合到預(yù)測(cè)框和掩碼分支中,使其在目標(biāo)檢測(cè)和實(shí)例分割任務(wù)上都取得了較好的效果.
除了提高特征融合的質(zhì)量,建議框的優(yōu)化對(duì)目標(biāo)檢測(cè)也發(fā)揮著重要的作用.Faster-RCNN[15]通過區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,RPN)在特征圖上以滑動(dòng)窗口方式均勻生成大量密集的錨框,利用特征金字塔和建議框進(jìn)行多尺度目標(biāo)檢測(cè)[16].Cascade-RCNN[17]不斷提高交并比(Intersection-over-Union,IoU)閾值優(yōu)化建議框的質(zhì)量,通過級(jí)聯(lián)回歸重采樣使前一階段重新采樣過的建議框能夠適應(yīng)下一階段更高閾值的檢測(cè)器.Dynamic-RCNN[18]提出在訓(xùn)練過程中應(yīng)隨著建議框的分布變化動(dòng)態(tài)調(diào)整IoU 的閾值.Wang 等人[19]關(guān)注目標(biāo)的邊緣特征以得到更高質(zhì)量的邊界信息來提升目標(biāo)檢測(cè)的精度.Wang 等人[20]認(rèn)為錨框分布與特征圖的語義特征有關(guān),并認(rèn)為根據(jù)語義特征生成的錨框可以提升建議框的質(zhì)量.基于以上分析可以發(fā)現(xiàn),特征融合質(zhì)量和建議框的生成方式對(duì)目標(biāo)檢測(cè)非常重要,但是與之前的工作相比,卷積神經(jīng)網(wǎng)絡(luò)對(duì)高分辨率圖像提取特征時(shí)存在因下采樣導(dǎo)致目標(biāo)細(xì)節(jié)特征消失過快以及對(duì)原圖裁切后上下文語義信息缺失的問題.針對(duì)高分辨率圖像中小目標(biāo)檢測(cè)的難點(diǎn),本文建立表征能力更強(qiáng)的多路分支特征融合網(wǎng)絡(luò),在融合的特征圖上引入自學(xué)習(xí)錨框生成建議框,通過提高特征圖和建議框的質(zhì)量,提升高分辨率圖像中小目標(biāo)的檢測(cè)精度.
高分辨率圖像像素尺寸較大以及目標(biāo)尺寸相對(duì)較小的特點(diǎn),導(dǎo)致單一結(jié)構(gòu)的特征金字塔網(wǎng)絡(luò)難以同時(shí)提取到小目標(biāo)的細(xì)節(jié)特征和周圍的上下文語義特征.本文采用多路分支網(wǎng)絡(luò)對(duì)高分辨率圖像中小目標(biāo)的細(xì)節(jié)特征和背景語義特征進(jìn)行融合,整體結(jié)構(gòu)如圖2所示.
圖2中網(wǎng)絡(luò)整體由全局分支、局部分支和融合分支構(gòu)成,特征融合分為從全局到局部的特征融合(Globalto-Local Feature Fusion)和局部到全局的特征融合(Local-to-Global Feature Fusion).受到訓(xùn)練環(huán)境限制,首先在全局分支網(wǎng)絡(luò)上對(duì)下采樣圖像訓(xùn)練,以提取整幅圖像的全局特征(為突出特征融合過程,只描述其中一層).之后,在局部分支網(wǎng)絡(luò)上使用骨干網(wǎng)提取切塊上目標(biāo)的局部細(xì)節(jié)特征,并將切塊對(duì)應(yīng)的上下文特征從預(yù)訓(xùn)練的全局特征上裁切出來進(jìn)行Global-to-Local特征融合.由于無法對(duì)高分辨率圖像直接檢測(cè),接著在預(yù)訓(xùn)練的局部分支上對(duì)原圖的每張切塊遍歷,對(duì)融合了上下文信息的局部特征圖先下采樣再依次拼接,將拼接的特征圖與融合分支上的全局特征進(jìn)行Localto-Global 特征融合.最后在融合了全局背景和局部細(xì)節(jié)的特征圖上對(duì)下采樣圖像實(shí)現(xiàn)快速、準(zhǔn)確的檢測(cè).
圖2 全局和局部特征融合網(wǎng)絡(luò)
由于不同分支網(wǎng)絡(luò)上的訓(xùn)練樣本差異較大,相比單一結(jié)構(gòu)的特征金字塔網(wǎng)絡(luò),多路分支網(wǎng)絡(luò)對(duì)原圖進(jìn)行下采樣和裁切時(shí),目標(biāo)的空間位置相對(duì)原圖已經(jīng)發(fā)生了較大變化.為了使目標(biāo)的細(xì)節(jié)特征和上下文特征有效融合,本文通過空間映射對(duì)特征圖進(jìn)行裁切和拼接[21].另外,全局分支和融合分支上的原始圖像經(jīng)過下采樣之后目標(biāo)尺寸變小,而局部分支上的原始圖像經(jīng)過裁切后目標(biāo)的尺寸并未發(fā)生改變.當(dāng)不同的分支網(wǎng)絡(luò)采用預(yù)設(shè)的固定錨框在特征圖上均勻滑動(dòng)時(shí),特征圖上每個(gè)位置的特征表達(dá)是一致的,并且特征圖的每個(gè)像素點(diǎn)與錨框的中心點(diǎn)都能夠保持對(duì)齊.但是由于錨框?qū)δ繕?biāo)尺寸有不同的偏好,不同的分支網(wǎng)絡(luò)需要根據(jù)目標(biāo)大小使用不同尺寸的錨框,這將導(dǎo)致各分支網(wǎng)絡(luò)上特征的感受野和語義范圍不一致.考慮到難以通過先驗(yàn)知識(shí)在融合的特征圖上選擇合適的錨框生成建議框,本文在多路分支網(wǎng)絡(luò)上引入自學(xué)習(xí)錨框,使融合的全局局部特征與錨框能夠更好地匹配.
本文對(duì)Global-to-Local 特征融合做了詳細(xì)描述,具體過程如圖2 所示.首先,在預(yù)訓(xùn)練的全局分支網(wǎng)絡(luò)上獲取下采樣圖像的全局特征(Global_C),然后在局部分支網(wǎng)絡(luò)上提取切塊上目標(biāo)的局部細(xì)節(jié)特征(Local_C).由于高分辨率圖像上的目標(biāo)分布極不均勻,大量切塊上沒有目標(biāo)樣本,因此為提高正負(fù)訓(xùn)練樣本比例,在Global-to-Local特征融合階段只對(duì)含有目標(biāo)的切塊進(jìn)行特征融合.之后,利用空間映射將切塊對(duì)應(yīng)的預(yù)訓(xùn)練全局特征裁切后(Cropped_gc)進(jìn)行上采樣,使其與局部特征圖的大小一致.在此基礎(chǔ)上,采用“級(jí)聯(lián)”(concate)方法將裁切后的全局特征和局部特征在通道維度上拼接[22](m為輸入通道數(shù),從上至下依次為2 048,1 024,512,256),通過conv1 卷積對(duì)全局和局部特征按照特征金字塔的方式從上至下逐層融合.
為了使不同尺度的特征圖都具有較強(qiáng)的語義信息,特征金字塔FPN_Global 對(duì)全局特征Global_C 從上至下進(jìn)行融合,輸出特征融合結(jié)果Global_P.另外,為了消除FPN_Global 在自上向下過程中對(duì)上層特征Global_C 上采樣產(chǎn)生的混疊效應(yīng),通常還會(huì)采用3×3卷積核對(duì)特征融合結(jié)果Global_P 進(jìn)行再次卷積,以生成平滑的特征圖Global_SP.在Global-to-Local特征融合過程中,局部分支網(wǎng)絡(luò)上的局部特征Local_P,Local_SP也要與全局特征Global_P,Global_SP做進(jìn)一步融合.在融合之前,仍然利用空間映射將切塊對(duì)應(yīng)的預(yù)訓(xùn)練全局特征裁切后(Cropped_gp,Cropped_gsp)進(jìn)行上采樣,然后將通道數(shù)均為256 的全局和局部特征圖“級(jí)聯(lián)”為通道數(shù)為512 的特征圖,最后采用conv2,conv3 卷積對(duì)“級(jí)聯(lián)”的特征圖進(jìn)行卷積,輸出通道數(shù)為256的特征圖(Global-Local Feature),融合過程中只改變特征圖的深度,不改變特征圖的寬和高.根據(jù)圖2,Global-to-Local特征融合算法描述如算法1所示.
Local-to-Global 特征融合過程與Global-to-Local 特征融合類似,不同之處是Global-to-Local 特征融合只對(duì)部分切塊對(duì)應(yīng)的預(yù)訓(xùn)練全局特征上采樣,而Local-to-Global 特征融合需要對(duì)每張切塊的局部特征Local_C,Local_P,Local_SP 下采樣后再依次拼接,保證拼接的特征圖Merged_Local_C,Merged_Local_P,Merged_Local_SP 與融合分支網(wǎng)絡(luò)上的特征圖Global_C,F(xiàn)usion_P,F(xiàn)usion_SP 大小相同.在Local-to-Global 特征融合過程中,使用conv1 對(duì)拼接的局部特征和全局特征從上至下逐層融合,使用conv2 和conv3 卷積對(duì)“級(jí)聯(lián)”的局部特征和融合的全局特征進(jìn)行卷積,經(jīng)過平滑后逐層融合,輸出通道數(shù)為256 的特征圖(Local-Global Feature).Local-to-Global特征融合算法描述如算法2所示.
由于不同分支間的訓(xùn)練樣本尺寸差異較大,采用基準(zhǔn)檢測(cè)模型進(jìn)行全局和局部特征融合時(shí),如果錨框尺寸選擇不恰當(dāng),將會(huì)影響檢測(cè)結(jié)果.為了讓全局語義和局部細(xì)節(jié)特征更好地匹配,本文引入自學(xué)習(xí)錨框使融合的特征圖以自適應(yīng)方式匹配錨框的位置和形狀,在特征表達(dá)一致的情況下對(duì)目標(biāo)檢測(cè).考慮到圖像中目標(biāo)的位置是非均勻分布的,并且目標(biāo)形狀與圖像語義有著密切聯(lián)系,Wang 等人[20]認(rèn)為錨框的位置和形狀服從條件概率分布,通過圖3 中的位置預(yù)測(cè)分支使用1×1 卷積將輸入通道數(shù)為256 的特征圖變?yōu)檩敵鐾ǖ罃?shù)為1 的特征圖,并使用sigmoid 函數(shù)將特征圖上的值轉(zhuǎn)換為概率值,在超過閾值的位置上生成錨框.形狀預(yù)測(cè)分支使用1×1 卷積將特征圖變?yōu)檩敵鐾ǖ罃?shù)為2 的特征圖,在特征圖上對(duì)錨框形狀w,h進(jìn)行預(yù)測(cè).除此以外,自學(xué)習(xí)錨框模型還對(duì)目標(biāo)進(jìn)行分類和預(yù)測(cè)框回歸,因此模型的誤差損失由4部分組成,即
圖3 通過自學(xué)習(xí)錨框?qū)θ趾途植刻卣鬟M(jìn)行自適應(yīng)匹配
通過對(duì)位置誤差損失Lloc和形狀誤差損失Lshape最小化,自學(xué)習(xí)錨框能夠盡量覆蓋與其相鄰目標(biāo)的定位框,這種生成方式可以提高目標(biāo)檢測(cè)的泛化能力.但是在不同位置上生成形狀任意的錨框?qū)?dǎo)致特征圖上每個(gè)點(diǎn)的特征表達(dá)不一致.為解決該問題,自學(xué)習(xí)錨框模型使用3×3 可變形卷積對(duì)錨框形狀偏移量進(jìn)行變換,以特征自適應(yīng)方式使特征圖的感受野在不同位置上保持一致,并且像素點(diǎn)和錨框中心點(diǎn)保持對(duì)齊.
雖然特征自適應(yīng)模塊解決了單條分支網(wǎng)絡(luò)上的特征表達(dá)問題,但是自學(xué)習(xí)錨框在訓(xùn)練過程中需要將樣本(xg,yg,wg,hg)映射到特征圖上作為標(biāo)簽與預(yù)測(cè)值(x',y',w',h')一起計(jì)算位置誤差和形狀誤差.由于全局分支和局部分支上目標(biāo)樣本的尺寸差異較大,全局和局部特征圖上相應(yīng)位置像素點(diǎn)的感受野和語義特征表達(dá)不一致.如果將預(yù)訓(xùn)練的特征圖與待提取的特征圖直接融合,仍然難以通過自學(xué)習(xí)錨框準(zhǔn)確預(yù)測(cè)錨框的位置和形狀.
為了使融合的特征圖與自學(xué)習(xí)錨框自適應(yīng)匹配,本文利用位置誤差損失、形狀誤差損失和特征自適應(yīng)模塊對(duì)融合的特征圖做適當(dāng)修正.由于提取預(yù)訓(xùn)練特征的網(wǎng)絡(luò)模型參數(shù)無法再作改變,本文在特征融合時(shí)創(chuàng)建新的特征金字塔,將該金字塔輸出的特征與預(yù)訓(xùn)練特征重新融合,并將樣本標(biāo)簽(xg,yg,wg,hg)重新映射到融合后的特征圖上,根據(jù)特征圖預(yù)測(cè)的錨框(x',y',w',h')重新計(jì)算位置誤差和形狀誤差.對(duì)位置誤差損失和形狀誤差損失最小化,使金字塔輸出的特征與預(yù)訓(xùn)練特征在融合時(shí)每個(gè)特征點(diǎn)都能適應(yīng)錨框的位置和形狀.在預(yù)訓(xùn)練特征基礎(chǔ)上,新建的特征金字塔參數(shù)只需適當(dāng)微調(diào),模型就能快速收斂[23].
根據(jù)高分率圖像的特點(diǎn),本文采用XVIEW 數(shù)據(jù)集[24]作為訓(xùn)練和測(cè)試樣本,該數(shù)據(jù)集中共有846 張高分辨率圖像.隨機(jī)選取601 張圖像作為訓(xùn)練集,選取245 張圖像作為測(cè)試集.為了進(jìn)一步說明高分辨率圖像中小目標(biāo)的特點(diǎn),圖4 對(duì)XVIEW 數(shù)據(jù)集的圖像尺寸、目標(biāo)尺寸、目標(biāo)與圖像的面積占比、每張圖像中的目標(biāo)數(shù)量進(jìn)行了統(tǒng)計(jì),并與COCO 數(shù)據(jù)集進(jìn)行了對(duì)比.
從圖4(a)可以看到,XVIEW 數(shù)據(jù)集的圖像尺寸在2 500×2 500 到5 000×3 500 之間,COCO 數(shù)據(jù)集的圖像尺寸在100×100 到800×800 之間,前者圖像的平均像素尺寸是后者的數(shù)十倍.另外,依據(jù)COCO 數(shù)據(jù)集通過像素大小對(duì)目標(biāo)尺寸的定義,圖4(b)中XVIEW 數(shù)據(jù)集的小目標(biāo)占比為63.3%,而COCO 數(shù)據(jù)集中小目標(biāo)的比例為41.44%.圖4(c)中,COCO 數(shù)據(jù)集的目標(biāo)與圖像的面積歸一化占比分布在[10-3,10-2]區(qū)間,而XVIEW 數(shù)據(jù)集中目標(biāo)與圖像的面積歸一化占比分布在[10-5,10-4]區(qū)間.由于目標(biāo)相對(duì)原圖的歸一化比例較小,在對(duì)原圖下采樣后,XVIEW 數(shù)據(jù)集中的目標(biāo)尺寸將變得更小,導(dǎo)致特征提取網(wǎng)絡(luò)更難提取到目標(biāo)的特征.在圖4(d)中,COCO數(shù)據(jù)集中目標(biāo)數(shù)量少于10個(gè)的圖像占比接近75%,而XVIEW 數(shù)據(jù)集中目標(biāo)數(shù)量少于10個(gè)的圖像占比不到20%,目標(biāo)數(shù)量超過100個(gè)的圖像占比接近60%.以上分析表明,XVIEW 數(shù)據(jù)集中的目標(biāo)比COCO數(shù)據(jù)集的檢測(cè)難度更大.
本文算法在Ubuntu 18.04系統(tǒng)下運(yùn)行,采用MMDetection 2.0 目標(biāo)檢測(cè)框架[25]對(duì)模型進(jìn)行訓(xùn)練和測(cè)試.CPU 采用Intel Core i7-9700KF,內(nèi)存為32 GB,GPU 采用NVDIA RTX2080Ti,顯存為11 GB,利用CUDA8.0 和CUDNN5.0進(jìn)行加速.
在對(duì)模型訓(xùn)練之前,通常需要對(duì)圖像進(jìn)行縮放、裁切、翻轉(zhuǎn)、填充等預(yù)處理,一方面是為了進(jìn)行數(shù)據(jù)增強(qiáng),以提高網(wǎng)絡(luò)的泛化性能,另一方面是為了讓每個(gè)輸入網(wǎng)絡(luò)的batch 擁有相同的尺寸,便于GPU 做加速計(jì)算.由于XVIEW 數(shù)據(jù)集的圖像尺寸較大并且目標(biāo)數(shù)量較多,除了對(duì)圖像采取常用的預(yù)處理方法外,還要考慮GPU 硬件環(huán)境限制和算法效率.根據(jù)圖4(b)中XVIEW 數(shù)據(jù)集的目標(biāo)尺寸分布,當(dāng)圖像縮放到3 000×3 000 后,目標(biāo)尺寸的變化與原始數(shù)據(jù)集相比變化較小,因此將圖像調(diào)整到3 000×3 000 后均勻裁切.為了避免原圖裁切后切塊之間的邊緣信息缺失,讓切塊之間保持一定程度的重疊.考慮到目標(biāo)尺寸較小,設(shè)置切塊之間的重疊區(qū)域?yàn)?0.本文使用ResNet50 和特征金字塔提取特征,對(duì)原圖裁切之前根據(jù)式(2)分析特征提取的計(jì)算量[26],即其中,H和W是輸出特征圖的大小;Cin和Cout是輸入和輸出通道數(shù);K是卷積核大小.在卷積核大小和輸入、輸出通道數(shù)不變的情況下,提取特征的計(jì)算量主要由輸出特征圖的尺寸決定.一般來說,圖像尺寸越大,輸出的特征圖越大,提取特征的計(jì)算量也越大.另外,對(duì)高分辨率圖像提取特征時(shí)除了考慮切塊尺寸的影響,還要考慮切塊的個(gè)數(shù),表1 給出了ResNet50 和特征金字塔對(duì)不同尺寸的切塊和整副圖像提取特征的計(jì)算量.
圖4 COCO數(shù)據(jù)集和XVIEW數(shù)據(jù)集的特征對(duì)比
表1 ResNet50和特征金字塔對(duì)高分辨率圖像提取特征的計(jì)算量
由表1 可知,當(dāng)切塊尺寸為800×800 時(shí),對(duì)整副圖像提取特征的計(jì)算量最少.另外,在對(duì)整副圖像下采樣時(shí),如果縮放的尺寸越小,提取特征的計(jì)算量也越少,但是損失的細(xì)節(jié)信息也將更多.考慮多路分支網(wǎng)絡(luò)對(duì)每張下采樣圖像只提取一次特征,并且為了便于切塊與其對(duì)應(yīng)的全局特征在空間上相互對(duì)應(yīng),本文將下采樣圖像的大小設(shè)置為800×800.對(duì)圖像下采樣和裁切后,圖2 中Global_C 和Local_C 的大小自下而上依次為200×200,100×100,50×50,25×25.
本文采用隨機(jī)梯度下降方式對(duì)全局分支和局部分支網(wǎng)絡(luò)分別訓(xùn)練50個(gè)epoch,訓(xùn)練初始階段學(xué)習(xí)率設(shè)為0.001,在前五百輪訓(xùn)練學(xué)習(xí)率線性增長(zhǎng)并穩(wěn)定在0.002 5,第45 個(gè)epoch 開始,學(xué)習(xí)率按epoch 為單位指數(shù)衰減到0.000 3.對(duì)融合分支網(wǎng)絡(luò)訓(xùn)練時(shí),只需對(duì)網(wǎng)絡(luò)參數(shù)作適當(dāng)微調(diào),訓(xùn)練20個(gè)epoch后即能達(dá)到比較好的收斂狀態(tài).
在性能評(píng)價(jià)方面,將真實(shí)框與預(yù)測(cè)框的交并比(IoU)大于0.5 視為正確的預(yù)測(cè)結(jié)果,在IoU 閾值為0.5下計(jì)算模型的檢測(cè)精度(Average Precision,AP),準(zhǔn)確率(Precision)和召回率(Recall).為了比較的全面性,所有模型均在下采樣圖像和切塊上對(duì)目標(biāo)檢測(cè),并對(duì)模型的復(fù)雜度進(jìn)行綜合評(píng)價(jià).
本文首先在全局分支網(wǎng)絡(luò)和局部分支網(wǎng)絡(luò)上使用大小不同的基礎(chǔ)錨框?qū)鶞?zhǔn)檢測(cè)模型Faster-RCNN 進(jìn)行訓(xùn)練,并給出基準(zhǔn)模型在特征融合下的檢測(cè)結(jié)果.為了說明特征融合和自學(xué)習(xí)錨框?qū)z測(cè)結(jié)果的影響,對(duì)特征融合前后基準(zhǔn)模型和自學(xué)習(xí)錨框模型的檢測(cè)性能進(jìn)行對(duì)比.之后,通過改變特征融合過程中卷積核的尺寸評(píng)價(jià)算法效率和檢測(cè)性能之間的關(guān)系.最后,將本文方法與目前一些先進(jìn)的檢測(cè)模型進(jìn)行綜合對(duì)比,并給出特征融合前后熱度圖的直觀效果.
本實(shí)驗(yàn)使用基準(zhǔn)模型和兩組大小為4和8且長(zhǎng)寬比為{1∶2,1∶1,2∶1}的基礎(chǔ)錨框(Base anchor)對(duì)特征融合前的全局分支網(wǎng)絡(luò)和局部分支網(wǎng)絡(luò)訓(xùn)練,表2給出了全局分支網(wǎng)絡(luò)對(duì)下采樣圖像以及局部分支網(wǎng)絡(luò)對(duì)切塊的檢測(cè)結(jié)果.
表2 特征融合前的檢測(cè)結(jié)果
表2表明錨框尺寸對(duì)檢測(cè)結(jié)果影響較大,采用基礎(chǔ)錨框?yàn)?的基準(zhǔn)模型對(duì)下采樣圖像檢測(cè)時(shí),檢測(cè)精度為29.9,召回率為44.6,采用基礎(chǔ)錨框?yàn)? 時(shí),檢測(cè)精度為14.3,召回率為23.4.由此可見,高分辨率圖像經(jīng)過下采樣后,由較小錨框生成的建議框可以更準(zhǔn)確地命中小目標(biāo).與此相反,局部分支網(wǎng)絡(luò)上的樣本保留了原始尺寸,使用基礎(chǔ)錨框?yàn)? 的檢測(cè)結(jié)果優(yōu)于基礎(chǔ)錨框?yàn)? 的檢測(cè)結(jié)果.
本實(shí)驗(yàn)在基準(zhǔn)模型上使用特征融合算法對(duì)小目標(biāo)檢測(cè),表3給出了特征融合后的檢測(cè)結(jié)果.
從表3 可以發(fā)現(xiàn),在Global-to-Local 特征融合下對(duì)切塊上的小目標(biāo)檢測(cè)時(shí),模型準(zhǔn)確率相比特征融合前有了顯著提升.在4 組全局和局部錨框組合中,在全局分支網(wǎng)絡(luò)上使用基礎(chǔ)錨框?yàn)? 的基準(zhǔn)模型提取的全局特征與局部分支網(wǎng)絡(luò)上使用基礎(chǔ)錨框?yàn)? 的基準(zhǔn)模型提取的細(xì)節(jié)特征融合后,檢測(cè)精度最高.在4→8 錨框組合下檢測(cè)精度有所下降,這說明特征融合前在全局分支網(wǎng)絡(luò)上使用基礎(chǔ)錨框?yàn)? 的基準(zhǔn)模型雖然能夠取得較好的檢測(cè)效果,但是固定錨框?qū)τ?xùn)練樣本尺寸較為敏感且具有一定偏好,導(dǎo)致特征圖上感受野和特征表達(dá)不一致,使得提取的全局特征和局部特征在融合時(shí)不匹配.
表3 全局和局部特征融合的檢測(cè)結(jié)果
本文進(jìn)一步在融合分支上將拼接后的局部細(xì)節(jié)特征圖與全局特征圖融合,在Local-to-Global 特征融合下對(duì)下采樣圖像檢測(cè).實(shí)驗(yàn)結(jié)果表明,在Global-to-Local特征融合基礎(chǔ)上,在融合分支網(wǎng)絡(luò)上采用基礎(chǔ)錨框4對(duì)下采樣圖像檢測(cè)時(shí),檢測(cè)精度從特征融合前的29.9 提升到33.4,召回率從44.6 提升到47.0,說明經(jīng)過Localto-Global特征融合后,特征圖上小目標(biāo)的細(xì)節(jié)信息得到了顯著增強(qiáng).
實(shí)驗(yàn)2 表明特征融合在一定程度上可以提高目標(biāo)檢測(cè)精度,但是在不同網(wǎng)絡(luò)上采用固定錨框?qū)︻A(yù)訓(xùn)練特征融合時(shí)會(huì)出現(xiàn)特征不匹配的問題.為了避免這種情況,本文使用自學(xué)習(xí)錨框?qū)π∧繕?biāo)作進(jìn)一步檢測(cè).
為了體現(xiàn)自學(xué)習(xí)錨框的作用,本實(shí)驗(yàn)首先在特征融合前使用自學(xué)習(xí)錨框?qū)ο虏蓸訄D像和切塊檢測(cè),將檢測(cè)結(jié)果與實(shí)驗(yàn)1 中基準(zhǔn)模型檢測(cè)性能最好的結(jié)果進(jìn)行比較.為了體現(xiàn)自學(xué)習(xí)錨框?qū)μ卣魅诤系挠绊?,將特征融合算法用于自學(xué)習(xí)錨框,將檢測(cè)結(jié)果與實(shí)驗(yàn)2中基準(zhǔn)模型在特征融合下性能最好的結(jié)果進(jìn)行比較,結(jié)果如表4所示.
從表4可以發(fā)現(xiàn),在特征融合之前使用自學(xué)習(xí)錨框?qū)η袎K的檢測(cè)精度為34.5,比基準(zhǔn)模型的檢測(cè)精度高了1.2 個(gè)百分點(diǎn).相比對(duì)切塊檢測(cè)性能的提升,自學(xué)習(xí)錨框?qū)ο虏蓸訄D像的檢測(cè)精度、召回率和準(zhǔn)確率都低于基準(zhǔn)模型,這說明在細(xì)節(jié)信息損失較多的全局特征圖上直接使用自學(xué)習(xí)錨框的效果并不理想.
表4 自學(xué)習(xí)錨框?qū)z測(cè)結(jié)果的影響
經(jīng)過Global-to-Local 特征融合之后,自學(xué)習(xí)錨框?qū)η袎K的檢測(cè)精度為41.9,相比特征融合前檢測(cè)精度提升了7.4 個(gè)百分點(diǎn),而基準(zhǔn)模型相比特征融合前檢測(cè)精度提升了6.7 個(gè)百分點(diǎn).經(jīng)過Local-to-Global 特征融合后,自學(xué)習(xí)錨框?qū)ο虏蓸訄D像的檢測(cè)精度為33.9,相比特征融合前檢測(cè)精度提升了7.1 個(gè)百分點(diǎn),而基準(zhǔn)模型相比特征融合前檢測(cè)精度提升了3.9 個(gè)百分點(diǎn),這說明在使用自學(xué)習(xí)錨框后,特征融合對(duì)檢測(cè)性能的提升更為明顯.通過對(duì)比自學(xué)習(xí)錨框在特征融合前后的檢測(cè)性能,可以發(fā)現(xiàn)自學(xué)習(xí)錨框?qū)μ卣鲌D的質(zhì)量有著更高的要求.在融合了全局語義和局部細(xì)節(jié)的特征圖上,自學(xué)習(xí)錨框?qū)π∧繕?biāo)的檢測(cè)有著更強(qiáng)的適應(yīng)性.
本實(shí)驗(yàn)通過模型的計(jì)算復(fù)雜度評(píng)價(jià)算法效率和檢測(cè)性能之間的關(guān)系.由于本文采用的骨干網(wǎng)和輸出子網(wǎng)與基準(zhǔn)模型相同,自學(xué)習(xí)錨框中的位置預(yù)測(cè)分支、形狀預(yù)測(cè)分支和特征自適應(yīng)模塊帶來的計(jì)算量很小,可以忽略不計(jì),因此全局和局部特征融合的額外計(jì)算開銷主要由圖2 中的conv1,conv2 和conv3 產(chǎn)生,其中conv1對(duì)每層特征圖融合的計(jì)算量如表5所示.
表5 conv1對(duì)4層特征圖進(jìn)行特征融合的計(jì)算量
從表5 可以看到,conv1 在全局和局部特征融合過程中產(chǎn)生的計(jì)算量為10.11GFLOPs.根據(jù)式(2),在輸入、輸出通道數(shù)和特征圖尺寸不變時(shí),卷積操作產(chǎn)生的計(jì)算量與卷積核尺寸有關(guān).在實(shí)驗(yàn)2 和實(shí)驗(yàn)3 中,conv2,conv3 卷積核尺寸為1×1.為了體現(xiàn)算法效率和性能之間的關(guān)系,本實(shí)驗(yàn)使用尺寸為3×3 的卷積核,表6 給出conv2,conv3 在不同尺寸下對(duì)4 層特征圖進(jìn)行卷積的計(jì)算量.
表6 conv2,conv3分別對(duì)4層特征圖進(jìn)行特征平滑的計(jì)算量
從表6 可以看出,使用1×1 卷積核時(shí),特征融合產(chǎn)生的計(jì)算量為13.92GFLOPs,使用3×3 卷積核時(shí),特征融合產(chǎn)生的計(jì)算量為125.3GFLOPs,這說明當(dāng)卷積核尺寸增大后,模型的計(jì)算復(fù)雜度將顯著增加.由于增大卷積核尺寸將改變感受野,進(jìn)而影響特征融合的效果,表7 給出在全局和局部特征融合下基準(zhǔn)模型和自學(xué)習(xí)錨框分別使用不同卷積核的檢測(cè)性能.
表7 全局和局部特征融合卷積核尺寸對(duì)檢測(cè)性能的影響
根據(jù)圖2,基準(zhǔn)模型和自學(xué)習(xí)錨框模型對(duì)下采樣圖像檢測(cè)時(shí),全局特征圖與拼接好的局部細(xì)節(jié)特征圖進(jìn)行一次特征融合,由于可以將下采樣圖像的檢測(cè)結(jié)果直接映射回原圖,因此可以直接得到對(duì)整副圖像檢測(cè)的計(jì)算量.對(duì)切塊檢測(cè)時(shí),原圖被裁切成16 塊,每張局部特征圖都要與其對(duì)應(yīng)的預(yù)訓(xùn)練全局特征融合一次,并且每張切塊檢測(cè)的結(jié)果都要映射回原圖,因此對(duì)整副圖像檢測(cè)的計(jì)算量是每張切塊的16倍.由表7可知,增大卷積核尺寸雖然能夠提升模型對(duì)小目標(biāo)檢測(cè)的精度,但是不可避免地會(huì)增加計(jì)算量.以自學(xué)習(xí)錨框?yàn)槔?,?dāng)增大卷積核尺寸后,對(duì)下采樣圖像的檢測(cè)精度可以提升11.2%,但是計(jì)算量將增加70.16%,因此需要在算法效率和檢測(cè)性能之間進(jìn)行綜合考慮.
為了更客觀地評(píng)價(jià)算法的性能和效率,將本文方法與目前一些先進(jìn)的目標(biāo)檢測(cè)模型進(jìn)行對(duì)比,包括Libra-RCNN[8]、Cascade-RCNN[17]、Dynamic-RCNN[18]、Hybrid task cascade[14](只使用bbox 分支)、SABL[19],以及使用HRNet[13]為特征提取網(wǎng)絡(luò)的基準(zhǔn)檢測(cè)模型,其中本文使用表7 中自學(xué)習(xí)錨框卷積核尺寸為1×1 的檢測(cè)結(jié)果,根據(jù)實(shí)驗(yàn)1對(duì)其他模型在下采樣圖像上使用大小為4 的基礎(chǔ)錨框,在局部切塊上使用大小為8 的基礎(chǔ)錨框檢測(cè),表8統(tǒng)計(jì)了各檢測(cè)模型在測(cè)試數(shù)據(jù)集上的檢測(cè)精度、召回率、準(zhǔn)確率和計(jì)算量.
由表8 可知,在局部切塊上對(duì)小目標(biāo)檢測(cè)時(shí),本文算法具有更高的準(zhǔn)確率和檢測(cè)精度,其中檢測(cè)精度比現(xiàn)有模型中檢測(cè)精度最高的HRNetV2P_W32 基準(zhǔn)檢測(cè)模型高5.6 個(gè)百分點(diǎn).在下采樣圖像上對(duì)小目標(biāo)檢測(cè)時(shí),本文算法具有更高的召回率和檢測(cè)精度,HRNetV2P_W32 基準(zhǔn)檢測(cè)模型的檢測(cè)精度略低于本文算法,計(jì)算量比本文算法多24.61GFLOPs.
表8 本文方法與其他模型目標(biāo)檢測(cè)性能對(duì)比
由表8 可知,本文選取的6 種具有代表性的目標(biāo)檢測(cè)模型分別從特征提取、建議框質(zhì)量和正負(fù)例樣本采樣等方面對(duì)基準(zhǔn)模型進(jìn)行改進(jìn)和優(yōu)化.除了HRNetV2P_W32 基準(zhǔn)檢測(cè)模型外,本文選取的其他模型均采用ResNet50 作為骨干網(wǎng)提取特征.Cascade-RCNN 通過級(jí)聯(lián)方式提升檢測(cè)器的質(zhì)量,在不改變特征金字塔的情況下對(duì)切塊上的目標(biāo)檢測(cè)時(shí)取得了較好的檢測(cè)效果.Dynamic-RCNN 對(duì)切塊的檢測(cè)精度雖然略低于Cascade-RCNN,但是計(jì)算量遠(yuǎn)低于Cascade-RCNN.Libra-RCNN 使不同層次的特征圖在具體細(xì)節(jié)和抽象語義之間達(dá)到一種較為平衡的關(guān)系,但是在對(duì)局部切塊上的目標(biāo)檢測(cè)時(shí),僅在局部范圍內(nèi)對(duì)底層細(xì)節(jié)和高層語義進(jìn)行了特征平衡,導(dǎo)致模型的準(zhǔn)確率偏低.Hybrid task cascade 混合任務(wù)級(jí)聯(lián)檢測(cè)模型通過對(duì)圖像進(jìn)行精細(xì)的像素級(jí)分類,將語義分割信息融合到預(yù)測(cè)框分支中,對(duì)下采樣圖像檢測(cè)時(shí)取得了較高的召回率,而Cascade-RCNN 和SBAL-RCNN 對(duì)下采樣圖像檢測(cè)時(shí)召回率都較低,說明兩者不適用于細(xì)節(jié)特征消失太多的全局特征圖上.相比以上檢測(cè)模型,HRNetV2P_W32通過重復(fù)跨并行卷積執(zhí)行多尺度融合,使網(wǎng)絡(luò)一直都保持高分辨率表征,以此達(dá)到同時(shí)增強(qiáng)語義信息和精準(zhǔn)位置信息的目的,因此對(duì)小目標(biāo)檢測(cè)取得了較好的效果.
由于深度學(xué)習(xí)目標(biāo)檢測(cè)模型根據(jù)特征圖生成對(duì)目標(biāo)感興趣的建議框,并且在建議框上對(duì)目標(biāo)進(jìn)行分類和位置回歸,因此如何在特征圖上區(qū)分出前景和背景,并且在前景區(qū)域上有針對(duì)性地生成建議框,對(duì)提高目標(biāo)檢測(cè)性能有著重要的影響[27,28].為了進(jìn)一步說明特征圖對(duì)高分辨率圖像檢測(cè)的重要性,本文對(duì)特征融合前后的熱度圖進(jìn)行直觀對(duì)比.
為了直觀反映特征圖對(duì)高分辨率圖像中小目標(biāo)檢測(cè)的作用,將全局分支、局部分支和融合分支上的特征圖轉(zhuǎn)換成熱度圖,圖5給出了特征融合前后的熱度圖以及在原圖上生成的建議框.
由圖5(b)可知,全局下采樣后的熱度圖可以大致區(qū)分出前景和后景,大量像素較小的目標(biāo)在熱度圖上顏色較淺,導(dǎo)致對(duì)這些小目標(biāo)無法生成有效的建議框.與此相反,圖5(c)的熱度圖顏色較深,說明從切塊上提取的局部特征圖保留了豐富的細(xì)節(jié)特征,但是每塊局部特征圖的背景區(qū)域都生成了大量建議框,導(dǎo)致很多目標(biāo)被誤驗(yàn).經(jīng)過全局和局部特征融合后,圖5(d)在保留目標(biāo)細(xì)節(jié)特征的同時(shí),前景和背景區(qū)分也更為明顯,因此能夠在特征圖上有針對(duì)性地生成高質(zhì)量的建議框.
圖5 特征融合前后的熱度圖對(duì)比
基于特征融合和自學(xué)習(xí)錨框的檢測(cè)模型使高分辨率圖像中小目標(biāo)檢測(cè)的效果有所提升,但是由于高分辨率圖像中的小目標(biāo)多為稠密聚集性分布,并且個(gè)體之間的邊界較為模糊,因此模型的檢測(cè)效果有待進(jìn)一步提升[29],這一點(diǎn)從圖6 中部分具有代表性的目視預(yù)測(cè)結(jié)果對(duì)比中可以看出.圖6 中從左到右依次為使用全局分支網(wǎng)絡(luò)、局部分支網(wǎng)絡(luò)和融合分支網(wǎng)絡(luò)給出的檢測(cè)結(jié)果,綠色框?yàn)檎_檢測(cè)結(jié)果,藍(lán)色框?yàn)槁z,紅色框?yàn)檎`檢.在圖6(a)背景較為復(fù)雜的地面場(chǎng)景中,部分尺寸較小且灰度與地面場(chǎng)景較為相似的小目標(biāo)在下采樣和卷積過程中,其特征很容易被周圍背景特征掩蓋,因此無法在特征圖上提取該類目標(biāo)的特征.圖6(b)中檢測(cè)目標(biāo)由于其形狀和灰度與周圍目標(biāo)比較相似,因此很容易被誤檢.經(jīng)過特征融合之后,圖6(c)中的漏檢和誤檢情況相比圖6(a)和圖6(b)有了明顯減少,但是仍然存在大量與檢測(cè)目標(biāo)聯(lián)系比較緊密的個(gè)體對(duì)象.為解決這類問題,一方面需要提高訓(xùn)練數(shù)據(jù)集中小目標(biāo)標(biāo)注的質(zhì)量,另一方面也要從算法層面對(duì)這類稠密聚集性的目標(biāo)做更精確的區(qū)分,這也是本研究團(tuán)隊(duì)下一步研究工作的重點(diǎn)[30~32].
圖6 測(cè)試集上小目標(biāo)的檢測(cè)結(jié)果
高分辨率圖像的下采樣和裁切處理造成目標(biāo)細(xì)節(jié)和上下文語義特征缺失,使得一些先進(jìn)的目標(biāo)檢測(cè)算法對(duì)高分率圖像中的目標(biāo)檢測(cè)時(shí)難以取得理想的效果.本文通過多路分支網(wǎng)絡(luò)對(duì)高分辨率圖像提取全局語義和局部細(xì)節(jié)特征,并將兩者有效地融合起來.實(shí)驗(yàn)結(jié)果驗(yàn)證了在融合的特征圖上采用自學(xué)習(xí)錨框能夠有效檢測(cè)高分辨率圖像中的小目標(biāo).在未來工作中,本文將進(jìn)一步探索并優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)以提升特征融合能力,從而提高小目標(biāo)的檢測(cè)精度.