鄧小桐,曹鐵勇,方 正,鄭云飛,2
1.陸軍工程大學(xué) 指揮控制工程學(xué)院,南京210000
2.中國人民解放軍炮兵防空兵學(xué)院南京校區(qū),南京210000
迷彩偽裝是軍事裝備、工事、作戰(zhàn)人員常用的隱藏手段,其通過迷彩紋理[1]降低目標(biāo)與背景的區(qū)分度,破壞目標(biāo)輪廓信息,以達(dá)到欺騙敵方軍事偵察手段的目的。
迷彩目標(biāo)檢測是計(jì)算機(jī)視覺中的難點(diǎn)問題,目前成熟的研究較少。傳統(tǒng)的檢測方法主要將迷彩偽裝看成特殊的紋理結(jié)構(gòu),設(shè)計(jì)特定的算法提取迷彩紋理,從而檢測目標(biāo)。Tankus等人[2]對旋轉(zhuǎn)多個角度得到的凸算子響應(yīng)進(jìn)行融合,以獲得迷彩目標(biāo)檢測結(jié)果。武國晶等人[3]提出利用目標(biāo)具有的三維凸面的灰度差異來檢測目標(biāo)。Bhajantri等人[4]提出用強(qiáng)化的紋理分析方法檢測迷彩目標(biāo)。Sengottuvelan等人[5]利用圖位置關(guān)系和特征構(gòu)建圖像塊的樹狀圖,聚類后選擇最大的圖像塊作為包含迷彩目標(biāo)的區(qū)域。以上的傳統(tǒng)方法只利用了圖像的淺層特征信息,檢測效果不太理想。
近年來的研究成果大多將該問題視做基于深度學(xué)習(xí)的迷彩目標(biāo)分割任務(wù)?;诖耍墨I(xiàn)[6]構(gòu)建了密集反卷積網(wǎng)絡(luò)提取目標(biāo)的語義信息,與傳統(tǒng)的方法相比檢測效果得到了較大的提升;文獻(xiàn)[7]構(gòu)建了基于強(qiáng)語義膨脹網(wǎng)絡(luò)的卷積神經(jīng)檢測架構(gòu),利用網(wǎng)絡(luò)深層輸出的特征圖強(qiáng)化淺層特征圖的語義信息,相比文獻(xiàn)[6]的檢測效果有進(jìn)一步提升。但許多實(shí)際應(yīng)用只需要得到迷彩目標(biāo)的區(qū)域級定位,因此本文將迷彩目標(biāo)檢測問題看做一類較特殊的基于矩形框的目標(biāo)檢測問題來進(jìn)行研究。
根據(jù)預(yù)測流程,可將目前基于深度學(xué)習(xí)的目標(biāo)檢測算法分為兩大類:一類是以Faster R-CNN[8]為代表的基于候選區(qū)域的目標(biāo)檢測算法,如SPP-Net[9]、Fast R-CNN[10]等。這類算法首先通過區(qū)域建議算法生成可能包含目標(biāo)的候選區(qū)域,然后通過卷積神經(jīng)網(wǎng)絡(luò)對候選區(qū)域進(jìn)行分類和位置回歸得到最終的檢測框。另一類是以YOLOv3[11]為代表的基于回歸的目標(biāo)檢測算法,如SSD[12]、RetinaNet[13]等。這類算法基于回歸直接從圖片中回歸出窗口的類別和位置偏移量,得到目標(biāo)的檢測框。
本文以回歸模型RetinaNet為基礎(chǔ),針對迷彩目標(biāo)檢測特點(diǎn),對原模型特征提取網(wǎng)絡(luò)和后處理方式進(jìn)行了改進(jìn),構(gòu)建了一種基于回歸的迷彩偽裝人員檢測算法。其中在骨干網(wǎng)絡(luò)Resnet50[14]的各個殘差塊之間嵌入視覺注意力機(jī)制模塊,在通道和空間兩個維度對特征進(jìn)行加權(quán);在篩選候選目標(biāo)框時,用定位的置信分?jǐn)?shù)作為非極大值抑制算法[15](Non-Maximum Suppression,NMS)中的排序標(biāo)準(zhǔn),有效提高了算法取舍預(yù)測框的準(zhǔn)確度。本文的工作是基于文獻(xiàn)[7]中的迷彩偽裝人員數(shù)據(jù)集進(jìn)行的。為了增加數(shù)據(jù)和迷彩圖案樣式的多樣性,還對其進(jìn)行了擴(kuò)展。
本文沿用了文獻(xiàn)[7]中用到的數(shù)據(jù)集,以完全包括目標(biāo)且最小化背景區(qū)域?yàn)槟繕?biāo),對原數(shù)據(jù)集中的分割標(biāo)注結(jié)果用最小外接矩形框進(jìn)行了重新標(biāo)注,即根據(jù)圖片中目標(biāo)上下左右的坐標(biāo)最值,將目標(biāo)范圍連接成平行于圖片邊緣的矩形框,以用于本文的研究。
原數(shù)據(jù)集中一共包含26種迷彩樣式的2 600張圖片。本文通過新搜集到的迷彩測試視頻,新增加7種迷彩樣式,共計(jì)33種迷彩樣式(https://github.com/Dttong/camouflage-dataset),如表1所示。每種迷彩對應(yīng)視頻截取100張,共計(jì)700張圖像。在截取圖像時,為最大可能地反應(yīng)真實(shí)需求,遵循了如下規(guī)則:
表1 迷彩樣式名稱
(1)選取的圖像包含大、中、小的各種尺度目標(biāo);
(2)圖像目標(biāo)包含站立、臥倒、跪下、背身、側(cè)身、正面等多種姿態(tài);
(3)圖像背景包括不同氣候、不同地理環(huán)境、不同光照、以及遮擋情況等。
最終,本文將數(shù)據(jù)集擴(kuò)展到3 300張圖像,每張圖像大小為500×282,對圖像進(jìn)行矩形框標(biāo)注。部分?jǐn)U充的圖像及標(biāo)注結(jié)果如圖1所示,標(biāo)注圖中用黃色框標(biāo)注目標(biāo),下方是對應(yīng)迷彩名稱。
圖1 數(shù)據(jù)集標(biāo)注示例
迷彩偽裝是通過各種迷彩圖案掩護(hù)目標(biāo),以降低其顯著性的一種手段。經(jīng)過迷彩偽裝的目標(biāo)大都與背景對比度低、遮擋情況嚴(yán)重并且輪廓特征被破壞,因此檢測難度遠(yuǎn)大于常規(guī)目標(biāo)。
基于迷彩的以上特性,本文在設(shè)計(jì)模型時關(guān)注如何有效提取圖片中的迷彩特征。本文將注意力機(jī)制引入RetinaNet模型,把通道注意力和空間注意力串聯(lián)嵌入特征提取網(wǎng)絡(luò)Resnet50(https://github.com/Dttong/camouflagedataset)的每兩個殘差塊之間,模仿人類視覺注意力轉(zhuǎn)移機(jī)制,以期更好地抑制背景區(qū)域,提升模型對偽裝目標(biāo)的特征表示能力;模型通過特征金字塔網(wǎng)絡(luò)[16]中的上采樣和按元素相加操作將圖像深層語義信息融合到各特征層中,得到具有各種尺度的特征集合,最后,使用全卷積神經(jīng)網(wǎng)絡(luò)[17]并行分類和位置回歸,實(shí)現(xiàn)對目標(biāo)的預(yù)測。此外,模型還通過Focalloss損失函數(shù)來解決訓(xùn)練中正負(fù)樣本失衡的問題。本文網(wǎng)絡(luò)結(jié)構(gòu)和主要網(wǎng)絡(luò)參數(shù)如圖2所示。
即使經(jīng)過偽裝,人眼仍能發(fā)現(xiàn)大部分迷彩偽裝目標(biāo),而注意力機(jī)制可以模仿人類觀察事物的注意力轉(zhuǎn)移過程,有重點(diǎn)地關(guān)注特定區(qū)域。同時,大量論文[18-22]證明了在網(wǎng)絡(luò)結(jié)構(gòu)中引入注意力機(jī)制可以提升網(wǎng)絡(luò)模型的特征表達(dá)能力。因此,本文將CBAM(Convolutional Block Attention Module)[23]模塊嵌入殘差網(wǎng)絡(luò)的每個殘差塊結(jié)構(gòu)之間(如圖2所示),以此將注意機(jī)制引入網(wǎng)絡(luò)的通道和空間兩個維度,模仿人類視覺,提高對迷彩偽裝目標(biāo)的特征表達(dá)能力。CBAM模塊與殘差結(jié)構(gòu)的具體嵌入關(guān)系如圖3所示。
圖2 模型結(jié)構(gòu)圖
圖3 CBAM結(jié)構(gòu)圖
2.1.1 通道注意力模塊
對輸入特征圖在空間維度上進(jìn)行壓縮,分別使用平均池化和最大池化兩種運(yùn)算,最終得到兩個一維矢量;再經(jīng)由多層感知機(jī)運(yùn)算后按像素點(diǎn)相加得到輸出Mc;最后與輸入特征圖進(jìn)行像素級的點(diǎn)乘得到F′,作為其后空間注意力模塊的輸入。
通道注意力模塊能夠反映輸入特征圖中響應(yīng)最大、反饋?zhàn)顝?qiáng)的部分,突出該特征圖中可能存在目標(biāo)的區(qū)域。
2.1.2 空間注意力模塊
空間注意力模塊以通道模塊最后輸出F′作為輸入,同樣使用平均池化和最大池化,在通道維度壓縮特征圖,各生成一張二維的特征圖。然后按照通道維度將兩張?zhí)卣鲌D拼接,經(jīng)卷積操作輸出通道數(shù)為1的特征圖Ms,再通過卷積運(yùn)算使Ms與輸入有相同空間分辨率。最后同樣與輸入F′進(jìn)行像素級點(diǎn)乘,得到輸出F″。
空間注意力模塊對通道進(jìn)行壓縮,可以反映特征圖上響應(yīng)較高的像素點(diǎn)集合,引導(dǎo)神經(jīng)網(wǎng)絡(luò)更有針對性地提取特征。
圖4 用熱力圖展示了通道注意力和空間注意力模塊在網(wǎng)絡(luò)c2層提取的特征圖,熱力圖中顏色越紅表明該區(qū)域?qū)︻A(yù)測結(jié)果的貢獻(xiàn)越大。圖中(b)、(c)、(d)分別是c2層最后一個殘差塊中通道注意力和空間注意力模塊處理前后的特征圖,對應(yīng)于圖3中的F、F′和F″;(e)是c2層的最終特征圖。可以看出,(c)突出了右側(cè)區(qū)域,即反映了(b)中響應(yīng)最強(qiáng)即最深色的部分,同時抑制了響應(yīng)較弱即較淺的區(qū)域,一定程度上強(qiáng)調(diào)了可能存在目標(biāo)的區(qū)域;而(d)強(qiáng)調(diào)了(b)中所有響應(yīng)較大的像素點(diǎn),即特征圖中偏紅色的區(qū)域,反映了相應(yīng)較高的像素點(diǎn)集合。
圖4 注意力機(jī)制
特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)是對卷積神經(jīng)網(wǎng)絡(luò)特征提取的一種增強(qiáng),它使得高層的語義特征與底層細(xì)節(jié)特征在各種尺度的目標(biāo)上相結(jié)合,本質(zhì)上是對卷積神經(jīng)網(wǎng)絡(luò)特征表達(dá)能力的增強(qiáng),能更有效運(yùn)用在后續(xù)檢測以及分割任務(wù)上。
圖5 為模型利用特征金字塔網(wǎng)絡(luò)的特征熱力圖對比,以c3和p3為例,經(jīng)融合了語義信息后的p3,對圖片的特征表達(dá)更為準(zhǔn)確。
圖5 特征層融合對比
本文使用兩個全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)來預(yù)測目標(biāo)類別和位置信息。FCN網(wǎng)絡(luò)由卷積層構(gòu)成,不含全連接層,在預(yù)測時利用上采樣和反卷積將卷積運(yùn)算得到的特征圖放大到輸入圖大小,實(shí)現(xiàn)對原圖的逐像素分類預(yù)測,比傳統(tǒng)方法的全圖預(yù)測更高效;同時,網(wǎng)絡(luò)不限制輸入圖像的尺寸大小,因此可以將特征金字塔網(wǎng)絡(luò)輸出的不同尺度特征圖作為輸入來進(jìn)行預(yù)測。由于本文是檢測任務(wù),不需要對目標(biāo)進(jìn)行像素級分割,因此沒有采用上采樣和反卷積操作,而是利用FCN網(wǎng)絡(luò)不限制輸入尺度的特性直接將所有尺度特征集輸入預(yù)測目標(biāo)的位置坐標(biāo)和類別。
目標(biāo)檢測模型普遍存在正負(fù)樣本比例失衡的問題,導(dǎo)致在計(jì)算訓(xùn)練損失時,負(fù)樣本所占比例過大,大量負(fù)樣本的小損失相加,主導(dǎo)了損失函數(shù)的走向,而正樣本提供的關(guān)鍵信息無法發(fā)揮正常作用。
Focal loss是一種改進(jìn)的交叉熵?fù)p失,通過在原有的損失函數(shù)上乘上一個因子,削弱容易檢測的目標(biāo)對訓(xùn)練模型的貢獻(xiàn),從而解決上述類別不平衡的問題。
則典型的交叉熵?fù)p失函數(shù)如式(2)所示:
Focal loss提出,在典型交叉熵?fù)p失上乘上一個調(diào)節(jié)因子,其公式如式(3)所示:其中參數(shù)α能夠讓損失函數(shù)對不同類別更加平衡。實(shí)驗(yàn)證明,較容易檢測的目標(biāo)對整體的損失貢獻(xiàn)較小,而不易區(qū)分的樣本對損失貢獻(xiàn)相對較大,這樣的損失函數(shù)會引導(dǎo)模型努力去辨別不易區(qū)分的目標(biāo),從而有效提升網(wǎng)絡(luò)的整體檢測精度。
在標(biāo)準(zhǔn)RetinaNet的NMS算法中,通過分類置信度過濾初始預(yù)測框得到可信的候選目標(biāo)位置。但在偽裝條件下,目標(biāo)大都隱藏在環(huán)境中,與樹木、草叢等相互遮擋,輪廓信息被破壞,且與背景的對比度極低,分類置信度整體上誤差較大,難以以此抑制誤差大的矩形框。
為解決分類置信度在偽裝條件下誤差大,對預(yù)測矩形框抑制效果較差的問題,本文在處理矩形框時引入定位置信信息交并比(Intersection-over-Union,IOU)[24],代替分類置信度對矩形框進(jìn)行排序并過濾,抑制交并比達(dá)到閾值、相似度高的框,并比較兩者置信分?jǐn)?shù),將更高的分?jǐn)?shù)更新給定位置信度最高的框,循環(huán)直到處理完所有的矩形框,具體排序過濾過程如算法1所示。最終,具有最高定位置信度的框同時也有了最高的分類置信度。通過這種方式,降低目標(biāo)與背景對比度低對訓(xùn)練造成的負(fù)面影響,得到更準(zhǔn)確的預(yù)測。
算法1使用定位置信度來排序所有預(yù)測框,并使用規(guī)則更新其分類置信得分。
輸出:D,包含分類置信得分的預(yù)測框集合。
實(shí)驗(yàn)時,按照5∶2∶3的比例,將偽裝人員數(shù)據(jù)集分為訓(xùn)練集、驗(yàn)證集和測試集,類別包括人和背景兩類。模型基于pytorch架構(gòu),在128 GB內(nèi)存,12 GB顯存NVIDIA GeForce GTXTitan X GPU的工作站上進(jìn)行訓(xùn)練。本文將模型與目標(biāo)檢測8個經(jīng)典模型進(jìn)行了對比。并且設(shè)計(jì)了模塊實(shí)驗(yàn),驗(yàn)證IOU-Guided NMS和注意力機(jī)制的有效性。
本文使用平均精度均值(mean Average Precision,mAP)作為模型的綜合性能評價(jià)指標(biāo),反映了模型中各個類別檢測精度的平均情況。其計(jì)算公式如式(4)所示:
其中Q是數(shù)據(jù)集中包含的類別數(shù),AP是指某一類的平均精度,由精度p和召回率r共同決定,其計(jì)算如公式(5)所示:
其中:
即給定11個召回率值r,找出大于r的所有r?中,對應(yīng)的最大精度值p,然后計(jì)算這些p值的平均值,即為AP。
目標(biāo)檢測的預(yù)測結(jié)果分為四種情況,如表2所示。其中誤檢率是指誤檢樣本數(shù)量FP在所有負(fù)樣本數(shù)量FP+TN中所占的比率;漏檢率是指漏檢樣本數(shù)量FN在所有正樣本FN+TP中所占的比率,兩者計(jì)算公式分別為式(7)和式(8),其中count(?)是計(jì)數(shù)函數(shù)。通常在目標(biāo)檢測中,會根據(jù)任務(wù)需求來平衡誤檢率和漏檢率。
表2 預(yù)測情況分類說明
此外,為了評價(jià)模型的目標(biāo)定位準(zhǔn)確性,引用IOU指標(biāo),如公式(9)所示,其中Boxp和Boxt分別表示最終預(yù)測框和真值框,area(?)表示區(qū)域面積函數(shù)。若IOU值越大,則說明預(yù)測框與真值框重合度越高,定位更準(zhǔn)確。
實(shí)驗(yàn)對比了8種經(jīng)典的深度目標(biāo)檢測算法在迷彩偽裝人員數(shù)據(jù)集上的檢測效果,包括M2Det[25]、SSD、Yolov3等表現(xiàn)較好的基于回歸的模型和R-FCN[26]、Cascade R-CNN[27]、Faster R-CNN等基于候選區(qū)域的檢測模型。
由實(shí)驗(yàn)結(jié)果圖6、表3可看出,用基于深度學(xué)習(xí)的目標(biāo)檢測算法檢測偽裝人員是可行的,其中Ours指本文模型。本文使用對偽裝人員的檢測效果介于模型RefineDet[28]和M2Det之間的RetinaNet作為基礎(chǔ)架構(gòu),改進(jìn)后的模型效果比RefineDet提高9.3個百分點(diǎn),比M2Det提高了4.6個百分點(diǎn)。這表明本文提出的改進(jìn)能有效提升深度學(xué)習(xí)目標(biāo)檢測模型對偽裝人員的檢測性能。
圖6 不同模型mAP曲線
表3 不同模型結(jié)果對比
圖7 展示了本文模型與基礎(chǔ)模型RetinaNet的檢測結(jié)果對比。其中的綠色框表示真值框,紅色框是預(yù)測框,左上角黃色部分是預(yù)測類別及類別置信分?jǐn)?shù)??梢钥闯?,在圖7(a)、(c)、(e)中,本文模型對目標(biāo)的預(yù)測更準(zhǔn)確,與真值框更接近。表4更加直觀地說明了本文模型在目標(biāo)定位上的優(yōu)越性。
圖7 檢測示例對比
表4 IOU值對比
圖7 (b)和(d)展示出了模型能夠解決基礎(chǔ)RetinaNet因?yàn)槟繕?biāo)與背景對比度低而產(chǎn)生的誤檢或漏檢問題。據(jù)統(tǒng)計(jì),模型的漏檢率相較于15%下降到10%,而誤檢率從13%上升到17%。這表明了針對迷彩偽裝人員通常小而隱蔽的特點(diǎn),本文模型能夠有效提升對目標(biāo)的發(fā)現(xiàn)率和定位準(zhǔn)確度。
圖8 列出了不同模型的檢測結(jié)果對比,左上角黃色部分是預(yù)測框中距真值框最近的框的預(yù)測類別和置信得分。5組圖片與圖7中示例圖片相同,第五張圖的目標(biāo)較大,各種模型均能成功檢測,但本文模型在定位準(zhǔn)確度上效果更好,與真值框最為接近;其余圖片中目標(biāo)尺度較小,且與背景對比度較低,是常見的偽裝人員圖片類型,大部分模型如SSD、R-FCN等對此檢測效果不佳,而本文模型在檢測精度和定位準(zhǔn)確度上較其他方法均有較大優(yōu)勢。
為了驗(yàn)證注意力機(jī)制和預(yù)測框過濾算法的有效性,本文設(shè)計(jì)了4個對比實(shí)驗(yàn),其結(jié)果如表5所示,常規(guī)NMS即傳統(tǒng)的以分類置信度作為排序依據(jù)的算法。從表5可以看出,單獨(dú)使用IOU-Guided NMS函數(shù)和注意力機(jī)制,檢測平均精度分別提升了8.2個百分點(diǎn)和1.1個百分點(diǎn)。
圖8 不同模型檢測結(jié)果圖對比
表5 模塊驗(yàn)證精度對比
如圖9所示,c2~c5是Resnet50的不同尺度特征層,圖片包含綠林地場景下的較小目標(biāo),該圖片目標(biāo)與背景區(qū)分度很小。在加入注意力機(jī)制CBAM后的熱力圖中,目標(biāo)區(qū)域更加聚焦,顏色更深,即響應(yīng)更大,這表明了更強(qiáng)的特征表示,由此能夠證明注意力模塊對迷彩偽裝目標(biāo)特征的高效提取確實(shí)有效。
圖9 熱力圖對比
此外,根據(jù)熱力值聚焦的區(qū)域,可看出在特征提取時,目標(biāo)的身體結(jié)構(gòu)特征更突出。在較淺層時,提取的細(xì)節(jié)特征主要是身體部位,隨著特征逐步融合,軀干特征更加明顯。
圖10 模塊驗(yàn)證mAP曲線
圖10 是4個對比實(shí)驗(yàn)的檢測mAP曲線,觀察可知,嵌入注意力機(jī)制后,網(wǎng)絡(luò)訓(xùn)練速度更快,大約2 000次迭代后模型精度開始趨于飽和,損失下降逐漸收斂,而基礎(chǔ)模型大約在5 000次左右趨于收斂。這表明注意力機(jī)制雖然對檢測精度的幅度增長貢獻(xiàn)較小,但其可以有效加快模型的訓(xùn)練進(jìn)程,這是因?yàn)樽⒁饬C(jī)制可以很快聚焦圖像目標(biāo),減少訓(xùn)練過程。
觀察增加NMS算法的mAP曲線,可看出更新NMS算法在精度值上有大幅提升,這也是本文模型檢測精度提升的主要因素。此外,更新的NMS算法還能加快模型收斂,這是因?yàn)镮OU-Guided NMS注重位置的準(zhǔn)確性,在回歸階段加快了迭代進(jìn)程。
觀察圖中紅色曲線,可以發(fā)現(xiàn)在IOU-Guided NMS算法后疊加使用注意力機(jī)制,模型精度增加了0.5個百分點(diǎn),但模型的收斂速度下降到與基礎(chǔ)RetinaNet相似,在以后的工作中將對注意力模塊結(jié)構(gòu)進(jìn)行優(yōu)化,進(jìn)一步提升模型訓(xùn)練效率。
圖11 比較了本文模型與基礎(chǔ)模型的訓(xùn)練損失曲線。訓(xùn)練時兩個模型使用相同的參數(shù),其中輸入圖像大小調(diào)整為300×300,最大迭代次數(shù)為10 000,批處理大小為8,學(xué)習(xí)率為0.000 5,IOU閾值為0.5,F(xiàn)ocal loss中α值為0.25。如圖11所示,本文模型比基礎(chǔ)模型RetinaNet有更好的收斂性。
圖11 Loss曲線對比
本文研究了基于矩形框的迷彩偽裝目標(biāo)檢測問題,在RetinaNet檢測框架基礎(chǔ)上,將注意力機(jī)制嵌入基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)并設(shè)計(jì)了基于定位置信信息的檢測框過濾算法。與經(jīng)典目標(biāo)檢測模型的對比實(shí)驗(yàn)驗(yàn)證了本文構(gòu)建模型的有效性,改進(jìn)模塊實(shí)驗(yàn)說明了注意力模塊的嵌入與過濾算法的改進(jìn)在基礎(chǔ)模型上明顯提升了性能和收斂性。在后續(xù)的研究,將進(jìn)一步優(yōu)化模型結(jié)構(gòu)并進(jìn)行輕量化改造,重點(diǎn)提升模型的運(yùn)行速度。