王剛偉 張志佳















摘? 要:為了快速檢測車輛前排乘員是否系安全帶,提出了一種改進(jìn)YOLOv4-tiny網(wǎng)絡(luò)及MobileNeXt網(wǎng)絡(luò)的安全帶檢測算法。針對車輛及前排擋風(fēng)玻璃的形狀和大小,設(shè)計了一個結(jié)合深度可分離卷積、檢測頭可重構(gòu)的輕量化YOLOv4-tiny目標(biāo)檢測框架,通過設(shè)置不同數(shù)量檢測頭的兩個網(wǎng)絡(luò)分別用于車輛和擋風(fēng)玻璃檢測。在MobileNeXt網(wǎng)絡(luò)中,通過在沙漏殘差模塊中添加SAM空間注意力模塊實現(xiàn)安全帶檢測。在車輛數(shù)據(jù)集、擋風(fēng)玻璃數(shù)據(jù)集、安全帶數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試,實驗結(jié)果表明,車輛檢測網(wǎng)絡(luò)在平均精度(mean Average-Precision, mAP)為99.69%時速度為145 幀/秒,擋風(fēng)玻璃檢測網(wǎng)絡(luò)在平均精度為99.88%時速度為163 幀/秒,安全帶檢測網(wǎng)絡(luò)在準(zhǔn)確率(Accuracy, ACC)為93.13%時速度為77 幀/秒。本文算法在兼顧速度的同時具有較高的檢測精度。
關(guān)鍵詞:安全帶檢測;目標(biāo)檢測;深度可分離卷積
中圖分類號:TP391.41? ? ?文獻(xiàn)標(biāo)識碼:A
Research on Seat Belt Detection Algorithm for Front Seat Occupants of Vehicles
WANG Gangwei ZHANG Zhijia
Abstract: In order to quickly detect whether the front seat occupants of the vehicle are wearing seat belts, this paper proposes a seat belt detection algorithm based on the improved YOLOv4-tiny network and MobileNeXt network. According to the shape and size of the vehicle and its front windshield, a lightweight YOLOv4-tiny target detection framework is designed that combines depthwise separable convolution and reconfigurable detection head. Two networks with different number of detection heads are set for detecting the vehicle and its windshield respectively. In the MobileNeXt network, seat belt detection is achieved by adding a SAM (Spatial Attention Module) to the hourglass residual module. Training and testing are performed on the vehicle dataset, windshield dataset, and seat belt dataset. Experimental results show that the vehicle detection network achieves a speed of 145 fps (frames per second) with a mean Average-Precision (mAP) of 99.69%. The windshield detection network achieves a speed of 163 fps with a mAP of 99.88%. The speed of the seat belt detection network is 77 fps with an accuracy (ACC) of 93.13%. The proposed algorithm has high detection accuracy while considering the speed.
Keywords: seat belt detection; object detection; depthwise separable convolution
1? ?引言(Introduction)
近年來,由于公路上的機(jī)動車數(shù)量不斷增加導(dǎo)致交通事故頻發(fā)。發(fā)生交通事故時,只有佩戴安全帶才能夠有效保障駕乘人員的生命安全。由于數(shù)據(jù)量大,人工判斷乘員是否系安全帶成本高,效率低,工作量大。目前,計算機(jī)視覺技術(shù)發(fā)展迅速,取得了突破性的進(jìn)展,使用圖像識別的方式來檢測乘員是否系安全帶成為必然趨勢。
車輛檢測的研究方法包括傳統(tǒng)方法的檢測[1-2]和深度學(xué)習(xí)的方法檢測[1,3-4]。傳統(tǒng)方法包括:(1)基于先驗知識的檢測方法。(2)基于立體視覺的檢測方法。(3)基于運動的檢測方法。(4)基于差分的檢測方法。基于深度學(xué)習(xí)的方法有:(1)兩階段的R-CNN系列網(wǎng)絡(luò)檢測方法。(2)單階段的YOLO系列網(wǎng)絡(luò)檢測方法。
安全帶檢測的研究方法包括傳統(tǒng)方法的檢測和深度學(xué)習(xí)的方法檢測[5-6]。傳統(tǒng)方法主要是基于特征的匹配方法。深度學(xué)習(xí)的方法包括語義分割檢測[7-8]與分類檢測。
目前,安全帶檢測已經(jīng)取得了初步的進(jìn)展,但車輛和擋風(fēng)玻璃檢測速度還有待提高,不同場景下提高安全帶檢測的精度還有待深入研究。在車輛和擋風(fēng)玻璃檢測時,本文使用了YOLOv4-tiny網(wǎng)絡(luò),并在不同的應(yīng)用場景下對網(wǎng)絡(luò)做出改進(jìn),在不降低精度的情況下有效降低了網(wǎng)絡(luò)的參數(shù),提高了網(wǎng)絡(luò)的運行效率。安全帶檢測時,在MobileNeXt網(wǎng)絡(luò)中的沙漏殘差模塊中使用了SAM空間注意力機(jī)制,在僅僅增加少量參數(shù)的情況下帶來了1.09%的精度提升。
2? 車輛及擋風(fēng)玻璃檢測(Vehicle and windshield detection)
由于交通監(jiān)控場景中車輛移動速度快,為了實時檢測駕乘人員是否佩戴安全帶,需要快速地定位車輛的位置。相比兩階段的目標(biāo)檢測算法而言,單階段的YOLO算法能夠在精度和速度上達(dá)到平衡,在實際場景下得到廣泛應(yīng)用。本文在車輛和擋風(fēng)玻璃檢測時使用YOLO算法實現(xiàn)快速檢測,其檢測流程如圖1所示。
2.1? ?車輛檢測
YOLO算法檢測目標(biāo)雖然具有高效性,但與兩階段的算法相比,在檢測小目標(biāo)時,其存在很大的不足。安全帶檢測時,相機(jī)的采集視野固定,圖像中的車輛尺寸大,因此可忽略YOLO算法在小目標(biāo)檢測上的劣勢。本文僅針對近距離的車輛進(jìn)行駕乘人員是否佩戴安全帶的檢測。由于檢測的目標(biāo)尺寸大,在平衡精度和速度的前提下,本文使用YOLOv4-tiny網(wǎng)絡(luò)進(jìn)行車輛檢測,并且在其中引入了深度可分離卷積,提高了網(wǎng)絡(luò)的檢測速度,如圖2所示為結(jié)合深度可分離卷積的YOLOv4-tiny網(wǎng)絡(luò)結(jié)構(gòu)。
2.2? ?擋風(fēng)玻璃檢測
車輛中的擋風(fēng)玻璃具有幾何形狀規(guī)則、目標(biāo)大、易檢測等特點,因此,本文保留了YOLOv4-tiny網(wǎng)絡(luò)兩個檢測頭中分辨率低的檢測頭用于擋風(fēng)玻璃的檢測,在檢測頭處使用深度可分離卷積替換3×3卷積。如圖3所示為擋風(fēng)玻璃檢測網(wǎng)絡(luò)結(jié)構(gòu)。
3? ?安全帶檢測(Seat belt detection)
3.1? ?MobileNeXt網(wǎng)絡(luò)
相比MobileNetV2、MobileNetV3等輕量化網(wǎng)絡(luò),MobileNeXt網(wǎng)絡(luò)的沙漏殘差模塊中使用兩次1×1卷積編碼通道間的信息,兩次深度可分離卷積保留了更多的空域信息,有助于檢測性能的提升。如圖4所示為MobileNeXt網(wǎng)絡(luò)結(jié)構(gòu)。
3.2? ?引入SAM模塊的MobileNeXt網(wǎng)絡(luò)
安全帶檢測時,在MobileNeXt網(wǎng)絡(luò)的沙漏殘差模塊中引入SAM空間注意力模塊能夠?qū)⒃瓐D中的空間信息轉(zhuǎn)換到另一個空間中并保留圖像中的關(guān)鍵信息。引入SAM空間注意力模塊的MobileNeXt網(wǎng)絡(luò)如圖5所示。
4? 實驗結(jié)果與分析(Experimental results and analysis)
4.1? ?數(shù)據(jù)集
本文的實驗數(shù)據(jù)來源于交通監(jiān)控的圖像,對圖像使用開源標(biāo)注軟件制作成如表1所示的數(shù)據(jù)集。
4.2? ?實驗環(huán)境與評價指標(biāo)
實驗中,軟件環(huán)境的操作系統(tǒng)為Ubuntu 20.04,深度學(xué)習(xí)軟件框架為Pytorch;硬件環(huán)境的CPU為Intel(R) Core(TM) i5-8400 2.80 GHz×6,內(nèi)存8 GB;GPU為Nvidia(R) GTX(R) 1050TI。
本文中安全帶檢測采用準(zhǔn)確率(ACC)、精準(zhǔn)率(PPV)、召回率(TPR)作為評價指標(biāo),如式(1)、式(2)、式(3)所示。
(1)
(2)
(3)
其中,TP表示模型檢測為正樣本并且真值是正樣本;FP表示模型檢測為正樣本但真值不是正樣本;FN表示模型檢測為負(fù)樣本但真值不是負(fù)樣本;TN表示模型檢測為負(fù)樣本并且真值是負(fù)樣本。
4.3? ?車輛檢測實驗
在車輛數(shù)據(jù)集上使用YOLOv4、YOLOv5S、YOLOv4-tiny等基礎(chǔ)網(wǎng)絡(luò)進(jìn)行實驗,結(jié)果如表2所示。
表2中,YOLOv4-tiny-DW-1為單個檢測頭及使用深度可分離卷積的YOLOv4-tiny網(wǎng)絡(luò);YOLOv4-tiny-DW為兩個檢測頭及使用深度可分離卷積的YOLOv4-tiny網(wǎng)絡(luò);MobileNetV2-v4-tiny、MobileNetV3-v4-tiny、MobileNeXt-v4-tiny分別為主干特征提取網(wǎng)絡(luò)為MobileNetV2、MobileNetV3、MobileNeXt的YOLOv4-tiny網(wǎng)絡(luò)。
表2數(shù)據(jù)表明,使用單檢測頭的YOLOv4-tiny-DW-1網(wǎng)絡(luò)會造成車輛大幅度漏檢。因此,本文使用YOLOv4-tiny-DW網(wǎng)絡(luò)進(jìn)行車輛檢測,檢測示例如圖6所示。
4.4? ?擋風(fēng)玻璃檢測實驗
在車輛數(shù)據(jù)集上快速定位出車輛后,截取每幅圖像中車輛的區(qū)域作為擋風(fēng)玻璃的數(shù)據(jù)集,使用YOLOv4-tiny網(wǎng)絡(luò)及替換主干特征提取網(wǎng)絡(luò)的YOLOv4-tiny網(wǎng)絡(luò)進(jìn)行實驗,結(jié)果如表3所示。
表3數(shù)據(jù)表明,YOLOv4-tiny-DW-1網(wǎng)絡(luò)與YOLOv4-tiny原網(wǎng)絡(luò)相比不僅沒有降低網(wǎng)絡(luò)的檢測精度,而且還將網(wǎng)絡(luò)的檢測速度從131 幀/秒增加到了163 幀/秒。本文使用YOLOv4-tiny-DW-1網(wǎng)絡(luò)進(jìn)行擋風(fēng)玻璃檢測,其檢測示例如圖7所示。
4.5? ?安全帶檢測
車輛中安全帶為一塊連續(xù)的區(qū)域,可通過語義分割網(wǎng)絡(luò)分割出安全帶區(qū)域,因此有研究人員使用語義分割進(jìn)行安全帶檢測。本文使用語義分割網(wǎng)絡(luò)與使用SAM空間注意力模塊的MobileNeXt網(wǎng)絡(luò)進(jìn)行實驗,得到如表4所示的數(shù)據(jù)。
實驗結(jié)果表明,當(dāng)安全帶與背景顏色相近、出現(xiàn)類似安全帶陰影區(qū)域時,使用安全帶語義分割會造成大量誤檢。而安全帶分類檢測更關(guān)注圖像的整體,受復(fù)雜背景的影響較小,檢測結(jié)果更穩(wěn)定,魯棒性更好。如圖8所示為圖像中出現(xiàn)陰影區(qū)域時,安全帶語義分割與安全帶分類檢測的典型對比結(jié)果。圖8(a)—圖8(d)均為原圖,圖8(e)—8(h)為語義分割的檢測結(jié)果,圖8(i)—圖8(l)為語義分割錯誤的檢測乘員系安全帶的區(qū)域。以上場景在使用安全帶分類檢測時均正確檢測出乘員未系安全帶。
5? ?結(jié)論(Conclusion)
本文采用改進(jìn)的輕量化YOLOv4-tiny網(wǎng)絡(luò)快速檢測駕駛員和副駕駛區(qū)域,使用結(jié)合SAM空間注意力模塊的MobileNeXt網(wǎng)絡(luò)進(jìn)行安全帶的檢測。實驗表明,本文方法能夠快速地檢測乘員是否系安全帶,檢測的準(zhǔn)確率為93.13%,能夠滿足現(xiàn)代智能交通中安全帶識別的需求。
參考文獻(xiàn)(References)
[1] 吳天舒,張志佳,劉云鵬,等.結(jié)合YOLO檢測和語義分割的駕駛員安全帶檢測[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2019,31(01):126-131.
[2] 趙奇慧,劉艷洋,項炎平.基于深度學(xué)習(xí)的單階段車輛檢測算法綜述[J].計算機(jī)應(yīng)用,2020,40(S2):30-36.
[3] 李祥鵬,閔衛(wèi)東,韓清,等.基于深度學(xué)習(xí)的車牌定位和識別方法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2019,31(06):979-987.
[4] 凌艷,陳瑩.多尺度上下文信息增強(qiáng)的顯著目標(biāo)檢測全卷積網(wǎng)絡(luò)[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2019,31(11):
2007-2016.
[5] 霍星,費志偉,趙峰,等.深度學(xué)習(xí)在駕駛員安全帶檢測中的應(yīng)用[J].計算機(jī)科學(xué),2019,46(S1):182-187.
[6] 付春芬.基于深度學(xué)習(xí)的安全帶檢測方法研究[D].武漢:華中科技大學(xué),2015.
[7] 熊昌鎮(zhèn),智慧.多模型集成的弱監(jiān)督語義分割算法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2019,31(05):800-807.
[8] CHEN L C, PAPANDREOU G, KOKKINOS I, et al.
Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4):834-848.
作者簡介:
王剛偉(1996-),男,碩士生.研究領(lǐng)域:機(jī)器學(xué)習(xí),目標(biāo)檢測.
張志佳(1974-),男,博士,教授.研究領(lǐng)域:機(jī)器學(xué)習(xí),模式識別.