国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入scSE模塊的改進(jìn)YOLOv4小目標(biāo)檢測算法

2021-09-19 13:55蔣镕圻彭月平謝文宣謝郭蓉
圖學(xué)學(xué)報(bào) 2021年4期
關(guān)鍵詞:骨干網(wǎng)集上注意力

蔣镕圻,彭月平,謝文宣,謝郭蓉

(1.武警工程大學(xué)信息工程學(xué)院,陜西 西安 710086;2.武警工程大學(xué)研究生大隊(duì),陜西 西安 710086)

目標(biāo)檢測作為計(jì)算機(jī)視覺領(lǐng)域中的重要分支,在智能監(jiān)控、航空航天、工業(yè)檢查等諸多領(lǐng)域發(fā)揮著十分重要的作用,近年來一直備受關(guān)注并被眾多學(xué)者研究。小目標(biāo)的檢測是目標(biāo)檢測領(lǐng)域的一個(gè)重點(diǎn)問題,由于小目標(biāo)在視頻或圖像中所占像素小,相關(guān)特征不明顯,同時(shí)目前的目標(biāo)檢測算法大多是基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN),在經(jīng)過多次卷積和池化操作后,大量的小目標(biāo)特征信息被丟棄而導(dǎo)致檢測結(jié)果存在較多的錯(cuò)檢和漏檢,所以其一直以來都是目標(biāo)檢測任務(wù)中一項(xiàng)難點(diǎn)[1-2]。而在實(shí)際場景中,大多數(shù)目標(biāo)以小目標(biāo)形式出現(xiàn),因此研究小目標(biāo)的檢測是目標(biāo)檢測任務(wù)中一項(xiàng)十分重要且具有挑戰(zhàn)性的工作。

傳統(tǒng)的人工提取目標(biāo)特征的算法對(duì)于小目標(biāo)檢測存在較大的局限性[3],目前小目標(biāo)檢測的算法都是基于CNN[4-6],主要包括以YOLO[7]系列、SSD[8]系列等為代表的單階段檢測算法,以Fast R-CNN[9]系列、Mask R-CNN[10]等為代表的二階段檢測算法,以及以Cascade R-CNN[11]為代表的多階段檢測算法。當(dāng)下目標(biāo)檢測任務(wù)主要針對(duì)應(yīng)用場景的不同而選擇合適的檢測算法:單階段算法檢測速度最快,但準(zhǔn)確率較低;二階段和多階段檢測算法能夠獲取較高檢測精度,卻犧牲了檢測速度。

由于目標(biāo)檢測問題很大一部分是基于視頻,對(duì)檢測的實(shí)時(shí)性要求較高,所以本文以目前最優(yōu)的單階段目標(biāo)檢測算法YOLOv4[12]為基礎(chǔ),選擇小目標(biāo)數(shù)據(jù)集VEDAI[13]中的目標(biāo)為檢測對(duì)象,結(jié)合scSE注意力機(jī)制[14]和空間金字塔池化[15](spatial pyramid pooling,SPP)對(duì)YOLOv4 網(wǎng)絡(luò)進(jìn)行改善。首先使用K-means++聚類算法對(duì)錨定框進(jìn)行優(yōu)化,并以優(yōu)化后的YOLOv4 算法為baseline。分別研究和分析:①scSE 注意力模塊嵌入至模型的骨干網(wǎng)、頸部以及檢測頭前,這3 個(gè)位置對(duì)算法性能帶來的影響;②在網(wǎng)絡(luò)頸部第1 和第2 次上采樣后增加SPP模塊對(duì)算法性能的影響。實(shí)驗(yàn)結(jié)果表明,在骨干網(wǎng)的“Add”和“concat”特征融合操作后嵌入scSE 注意力模塊能有效提升算法對(duì)小目標(biāo)的檢測精度,mAP@0.5 值較YOLOv4 提升了2.4%,而將其嵌入至算法模型更深的頸部和檢測頭前并不能帶來算法性能的提升,相反可能降低檢測性能。在網(wǎng)絡(luò)頸部增加SPP模型能有效增強(qiáng)網(wǎng)絡(luò)頸部特征圖信息表達(dá)能力,使算法對(duì)小目標(biāo)的檢測更加友好。最后根據(jù)上述實(shí)驗(yàn)結(jié)果,提出scSE-IYOLOv4 檢測算法,算法綜合了在YOLOv4 骨干網(wǎng)嵌入scSE模塊、在頸部增加 SPP模塊的改進(jìn)方式。實(shí)驗(yàn)證明scSE-IYOLOv4 能顯著提升小目標(biāo)的檢測精度,在VEDAI 測試集上mAP@0.5 值較YOLOv4 提升了4.1%,在PASCAL VOC 數(shù)據(jù)集上mAP@0.5 提升了2.2%。

1 背景知識(shí)

1.1 YOLOv4 算法介紹

1.1.1 算法模型結(jié)構(gòu)配置

