李明山,韓清鵬,張?zhí)煊?,王道?/p>
上海電力大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海200090
伴隨社會(huì)發(fā)展,安全問題越發(fā)受到大眾關(guān)注。安全帽佩戴能夠減輕因墜落物對施工人員頭部造成的損害,保護(hù)施工人員的人身安全,佩戴安全帽是安全施工重要一環(huán)?,F(xiàn)階段,安全帽主要檢測方式仍是人工巡檢,該種方式費(fèi)時(shí)費(fèi)力,檢測效率低下。近年來,隨著計(jì)算機(jī)視覺的發(fā)展,無人化智能安全帽檢測方法憑借檢測成本低、效率高的優(yōu)點(diǎn)開始受到人們重視。
劉云波等[1]提出通過背景差法與二值化將運(yùn)動(dòng)目標(biāo)分割出來,并綜合多種算法對目標(biāo)進(jìn)行特征匹配判斷是否佩戴安全帽。然而此類傳統(tǒng)計(jì)算機(jī)視覺方法主要依靠人為設(shè)計(jì)的算子(SIFT[2]、SURF[3])對特征進(jìn)行提取,并通過SVM[4]、AdaBoost[5]等算法進(jìn)行分類,此類方法極度依賴設(shè)計(jì)者的經(jīng)驗(yàn),且特征提取過程可能涉及多種算法,導(dǎo)致流程較為繁瑣。
近年來,深度學(xué)習(xí)憑借其準(zhǔn)確性高、魯棒性強(qiáng)的特點(diǎn)成為目標(biāo)檢測研究熱點(diǎn)方法之一?,F(xiàn)階段基于深度學(xué)習(xí)的目標(biāo)檢測算法多是在圖像上鋪設(shè)不同大小的錨框,通過回歸與分類錨框?qū)崿F(xiàn)目標(biāo)檢測。按照回歸框的生成方式主要分為二階段與單階段兩大類。其中二階段檢測器,如Faster RCNN[6]、Mask RCNN[7]通過RPN篩選出區(qū)域提案后進(jìn)一步提取特征并對回歸框進(jìn)行微調(diào)與分類。此類檢測器有較高的準(zhǔn)確率但是檢測速度慢。單階段檢測器如YOLOv3[8]算法提取特征信息后直接回歸得到坐標(biāo)編碼與分類得分,該類檢測器具有強(qiáng)實(shí)時(shí)性,但檢測精度相對較低。
大多數(shù)學(xué)者對安全帽佩戴檢測提出的方法是基于YOLOv3改進(jìn)的。秦嘉等[9]提出結(jié)合YOLOv3與卡爾曼濾波算法實(shí)現(xiàn)安全帽檢測與追蹤。施輝等[10]提出通過特征金字塔進(jìn)行特征融合并對YOLOv3 用更多尺度特征圖檢測。王兵等[11]對相似度計(jì)算方式進(jìn)行改進(jìn),提出改進(jìn)GIoU YOLOv3 的安全帽檢測方法。烏民雨等[12]提出通過反卷積上采樣特征圖并進(jìn)行特征融合提升YOLOv3的檢測準(zhǔn)度。
Huang等[13]指出,在待檢目標(biāo)尺度相對較小時(shí),基于錨框的檢測器的檢測準(zhǔn)度都會(huì)急劇下降。然而,安全帽檢測任務(wù)中多以小目標(biāo)為主,必然出現(xiàn)檢測效果不佳的現(xiàn)象,上述方法均沒有針對這一問題提出改進(jìn)方案。為解決這一問題,本文基于Single Shot MultiBox Detector(SSD)[14]進(jìn)行改進(jìn),提出一種新型特征金字塔,幫助模型進(jìn)行特征融合,彌補(bǔ)不同特征圖的語義差距,增強(qiáng)淺層特征圖語義,改善SSD 算法對小目標(biāo)檢測的表現(xiàn),該分支網(wǎng)絡(luò)僅需較少的時(shí)間代價(jià)即可帶來較高的準(zhǔn)度提升。同時(shí)本文對SSD算法的默認(rèn)框設(shè)置方式進(jìn)行改進(jìn),讓先驗(yàn)框尺度與有效感受野更為匹配,提高改進(jìn)SSD模型在安全帽檢測任務(wù)中的表現(xiàn)。
1.1.1 SSD網(wǎng)絡(luò)架構(gòu)
SSD是一種常用單階段目標(biāo)檢測算法,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,待檢測圖片通過SSD自底向上的骨干卷積神經(jīng)網(wǎng)絡(luò)與額外添加的卷積層提取特征信息,選取多階段特征圖進(jìn)行邊框回歸與分類,產(chǎn)生一系列回歸框與分類得分,隨后非極大抑制算法篩選回歸框輸出最終預(yù)測結(jié)果。
1.1.2 損失函數(shù)
SSD 算法設(shè)置損失函數(shù)對模型參數(shù)進(jìn)行更新與優(yōu)化。其檢測頭輸出回歸框坐標(biāo)編碼與類別得分,訓(xùn)練過程中的總損失函數(shù)表達(dá)式如公式(1)所示,總損失由位置損失與分類損失兩部分加權(quán)求和得到,其中x={1,0},代表某個(gè)回歸框是否匹配Ground Truth 框,N代表最終與Ground Truth框匹配的默認(rèn)框總數(shù)。
計(jì)算訓(xùn)練損失并在多輪迭代中不斷更新模型參數(shù),待參數(shù)收斂后最終得到較為穩(wěn)定的檢測模型。
1.1.3 默認(rèn)框選取
SSD 采用單階段檢測器直接進(jìn)行邊框回歸與分類的機(jī)制,也采用了類似于Faster RCNN 的Anchor 機(jī)制對局部提取不同高寬比的回歸框。
假定m個(gè)尺度的特征圖負(fù)責(zé)檢測,SSD 算法根據(jù)公式(2)分階段設(shè)置默認(rèn)框邊長,其中Smin與Smax分別代表最底層以及最高層用以檢測的特征圖占原始圖像比例,通常取值0.2與0.9。
設(shè)置寬高比ar∈{1,2,3,1/2,1/3},由公式(3)、公式(4)分別計(jì)算得到多階段特征圖對應(yīng)先驗(yàn)框?qū)捀摺?/p>
近年來,F(xiàn)aster RCNN等基于卷積神經(jīng)網(wǎng)絡(luò)的檢測器大幅提升了目標(biāo)檢測的準(zhǔn)度。此類檢測器往往使用卷積層提取特征信息,通過最大池化層等手段多次下采樣獲取不同尺度的特征圖,其中特征圖有尺度依次減小、語義逐漸增強(qiáng)的特點(diǎn),同時(shí)淺層的特征圖具有更多低水平特征。
Feature Pyramid Networks(FPN)[15]對Faster RCNN進(jìn)行改進(jìn)并提出了一種自頂向下的特征金字塔網(wǎng)絡(luò),如圖2。FPN對骨干網(wǎng)絡(luò)中處于深層次的特征圖進(jìn)行逐層上采樣,并將同一尺度的特征圖進(jìn)行特征融合。分支網(wǎng)絡(luò)不同層特征圖分別通過RPN獲取候選框與前后景分類置信度,使用Fast RCNN[16]進(jìn)行候選框修正與分類。該網(wǎng)絡(luò)一定程度上彌補(bǔ)了特征圖之間語義差距,使不同尺度的特征圖都有著較強(qiáng)的語義,提升了檢測器對小目標(biāo)的檢測效果。
圖2 FPN結(jié)構(gòu)示意圖
改進(jìn)SSD 模型整體網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。本章將對改進(jìn)SSD模型進(jìn)行展開介紹,其中包括新型特征融合網(wǎng)絡(luò)(2.1節(jié))、改進(jìn)的先驗(yàn)框設(shè)置方法(2.2節(jié))。
本文提出了一種新型特征金字塔網(wǎng)絡(luò),如圖3。該分支網(wǎng)絡(luò)由自底向上的卷積網(wǎng)絡(luò)與自頂向下的特征融合網(wǎng)絡(luò)兩部分構(gòu)成。
(1)卷積網(wǎng)絡(luò)
卷積網(wǎng)絡(luò)可以作為SSD骨架網(wǎng)絡(luò)的延伸,提取特征圖給檢測器進(jìn)行目標(biāo)檢測。在本文中,選定圖3中Conv9_2的特征圖作為輸入,通過連續(xù)的卷積模塊提取特征圖并輸出給檢測頭進(jìn)行邊框回歸與分類。
(2)特征融合網(wǎng)絡(luò)
特征融合網(wǎng)絡(luò)選擇與卷積網(wǎng)絡(luò)相同的特征圖輸入,采用反卷積對特征圖進(jìn)行逐層放大,通過元素累加的方式對同尺度特征圖進(jìn)行特征融合。值得注意的是本特征融合網(wǎng)絡(luò)各層特征圖輸出通道數(shù)對應(yīng)于原始SSD,與FPN輸出通道數(shù)設(shè)置方案不同。
通過本文提出的改進(jìn)特征金字塔,較為淺層的特征圖也具有了較強(qiáng)的語義,減輕了因低水平的特征對目標(biāo)識(shí)別表達(dá)的損害,提高了SSD 算法對小型、中型安全帽目標(biāo)檢測的準(zhǔn)度。
本文針對安全帽數(shù)據(jù)集中所有目標(biāo)的Ground Truth 框計(jì)算面積后開平方根取值(安全帽待檢目標(biāo)普遍成正方形)并進(jìn)行統(tǒng)計(jì),繪制頻數(shù)分布直方圖,如圖4,在本數(shù)據(jù)集中,目標(biāo)總計(jì)約合十二萬,待檢目標(biāo)的Ground Truth 框尺度分布極度不均衡,且以小目標(biāo)為主,絕大部分目標(biāo)分辨率集中在100×100 以內(nèi),其中分辨率小于16×16的Ground Truth框占比56%,分辨率小于32×32的占比約89%,極少部分目標(biāo)分辨率大于100×100。
基于錨框的目標(biāo)檢測器在對小尺度目標(biāo)進(jìn)行檢測時(shí),往往檢測準(zhǔn)度會(huì)出現(xiàn)嚴(yán)重的下滑。這種現(xiàn)象是目標(biāo)特征壓縮與先驗(yàn)框設(shè)置不合理共同造成的。待檢目標(biāo)在經(jīng)過SSD 的卷積神經(jīng)網(wǎng)絡(luò)多次池化(如最大池化)后圖像特征將出現(xiàn)明顯壓縮。尤其在安全帽檢測中,多為小尺度目標(biāo),在經(jīng)過壓縮后僅留下較少特征能夠用以檢測,這將明顯影響SSD 對于安全帽檢測準(zhǔn)度。同時(shí),Luo等[17]指出影響卷積神經(jīng)網(wǎng)絡(luò)單元的感受野分為理論感受野與有效感受野。由于感受野內(nèi)的像素并不能均一地影響卷積神經(jīng)單元的信號值,即中心區(qū)域處于有效感受野的像素將產(chǎn)生更大的影響,且有效感受野將小于理論感受野。原始SSD 的先驗(yàn)框設(shè)置對于安全帽檢測任務(wù)的有效感受野明顯偏大,導(dǎo)致檢測效果明顯下降。
圖3 改進(jìn)SSD模型
圖4 目標(biāo)尺度頻數(shù)分布直方圖
為解決以上問題,本文通過改進(jìn)SSD 默認(rèn)框邊長設(shè)置,引入可調(diào)節(jié)參數(shù)n來間接調(diào)整先驗(yàn)框取值,如公式(9)所示:
其中A為最底層特征圖面積。取n倍于最底層特征圖的步長s作為最小默認(rèn)框邊長(本模型取n=2),此時(shí)默認(rèn)框面積占原圖面積比值為對應(yīng)Smin,并取經(jīng)驗(yàn)數(shù)值Smax=0.8,帶入默認(rèn)框邊長計(jì)算公式即可求得默認(rèn)框取值。
本實(shí)驗(yàn)所選取的數(shù)據(jù)集由網(wǎng)絡(luò)爬蟲、監(jiān)控視頻以及道路施工現(xiàn)場照片三部分組成,如圖5 所示,包含兩類物體:佩戴安全帽(hat)、未佩戴安全帽(person)。共計(jì)7 226張圖片,按照7∶2∶1的比例進(jìn)行劃分,訓(xùn)練集5 081張圖片,測試集與校驗(yàn)集分別有1 445 700張圖片,并按照VOC數(shù)據(jù)集格式進(jìn)行存儲(chǔ)。本數(shù)據(jù)集中目標(biāo)尺度分布極度不均衡,對目標(biāo)檢測提出了較大挑戰(zhàn),然而,本數(shù)據(jù)集更符合實(shí)際施工應(yīng)用場景。
圖5 數(shù)據(jù)集樣例
Fu等[18]已經(jīng)表明,選用更先進(jìn)的骨干網(wǎng)絡(luò)能夠有效地提升SSD檢測器的表現(xiàn),為了更公平地比較原算法與改進(jìn)后的算法在安全帽檢測任務(wù)上的性能,本實(shí)驗(yàn)中改進(jìn)SSD 仍舊采用VGG-16[19]作為骨干網(wǎng)絡(luò),并通過加載預(yù)訓(xùn)練權(quán)重加快收斂。實(shí)驗(yàn)采用隨機(jī)梯度下降的優(yōu)化方式,學(xué)習(xí)率設(shè)置為0.000 1,動(dòng)量為0.9,權(quán)重衰減0.000 5,樣本數(shù)16,并設(shè)置等間距調(diào)整學(xué)習(xí)率。網(wǎng)絡(luò)采取固定學(xué)習(xí)率訓(xùn)練80 輪,之后學(xué)習(xí)率降低至原來的十分之一進(jìn)行微調(diào),本實(shí)驗(yàn)采用與原始SSD 相同的圖像增強(qiáng)手段,如隨機(jī)裁剪、水平鏡像等方法。
本實(shí)驗(yàn)采用目前較為常用的幾種目標(biāo)檢測算法進(jìn)行對比:Faster RCNN、YOLOv3。本實(shí)驗(yàn)中YOLOv3的訓(xùn)練樣本數(shù)為16,其余采取文獻(xiàn)[8]相同的設(shè)置進(jìn)行訓(xùn)練。Faster RCNN的訓(xùn)練采用端到端的訓(xùn)練方案,共計(jì)訓(xùn)練50輪,其余設(shè)置與文獻(xiàn)[6]相同。
實(shí)驗(yàn)結(jié)果如表1 所示。本文所提出的改進(jìn)SSD 安全帽檢測方法,對于各類目標(biāo)的AP-50(Average Precision)分別達(dá)到了78.21%與71.0%,mAP(mean Average Precision)達(dá)到74.6%,遠(yuǎn)高于Faster RCNN 的mAP 63.0%與YOLOv3的mAP 58.4%。改進(jìn)SSD512的mAP高達(dá)82.5%。綜合實(shí)驗(yàn)結(jié)果看,改進(jìn)后的算法對安全帽檢測檢測準(zhǔn)確性方面表現(xiàn)優(yōu)秀,基本滿足實(shí)際場景需求。
表1 AP-50及mAP-50對比%
為驗(yàn)證本文所提方法的實(shí)時(shí)性,將樣本數(shù)設(shè)置為1,讓各模型分別對測試集共計(jì)1 445 張圖片進(jìn)行檢測,計(jì)算各模型檢測速率并進(jìn)行對比,實(shí)驗(yàn)結(jié)果如表2,實(shí)驗(yàn)顯卡為Tesla V100-SXM2。其中,YOLOv3的檢測速率最快,達(dá)到了59 frame/s,本文所提出的改進(jìn)SSD安全帽檢測模型在檢測準(zhǔn)度大幅提高的情況下,檢測速度僅降低1.3 frame/s,平均檢測速率達(dá)到39.6 frame/s,在優(yōu)秀準(zhǔn)度的基礎(chǔ)上兼具良好實(shí)時(shí)性。
表2 檢測速率對比
本文設(shè)置消融實(shí)驗(yàn)以探究各改進(jìn)對模型的影響,3.4.1 小節(jié)將介紹改進(jìn)特征金字塔的影響與分析,3.4.2小節(jié)將介紹改進(jìn)先驗(yàn)框設(shè)置的影響與分析。
3.4.1 特征金字塔消融實(shí)驗(yàn)
改進(jìn)FPN 對原始SSD 網(wǎng)絡(luò)結(jié)構(gòu)有著良好兼容性,為探究其對SSD檢測準(zhǔn)度產(chǎn)生的影響,本文分別設(shè)置兩組模型對照,一組為原始SSD,另一組為添加FPN 后的SSD,其余設(shè)置均與文獻(xiàn)[14]相同。實(shí)驗(yàn)結(jié)果如表3,添加改進(jìn)后SSD模型對于各類目標(biāo)AP分別達(dá)到了76.5%與38.5%,mAP達(dá)到了57.5%,較原始SSD的mAP有2.3個(gè)百分點(diǎn)的提升。
表3 特征金字塔消融實(shí)驗(yàn)結(jié)果%
實(shí)驗(yàn)證明,改進(jìn)后SSD通過特征融合有效彌補(bǔ)了不同特征圖之間的語義差距,增強(qiáng)了淺層特征圖的語義,有效提升了SSD模型對安全帽檢測的準(zhǔn)度。
3.4.2 先驗(yàn)框消融實(shí)驗(yàn)
本文所提出的改進(jìn)公式(9)通過可調(diào)節(jié)參數(shù)n控制默認(rèn)框取值,實(shí)現(xiàn)調(diào)節(jié)先驗(yàn)框大小。本小節(jié)將設(shè)置不同取值的n,間接探究先驗(yàn)框大小對改進(jìn)SSD安全帽檢測模型準(zhǔn)度的影響。
改進(jìn)SSD 安全帽檢測模型首先固定經(jīng)驗(yàn)值Smax=0.8,之后設(shè)置n∈{1,2,4,6},其余訓(xùn)練參數(shù)相同,進(jìn)行訓(xùn)練并測試,實(shí)驗(yàn)結(jié)果如表4。
表4 不同n取值下改進(jìn)SSD檢測結(jié)果
n=6 時(shí),先驗(yàn)框大小較原始SSD降低,mAP有較大提升,但仍明顯與有效感受野不匹配。在n取值由6開始降低,先驗(yàn)框進(jìn)一步減小,mAP 由63.8%逐漸增加至74.6%,其中尤其以未佩戴安全帽目標(biāo)檢測的AP值提升最為明顯,AP 值由48%提升至71%。檢測器準(zhǔn)度的提升說明隨著降低n取值,先驗(yàn)框尺度逐步減小,與有效感受野匹配度逐步增加,更利于安全帽檢測。
n由2降低至1時(shí),檢測器的mAP開始明顯降低,此現(xiàn)象表明并不能因?yàn)閿?shù)據(jù)集以小目標(biāo)為主而無限制地降低先驗(yàn)框取值。對于如安全帽此類目標(biāo)進(jìn)行檢測時(shí),先驗(yàn)框取值應(yīng)適當(dāng)減小,但仍然需要匹配有效感受野,否則檢測器性能會(huì)出現(xiàn)不同程度衰退。
對改進(jìn)前后檢測結(jié)果對比,效果如圖6 所示,其中圖(a)、(c)為SSD300 檢測結(jié)果圖,圖(b)、(d)為改進(jìn)SSD 在相同場景下得到的檢測結(jié)果圖。觀察對比可以看出,在安全帽數(shù)據(jù)集中,改進(jìn)SSD 模型對各類目標(biāo)檢測準(zhǔn)度相較于SSD300 都有較大提升,漏檢數(shù)目明顯降低。
圖6 SSD改進(jìn)前后檢測結(jié)果對比
針對安全帽數(shù)據(jù)集以小目標(biāo)為主的特點(diǎn),對SSD模型進(jìn)行改進(jìn),引入分支網(wǎng)絡(luò)進(jìn)行特征融合,使淺層特征圖語義增強(qiáng),SSD300 對安全帽檢測的mAP 提升2.3 個(gè)百分點(diǎn)。同時(shí)改進(jìn)SSD默認(rèn)框設(shè)置方法,使先驗(yàn)框與有效感受野更為匹配,改進(jìn)SSD安全帽檢測模型檢測準(zhǔn)度進(jìn)一步提升,SSD300與SSD512的mAP分別達(dá)到74.6%與82.5%,同時(shí)SSD300檢測速率達(dá)到39.6 frame/s,本模型具有優(yōu)秀檢測準(zhǔn)度并兼具良好實(shí)時(shí)性,基本接近實(shí)際應(yīng)用需求。下一步研究主要關(guān)注如何進(jìn)一步提高檢測器檢測速度,并加強(qiáng)檢測器在不同環(huán)境條件下檢測的魯棒性。