孫家慧,葛華勇,張哲浩
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
行人檢測是目標(biāo)檢測的一個重要分支,是識別行人目標(biāo)和分析行人行為的基礎(chǔ),在自動駕駛、安全監(jiān)控等方面都有著廣泛應(yīng)用.快速且高效的檢測在行人檢測任務(wù)中有著重要的意義.隨著卷積神經(jīng)網(wǎng)絡(luò)研究的深入,基于深度學(xué)習(xí)的檢測成為目標(biāo)檢測的主要方法,可以分為Two-stage 和One-stage 兩種.在基于候選區(qū)域的Two-stage 方法中,R-CNN[1-3]系列算法采用卷積神經(jīng)網(wǎng)絡(luò)進行目標(biāo)檢測并表現(xiàn)出非常高的檢測精度,雖然之后的Fast R-CNN[2]、Faster R-CNN[3]進行了不同的改進來減少計算冗余,但是在檢測速度方面仍然不能滿足實時檢測.One-stage 方法中具有代表性的是YOLO[4]算法,它采用單個卷積神經(jīng)網(wǎng)絡(luò)直接預(yù)測物體邊界框和其所屬類別的概率,將目標(biāo)檢測問題轉(zhuǎn)化為回歸問題,在檢測速度上大幅提升,YOLO 系列算法能夠同時在檢測精度和速度上達(dá)到較高的性能,能夠滿足行人檢測的基本需求.
注意力機制是通過篩選當(dāng)前任務(wù)較為關(guān)鍵的信息來提高網(wǎng)絡(luò)檢測能力的方法.Hu 等人提出的基于通道注意力的SENet(squeeze-and-excitation networks)[5]通過學(xué)習(xí)每個輸入通道的權(quán)重對信息進行選擇.Woo 等人提出CBAM(convolutional block attention module)[6],將空間和通道上的注意力結(jié)合,能夠更有效地篩選重要信息.除了在網(wǎng)絡(luò)深度上進行改進,增加網(wǎng)絡(luò)寬度也能達(dá)到提高網(wǎng)絡(luò)性能的效果.GoogleNet[7]利用多尺度的卷積核進行特征提取,提高了特征提取的多樣性.此外,檢測模型的大小也是一個重要的指標(biāo),SqueezeNet[8]和MoblieNet[9]是具有代表性的輕量級網(wǎng)絡(luò).SqueezeNet能夠在網(wǎng)絡(luò)參數(shù)量為AlexNet 的1/50的條件下達(dá)到與其相當(dāng)?shù)臋z測精度.
在相關(guān)的目標(biāo)檢測研究中,李勇等人提出的結(jié)合通道注意SENet 的YOLOv3 算法能夠有效提高網(wǎng)絡(luò)的檢測能力[10];方韋等人將SqueezeNet 結(jié)構(gòu)引入到Tiny-YOLOv3 中,將網(wǎng)絡(luò)模型降為原網(wǎng)絡(luò)的1/4,檢測速度得到了提升[11];姜建勇等人提出的PD-CenterNet對樣本進行加權(quán),通過平衡正負(fù)樣本的損失提高了模型的檢測能力[12].
為得到更好的檢測性能,本文在YOLOv4 的基礎(chǔ)上進行了研究和改進.(1)引入一種結(jié)合空洞卷積的混合域注意力機制D-CBAM,并結(jié)合殘差連接,在網(wǎng)絡(luò)的特征增強部分對有用特征進行篩選;(2)利用SqueezeNet中的squeeze-expand 思想和Inception 中的多尺度的卷積“并連”的結(jié)構(gòu),提出一種Inception-fire 模塊,達(dá)到加寬網(wǎng)絡(luò)的同時減少模型參數(shù)的效果;(3)分別對正負(fù)樣本、難易樣本添加權(quán)重因子改進損失函數(shù),增強網(wǎng)絡(luò)對正樣本和難分類樣本的訓(xùn)練,以提高網(wǎng)絡(luò)的檢測能力.
YOLOv4[13]的網(wǎng)絡(luò)結(jié)構(gòu)分為主干網(wǎng)絡(luò)部分、特征增強部分和預(yù)測部分,如圖1.主干網(wǎng)絡(luò)采用Mish 函數(shù)激活的CSPDarknet53[14]結(jié)構(gòu),由1×1 和3×3 卷積構(gòu)成,利用殘差連接和CSPnet 劃分通道的思想構(gòu)建.主干網(wǎng)絡(luò)進行特征提取的思想是:對于一個輸入,先對其進行通道的劃分,將分割后的一部分輸入到殘差塊中進行運算,提取到圖像特征;另一部分不做處理,和殘差塊部分的輸出進行通道上的級聯(lián),輸入到下一層中.結(jié)合CSP 結(jié)構(gòu)的殘差卷積使得1/2 通道的特征圖不參與計算,可以將計算量減少一半左右.
圖1 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv4 利用了空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling,SPP)和PANet(path aggregation network)對特征進行增強.SPP 將特征圖用4 個大小分別為{1,5,9,13}的池化窗口進行并行的最大池化,增加感受野,以分離出最重要的上下文特征;PANet 結(jié)構(gòu)包含了自上而下和自底向上兩條路徑上的特征聚合,可以對已經(jīng)提取到的3 個尺度上的特征進行增強,提高檢測的能力[13].網(wǎng)絡(luò)的預(yù)測部分仍然采用YOLOv3[15]的“head”結(jié)構(gòu),分別在3 個不同尺度上通過兩層卷積運算對最終結(jié)果進行預(yù)測.
(1)SqueezeNet:SqueezeNet 是一種輕量級網(wǎng)絡(luò),它提出了一種fire 結(jié)構(gòu)進行特征提取.Fire 模塊可以分為“squeeze”和“expand”兩部分.“Squeeze”部分由1×1 卷積實現(xiàn):來自上層的特征圖先輸入到一個1×1 卷積中進行通道的壓縮,然后將其結(jié)果輸入到一個由1×1 卷積和3×3 卷積組成的“expand”部分進一步處理.利用兩個不同卷積核對同一個特征圖做卷積運算,一方面可以提取到更豐富的特征,另一方面,在輸入上進行通道壓縮,減少了輸入到3×3 卷積的特征圖的通道數(shù),能夠減少網(wǎng)絡(luò)的參數(shù)[6].
(2)Inception 網(wǎng)絡(luò):GoogleNet 開創(chuàng)性的在增加網(wǎng)絡(luò)寬度的角度上進行探索,其主要組成部分為Inception結(jié)構(gòu),該結(jié)構(gòu)使用了多種不同大小的卷積核對圖像進行特征提取.此外,Inception 借鑒了Network-in-Network 思想,使用1×1 的卷積核實現(xiàn)降維操作來減少網(wǎng)絡(luò)的參數(shù)量[7].在Inception 結(jié)構(gòu)中,分別使用了1×1、3×3、5×5 大小的卷積核以及一個3×3 的最大池化層.通過用不同核大小的卷積運算提取信息,并將這些特征進行通道級聯(lián),可以獲得各個感受野下的特征.由于同一層的多個卷積都對來自上一層的輸入進行計算,在輸入通道數(shù)很大時會產(chǎn)生大量的參數(shù),在每次卷積運算之前引入1×1 卷積進行通道壓縮,可以減少大卷積核產(chǎn)生的參數(shù).Inception 這種網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)數(shù)量僅為AlexNet 網(wǎng)絡(luò)的1/12,能夠降低計算量的同時達(dá)到較高的檢測精度.
(3)注意力機制:注意力機制是基于人類視覺選擇性注意機制提出的一種能夠從眾多信息中提取到有用信息的方法,從作用域上可以分為3 種:空間注意機制、通道注意機制和混合注意機制.CBAM 是一種混合注意機制,通過將通道注意和空間注意進行順序上的連接,實現(xiàn)雙維度上的特征選擇.在CBAM的通道注意模塊和空間注意模塊的實現(xiàn)中,都同時采用了全局平均池化和全局最大池化,以提取到某一維度上的更全面的信息.在目標(biāo)檢測網(wǎng)絡(luò)中添加注意力機制,能夠顯著增強特征中的重要信息,對物體預(yù)測有著重要的作用[6].
改進YOLO 網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示.主干網(wǎng)絡(luò)CSPDarknet53 對輸入圖像進行特征提取,分別得到52×52,26×26,13×13 三個不同尺度的有效特征圖,并采用LeakyReLU 函數(shù)激活,相較于Mish 激活能夠一定程度上減少計算量.在13×13 大小的特征圖輸入到SPP 模塊之前,先利用由多尺度卷積核和注意力機制構(gòu)成的Attention-I-F 模塊對其進行處理,以提取到更全面、更重要的信息.在SPP 之后,同樣采用Attention-I-F模塊對輸出進行處理,對不同池化窗口得到的特征進一步添加注意力,獲取到重要信息.YOLOv4 的PANet將3 個不同尺度的特征圖進行自上而下和自下而上兩條路徑上的融合.改進的YOLO 中,將融合之后的特征圖輸入到一個添加注意力機制的Res-D-CBAM 模塊,從深層特征和淺層特征融合之后的信息中選擇對目標(biāo)檢測有用的信息進行增強,抑制那些無用的信息.
圖2 改進的YOLO 網(wǎng)絡(luò)結(jié)構(gòu)
在YOLOv4 中,PANet 對提取到的不同尺寸的特征圖反復(fù)融合,并將融合后的特征進行連續(xù)的卷積處理,其結(jié)果直接作為YOLO-head 的輸入進行預(yù)測.這一過程雖然能夠?qū)⑻崛〉降? 個尺度上不同的特征信息相互補充,但此過程中也會將大量冗余信息和無用特征重復(fù)疊加.同時,在多通道級聯(lián)后的特征圖上使用大量連續(xù)卷積運算,會產(chǎn)生較多的參數(shù),增大計算量,降低網(wǎng)絡(luò)的檢測速度.
本文對YOLOv4 中的PANet 結(jié)構(gòu)進行了改進,提出一種結(jié)合殘差連接、注意力機制和空洞卷積的網(wǎng)絡(luò)模塊—Res-D-CBAM,其組成如圖3所示.
圖3 Res-D-CBAM 模塊
其中“CBLn×n”表示進行n×n卷積運算、批歸一化(batch normalization,BN)和LeakyReLU 激活.將殘差連接引入到連續(xù)的卷積中,一方面可以增強特征的復(fù)用,另一方面避免了深層網(wǎng)絡(luò)中學(xué)習(xí)效率和準(zhǔn)確率無法提升的問題[16].此外,使用注意力機制對不同尺度上的特征信息分別進行通道域和空間域上的學(xué)習(xí),通過加權(quán)的方式有選擇的增強本尺度特征圖中對物體檢測有用的信息,并抑制不重要的信息,能夠減少后續(xù)對冗余特征的重復(fù)傳遞和運算.
Res-D-CBAM 模塊中的注意力機制采用了如圖4所示的D-CBAM 結(jié)構(gòu),此結(jié)構(gòu)可分為通道注意和空間注意兩個模塊.
圖4 D-CBAM 結(jié)構(gòu)
對于一個H×W×C大小的輸入,通道注意模塊首先對其進行全局最大池化和平均池化,得到兩個1×1×C大小的輸出,然后利用一個共享的多層感知機(multi-layer perceptron,MLP)學(xué)習(xí)各通道信息的重要性,經(jīng)過Sigmoid 函數(shù)獲得0 到1 范圍的權(quán)重Mc(F),如式(1),其中“+”表示對應(yīng)像素點相加,σ代表Sigmoid激活.最后將通道權(quán)重與輸入F進行對應(yīng)通道的加權(quán),即得到通道注意的結(jié)果F1,如式(2),其中 ?表示對應(yīng)像素點相乘.MLP 部分采用了兩層1×1 卷積,首先用一個輸出通道數(shù)為C/r的1×1 卷積獲得對通道壓縮后的特征圖,然后再經(jīng)過一個輸出通道數(shù)為C的1×1 卷積,這樣兩層卷積在控制卷積參數(shù)的同時能夠?qū)W習(xí)到各個通道上的特征重要程度.
綜上,以Ansoft計算所得理想梯形槽參數(shù)為基礎(chǔ),利用傳統(tǒng)作圓求交點法所制電樞沖片梯形槽參數(shù)與理想梯形槽參數(shù)存在差異,若用此種梯形槽電樞沖片,會增大電機電樞槽滿率,降低繞線工藝性,延遲產(chǎn)品生產(chǎn)周期,增大電機熱負(fù)荷及電機電樞齒部磁密,降低電機額定點負(fù)載效率。根據(jù)相關(guān)文獻電樞梯形槽不同還會對電機啟動電流,啟動轉(zhuǎn)矩等性能產(chǎn)生影響[3-4],故用正確的方法制電樞梯形槽,使所制梯形槽參數(shù)與理想梯形槽參數(shù)相符,對提升電機性能意義重大。下面將闡述以作平行線求交點制理想梯形槽電樞沖片法。
將通道注意的結(jié)果進一步進行空間權(quán)重的提取,如式(3).首先將輸入分別進行通道維度上的平均池化和最大池化,得到兩個H×W×1 大小的輸出,并將二者進行通道上的級聯(lián),得到一個H×W×2 的特征圖.然后經(jīng)過一個卷積核為3×3,膨脹系數(shù)為2 的空洞卷積以及Sigmoid 激活函數(shù),獲得在空間上各點的權(quán)重Ms(F1).最后將權(quán)重Ms(F1)與輸入F1進行對應(yīng)點的相乘,得到D-CBAM 模塊的輸出F2,如式(4).
相比CBAM 中采用的7×7 卷積,在D-CBAM 中利用了擴張率為2 的3×3 空洞卷積來學(xué)習(xí)空間維度上特征信息的權(quán)重.空洞卷積能夠在得到較大感受野的條件下產(chǎn)生相對較少的卷積運算參數(shù),且不需要使用池化運算壓縮特征圖來增大感受野,避免了分辨率降低造成的不可逆轉(zhuǎn)的信息丟失[17].
為加寬網(wǎng)絡(luò)的同時減少連續(xù)卷積堆疊產(chǎn)生的參數(shù),本文提出一種結(jié)合SqueezeNet 和Inception 思想的Inception-fire 結(jié)構(gòu),如圖5所示.
圖5 Inception-fire 模塊
在此結(jié)構(gòu)中,首先對輸入進行“squeeze”運算,將通道數(shù)壓縮為s,這一操作通過一個1×1 卷積完成.然后將1×1 卷積的輸出進行“expand”運算,即將其分別輸入到1×1,3×3,5×5 三個尺寸的卷積中,并將輸出通道數(shù)分別設(shè)置為:e1、e3和e5.通過設(shè)置相應(yīng)卷積的輸出通道數(shù),可以控制網(wǎng)絡(luò)產(chǎn)生的計算量.借鑒殘差網(wǎng)絡(luò)的思想,將“expand”層的3 個卷積的輸出和“squeeze”層的輸出進行通道維度上的相加,以增強特征的復(fù)用,“Concat”的結(jié)果作為整個模塊的輸出.由于較大的卷積核在計算過程中會產(chǎn)生比較多的參數(shù),在本模塊中,將5×5 卷積分解為兩個連續(xù)的3×3 卷積,可以在減少參數(shù)量的同時保證卷積運算能夠獲得相同感受野.
將Inception-fire 結(jié)構(gòu)和圖4 的注意力模塊DCBAM 結(jié)合,得到增強注意的Inception-fire 結(jié)構(gòu)—Attention-I-F,如圖6所示.
圖6 Attention-I-F 模塊
本文提出的改進YOLO 網(wǎng)絡(luò)在主干網(wǎng)絡(luò)和空間金字塔池化結(jié)構(gòu)之后都分別添加了Attention-I-F 模塊,用于進一步處理提取到的深層特征.整體實現(xiàn)流程是:將輸入特征分別進行3 層Inception-fire 網(wǎng)絡(luò)的特征提取,然后利用一個1×1 卷積進行通道整合,最后結(jié)合注意力模塊D-CBAM 進行有用特征的選擇.其中Inceptionfire 通過多個大小不同的卷積核對深層特征處理,能夠減少過擬合.同時,通過增加卷積運算的多樣性可以獲得不同感受野下的語義信息.將注意力機制運用在上層提取到的豐富的特征信息上,可以對其中重要的特征信息進行增強,減少后續(xù)特征融合過程中深層語義信息的丟失,以提高網(wǎng)絡(luò)的預(yù)測能力.
樣本中除了正負(fù)樣本之外,還存在易分類樣本和難分類樣本.為了提高網(wǎng)絡(luò)的檢測能力,在訓(xùn)練中應(yīng)該對難分類的樣本著重考慮,而平衡交叉熵?fù)p失中僅增加一個權(quán)重因子平衡正負(fù)樣本,并沒有考慮難易樣本的區(qū)分.為解決此問題,焦點損失函數(shù)(focal loss,FL)在平衡交叉熵?fù)p失的基礎(chǔ)上增加了一個調(diào)節(jié)因子(1-pt)γ,用來降低易分類樣本權(quán)重,聚焦于難分類樣本的訓(xùn)練.FL 的表示如式(8),其中 γ為聚焦參數(shù),可以調(diào)節(jié)權(quán)重(1-pt)γ的降低程度,γ越大則權(quán)重降低的程度就越大.當(dāng)pt很小即表示難分類的樣本,此時調(diào)節(jié)因子(1-pt)γ趨近1,損失函數(shù)中樣本的權(quán)重不受影響;當(dāng)pt很大時即表示樣本較容易分類,這時調(diào)節(jié)因子趨近0,該樣本在損失函數(shù)中的權(quán)重下降很多,以此達(dá)到增強對難分類樣本的訓(xùn)練[18].
結(jié)合焦點損失函數(shù)和行人檢測的特點,本文對損失函數(shù)進行了改進.改進的損失函數(shù)可分為兩部分:回歸損失和置信度損失,如式(9).
其中,lloc為預(yù)測框的回歸損失,由CIOU計算損失值,如式(10).S×S表示將輸入圖像劃分成S×S的網(wǎng)格,N表示每個網(wǎng)格上產(chǎn)生的先驗框個數(shù).若待檢測物體的中心落在第i個網(wǎng)格的第j個先驗框中,則否則和分別表示預(yù)測得到的置信度和實際的置信度值.lCIOU為CIOU損失,如式(11),12,13.c為真實框和預(yù)測框的最小閉包的對角線距離,ρ2(b,bgt)表示預(yù)測框和真實框中心點之間的歐氏距離,wgt和hgt分別為真實框的寬和高,w和h分別為預(yù)測框的寬和高.v用于衡量長寬比的一致性,α是用于權(quán)衡的參數(shù).
lconf為預(yù)測結(jié)果的置信度損失,如式(14).改進的置信度損失添加了控制因子 β,用于控制正負(fù)樣本在損失中所占比重,減小大量負(fù)樣本的損失對總的損失值的主導(dǎo)作用,使得網(wǎng)絡(luò)反向傳播時聚焦于正樣本的訓(xùn)練.此外,引入調(diào)節(jié)因子(1-Ci)γ用于調(diào)節(jié)難分類樣本和易分類樣本的權(quán)重,增加難分類樣本的權(quán)重,使得總的損失值更偏向于難分類樣本的損失,便于在反向傳播中進一步對難分類樣本進行訓(xùn)練,增強網(wǎng)絡(luò)對難分類樣本的分類能力.參考文獻[17]并結(jié)合實驗對比,在實驗中設(shè)置 β= 0.25,γ= 1.8 可以較好的平衡檢測精度和誤檢率.
為驗證本文所提出的改進YOLO 的性能,在INRIA 行人數(shù)據(jù)集上進行了訓(xùn)練和測試.INRIA 是目前使用最多的靜態(tài)行人檢測數(shù)據(jù)集,圖像中的行人姿態(tài)和光照條件等豐富多變,存在單個行人以及擁擠遮擋人群的情況,適合用于行人檢測.訓(xùn)練集中有614 張圖像,測試集288 張圖像.為避免訓(xùn)練過程中出現(xiàn)過擬合,采用隨機添加噪聲、調(diào)整亮度、旋轉(zhuǎn)、裁剪、平移以及cutout 等方法對訓(xùn)練集圖像進行數(shù)據(jù)增強,將訓(xùn)練集擴充到了3 070 張圖像.
訓(xùn)練前在INRIA 數(shù)據(jù)集上采用k 均值聚類選擇合適的先驗框個數(shù)和尺寸大小.根據(jù)聚類個數(shù)和平均IOU的曲線,實驗中選擇對數(shù)據(jù)集進行聚類大小為9 的先驗框聚類,得到的9 個先驗框的尺寸如表1所示.
表1 先驗框大小
使用Python 語言在PyTorch 框架下實現(xiàn)算法.將訓(xùn)練集中80%的圖像用于訓(xùn)練,20%用于驗證.采用Adam 優(yōu)化器,權(quán)重衰減設(shè)置為0.000 5.學(xué)習(xí)率采用余弦退火衰減,周期T=5.初始學(xué)習(xí)率設(shè)為0.001,最小學(xué)習(xí)率0.000 01,batch size=8,進行3 000 次迭代后,改用初始學(xué)習(xí)率0.000 1,最小學(xué)習(xí)率0.000 01 的余弦退火衰減繼續(xù)訓(xùn)練.
訓(xùn)練結(jié)束后獲得改進網(wǎng)絡(luò)權(quán)重參數(shù),將其和原網(wǎng)絡(luò)的參數(shù)模型大小對比,如表2.改進后的網(wǎng)絡(luò)參數(shù)從6.5 千萬減少到了4 千萬,降低了37.34%.
表2 參數(shù)量對比
將訓(xùn)練后的網(wǎng)絡(luò)在INRIA 測試集上進行測試,獲得了如圖7所示的召回率-精確度曲線,其中曲線下圍成的面積即為平均檢測精度(AP).
圖7 檢測召回率-精度曲線對比
對改進前后的網(wǎng)絡(luò)性能進行了對比,如表3.改進的YOLO 算法能夠達(dá)到94.95%的平均檢測精度,比原YOLOv4 算法高出4.25%.對比其檢測時間,可以發(fā)現(xiàn)改進的YOLO 算法在檢測速度上提高了13.54%.
表3 性能對比
為了更直觀的發(fā)現(xiàn)改進網(wǎng)絡(luò)檢測能力的提升,實驗進一步獲取了改進前后的測試結(jié)果,如圖8所示.
圖8 檢測結(jié)果對比
檢測結(jié)果中藍(lán)色框表示數(shù)據(jù)集中標(biāo)注的groundtruth,綠色框表示正確的檢測結(jié)果,紅色框代表假正例,即網(wǎng)絡(luò)預(yù)測結(jié)果沒有匹配的ground-truth,判定為誤檢.對比YOLOv4 和改進算法的檢測結(jié)果,改進后的網(wǎng)絡(luò)對于圖像中尺寸較小的行人目標(biāo)的檢測能力具有明顯的提高.對于圖像中人群出現(xiàn)大量遮擋的情況,使用YOLOv4 會產(chǎn)生部分的漏檢,而改進的網(wǎng)絡(luò)能夠檢測出更多的存在部分遮擋的目標(biāo).雖然改進網(wǎng)絡(luò)中存在一些判定為假正例的檢測結(jié)果,但可以發(fā)現(xiàn)在實際圖像中,該檢測是正確的,這種誤檢的原因是數(shù)據(jù)集中標(biāo)注的不完全.
為了驗證文中所提出的改進策略對網(wǎng)絡(luò)檢測性能的影響,本文開展了一系列的對比實驗.在原YOLOv4網(wǎng)絡(luò)的基礎(chǔ)上,分別進行改進.(1)將主干網(wǎng)絡(luò)激活函數(shù)修改為LeakyReLU 函數(shù);(2)在(1)的基礎(chǔ)上,將Res-D-CBAM 模塊添加到改進的網(wǎng)絡(luò)中,如圖2 中的PANet 部分;(3)在(2)的基礎(chǔ)上將Attention-I-F 模塊引入到改進網(wǎng)絡(luò)中,如圖2 中的“Attention-I-F”;(4)在(3)的改進基礎(chǔ)上,使用第3.2 節(jié)提出的損失函數(shù)計算訓(xùn)練過程中的損失值.對以上幾個改進的策略在同樣的環(huán)境下分別進行訓(xùn)練和測試,得到如表4所示的結(jié)果.
表4 不同改進策略的實驗結(jié)果對比
根據(jù)表4 中數(shù)據(jù)的對比,可以發(fā)現(xiàn):主干網(wǎng)絡(luò)采用LakyReLU 激活函數(shù)可以減少部分的計算量,使網(wǎng)絡(luò)總的檢測時間有所減少,且檢測精度變化不大;在此基礎(chǔ)上,在網(wǎng)絡(luò)中添加Res-D-CBAM 模塊之后,得到的檢測精度增加到了91.63%,相較添加之前提高了1.03%,同時檢測耗時僅增加1.47%,證明了注意力機
制和殘差連接結(jié)構(gòu)對于特征信息的選擇性增強具有較好的效果.結(jié)合以上改進,進一步將Attention-IF 模塊添加到改進網(wǎng)絡(luò)中,從檢測結(jié)果中可以發(fā)現(xiàn),Attention-I-F 結(jié)構(gòu)的引入使得網(wǎng)絡(luò)的檢測精度91.63%提高到了93.87%,提升了2.24%,同時檢測時間從22.81 s 減少到了19.60 s,降低了14%.此結(jié)果表明在網(wǎng)絡(luò)中使用多尺度卷積核提取到的更豐富的特征對檢測結(jié)果有重要作用,且利用1×1 卷積減小特征圖的厚度,能夠?qū)z測速度的提高產(chǎn)生較大的影響.最后,使用改進的損失函數(shù)對網(wǎng)絡(luò)進行訓(xùn)練,可以得到檢測精度上1.08%的提升.這一結(jié)果表明通過對正負(fù)樣本、難易樣本的損失分別進行加權(quán),提高損失函數(shù)中正樣本和難分類樣本的權(quán)重,可以在網(wǎng)絡(luò)反向傳播時增強正樣本和難分類樣本的訓(xùn)練,使得最終訓(xùn)練得到的網(wǎng)絡(luò)模型能夠有更高的檢測能力.
本文提出了一種結(jié)合SqueezeNet、Inception 結(jié)構(gòu)、殘差連接以及注意力機制的網(wǎng)絡(luò)結(jié)構(gòu),并基于YOLOv4 的損失函數(shù),結(jié)合focal loss 改進了行人檢測中的損失函數(shù),使得網(wǎng)絡(luò)整體得到了4.25%的精度提升.結(jié)合SqueezeNet 的“squeeze-expand”思想以及Inception 中多尺度卷積核的運用,提出的Inceptionfire 結(jié)構(gòu)能夠很大程度上同時提高檢測的速度和精確度.改進的注意力模塊結(jié)合殘差連接能夠在增加很少量參數(shù)的條件下有效提高網(wǎng)絡(luò)檢測精度.在損失函數(shù)中通過調(diào)整正負(fù)樣本、難易樣本的權(quán)重,可以在一定程度上提高網(wǎng)絡(luò)的檢測能力.通過觀察改進網(wǎng)絡(luò)的檢測結(jié)果,可以發(fā)現(xiàn)改進網(wǎng)絡(luò)對于密集和遮擋的人群具有較好的檢測效果,對圖像中較遠(yuǎn)處小目標(biāo)的檢測能力也有所提升.但由于現(xiàn)有的行人數(shù)據(jù)集對較小或不明顯的目標(biāo)物體標(biāo)注的不完全,測試時會將檢測結(jié)果中的部分正確的檢測判定為假正例.在接下來的研究中,會改進數(shù)據(jù)集問題,降低誤檢率,同時研究如何進一步提高網(wǎng)絡(luò)的檢測速度.