YOLOv4[12]是一種實(shí)時(shí)性較強(qiáng)的單階段目標(biāo)檢測算法,該算法由用于特征提取的骨干網(wǎng)Backbone、特征融合的頸部Neck 和進(jìn)行分類和回歸操作的檢測頭 Head 3 部分組成。與經(jīng)典的YOLOv3目標(biāo)檢測算法相比,YOLOv4 算法在YOLOv3 的“Darknet53+FPN+YOLO-Head”算法結(jié)構(gòu)的基礎(chǔ)上,融合了近年來深度神經(jīng)網(wǎng)絡(luò)中優(yōu)秀的算法模型思想和訓(xùn)練技巧。模型骨干網(wǎng)在Darknet基礎(chǔ)上,融合 CSPNet[16]算法的思想,形成CSPDarknet,達(dá)到了在降低網(wǎng)絡(luò)計(jì)算量的同時(shí)保證網(wǎng)絡(luò)準(zhǔn)確率的效果;頸部由YOLOv3 采用的特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)改為加入空間金字塔池化層[15](spatial pyramid pooling,SPP)的路徑聚合網(wǎng)絡(luò)[17](path aggregation network,PANet),其將骨干網(wǎng)輸出的深層特征向淺層傳遞,改善了FPN 網(wǎng)絡(luò)由淺層特征向深層傳遞導(dǎo)致的淺層特征丟失的問題;檢測頭部延續(xù)了YOLOv3 中的YOLO-Head,見表1,最終形成“CSPDarknet+PAN-SPP+YOLO-Head”的模型結(jié)構(gòu)。

表1 YOLOv3 與YOLOv4 網(wǎng)絡(luò)對(duì)比 Table 1 Comparison of YOLOv3 and YOLOv4 network

1.1.2 算法檢測流程

如圖1(a)所示,YOLOv4 在輸入端將輸入圖像尺寸調(diào)整為608×608 輸入至網(wǎng)絡(luò)進(jìn)行訓(xùn)練和檢測;利用CBM 卷積層和殘差模塊Resunit 堆疊而成的CSP模塊組成的骨干網(wǎng),在加深網(wǎng)絡(luò)層數(shù)以得到更豐富的語義信息特征圖的基礎(chǔ)上有效地防止了梯度消失或爆炸的問題,并在骨干網(wǎng)中通過5 次步長為2、kernel 大小為3 的卷積層進(jìn)行下采樣實(shí)現(xiàn)特征圖的降維;在網(wǎng)絡(luò)頸部分別進(jìn)行2 次上采樣并以PAN+SPP模型結(jié)構(gòu)實(shí)現(xiàn)淺層特征與高層語義特征的融合以及多尺度感受野的融合,更加充分地利用了淺層網(wǎng)絡(luò)的細(xì)節(jié)特征,改善了小目標(biāo)特征丟失的問題;檢測頭利用回歸+分類的思想,將輸入圖像分別劃分為76×76、38×38、19×19 的3 種不同尺寸大小的柵格圖,分別實(shí)現(xiàn)了對(duì)小型、中型和大型目標(biāo)的檢測,相比于2 階段檢測算法,YOLOv4 在有效提升檢測精度的同時(shí),節(jié)省了大量的計(jì)算資源和訓(xùn)練時(shí)間成本,提升了檢測速度。

圖1(b)~(c)中CBM 和CBL模塊是融合了批量歸一化(batch normalization,BN)并使用Mish 和Leaky relu 激活函數(shù)的卷積層;圖1(d)為殘差模塊Resunit 的結(jié)構(gòu),其中“Add”操作是將相同尺寸大小的特征圖進(jìn)行相加;圖1(e)為SPP模塊結(jié)構(gòu),其中“concat”操作是將相同大小的特征圖進(jìn)行通道拼接;圖1(f)為CSP模塊結(jié)構(gòu),結(jié)合CSPNet 的思想由多個(gè)殘差塊堆疊組成。

圖1 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)((a) YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)圖;(b) CBM模塊結(jié)構(gòu);(c) CBL模塊結(jié)構(gòu);(d) Resunit模塊結(jié)構(gòu);(e) SPP模塊結(jié)構(gòu);(f) CSP模塊結(jié)構(gòu)) Fig.1 YOLOv4 network structure ((a) YOLOv4 network structure diagram;(b) CBM module structure;(c) CBL module structure;(d) Resunit module structure;(e) SPP module structure;(f) CSP module structure)

1.2 scSE 注意力機(jī)制

受SENet[18]中提出的SE模塊啟發(fā),文獻(xiàn)[14]設(shè)計(jì)了3 種基于SE模塊的變體,即:空間壓縮通道激勵(lì)模塊sSE、通道壓縮空間激勵(lì)模塊cSE,以及將cSE 和sSE模塊并行組合形成的scSE模塊。上述3 種注意力模塊已在語義分割任務(wù)中進(jìn)行了測試,實(shí)驗(yàn)證明scSE模塊在語義分割任務(wù)中能發(fā)揮出優(yōu)于通道注意力和空間注意力的效能。

