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