史健婷,張貴強(qiáng),陶 金,吳林皓
(1 黑龍江科技大學(xué) 計算機(jī)與信息工程學(xué)院,哈爾濱 150022;2 黑龍江科技大學(xué) 研究生學(xué)院,哈爾濱 150022)
行人檢測技術(shù)結(jié)合了數(shù)字圖像處理、模式識別、計算機(jī)視覺和其他相關(guān)技術(shù),無論是在智慧交通,還是在自動駕駛、人體行為分析等領(lǐng)域有著廣闊的發(fā)展前景[1]。行人檢測技術(shù),是研究和判斷所給的圖像或在每幀視頻序列中,是否存在要檢測的行人目標(biāo)。近年來,道路安全問題頻繁發(fā)生,在尋找降低交通事故發(fā)生方法的同時,行人檢測技術(shù)也受到人們的廣泛關(guān)注[2-3]。
行人檢測算法可分為傳統(tǒng)的算法和基于深度學(xué)習(xí)的算法。傳統(tǒng)的行人檢測算法有:Haar 小波特征[4]、HOG+SVM[5]、DPM[6]等等。傳統(tǒng)的行人檢測主要通過人工設(shè)計方法,對圖像特征進(jìn)行提取,進(jìn)行目標(biāo)識別和檢測,但算法設(shè)計復(fù)雜,權(quán)值參數(shù)難以得到較準(zhǔn)確的數(shù)值,泛化能力不強(qiáng)。
基于深度學(xué)習(xí)的算法,如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural network,CNN)[7],通過大量的數(shù)據(jù),能自動學(xué)習(xí)出目標(biāo)的原始表征,相較于手工設(shè)計的特征而言,具有更強(qiáng)的判別能力和泛化能力[8]。之后出現(xiàn)了一系列改進(jìn)算法,包括Fast RCNN[9-11]、Faster RCNN[12]、SSD[13]、YOLO[14]等算法。其中,YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)簡單高效,具有易部署、運用場景廣泛的特性。特別是針對紅外圖像下的小目標(biāo)檢測,有很大的應(yīng)用前景[15]。雖然YOLOv4 網(wǎng)絡(luò)采用多尺度進(jìn)行預(yù)測,能夠結(jié)合更好的分類器,但是還存在識別物體的精準(zhǔn)性差、召回率低等缺點。因此,本文對YOLOv4 算法進(jìn)行了改進(jìn)。通過與原YOLOv4 算法進(jìn)行比較,將對紅外圖像行人的檢測精準(zhǔn)度(MAP)提高了0.04%。
YOLOv4 算法以CSPDarknet53 作為主干網(wǎng)絡(luò),在采用ResNet 短跳連接的同時,增加輸入輸出的維度拼接,更好的實現(xiàn)了深淺層特征的結(jié)合,在主干網(wǎng)絡(luò)的頂端,加入了SPP 模塊。采用1?1、5?5、9?9、13?13 最大池化的方式,進(jìn)行多尺度特征融合。該模塊和PAN 結(jié)構(gòu)相結(jié)合,使分辨率為76?76 的淺層特征向上傳播,保證每個檢測頭都可以接受淺層特征,極大的增加了網(wǎng)絡(luò)對小目標(biāo)特征的表達(dá)能力。YOLOv4 的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 YOLOv4 network structure diagram
除了對主干網(wǎng)絡(luò)的改進(jìn)之外,YOLOv4 還引入了其它tricks 來提升網(wǎng)絡(luò)性能。在激活函數(shù)方面,引入Mish激活函數(shù),如公式(1)所示:
函數(shù)圖像如圖2 所示。
圖2 Mish 激活函數(shù)圖像Fig.2 Mish activation function
可以看出,Mish激活函數(shù)在x =0 處也是光滑可導(dǎo)的,具有較好的泛化能力和結(jié)果的有效優(yōu)化能力。在數(shù)據(jù)增強(qiáng)方面,采用Mosaic 數(shù)據(jù)增強(qiáng)方式,對多張圖片以隨機(jī)縮放、隨機(jī)剪裁和隨機(jī)排布的方式進(jìn)行拼接,大大豐富了數(shù)據(jù)集,可以讓網(wǎng)絡(luò)直接計算多張圖片的數(shù)據(jù),增加模型泛化能力。
式中:D2表示預(yù)測框和目標(biāo)框中心點距離,DC為最小外接矩形C的對角線距離。
注意力機(jī)制(Attention Mechanism)在文本分析、行人檢測、外界語音處理等方面有廣泛的使用。注意力機(jī)制就像人類注意力觀察一樣,通過相應(yīng)的空間、通道等方面,從軟注意力和強(qiáng)注意力兩方面進(jìn)行分析和處理。
2017 年,Jie Hu 等人通過研究,提出了一種新的框架結(jié)構(gòu)——SENet(Squeeze- and- Excitation Network,即“壓縮和激勵”SE 塊)。SENet 通過加強(qiáng)所要研究的重要區(qū)域,把所要輸入的圖像進(jìn)行卷積,然后得到feature map 進(jìn)行分析,設(shè)計出一個一維向量,作為分?jǐn)?shù)來進(jìn)行評價。與所要研究的圖像通道一樣,該向量的每個評價分?jǐn)?shù)采用乘法加權(quán)方式,得到原通道的大小,這樣處理提高了研究的重要區(qū)域。SE 模塊的結(jié)構(gòu)圖如圖3 所示。
圖3 SE 模塊結(jié)構(gòu)圖Fig.3 Se module structure diagram
在YOLOv4 中,主要采用3x3 大小的標(biāo)準(zhǔn)卷積進(jìn)行特征提取操作。標(biāo)準(zhǔn)卷積由于其感受野的形狀和大小均為固定,在對小目標(biāo)進(jìn)行檢測時,同樣會對非目標(biāo)區(qū)域進(jìn)行特征提取操作,會導(dǎo)致最后卷積所提取到的特征中干擾因素較多,對檢測器的預(yù)測造成較多的干擾影響。因此,基于YOLOv4 的標(biāo)準(zhǔn)卷積思想,利用形變卷積為核心組件,構(gòu)建形變特征提取模塊,提升對于目標(biāo)特征提取的有效性。
形變卷積與標(biāo)準(zhǔn)卷積相比,具有3 點優(yōu)勢:
(1)感受野有效性的提升,即特征圖在映射目標(biāo)信息時針對性更高;
(2)卷積核能夠適配目標(biāo)位置進(jìn)行采樣,所提取到的特征信息與目標(biāo)更匹配;
(3)由于形變卷積經(jīng)過特征提取時,能夠有效針對目標(biāo)所在區(qū)域進(jìn)行提取,使得特征圖在網(wǎng)絡(luò)中傳遞時,其穩(wěn)定性(即權(quán)值參數(shù)不會突變)優(yōu)于標(biāo)準(zhǔn)卷積。
形變卷積與標(biāo)準(zhǔn)卷積在進(jìn)行特征提取操作時的區(qū)別如圖4 所示。
圖4 形變卷積與標(biāo)準(zhǔn)卷積特征提取對比Fig.4 Comparison of feature extraction between deformation convolution and standard convolution
為了增強(qiáng)對于目標(biāo)位置信息的復(fù)用,針對YOLOv4 的注意力機(jī)制思想,在每個尺寸的特征圖,經(jīng)由形變特征提取模塊組后,加入Coordinate 坐標(biāo)注意力機(jī)制模塊,對坐標(biāo)信息進(jìn)行加強(qiáng)。Coordinate坐標(biāo)注意力機(jī)制模塊基于SE 通道注意力機(jī)制進(jìn)行優(yōu)化,提取出了特征圖橫向與縱向的特征權(quán)值信息,再通過聚合,以達(dá)到精確的目標(biāo)位置坐標(biāo)顯著性標(biāo)記。Coordinate 坐標(biāo)注意力機(jī)制模塊結(jié)構(gòu)如圖5 所示。
圖5 Coordinate 坐標(biāo)注意力機(jī)制模塊Fig.5 Coordinate attention mechanism module
在圖5 中,模塊的工作流程主要分為兩步:一是提取特征圖上X軸與Y軸的特征信息;二是對提取的特征信息進(jìn)行激活加權(quán)。首先,輸入到模塊的特征圖由全局池化分解出兩個方向上的一維特征,該過程基于SE注意力機(jī)制壓縮操作進(jìn)行優(yōu)化。
標(biāo)準(zhǔn)全局池化計算過程為:
式中:Zc為全局池化輸出;H為特征圖的高;W為特征圖的寬;Xc為全局池化輸入。
Coordinate坐標(biāo)注意力機(jī)制則將全局池化分解為:
完成分解后,再對兩個方向的特征圖進(jìn)行聚合,以此獲得帶有坐標(biāo)信息的特征圖。之后,將該特征圖分別由兩個二維卷積進(jìn)行特征提取與激活加權(quán)計算,得到兩個坐標(biāo)方向的加權(quán)特征信息。將該特征信息映射到特征圖中,即可反映目標(biāo)在特征圖中的坐標(biāo)信息。
對于影響網(wǎng)絡(luò)定位準(zhǔn)確性的因素,最直觀的表現(xiàn)為YOLOv4 檢測器中的anchors 組件。檢測器通過anchors 判定目標(biāo)是否存在及目標(biāo)的位置,即anchors 能夠?qū)μ卣鲌D的某個區(qū)域是否存在目標(biāo)進(jìn)行判定,同時預(yù)測目標(biāo)位置。由于目標(biāo)的形態(tài)大小具有不確定性,即通過手動設(shè)定的anchors 尺寸無法準(zhǔn)確適配目標(biāo)的位置,致使在檢測時存在一定的偏差。為優(yōu)化anchor 的定位準(zhǔn)確性,在YOLOv4 檢測層中加入“Guided Anchoring”機(jī)制,通過網(wǎng)絡(luò)自適應(yīng)生成anchors,來提高anchors 及候選區(qū)域的質(zhì)量。
不同于常規(guī)anchors 操作,在一個坐標(biāo)點上對一組anchor 的尺寸進(jìn)行預(yù)測并挑出最符合大小的一個,其值對一個anchor 的尺寸進(jìn)行預(yù)測,使得對于不規(guī)則目標(biāo)的擬合性更強(qiáng),召回率也更高。本文設(shè)計的網(wǎng)絡(luò)命名為YOLO-sd。
本設(shè)計實驗環(huán)境配置為:軟件層次上,操作系統(tǒng)為Ubuntu 18.04,神經(jīng)網(wǎng)絡(luò)框架為Darknet,CUDA 版本為10.0,cuDNN 加速包為7.6.4;在硬件層次上主要使用了RTX2080ti 型號的GPU 進(jìn)行卷積計算加速。
關(guān)于紅外行人檢測算法評價的相關(guān)性能指標(biāo)包括:交并比IOU、精度(precision)、召回率(recall)等。
式中:S1為紅外圖像預(yù)測的行人區(qū)域;S2為標(biāo)注的行人區(qū)域;TP為紅外圖像下行人區(qū)域,預(yù)測為行人正確情況;FN為紅外圖像下行人區(qū)域,預(yù)測為不是行人錯誤情況;FP為實際不是行人區(qū)域,但是預(yù)測此區(qū)域有行人情況。
所采用的數(shù)據(jù)集來自O(shè)SU Thermal Pedestrian Database,通過數(shù)據(jù)清洗、預(yù)處理等操作,構(gòu)成2 100張訓(xùn)練集和500 張的測試集。將改進(jìn)后的模型YOLO-sd 與YOLOv3、YOLOv4 以及SSD 算法進(jìn)行對比測試,測試結(jié)果見表1。
表1 模型檢測性能對比Tab.1 Performance comparison of models
通過對比結(jié)果可以看出,本文提出的YOLO-sd算法,整體魯棒性要優(yōu)于YOLOv3 和YOLOv4;在召回率的對比中,YOLO-sd 優(yōu)于YOLOv3 和YOLOv4,說明對于目標(biāo)的查全率更好,且IOU數(shù)值也更優(yōu)。YOLO-sd 與SSD 對比,YOLO-sd 的精度、平均準(zhǔn)確率(map)、F2-1Score 要優(yōu)于SSD;其它指標(biāo),召回率和交并比略低于SSD,綜合反映了對于主干網(wǎng)絡(luò)及檢測網(wǎng)絡(luò)部分的優(yōu)化,在提升網(wǎng)絡(luò)性能方面有巨大幫助。網(wǎng)絡(luò)優(yōu)化性能pr 曲線如圖6 所示。
圖6 pr 曲線對比Fig.6 Comparison of PR curves
利用YOLO-sd 的實際測試結(jié)果如圖7 所示。
圖7 測試結(jié)果Fig.7 Test result
本文提出了一種基于YOLOv4 改進(jìn)的紅外圖像行人檢測算法YOLO-sd,優(yōu)化后的YOLO-sd 針對于灰度圖及小目標(biāo)的檢測能力有明顯提升,提高了紅外檢測的實用性。該算法主要應(yīng)用于低像素及小目標(biāo)的檢測環(huán)境,主要采用形變卷積為核心組件,構(gòu)建形變特征提取模塊提升對于目標(biāo)特征提取的有效性,同時針對于形變卷積對特征提取網(wǎng)絡(luò)模塊進(jìn)行優(yōu)化,增強(qiáng)了特征信息的傳遞能力。經(jīng)測試,優(yōu)化后的YOLO-sd 在針對于紅外小目標(biāo)的檢測場景下檢測精度有明顯的提高。整體精度提升1.05%,達(dá)到83.09%。本文的網(wǎng)絡(luò)對于夜間來往的行人、駕駛的車輛來說,有輔助參考價值,有助于提高安全性。