(1) cSE模塊的核心思想是將特征圖的全局空間特征壓縮為各通道的描述符,根據(jù)各個(gè)通道之間的依賴不同對(duì)特征圖進(jìn)行調(diào)整,提高網(wǎng)絡(luò)對(duì)于重要通道特征的表征能力。具體是將輸入的特征圖U=[u1,u2,…,uc](其中通道ui∈RH×W,H和W分別為特征圖的高和寬)通過全局池化層[19]將特征圖全局空間特征嵌入到向量z(其中z∈R1×1×C,C為通道數(shù)),其第k個(gè)通道處的值為

其中,i,j分別為輸入特征圖中第k個(gè)通道特征圖上每個(gè)參數(shù)所處的高、寬空間位置(i∈H,j∈W),即每個(gè)參數(shù)的坐標(biāo)。

再將得到的向量z通過權(quán)重分別為W1和W2的全連接層,并依次經(jīng)過ReLU 激活函數(shù)(δ(…))和Sigmoid 歸一化處理(σ(…))得到第i個(gè)通道ui的特征重要性程度,其中的值為

(2) sSE模塊通過壓縮特征圖的通道特征,激勵(lì)重要空間特征來提高網(wǎng)絡(luò)對(duì)重要空間特征的學(xué)習(xí)。假設(shè)輸入特征圖U=[u1,1,u2,2,…,ui,j,uH,W](ui,j∈R1×1×C表示位置在特征圖(i,j)處的所有通道特征信息),通過通道數(shù)為C權(quán)重為Wsq的一個(gè)1×1 的卷積塊對(duì)輸入特征圖進(jìn)行通道壓縮,輸出通道數(shù)為1,尺寸為H×W的特征圖為

將得到的特征圖q經(jīng)Sigmod 歸一化(σ(…)),得到特征圖中每個(gè)空間位置(i,j)的空間信息重要性程度σ(qi,j),以增強(qiáng)對(duì)重要空間位置特征。

(3) scSE模塊是cSE 和sSE模塊的并行組合。通過對(duì)輸入特征圖U分別做通道和空間上重要性程度的提取,并進(jìn)行相加處理后,將得到的具有高重要性(即同時(shí)具有重要通道和重要空間特征)的特征子圖進(jìn)行更強(qiáng)的激勵(lì),促使網(wǎng)絡(luò)學(xué)習(xí)更有意義的特征信息。

2 改進(jìn)的YOLOv4 算法

2.1 K-means++進(jìn)行目標(biāo)框優(yōu)化

YOLOv4 網(wǎng)絡(luò)預(yù)設(shè)了9 個(gè)共3 類目標(biāo)框(Anchor box=12,16;19,36;40,28;36,75;76,55;72,146;142,110;192,243;459,401),分別用于76×76,38×38和19×19 的3 個(gè)不同尺度的YOLO 檢測頭預(yù)測出目標(biāo)的Bounding box。這些Anchor box 是在常規(guī)大小目標(biāo)數(shù)據(jù)集PASCAL VOC 上通過邊框聚類得到的Anchor box,涵蓋了大到汽車、自行車,小到鳥類等多尺度的目標(biāo),從原預(yù)設(shè)的Anchor box 的尺寸可以看出其檢測的目標(biāo)大小差距較大對(duì)于普通場景下的目標(biāo)檢測任務(wù)具有較好的適用性,但針對(duì)目標(biāo)大小較為極端的數(shù)據(jù)集,使用原預(yù)設(shè)的Anchor box會(huì)使YOLO 檢測頭計(jì)算交并比IOU 時(shí)篩選不出合適的Bounding box,會(huì)嚴(yán)重影響模型的性能。因此為提升Bounding box 的檢出率,本文預(yù)先針對(duì)數(shù)據(jù)集中目標(biāo)大小進(jìn)行邊界框聚類分析。

本實(shí)驗(yàn)使用K-means++聚類算法對(duì)VEDAI 數(shù)據(jù)集中目標(biāo)的Anchor box 進(jìn)行聚類分析,與傳統(tǒng)的K-means 聚類算法[20]相比,K-means++優(yōu)化了初始點(diǎn)的選擇,能顯著改善分類結(jié)果的誤差,以獲得更適合小目標(biāo)數(shù)據(jù)集的Anchor box 的大小,提高小目標(biāo)檢測的精度。K-means++算法首先隨機(jī)選取某一個(gè)樣本目標(biāo)框區(qū)域作為初始聚類中心,然后計(jì)算每個(gè)樣本xi與已有聚類中心點(diǎn)的距離D(x),并計(jì)算每個(gè)樣本被選為下一個(gè)聚類中心的概率,即

再通過輪盤法選出下一個(gè)聚類中心。重復(fù)上述計(jì)算距離D(x)和概率P(x)的步驟直到得出K個(gè)目標(biāo)框。最后不斷重復(fù)計(jì)算每個(gè)樣本到聚類中心K個(gè)點(diǎn)的距離,將該樣本點(diǎn)劃分到距離最小的聚類中心的類中并更新聚類中心,直到Anchor box 的大小不再發(fā)生改變。

