翟鑫 李昕
摘 要:在礦井生產(chǎn)中,作業(yè)環(huán)境復(fù)雜,安全生產(chǎn)風(fēng)險較大,而傳統(tǒng)的人工安全狀態(tài)檢測存在效率較低、漏檢率較高等問題。因此,本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)的下井人員安全狀態(tài)快速檢測方法。其間使用YOLOv3網(wǎng)絡(luò)進行安全帽、工作服、工作鞋的多類別目標(biāo)識別。試驗表明,相比于傳統(tǒng)人工檢測方法,此算法具備更高的檢測效率。在試驗中,平均精度均值(mAP)達到了90.05%的高準(zhǔn)確率,而且檢測幀率達到28幀/s,具備了實時檢測的能力。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);礦井生產(chǎn);安全狀態(tài)快速檢測
中圖分類號:TP391.41文獻標(biāo)識碼:A文章編號:1003-5168(2021)02-0008-04
Study on the Fast Detection Algorithm for the Safety State of Downhole Workers Based on Deep Learning
ZHAI Xin LI Xin
(School of Electrical & Information Engineering, Anhui University of Science and Technology,Huainan Anhui 232000)
Abstract: In mine production, the operating environment is complex and the safety production risk is relatively high. However, the traditional manual safety state detection has problems such as low efficiency and high missed detection rate. Therefore, this paper proposed a fast detection method for the safety status of downhole personnel based on convolutional neural network (CNN). In the meantime, YOLOv3 network was used for multi-category target recognition of helmets, work clothes and work shoes. Experiments show that compared with traditional manual detection methods, this algorithm has higher detection efficiency. In the experiment, the mean average precision (mAP) reached a high accuracy rate of 90.05%, and the detection frame rate reached 28 frames/s, which provided real-time detection capabilities.
Keywords: deep learning;CNN;mine production;rapid detection of security status
在礦井生產(chǎn)中,井下工作人員在井下面對著照明不良、路面坑洼、部分巷道有積水等各種復(fù)雜情況,正確穿戴工作服裝下井是勞動防護和安全生產(chǎn)的基本要求。下井前的安全檢查采用自動化方法,可以減少工作人員的工作負(fù)擔(dān),從而減少工作人員數(shù)量,降低企業(yè)經(jīng)濟負(fù)擔(dān)?;谏疃葘W(xué)習(xí)進行井下人員安全帽檢測的方法已被大量研究與應(yīng)用,文獻[1]使用Faster RCNN網(wǎng)絡(luò)進行工人安全帽檢測識別。在生產(chǎn)實際中,安全帽位于人體頭部位置,基本無遮擋,大多顏色明顯,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)能夠較為精準(zhǔn)地進行識別。但是,對于下井人員全身的安全狀態(tài)檢測鮮有研究,本文將使用YOLOv3網(wǎng)絡(luò),提出一種快速安全狀態(tài)檢測的方法。
近年來,隨著深度學(xué)習(xí)(Deep Learning)的快速發(fā)展,現(xiàn)實中的應(yīng)用也越來越廣泛,深度學(xué)習(xí)在NLP和CV領(lǐng)域取得了豐碩成果[2]。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)是一種在神經(jīng)生理學(xué)的啟發(fā)之下出現(xiàn)的,模擬人腦進行逐層特征提取的神經(jīng)網(wǎng)絡(luò)架構(gòu)[3]。其在計算機視覺方面表現(xiàn)出了巨大前景[4],在圖像分類、實例分割、目標(biāo)檢測等方面都得到廣泛的應(yīng)用[5-9]。YOLOv3是繼YOLOv1、YOLOv2之后的第三個YOLO網(wǎng)絡(luò)[10-12],目前工業(yè)生產(chǎn)中廣泛使用的目標(biāo)識別檢測方法在快速性和準(zhǔn)確性上能達到較好的平衡。本文考慮到此研究的實際應(yīng)用場景,選擇YOLOv3網(wǎng)絡(luò),以便向智能手機、嵌入式設(shè)備移植程序,進一步提高現(xiàn)場使用的靈活性[12]。
1 網(wǎng)絡(luò)架構(gòu)
YOLOv3是2018年提出的一個單階段(Single-stage)目標(biāo)檢測方法,采用端到端的網(wǎng)絡(luò)架構(gòu),是目前常用的目標(biāo)檢測算法中速度最快的。常用目標(biāo)檢測算法性能對比如表1所示。
表1為各算法在COCO數(shù)據(jù)集上的性能度量,COCO數(shù)據(jù)集全稱Microsoft Common Objects in Context,源于2014年Microsoft出資組織的Microsoft COCO數(shù)據(jù)比賽。目前,該數(shù)據(jù)集是目標(biāo)識別、檢測等領(lǐng)域的一個常用基準(zhǔn)數(shù)據(jù)集。表1中,mAP表示該算法架構(gòu)在所有類別上準(zhǔn)確性的平均值。
[mAP=1NAP(c)]? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
式中,[N]為類別數(shù)量;[AP(c)]為每個類別上的平均準(zhǔn)確度。
對于輸入圖像,YOLOv3算法將每張圖像分為S×S的網(wǎng)格,如圖1所示。對于每個網(wǎng)格,分別計算3種尺寸不同的Bounding boxes的目標(biāo)得分、4個框體坐標(biāo)以及80個類別得分,從而完成目標(biāo)檢測[12]。
YOLOv3的特征提取網(wǎng)絡(luò)采用新的DarkNet-53,該網(wǎng)絡(luò)結(jié)構(gòu)包含23個殘差塊(Residual Block),網(wǎng)絡(luò)中只使用1×1和3×3大小的卷積核,并且網(wǎng)絡(luò)中不含有池化層和全連接層。為了抑制網(wǎng)絡(luò)過擬合現(xiàn)象,DarkNet-53在每一個卷積層后均使用了批歸一化(Batch Normalization)和隨機失活(Dropout)。相比ResNet-101和ResNet-152[13],DarkNet-53的BFLOP(Billion Floating Point Operations)更小,但分類準(zhǔn)確度相當(dāng)。其在ImageNet[14]數(shù)據(jù)集上的性能對比如表2所示。
由表2可知,相比于ResNet-101,DarkNet-53的檢測速度快147%;相比于ResNet-152,DarkNet-53的檢測速度快210%。
YOLOv3使用了多類別尺度融合的方式進行預(yù)測,采用了類似FPN的上采樣和多尺度融合方法。綜合檢測提高了目標(biāo)識別的準(zhǔn)度。如圖2所示,使用3種尺寸的目標(biāo)框(BoundingBoxes)檢測目標(biāo),相比于YOLOv1、YOLOv2,提高了對小目標(biāo)的識別能力。
YOLOv3采用多標(biāo)簽分類,不能夠使用softmax函數(shù)來計算分類可能性。因此,YOLOv3使用邏輯分類交叉熵?fù)p失(Logistic Classification with Cross-entropy)。此外,YOLOv3還使用坐標(biāo)損失函數(shù)和置信度損失函數(shù),YOLOv3總的損失函數(shù)由以上三類相加得到,表達式如(2)式所示。
[loss=12i=110 647λ×2-Tw×Th×r∈(x,y,w,h)Tr-Pr2+r=0k-1r==Tclass?1:0-Pclass2+Tconf-Pconf2]? ? ? (2)
式中,[λ]在目標(biāo)框中存在物體時置1,否則置0;[Tw]和[Th]代表標(biāo)注圖像中目標(biāo)框的位置;[T]、[Pr]分別表示目標(biāo)框大小的真實值和預(yù)測值;[Tclass]、[Pclass]分別表示類別的真實值和預(yù)測值;[Tconf]、[Pconf]分別表示置信度的真實值和預(yù)測值。
因此,本文試驗中所用損失函數(shù)如(3)式所示。
[L= lossh+lossc+losss]? ? ? ? ? ? ? ? ? ? (3)
式中,[lossh]、[lossc]、[losss]分別代表安全帽、工作服、工作鞋的損失函數(shù)。
2 試驗
2.1 數(shù)據(jù)集及標(biāo)注
使用深度學(xué)習(xí)方法進行目標(biāo)檢測時,數(shù)據(jù)集的好壞起著決定性作用,但是在下井人員安全狀態(tài)檢測方面并沒有公開數(shù)據(jù)集可用,因此本文制作了一套試驗用安全狀態(tài)檢測數(shù)據(jù)集。本文使用煤礦礦井出入口的監(jiān)控視頻手工提取出2 000余張圖片,使用labelimg圖像標(biāo)注工具程序?qū)φ掌邢戮藛T的安全帽、工作服、工作鞋進行了標(biāo)注,如圖3所示。
使用lableimg標(biāo)注后會生成記錄有目標(biāo)框坐標(biāo)的xml文件,網(wǎng)絡(luò)訓(xùn)練時讀取圖片對應(yīng)的xml文件即可。
2.2 試驗設(shè)計
本試驗將數(shù)據(jù)集劃分為3類。第一類是訓(xùn)練集,用于網(wǎng)絡(luò)參數(shù)訓(xùn)練,第二類是驗證集,用于驗證網(wǎng)絡(luò)中的超參數(shù)是否合適,第三類是指最后留出少量圖片,作為網(wǎng)絡(luò)驗證使用。為了提高網(wǎng)絡(luò)的魯棒性,在劃分?jǐn)?shù)據(jù)集時使用隨機數(shù)法決定圖片的劃分。
為了抑制因訓(xùn)練樣本較少帶來的過擬合,本文在訓(xùn)練階段使用了圖像增強,對訓(xùn)練集的圖片進行了角度旋轉(zhuǎn)、飽和度調(diào)整、曝光量調(diào)整和色調(diào)調(diào)整等,使得網(wǎng)絡(luò)在訓(xùn)練中可以得到更好的泛化能力。
2.3 試驗設(shè)備
卷積網(wǎng)絡(luò)的計算量較大,使用CPU進行計算的速度較慢,通常情況下網(wǎng)絡(luò)的訓(xùn)練需要使用GPU進行,利用cuda驅(qū)動加速網(wǎng)絡(luò)訓(xùn)練過程。本文的網(wǎng)絡(luò)訓(xùn)練在Ubuntu19.04系統(tǒng)上進行,YOLOv3使用了原作者的darkNet框架,darkNet是一個利用C語言開發(fā)的小型框架,運算速度上優(yōu)于常用的tensorflow和pytorch框架。
本文使用的深度學(xué)習(xí)工作站配置如表3所示。
2.4 訓(xùn)練過程與結(jié)果
由于本文標(biāo)注數(shù)據(jù)集規(guī)模較小,直接用來訓(xùn)練網(wǎng)絡(luò)效果不佳,且訓(xùn)練耗時較大,因此本文使用YOLOv3原作者在Imagenet數(shù)據(jù)集上預(yù)訓(xùn)練的darknet53.conv.74權(quán)重參數(shù)。Imagenet數(shù)據(jù)集是斯坦福大學(xué)等設(shè)立的分類定位挑戰(zhàn)比賽所采用的數(shù)據(jù)集,該數(shù)據(jù)集包含1 000個物體類別,是目前使用最廣泛的圖像數(shù)據(jù)集。
試驗發(fā)現(xiàn),訓(xùn)練中設(shè)置的初始學(xué)習(xí)率為0.001,訓(xùn)練迭代4 000次,分別在3 200次和3 600次將學(xué)習(xí)率乘以0.1,可以使得網(wǎng)絡(luò)收斂速度更快。為了提高識別的準(zhǔn)確性,網(wǎng)絡(luò)使用分辨率608×608的輸入圖片。優(yōu)化器采用Adam梯度下降法,動量設(shè)為0.9,訓(xùn)練時設(shè)定批量值(batch)為128,整個訓(xùn)練可以在4 h左右完成,訓(xùn)練過程中損失(loss)下降較為平穩(wěn),證明本文所選用超參數(shù)較為合理。試驗結(jié)果如圖4所示。
測試得到的mAP為90.05%,繪制的PR曲線如圖4(c)所示。
如圖5所示,本文訓(xùn)練的YOLOv3網(wǎng)絡(luò)可以較好地進行安裝狀態(tài)檢測識別,測試過程中,檢測幀率可以達到28幀/s,具備了近于實時檢測的能力,且正確率較高,搭配相應(yīng)的應(yīng)用軟件即可構(gòu)成一套能夠?qū)嶋H使用的下井人員安全狀態(tài)檢測系統(tǒng)。
3 結(jié)語
本文設(shè)計的基于深度學(xué)習(xí)的下井人員安全狀態(tài)快速檢測方法使用YOLOv3網(wǎng)絡(luò),能夠較為準(zhǔn)確識別出安全帽、工作服、工作鞋的穿戴。試驗結(jié)果表明,其在準(zhǔn)確度與快速性上均取得了較好的結(jié)果,具備了在礦井現(xiàn)場實際試用的條件。但是,由于試驗使用的數(shù)據(jù)集較小,圖像均是經(jīng)過手工挑選的質(zhì)量較好的照片,在現(xiàn)場,各種原因可能造成識別準(zhǔn)確率的下降。未來進一步的研究將著手增加算法的魯棒性,提高神經(jīng)網(wǎng)絡(luò)的泛化能力,從而在人員下井前更好地識別出不適合帶入井下的物品,減少礦井生產(chǎn)中的安全風(fēng)險。
參考文獻:
[1]徐守坤,王雅如,顧玉宛,等.基于改進Faster RCNN的安全帽佩戴檢測研究[J].計算機應(yīng)用研究,2020(3):267-271.
[2]張軍陽,王慧麗,郭陽,等.深度學(xué)習(xí)相關(guān)研究綜述[J].計算機應(yīng)用研究,2018(7):1921-1928.
[3]Hadji I,Wildes R P.What Do We Understand about Convolutional Networks?[Z].2018.
[4]李國和,喬英漢,吳衛(wèi)江,等.深度學(xué)習(xí)及其在計算機視覺領(lǐng)域中的應(yīng)用[J].計算機應(yīng)用研究,2019(12):3521-3529.
[5]Howard A,Zhu M L,Zhmoginov Andrey,et al.Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.2018.
[6]Badrinarayanan V,Kendall A,Cipolla R.SegNet:a Deep Convolutional Encoder-Decoder Architecture for Scene Segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017(99):1.
[7]Ren S,He Kaiming,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015(6):1137-1149.
[8]Liu W,Anguelov D,Erhan D,et al.SSD:single shot multibox detector[C]//European Conference on Computer Vision.2016.
[9]Nong S,Ni Z H.Gesture recognition based on R-FCN in complex scenes[J].Huazhong Keji Daxue Xuebao,2017(10):54-58.
[10]Redmon J,Divvala S,Girshick R,et al.You only look once:unified,real-time object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition.2016.
[11]Redmon J,F(xiàn)arhadi A.YOLO9000:better,faster,stronger[C]//IEEE Conference on Computer Vision and Pattern Recognition.2017.
[12]Redmon J,F(xiàn)arhadi A.YOLOv3:an incremental improvement[C]//IEEE Conference on Computer Vision and Pattern Recognition.2018.
[13]He K,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition.2015.
[14]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems.2012.