徐守坤,王雅如,顧玉宛
(常州大學(xué) 信息科學(xué)與工程學(xué)院,江蘇 常州 213164)
安全帽佩戴檢測(cè)早期研究主要是基于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,如Rubaiya等[1]提取頭部區(qū)域霍夫變換特征輸入SVM進(jìn)行檢測(cè)。這類(lèi)方法要求針對(duì)不同的檢測(cè)任務(wù),研究設(shè)計(jì)出特定的適應(yīng)性好的特征。近年來(lái),深度學(xué)習(xí)方法廣泛應(yīng)用于各個(gè)領(lǐng)域,從圖像分類(lèi)[2]到目標(biāo)檢測(cè)[3]和語(yǔ)義分割[4]等。Vishnu等[5]分別使用兩個(gè)不同的深度卷積神經(jīng)網(wǎng)絡(luò)分別檢測(cè)工人和安全帽,方法過(guò)程復(fù)雜。
目前,在深度學(xué)習(xí)領(lǐng)域用于目標(biāo)檢測(cè)的主要有基于區(qū)域的目標(biāo)檢測(cè)和基于回歸的目標(biāo)檢測(cè)。Fast RCNN[6]、Faster RCNN[7]和R-FCN[8]等屬于區(qū)域目標(biāo)檢測(cè),特點(diǎn)是高精度、低速度;YOLO[9]、SSD[10]等是采用回歸的檢測(cè)方法,這類(lèi)算法檢測(cè)精度較低。Faster RCNN使用RPN產(chǎn)生候選區(qū)域,完全實(shí)現(xiàn)了端到端的檢測(cè)。所以,本文選取Faster RCNN作為安全帽佩戴檢測(cè)的基礎(chǔ)網(wǎng)絡(luò)。但是,F(xiàn)aster RCNN直接應(yīng)用于安全帽佩戴檢測(cè)會(huì)出現(xiàn)網(wǎng)絡(luò)訓(xùn)練過(guò)程中正負(fù)樣本失衡和對(duì)小目標(biāo)和遮擋目標(biāo)檢測(cè)效果不佳等問(wèn)題。
因此,本文在Faster RCNN基礎(chǔ)上引入在線困難樣本挖掘[11]和多層卷積特征融合技術(shù)[12],解決了網(wǎng)絡(luò)訓(xùn)練過(guò)程中負(fù)樣本空間過(guò)大問(wèn)題,提高了網(wǎng)絡(luò)對(duì)小目標(biāo)和遮擋目標(biāo)特征敏感度。
本文設(shè)計(jì)的安全帽佩戴檢測(cè)系統(tǒng)的框架如圖1所示。首先對(duì)收集的圖片中佩戴安全帽人員進(jìn)行信息標(biāo)注,轉(zhuǎn)換成VOC2007格式。然后將數(shù)據(jù)樣本輸入到CNN中進(jìn)行特征提取。接著將卷積層的特征進(jìn)行融合輸入到RPN網(wǎng)絡(luò)中提取候選區(qū)域。最后將候選區(qū)域特征圖輸入到嵌入OHEM機(jī)制的ROIs網(wǎng)絡(luò)中挑選困難樣本并進(jìn)行目標(biāo)分類(lèi)和回歸操作。
圖1 安全帽佩戴檢測(cè)系統(tǒng)整體框架
Faster RCNN是Rens等提出的基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的通用目標(biāo)檢測(cè)網(wǎng)絡(luò)框架,在VOC2007數(shù)據(jù)集上的平均準(zhǔn)確率(mean average precision,mAP)[13]達(dá)到了73%。Faster RCNN網(wǎng)絡(luò)主要包含生成候選區(qū)域的區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)和進(jìn)行分類(lèi)回歸的Fast RCNN網(wǎng)絡(luò)。
RPN是以原始圖像提取的卷積特征圖作為輸入,輸出一系列目標(biāo)候選框,它的結(jié)構(gòu)如圖2所示。RPN利用滑動(dòng)窗口機(jī)制,每滑動(dòng)一次產(chǎn)生一個(gè)特征向量,特征向量輸入到全連接層中用于判斷目標(biāo)的位置和類(lèi)別,每個(gè)滑動(dòng)窗口可預(yù)測(cè)多個(gè)候選區(qū)域?;瑒?dòng)窗口映射的低維的短向量,輸入到兩個(gè)并行的全連接層中,一個(gè)網(wǎng)絡(luò)層輸出所屬類(lèi)別和概率,另一個(gè)網(wǎng)絡(luò)層輸出候選框位置的坐標(biāo)回歸值。
圖2 RPN網(wǎng)絡(luò)
RPN訓(xùn)練過(guò)程中,每個(gè)候選框都有一個(gè)二值標(biāo)簽,與某個(gè)真實(shí)目標(biāo)區(qū)域框的IoU(intersection-over-union)大于0.7的是正標(biāo)簽,小于0.3的候選框是負(fù)標(biāo)簽。圖像的損失函數(shù)定義如式(1)所示[7],定義(1)~定義(3)請(qǐng)參考文獻(xiàn)[7]
(1)
分類(lèi)的損失函數(shù)Lcls定義如下
(2)
回歸的損失函數(shù)Lreg定義如下
(3)
其中,R是smoothL1函數(shù),smoothL1函數(shù)如式(4)所示
(4)
Faster RCNN將原始圖片和RPN產(chǎn)生的對(duì)應(yīng)目標(biāo)候選區(qū)域框作為Fast RCNN的輸入來(lái)檢測(cè)佩戴安全帽人員。在進(jìn)行Faster RCNN網(wǎng)絡(luò)訓(xùn)練時(shí),將標(biāo)注有佩戴安全帽人員等相關(guān)信息的數(shù)據(jù)集作為輸入,通過(guò)卷積池化等操作獲得感興趣區(qū)域的特征向量,然后輸入到Softmax和目標(biāo)框回歸中,產(chǎn)生所屬類(lèi)別概率和區(qū)域坐標(biāo)。
Faster RCNN網(wǎng)絡(luò)在訓(xùn)練階段,由于訓(xùn)練數(shù)據(jù)集中佩戴安全帽人員占整張圖片區(qū)域比例可能較小,造成RPN產(chǎn)生的候選區(qū)域前景和背景比例失衡,且存在較多無(wú)效的候選區(qū)域,不利于網(wǎng)絡(luò)參數(shù)的更新。在檢測(cè)階段,會(huì)受到佩戴安全帽人員目標(biāo)尺度的影響,對(duì)小目標(biāo)和遮擋的目標(biāo)檢測(cè)效果不佳。因此,本文在Faster RCNN算法基礎(chǔ)上引入多層卷積特征融合技術(shù)和在線困難樣本挖掘策略。改進(jìn)后的Faster RCNN網(wǎng)絡(luò)框架如圖3所示。
圖3 改進(jìn)的Faster RCNN框架
1.2.1 多層卷積特征融合
Faster RCNN在進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí)主要包含兩個(gè)步驟:RPN產(chǎn)生目標(biāo)候選區(qū)域和候選區(qū)域的分類(lèi)回歸。其中,RPN產(chǎn)生的候選區(qū)域質(zhì)量對(duì)后續(xù)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測(cè)至關(guān)重要。RPN使用特征提取網(wǎng)絡(luò)最后一層的特征圖作為輸入,對(duì)特征圖進(jìn)行池化,產(chǎn)生固定大小的特征圖,送入后續(xù)網(wǎng)絡(luò)中進(jìn)行分類(lèi)回歸操作,通常對(duì)小目標(biāo)檢測(cè)效果不佳。這是因?yàn)檫M(jìn)行ROI池化操作的時(shí)候只有一個(gè)層級(jí)的特征圖,例如,VGG-16模型從“conv5”層進(jìn)行ROI池化,該層的步長(zhǎng)為16,當(dāng)目標(biāo)尺寸小于16像素時(shí),即使候選區(qū)域是正確的,在conv5層中投影的ROI池化區(qū)域也小于1像素。因此,基于一個(gè)像素的信息,分類(lèi)器很難預(yù)測(cè)目標(biāo)類(lèi)別和區(qū)域位置。而且隨著卷積層變深,相應(yīng)特征圖中的每個(gè)像素在候選區(qū)域外收集越來(lái)越多的卷積信息。因此,如果ROI非常小,提取到的ROI區(qū)域之外信息占較高比例。所以,僅使用最后一個(gè)卷積層的特征圖并不適用于區(qū)域面積較小的ROI。
卷積神經(jīng)網(wǎng)絡(luò)中深層特征具有較強(qiáng)的語(yǔ)義特征,感受野也較大,是一種全局信息。淺層特征擁有更強(qiáng)的像素細(xì)節(jié)信息,是一種局部信息。本文將多層卷積特征融合技術(shù)引入Faster RCNN中,將淺層和深層的卷積特征進(jìn)行融合,使得產(chǎn)生的候選區(qū)域特征同時(shí)具備像素信息和語(yǔ)義信息。具體實(shí)現(xiàn)過(guò)程如圖4所示。首先,將RPN產(chǎn)生的候選區(qū)域同時(shí)映射到conv3層、conv4層和conv5層,得到位于這3層的區(qū)域特征圖。然后,將3個(gè)層級(jí)的特征圖分別進(jìn)行L2正則化并送入后續(xù)網(wǎng)絡(luò)中實(shí)現(xiàn)安全帽佩戴檢測(cè)和位置回歸。
圖4 特征融合
為了在多個(gè)尺度上擴(kuò)展目標(biāo)區(qū)域的深度特征,需要在ROI池化之后組合3個(gè)特征。實(shí)際上,每一層特征圖通道數(shù)和特征映射像素的范數(shù)通常是不同的。所以,不能直接地連接3層ROI池化張量,因?yàn)樘卣鲌D規(guī)模差異對(duì)于以下層中的權(quán)重來(lái)說(shuō)太大而無(wú)法重新調(diào)整和微調(diào)。因此,本文在特征連接之前對(duì)每個(gè)ROI池張量使用L2正則化。
1.2.2 在線困難樣本挖掘策略
Faster RCNN在訓(xùn)練過(guò)程中RPN會(huì)產(chǎn)生一系列目標(biāo)候選區(qū)域,這些候選區(qū)域會(huì)存在正負(fù)樣本不均衡問(wèn)題,這導(dǎo)致輸入到后續(xù)目標(biāo)檢測(cè)網(wǎng)絡(luò)的前景和背景比例失衡,因此原始Faster RCNN隨機(jī)從產(chǎn)生的候選區(qū)域中隨機(jī)挑選正負(fù)樣本并設(shè)置比例為1∶3來(lái)克服比例失衡對(duì)網(wǎng)絡(luò)性能帶來(lái)的影響。但是,隨機(jī)挑選的樣本中包含了大量無(wú)效的正負(fù)樣本,使得模型參數(shù)更新緩慢,大大降低了檢測(cè)效率。
正負(fù)樣本數(shù)量的不均衡和樣本的隨機(jī)挑選造成網(wǎng)絡(luò)的特征表達(dá)能力差和對(duì)小目標(biāo)的檢測(cè)性能不佳。因此,本文將OHEM引入到Faster RCNN中,在保證實(shí)時(shí)性的同時(shí),不需人為設(shè)定正負(fù)樣本比例,可自動(dòng)挑選具有多樣性和高損耗的困難樣本,提高網(wǎng)絡(luò)檢測(cè)效果。將ROI池化層后面網(wǎng)絡(luò)部分稱(chēng)為ROI網(wǎng)絡(luò),引入在線困難樣本挖掘方法后的Faster RCNN將原始的一個(gè)ROI網(wǎng)絡(luò)擴(kuò)展為兩個(gè)共享網(wǎng)絡(luò)參數(shù)的ROI網(wǎng)絡(luò)(一個(gè)是只讀ROI網(wǎng)絡(luò),一個(gè)是標(biāo)準(zhǔn)ROI網(wǎng)絡(luò))。主要傳遞過(guò)程為:對(duì)于一個(gè)輸入圖像的第t次的SGD迭代,首先使用卷積網(wǎng)絡(luò)計(jì)算一個(gè)卷積特征圖,然后ROI網(wǎng)絡(luò)使用這個(gè)特征圖和所有的輸入ROIs代替了挑選的小批量輸入,做一個(gè)前向傳播,輸入到只讀ROI網(wǎng)絡(luò)中。然后,計(jì)算當(dāng)前網(wǎng)絡(luò)損失,損失較大的樣本被挑選出來(lái),構(gòu)建困難樣本批次。然后將困難樣本輸入到標(biāo)準(zhǔn)ROI網(wǎng)絡(luò)(圖3虛線部分)進(jìn)行目標(biāo)分類(lèi)和位置回歸并進(jìn)行網(wǎng)絡(luò)參數(shù)的更新。由于只有少量的ROIs被選擇用于更新模型,后向傳播的消耗較小。引入在線困難樣本挖掘方法后的Faster RCNN在進(jìn)行網(wǎng)絡(luò)訓(xùn)練的過(guò)程中實(shí)現(xiàn)了自動(dòng)對(duì)困難樣本的挖掘,不需要設(shè)置正負(fù)樣本數(shù)量比例,更有針對(duì)性。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),在線困難樣本挖掘策略可以增強(qiáng)算法的判別能力,提高網(wǎng)絡(luò)檢測(cè)精度。
實(shí)驗(yàn)所用數(shù)據(jù)集是來(lái)自VOC2012數(shù)據(jù)集[14]、互聯(lián)網(wǎng)和實(shí)際施工場(chǎng)景,共計(jì)7000張,包含各種環(huán)境條件下的施工場(chǎng)所工人的監(jiān)控圖片,如圖5所示。并根據(jù)實(shí)驗(yàn)要求轉(zhuǎn)換成VOC2007數(shù)據(jù)集格式進(jìn)行訓(xùn)練。實(shí)驗(yàn)環(huán)境:GPU:GeForce GTX 1080Ti,CUDA8.0,Ubuntu16.04,內(nèi)存12 GB。網(wǎng)絡(luò)部分選擇主流的深度學(xué)習(xí)框架caffe作為實(shí)驗(yàn)平臺(tái)。
圖5 樣本數(shù)據(jù)
本文實(shí)驗(yàn)在收集的數(shù)據(jù)集上進(jìn)行方法評(píng)估,以下實(shí)驗(yàn)用于驗(yàn)證提出方法的有效性。
(1)不同安全帽佩戴檢測(cè)方法的檢測(cè)效果
為了驗(yàn)證本文提出方法的有效性,利用實(shí)驗(yàn)數(shù)據(jù)分別對(duì)原始Faster RCNN和改進(jìn)后的Faster RCNN進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 兩種算法的檢測(cè)效果對(duì)比
圖6中的圖(a)、圖(b)分別是原始Faster RCNN網(wǎng)絡(luò)模型和改進(jìn)后的Faster RCNN網(wǎng)絡(luò)模型的安全帽佩戴檢測(cè)的效果圖??梢杂^察到,相對(duì)于圖(a),圖(b)可以很好地檢測(cè)出佩戴安全帽人員,且可以檢測(cè)到更多的遮擋目標(biāo)和小目標(biāo),檢測(cè)目標(biāo)的位置準(zhǔn)確,邊界框完整。
(2)不同模型的檢測(cè)結(jié)果
為了驗(yàn)證本文提出改進(jìn)方法的有效性,在實(shí)驗(yàn)數(shù)據(jù)上進(jìn)一步實(shí)驗(yàn)驗(yàn)證。本部分實(shí)驗(yàn)復(fù)現(xiàn)了原始的Faster RCNN網(wǎng)絡(luò)模型、1.2.1節(jié)的多層卷積特征融合技術(shù)、1.2.2節(jié)的在線困難樣本挖掘技術(shù)以及本文方法。不同改進(jìn)模型在實(shí)驗(yàn)數(shù)據(jù)上的檢測(cè)結(jié)果見(jiàn)表1。
表1 不同網(wǎng)絡(luò)模型的檢測(cè)效果
從表1可以看出不同改進(jìn)方法對(duì)網(wǎng)絡(luò)檢測(cè)結(jié)果的影響。原始Faster RCNN網(wǎng)絡(luò)模型的安全帽佩戴檢測(cè)準(zhǔn)確率為87.57%,使用多層卷積特征融合技術(shù)后的Faster RCNN網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率提高了2.06%,這是因?yàn)橥ㄟ^(guò)將淺層網(wǎng)絡(luò)像素信息和深層網(wǎng)絡(luò)語(yǔ)義信息想融合,產(chǎn)生的候選區(qū)域特征同時(shí)具備像素信息和語(yǔ)義信息,特征更加全面,更能準(zhǔn)確定位遮擋目標(biāo)和小目標(biāo)。在原始Faster RCNN網(wǎng)絡(luò)中引入在線困難樣本挖掘技術(shù),檢測(cè)準(zhǔn)確率提高了1.64%,這是因?yàn)楸疚膶⒃诰€困難樣本挖掘機(jī)制嵌入到網(wǎng)絡(luò)模型中,解決了網(wǎng)絡(luò)在訓(xùn)練過(guò)程中的負(fù)樣本空間過(guò)大問(wèn)題,增強(qiáng)了網(wǎng)絡(luò)的分辨力。而本文方法相對(duì)于原始Faster RCNN網(wǎng)絡(luò)檢測(cè)準(zhǔn)確率提高了4.73%,達(dá)到了92.30%。實(shí)驗(yàn)結(jié)果顯示MCFF和OHEM均能提高Faster RCNN的檢測(cè)精度。
(3)采用不同方法檢測(cè)單張相同圖片的時(shí)間對(duì)比
實(shí)驗(yàn)使用YOLO、SSD、原始的Faster RCNN以及本文提出的改進(jìn)Faster RCNN算法進(jìn)行訓(xùn)練,準(zhǔn)確率以及測(cè)試單張圖片的速率見(jiàn)表2。
表2 不同算法檢測(cè)單張圖片時(shí)間對(duì)比
YOLO的網(wǎng)絡(luò)結(jié)構(gòu)較為簡(jiǎn)單,檢測(cè)速度較高,但檢測(cè)精度相對(duì)其它算法較低。SSD是一個(gè)單一的回歸網(wǎng)絡(luò),檢測(cè)精度相對(duì)較高。本文提出方法在Faster RCNN基礎(chǔ)上引入多層卷積特征融合和在線困難樣本挖掘方法。從表2可以看出,本文提出方法在檢測(cè)速率方面劣于基于回歸網(wǎng)絡(luò)的算法,但是精度占較大優(yōu)勢(shì),達(dá)到92.30%。
(4)不同環(huán)境條件下改進(jìn)的Faster RCNN的安全帽佩戴檢測(cè)效果
挑選不同環(huán)境條件下圖像來(lái)測(cè)試改進(jìn)Faster RCNN的檢測(cè)性能,檢測(cè)結(jié)果如圖7所示。可以看出本文提出算法對(duì)光線不佳場(chǎng)景如圖7中的圖(a),目標(biāo)尺寸較小場(chǎng)景如圖7中的圖(a)、圖(b),目標(biāo)尺寸差距較大場(chǎng)景如圖7中的圖(a)、圖(c),目標(biāo)模糊場(chǎng)景如圖7中的圖(d),部分遮擋目標(biāo)場(chǎng)景如圖7中的圖(d)、圖(e)以及多目標(biāo)檢測(cè)場(chǎng)景如圖7中的圖(f)均有較好的檢測(cè)效果。實(shí)驗(yàn)結(jié)果表明,本文提出的算法適用于不同環(huán)境條件下的安全帽佩戴檢測(cè),對(duì)小目標(biāo)和遮擋目標(biāo)檢測(cè)具有較好的魯棒性。
圖7 改進(jìn)Faster RCNN的安全帽佩戴檢測(cè)效果
本文提出的改進(jìn)Faster RCNN安全帽佩戴檢測(cè)算法能有效檢測(cè)小目標(biāo)和部分遮擋目標(biāo),提高檢測(cè)準(zhǔn)確率。該算法在原始Faster RCNN算法基礎(chǔ)上引入多層卷積特征融合技術(shù),使得提取出的目標(biāo)區(qū)域特征結(jié)合了高級(jí)語(yǔ)義特征和低級(jí)像素特征解決了目標(biāo)尺度問(wèn)題。在目標(biāo)檢測(cè)階段,在線困難樣本挖掘方法用于選擇檢測(cè)模型訓(xùn)練的有效例子。實(shí)驗(yàn)結(jié)果表明,本文方法對(duì)安全帽的佩戴檢測(cè)精度較原始Faster RCNN有顯著提高,增強(qiáng)了小目標(biāo)和遮擋目標(biāo)在不同環(huán)境條件下檢測(cè)的魯棒性。在未來(lái)的工作中,將著重研究網(wǎng)絡(luò)的優(yōu)化,檢測(cè)速度和模型尺寸等。