2.2 scSE模塊的嵌入式設(shè)計(jì)

目前,實(shí)驗(yàn)已證明嵌入scSE模塊的CNN 在語義分割任務(wù)中能夠取得良好的性能提升,但對(duì)于目標(biāo)檢測任務(wù),scSE 注意力模塊能否有效提升算法的檢測性能仍是有待考究的問題。

在小目標(biāo)檢測任務(wù)中隨著網(wǎng)絡(luò)層次的不斷加深,特征圖中小目標(biāo)的特征也愈發(fā)微弱,因此造成漏檢和誤檢。而scSE 注意力本身是將特征圖中重要的空間和通道特征增強(qiáng),使得網(wǎng)絡(luò)在訓(xùn)練過程中能抓住目標(biāo)特征的“重點(diǎn)”學(xué)習(xí)。但在具體情況下將scSE 注意力模塊嵌入至網(wǎng)絡(luò)哪個(gè)位置更加有效至今沒有一套理論說法。

本文將對(duì)scSE模塊嵌入至網(wǎng)絡(luò)模型中的不同位置所發(fā)揮的性能進(jìn)行研究。根據(jù)YOLOv4 檢測模型結(jié)構(gòu),可在YOLOv4 的骨干網(wǎng)、頸部和檢測頭3 個(gè)區(qū)域分別嵌入scSE 注意力模塊,由于其是對(duì)重要通道和空間特征進(jìn)行增強(qiáng),因此可將scSE 注意力模塊分別嵌入到上述3 部分中的每一特征融合區(qū)域(即Add 和concat 層后以及模型檢測頭之前),由此產(chǎn)生3 種基于YOLOv4 算法的新網(wǎng)絡(luò)模型:scSE-YOLOv4-A,scSE-YOLOv4-B 和scSE-YOLOv4-C,圖2 展示了scSE模塊嵌入的具體位置。

圖2(a)將scSE模塊嵌入至YOLOv4 網(wǎng)絡(luò)骨干網(wǎng)CSPDarknet 的每個(gè)殘差塊的Add 層和每一CSP模塊中的concat 層后;圖2(b)表示scSE模塊嵌入至YOLOv4 頸部PAN 結(jié)構(gòu)的每一特征融合concat層后;圖2(c)表示在YOLOv4 的每一個(gè)檢測頭前分別嵌入一個(gè)scSE模塊。

圖2 3 種嵌入scSE模塊的YOLOv4模型((a) scSE-YOLOv4-A 算法的修改區(qū)域;(b) scSE-YOLOv4-B 算法的修改區(qū)域;(c) scSE-YOLOv4-C 算法的修改區(qū)域) (圖中“?”代表圖1 中的concat 操作,“⊕”代表圖1 中的Add操作,“”表示嵌入scSE模塊前后的轉(zhuǎn)換符號(hào)) Fig.2 Three YOLOv4 mode embedded in the scSE modules ((a) Modification area of scSE-YOLOv4-A algorithm; (b) Modification area of scSE-YOLOv4-B algorithm; (c) Modification area of scSE-YOLOv4-C algorithm) (In the figure,“?”represents the concat operation in Fig.1,“⊕”represents the Add operation in Fig.1,“”represents the conversion before and after embedding the scSE module)

2.3 增加SPP模塊的YOLOv4 算法

受SPPNet 網(wǎng)絡(luò)[15]的啟發(fā),YOLOv4模型在骨干網(wǎng)后加入了SPP模塊,結(jié)構(gòu)如圖3 所示。

圖3 YOLOv4 網(wǎng)絡(luò)中SPP模塊結(jié)構(gòu)圖 Fig.3 SPP module structure diagram in YOLOv4 network

圖3 輸入的特征圖通過一個(gè)卷積層后,分別經(jīng)過5×5,9×9 和13×13 的3 個(gè)不同尺寸的內(nèi)核做最大池化處理,再通過concat 將得到的特征圖進(jìn)行通道的拼接,輸出的通道數(shù)變?yōu)樵ǖ罃?shù)的4 倍,其特征圖尺寸不變。其中每個(gè)池化層設(shè)步長stride 為1,填充padding=(k-1)/2 (k為最大池化中內(nèi)核的尺寸),得到輸出特征圖尺寸為

其中,n為輸入特征圖的大??;p為填充padding;s為步長;為向下取整。由式(5)可得,通過池化層得到的特征圖大小與輸入時(shí)保存一致。

Maxpool 層在保持特征圖平移不變性的同時(shí),擴(kuò)大了感受野,而SPP模塊通過使用不同大小內(nèi)核的Maxpool層得到特征圖局部區(qū)域感受野和接近全局的感受野信息,并進(jìn)行特征融合。融合不同尺度感受野的操作能有效豐富特征圖的表達(dá)能力,增強(qiáng)骨干網(wǎng)輸出特征的接受范圍,分離出重要的上下文信息[21],有效提升了模型的檢測性能。

在YOLOv4 中,SPP模塊位于特征圖大小為19×19 的骨干網(wǎng)后,經(jīng)過SPP模塊的特征信息直接送入特征圖大小為19×19的YOLO檢測頭進(jìn)行結(jié)果預(yù)測?;谏鲜龌A(chǔ),本文分別在YOLOv4 網(wǎng)絡(luò)第一次和第二次上采樣后,即網(wǎng)絡(luò)第123 層和140 層加入SPP模塊,以增強(qiáng)輸入到38×38 和76×76 尺寸YOLO 檢測頭的特征圖特征信息的表達(dá)能力,實(shí)現(xiàn)更好地檢測效果,本文將加入SPP模塊的改進(jìn)YOLOv4 網(wǎng)絡(luò)稱為YOLOv4-SPP3 (圖4)。

圖4 YOLOv4-SPP3 算法的修改區(qū)域 Fig 4 Modification area of YOLOv4-SPP3 algorithm

3 實(shí)驗(yàn)與結(jié)果分析

本實(shí)驗(yàn)?zāi)P陀?xùn)練使用硬件平臺(tái)為 Intel(R) Xeon(R) Gold 5218 CPU,GeForce RTX 2080 Ti 11 G GPU;模型測試推理平臺(tái)為AMD R7 4800H 2.9 GHz CPU,GeForce RTX 2060 6 G GPU。軟件使用Ubuntu系統(tǒng),python 3.7,PyTorch 1.5.0 深度學(xué)習(xí)框架。

3.1 數(shù)據(jù)集

本實(shí)驗(yàn)采用針對(duì)車輛等小目標(biāo)檢測的航空?qǐng)D像VEDAI (Vehicle detection in aerial imagery)公共數(shù)據(jù)集[13],該數(shù)據(jù)集共包括來自美國猶他州的1 210 張1024×1024(或512×512)大小的衛(wèi)星圖像,其包含車輛、船、飛機(jī)在內(nèi)共3 640 個(gè)實(shí)例,9 個(gè)類別,即“轎車”“卡車”“野營車”“拖拉機(jī)”“飛機(jī)”“輪船”“皮卡”“面包車”和“其他”,如圖5 所示。所有目標(biāo)分別分布在田野、草地、山脈、市區(qū)等背景豐富的地區(qū),平均每幅圖像有5.5 輛車,占據(jù)了圖像總像素的0.7%左右,VEDAI 作為小目標(biāo)檢測的公共數(shù)據(jù)集具有一定的挑戰(zhàn)性。

圖5 VEDAI 數(shù)據(jù)集中不同類別的目標(biāo)圖像 Fig.5 Different types of target images in the VEDAI dataset

實(shí)驗(yàn)首先將VEDAI 數(shù)據(jù)集中的原標(biāo)簽轉(zhuǎn)換為適合YOLO 網(wǎng)絡(luò)的txt 標(biāo)簽文件,選擇512×512 尺寸VEDAI數(shù)據(jù)集圖片并隨機(jī)從1 210張圖片中抽取960 張圖片作為訓(xùn)練集,將余下的250 張圖片作為測試集,訓(xùn)練集和測試集占比為8∶2。

3.2 Anchor box 優(yōu)化

實(shí)驗(yàn)采用 K-means++算法對(duì)數(shù)據(jù)集目標(biāo)的Anchor box 進(jìn)行聚類分析,并以平均交并比(Avg IOU)作為聚類的評(píng)價(jià)標(biāo)準(zhǔn),結(jié)果如圖6 所示。其展示了取k個(gè)初始Anchor box 下Avg IOU 的結(jié)果。

圖6 K-means++算法聚類結(jié)果 Fig.6 K-means++algorithm clustering results

為保證預(yù)測結(jié)果的精度,同時(shí)避免選取過多的Anchor box 帶來巨大的運(yùn)算量,本實(shí)驗(yàn)選取k=9,Avg IOU=79.52%時(shí)聚類產(chǎn)生的Anchor box,其寬和高分別為(22,10),(10,21),(20,18),(14,29),(38,14),(24,26),(20,67),(40,35),(64,63)。

3.3 網(wǎng)絡(luò)訓(xùn)練與測試

本實(shí)驗(yàn)采用準(zhǔn)確率(precision,P)、召回率(recall,R)、F1 分?jǐn)?shù)、mAP (mean average precision,即平均AP 值)4 項(xiàng)性能指標(biāo)評(píng)判網(wǎng)絡(luò)性能[22],其中mAP 指標(biāo)用于多標(biāo)簽圖像分類任務(wù)的評(píng)價(jià),是多類別目標(biāo)檢測中衡量模型整體檢測精度的重要指標(biāo)。其中檢測精度P、召回率R和mAP分別為

其中,XTP為被正確檢測出來的目標(biāo)數(shù);XFP為被錯(cuò)誤檢出的目標(biāo)數(shù);XFN為未被檢測出來的目標(biāo)數(shù);c為分類數(shù);AP為單個(gè)目標(biāo)類別的平均精度,其中

實(shí)驗(yàn)設(shè)置輸入圖片大小尺寸為512×512,階段初始學(xué)習(xí)率為0.001,每50 次迭代后將學(xué)習(xí)率衰減為原來的0.1 倍,動(dòng)量為0.9,衰減系數(shù)為0.000 5,使用SGDM 梯度優(yōu)化算法,batchsize 設(shè)為3,設(shè)置訓(xùn)練Epochs 為230 次。

3.3.1 K-means++優(yōu)化結(jié)果對(duì)比實(shí)驗(yàn)

實(shí)驗(yàn)首先對(duì)比了使用K-means++聚類算法優(yōu)化錨定框Anchor box 后,在VEDAI 數(shù)據(jù)集上,YOLOv4 算法對(duì)小目標(biāo)的檢測性能的變化。將未經(jīng)優(yōu)化的目標(biāo)框與通過K-means++聚類得到的目標(biāo)框的YOLOv4 網(wǎng)絡(luò)在VEDAI 數(shù)據(jù)集上進(jìn)行了訓(xùn)練,并在測試集上進(jìn)行驗(yàn)證,結(jié)果見表2。

表2 目標(biāo)框優(yōu)化結(jié)果對(duì)比(%) Table 2 Comparison of target frame optimization results (%)

表2 通過平均準(zhǔn)確率P、平均召回率R以及mAP@0.5 的3 個(gè)指標(biāo)對(duì)比分析了使用K-means++算法優(yōu)化目標(biāo)框?qū)W(wǎng)絡(luò)性能帶來的影響。其中YOLOv4-1 表示使用未經(jīng)優(yōu)化的Anchor box 的原始網(wǎng)絡(luò),YOLOv4-2 表示使用優(yōu)化的Anchor box 的網(wǎng)絡(luò)。從結(jié)果可以看出,優(yōu)化目標(biāo)框使其適合對(duì)VEDAI 數(shù)據(jù)集上小目標(biāo)的框定能夠明顯提升網(wǎng)絡(luò)的檢測精度,mAP@0.5 提升了6.4%。

3.3.2 改進(jìn)YOLOv4 網(wǎng)絡(luò)模型的效能評(píng)估和分析

本實(shí)驗(yàn)將3.2 節(jié)提出的3 種scSE模塊嵌入式網(wǎng)絡(luò)模型 scSE-YOLOv4-A,scSE-YOLOv4-B,scSE-YOLOv4-C 和3.3 節(jié)中提出的YOLOv4-SPP3網(wǎng)絡(luò)模型在VEDAI 訓(xùn)練集上進(jìn)行訓(xùn)練,并在測試集上對(duì)模型性能進(jìn)行評(píng)估,對(duì)比原YOLOv4模型檢測性能,研究scSE模塊嵌入至檢測網(wǎng)絡(luò)的不同位置所帶來的性能的變化,以及在不同檢測頭之前增加SPP模塊給網(wǎng)絡(luò)性能帶來的改變,以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)更好的優(yōu)化設(shè)計(jì),實(shí)驗(yàn)結(jié)果如圖7 和表3 所示。

圖7 不同模型訓(xùn)練過程中mAP 的變化 Fig.7 Changes in mAP during training of different models

表3 不同模型在測試集上的效能評(píng)估(%)Table 3 The effectiveness evaluation on different models in the test set (%)

圖7 為不同網(wǎng)絡(luò)在訓(xùn)練200 個(gè)Epochs 的過程中訓(xùn)練模型在測試集上返回的mAP值的變化,其中測試集上IOU 閾值設(shè)為0.6。

表3 為將訓(xùn)練好的模型在測試集上測試得到的模型性能評(píng)估指標(biāo)結(jié)果,其中IOU 閾值設(shè)置為模型評(píng)估通用的0.5,即mAP@0.5。

通過圖7 和表3 可以看出,在骨干網(wǎng)的“Add”和“concat”特征融合層后嵌入scSE 注意力模塊能有效提升算法對(duì)小目標(biāo)的檢測性能,mAP@0.5 值較YOLOv4 提升了2.4%;而將scSE模塊嵌入至網(wǎng)絡(luò)的頸部和頭部,模型性能并沒有得到提升,相反mAP@0.5 值產(chǎn)生了1.2%和0.5%的下降。本文認(rèn)為將scSE 注意力模塊嵌入至網(wǎng)絡(luò)不同部位所以會(huì)產(chǎn)生截然不同的實(shí)驗(yàn)效果,是由于骨干網(wǎng)中特征圖的語義信息并不豐富,仍然保留著目標(biāo)在特征圖中的中、淺層的紋理信息和輪廓信息,而這些信息對(duì)于小目標(biāo)的檢測至關(guān)重要,在骨干網(wǎng)中嵌入scSE 注意力模塊能更好對(duì)特征圖中小目標(biāo)的空間特征和通道特征進(jìn)行增強(qiáng),而在網(wǎng)絡(luò)更深層的頸部和頭部,其特征圖表現(xiàn)出更豐富的語義特征、更大的感受野以及更小的特征圖尺度,scSE 注意力模塊難以再從特征信息高度融合的小尺度特征圖中有效區(qū)分出重要的空間和通道特征,相反,嵌入注意力模塊可能造成網(wǎng)絡(luò)對(duì)重要特征學(xué)習(xí)的偏差,導(dǎo)致檢測精度下降。

圖7 和表3也證明了2.3節(jié)提出的YOLOv4-SPP3算法的有效性。同時(shí)增加SPP模塊的YOLOv4-SPP3網(wǎng)絡(luò)較YOLOv4 網(wǎng)絡(luò)在測試集上性能有所提升,mAP@0.5 值較YOLOv4 提升了2.4%。由此證明,在頸部增加多尺度感受野的融合,能增強(qiáng)特征圖對(duì)不同尺度感受野的表達(dá)能力,豐富局部區(qū)域的目標(biāo)特征與全局特征圖下的目標(biāo)特征信息,有效提升YOLOv4模型對(duì)目標(biāo)在圖像上的定位和分類,得到更高的檢測精度。

3.3.3 scSE-IYOLOv4 算法性能測試及對(duì)比實(shí)驗(yàn)

結(jié)合3.3.2 節(jié)的實(shí)驗(yàn)結(jié)果,可以發(fā)現(xiàn)在骨干網(wǎng)嵌入scSE 注意力模塊和在網(wǎng)絡(luò)頸部增加SPP模塊能有效提升YOLOv4 算法對(duì)小目標(biāo)的檢測性能,因此需將兩者相結(jié)合,提出一種嵌入scSE模塊的改進(jìn)YOLOv4 小目標(biāo)檢測算法——scSE-IYOLOv4 算法,該算法結(jié)構(gòu)如圖8 所示。

圖8 scSE-IYOLOv4 算法結(jié)構(gòu)圖 Fig.8 scSE-IYOLOv4 algorithm structure diagram

為了驗(yàn)證算法的有效性,可將scSE-IYOLOv4算法在VEDAI 數(shù)據(jù)集上進(jìn)行了訓(xùn)練,并在VEDAI測試集上測試,結(jié)果見表4,并與在YOLOv4 骨干網(wǎng)相同位置嵌入不同注意力模塊進(jìn)行對(duì)比,結(jié)果見表5。

表4 模型改進(jìn)前后在VEDAI 測試集上的檢測結(jié)果對(duì)比(%)Table 4 Comparison of test results on the VEDAI test set before and after model improvement (%)

表5 不同注意力模塊對(duì)YOLOv4 網(wǎng)絡(luò)性能的影響(%)Table 5 The impact of different attention modules on YOLOv4 network performance (%)

由表4 和表5 可知,scSE-IYOLOv4 算法在小目標(biāo)的檢測上較YOLOv4 算法表現(xiàn)更好,mAP@0.5值提升了4.1%,并對(duì)比嵌入其他注意力模塊的改進(jìn)網(wǎng)絡(luò),scSE-IYOLOv4 算法達(dá)到了77.1%的最高mAP@0.5 值。同時(shí)實(shí)驗(yàn)也證明了在骨干網(wǎng)中嵌入注意力模塊確實(shí)能改善模型的檢測性能,嵌入cSE,sSE 和scSE模塊的改進(jìn)網(wǎng)絡(luò),其檢測性能均能得到不同程度的提升,mAP@0.5 值分別有1.1%、0.5%和2.4%的提升。同時(shí),對(duì)比嵌入cSE模塊和sSE模塊的YOLOv4 算法的實(shí)驗(yàn)結(jié)果,本文進(jìn)一步發(fā)現(xiàn),相比于空間注意力(如sSE模塊),通道注意力(如cSE模塊)能給目標(biāo)檢測網(wǎng)絡(luò)YOLOv4 帶來更高的性能提升,這恰恰與語義分割相反[14]。

圖9 為使用YOLOv4 和scSE-IYOLOv4 算法在VEDAI 數(shù)據(jù)集檢測得到的部分結(jié)果圖。從中可以看出,原網(wǎng)絡(luò)在小目標(biāo)檢測中很難找到合適目標(biāo)框,存在較多的誤判和較低的置信度,而改進(jìn)后的網(wǎng)絡(luò)能夠更加準(zhǔn)確地給出正確的目標(biāo)框,并提升了目標(biāo)判別的置信度,同時(shí)有效減少了目標(biāo)類別的誤判。

圖9 改進(jìn)模型檢測結(jié)果對(duì)比Fig.9 Comparison of improved model detection results ((a) YOLOv4;(b) scSE-IYOLOv4)

本實(shí)驗(yàn)還將本文提出的scSE-IYOLOv4 網(wǎng)絡(luò)與YOLOv3 網(wǎng)絡(luò)、文獻(xiàn)[2]提出的改進(jìn)的YOLOv3 網(wǎng)絡(luò)以及基于DENG 等[23]提出SE-IYOLOv3 網(wǎng)絡(luò)的思想設(shè)計(jì)的SE-YOLOv4 網(wǎng)絡(luò)在VEDAI 數(shù)據(jù)集的測試集上進(jìn)行檢測性能的對(duì)比,具體結(jié)果見表6。

結(jié)合表6 對(duì)比不同算法在VEDAI 數(shù)據(jù)集上的檢測精度,本文提出的scSE-IYOLOv4模型表現(xiàn)出了最高的檢測性能,證明了該算法在小目標(biāo)檢測上的有效性。

表6 不同算法性能對(duì)比(%) Table 6 Performance comparison of different algorithms (%)

同時(shí)實(shí)驗(yàn)還進(jìn)一步選擇PASCAL VOC 數(shù)據(jù)集,測試了scSE-IYOLOv4 檢測算法在檢測常規(guī)大小目標(biāo)時(shí)的表現(xiàn)。本文使用了2007 和2012 的2 個(gè)版本圖片進(jìn)行訓(xùn)練和測試,其中將除VOC2007 版測試集以外的數(shù)據(jù)集全設(shè)定為訓(xùn)練集。圖10 為訓(xùn)練100 個(gè) Epochs 后 YOLOv4,scSE-YOLOv4 和scSE-IYOLOv4 訓(xùn)練集上總損失值的變化曲線,表7 為訓(xùn)練后的模型在測試集上的檢測結(jié)果。

如圖10 和表7 所示,本文算法在普通目標(biāo)的檢測效果上也有一定程度的提升,在VOC 數(shù)據(jù)集上較原網(wǎng)絡(luò)提升了2.2%。

圖10 模型在VOC 數(shù)據(jù)集上訓(xùn)練的情況Fig.10 Comparison of test results before and after model improvement

表7 VOC 測試集上測試結(jié)果(%) Table 7 Test results on VOC Test-set (%)

4 結(jié)論與展望

為提升目標(biāo)檢測任務(wù)中小目標(biāo)的檢測精度,本文基于YOLOv4 網(wǎng)絡(luò)模型結(jié)合scSE 注意力機(jī)制和空間金字塔池化SPP模塊對(duì)YOLOv4 算法進(jìn)行優(yōu)化,并提出scSE-IYOLOv4 的小目標(biāo)檢測算法。使用的VEDAI 數(shù)據(jù)集,采用K-means++聚類對(duì)目標(biāo)樣本進(jìn)行錨定框大小的優(yōu)化。在YOLOv4 算法的基礎(chǔ)上,分別研究、分析并證明注意力模塊并非嵌入至網(wǎng)絡(luò)的每個(gè)位置都能得到性能的提升,只有在YOLOv4 算法模型骨干網(wǎng)的“Add”和“concat”層后嵌入注意力模塊,才能提升算法對(duì)小目標(biāo)的檢測精度,其中嵌入scSE 注意力模塊,在VEDAI 測試集上mAP@0.5 提升了2.4%。本文還發(fā)現(xiàn)在網(wǎng)絡(luò)頸部增加SPP模型能有效增強(qiáng)網(wǎng)絡(luò)頸部特征圖信息表達(dá)能力,使算法對(duì)小目標(biāo)的檢測更加友好,在VEDAI 測試集上mAP@0.5 提升了2.4%。最后通過實(shí)驗(yàn)本文提出的scSE-IYOLOv4 檢測算法,即在YOLOv4 算法的骨干網(wǎng)嵌入scSE模塊,在頸部增加SPP模塊。實(shí)驗(yàn)證明,本文算法能顯著提升對(duì)小目標(biāo)的檢測精度,在VEDAI 測試集上mAP@0.5 值較YOLOv4 提升了4.1%,并且該算法對(duì)常規(guī)大小的目標(biāo)也能得到一定效果的提升,在PASCAL VOC數(shù)據(jù)集上mAP@0.5 提升了2.2%。

但嵌入注意力模塊和增加SPP模塊會(huì)提升算法的參數(shù)量和浮點(diǎn)運(yùn)算量,降低算法檢測的實(shí)時(shí)性。在下一步的研究中,將考慮對(duì)模型進(jìn)行壓縮、剪枝來輕量化scSE-IYOLOv4 網(wǎng)絡(luò)模型,在保證算法檢測精度的基礎(chǔ)上提升模型檢測的實(shí)時(shí)性。

猜你喜歡
骨干網(wǎng)集上注意力
讓注意力“飛”回來
GCD封閉集上的冪矩陣行列式間的整除性
基于互信息的多級(jí)特征選擇算法
構(gòu)建鐵路數(shù)據(jù)通信網(wǎng)骨干網(wǎng)的網(wǎng)絡(luò)安全管理中心
有軌電車信號(hào)系統(tǒng)三層骨干網(wǎng)傳輸方案分析
加快新基建 200G骨干網(wǎng)呼之欲出,400G還有多遠(yuǎn)?
如何培養(yǎng)一年級(jí)學(xué)生的注意力
中國廣電網(wǎng)絡(luò)成為互聯(lián)網(wǎng)骨干網(wǎng)單位
A Beautiful Way Of Looking At Things
師如明燈,清涼溫潤