翟鑫 李昕
摘 要:在礦井生產(chǎn)中,作業(yè)環(huán)境復(fù)雜,安全生產(chǎn)風(fēng)險(xiǎn)較大,而傳統(tǒng)的人工安全狀態(tài)檢測(cè)存在效率較低、漏檢率較高等問題。因此,本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)的下井人員安全狀態(tài)快速檢測(cè)方法。其間使用YOLOv3網(wǎng)絡(luò)進(jìn)行安全帽、工作服、工作鞋的多類別目標(biāo)識(shí)別。試驗(yàn)表明,相比于傳統(tǒng)人工檢測(cè)方法,此算法具備更高的檢測(cè)效率。在試驗(yàn)中,平均精度均值(mAP)達(dá)到了90.05%的高準(zhǔn)確率,而且檢測(cè)幀率達(dá)到28幀/s,具備了實(shí)時(shí)檢測(cè)的能力。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);礦井生產(chǎn);安全狀態(tài)快速檢測(cè)
中圖分類號(hào):TP391.41文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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)中,井下工作人員在井下面對(duì)著照明不良、路面坑洼、部分巷道有積水等各種復(fù)雜情況,正確穿戴工作服裝下井是勞動(dòng)防護(hù)和安全生產(chǎn)的基本要求。下井前的安全檢查采用自動(dòng)化方法,可以減少工作人員的工作負(fù)擔(dān),從而減少工作人員數(shù)量,降低企業(yè)經(jīng)濟(jì)負(fù)擔(dān)?;谏疃葘W(xué)習(xí)進(jìn)行井下人員安全帽檢測(cè)的方法已被大量研究與應(yīng)用,文獻(xiàn)[1]使用Faster RCNN網(wǎng)絡(luò)進(jìn)行工人安全帽檢測(cè)識(shí)別。在生產(chǎn)實(shí)際中,安全帽位于人體頭部位置,基本無遮擋,大多顏色明顯,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)能夠較為精準(zhǔn)地進(jìn)行識(shí)別。但是,對(duì)于下井人員全身的安全狀態(tài)檢測(cè)鮮有研究,本文將使用YOLOv3網(wǎng)絡(luò),提出一種快速安全狀態(tài)檢測(cè)的方法。
近年來,隨著深度學(xué)習(xí)(Deep Learning)的快速發(fā)展,現(xiàn)實(shí)中的應(yīng)用也越來越廣泛,深度學(xué)習(xí)在NLP和CV領(lǐng)域取得了豐碩成果[2]。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)是一種在神經(jīng)生理學(xué)的啟發(fā)之下出現(xiàn)的,模擬人腦進(jìn)行逐層特征提取的神經(jīng)網(wǎng)絡(luò)架構(gòu)[3]。其在計(jì)算機(jī)視覺方面表現(xiàn)出了巨大前景[4],在圖像分類、實(shí)例分割、目標(biāo)檢測(cè)等方面都得到廣泛的應(yīng)用[5-9]。YOLOv3是繼YOLOv1、YOLOv2之后的第三個(gè)YOLO網(wǎng)絡(luò)[10-12],目前工業(yè)生產(chǎn)中廣泛使用的目標(biāo)識(shí)別檢測(cè)方法在快速性和準(zhǔn)確性上能達(dá)到較好的平衡。本文考慮到此研究的實(shí)際應(yīng)用場(chǎng)景,選擇YOLOv3網(wǎng)絡(luò),以便向智能手機(jī)、嵌入式設(shè)備移植程序,進(jìn)一步提高現(xiàn)場(chǎng)使用的靈活性[12]。
1 網(wǎng)絡(luò)架構(gòu)
YOLOv3是2018年提出的一個(gè)單階段(Single-stage)目標(biāo)檢測(cè)方法,采用端到端的網(wǎng)絡(luò)架構(gòu),是目前常用的目標(biāo)檢測(cè)算法中速度最快的。常用目標(biāo)檢測(cè)算法性能對(duì)比如表1所示。
表1為各算法在COCO數(shù)據(jù)集上的性能度量,COCO數(shù)據(jù)集全稱Microsoft Common Objects in Context,源于2014年Microsoft出資組織的Microsoft COCO數(shù)據(jù)比賽。目前,該數(shù)據(jù)集是目標(biāo)識(shí)別、檢測(cè)等領(lǐng)域的一個(gè)常用基準(zhǔn)數(shù)據(jù)集。表1中,mAP表示該算法架構(gòu)在所有類別上準(zhǔn)確性的平均值。
[mAP=1NAP(c)]? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
式中,[N]為類別數(shù)量;[AP(c)]為每個(gè)類別上的平均準(zhǔn)確度。
對(duì)于輸入圖像,YOLOv3算法將每張圖像分為S×S的網(wǎng)格,如圖1所示。對(duì)于每個(gè)網(wǎng)格,分別計(jì)算3種尺寸不同的Bounding boxes的目標(biāo)得分、4個(gè)框體坐標(biāo)以及80個(gè)類別得分,從而完成目標(biāo)檢測(cè)[12]。
YOLOv3的特征提取網(wǎng)絡(luò)采用新的DarkNet-53,該網(wǎng)絡(luò)結(jié)構(gòu)包含23個(gè)殘差塊(Residual Block),網(wǎng)絡(luò)中只使用1×1和3×3大小的卷積核,并且網(wǎng)絡(luò)中不含有池化層和全連接層。為了抑制網(wǎng)絡(luò)過擬合現(xiàn)象,DarkNet-53在每一個(gè)卷積層后均使用了批歸一化(Batch Normalization)和隨機(jī)失活(Dropout)。相比ResNet-101和ResNet-152[13],DarkNet-53的BFLOP(Billion Floating Point Operations)更小,但分類準(zhǔn)確度相當(dāng)。其在ImageNet[14]數(shù)據(jù)集上的性能對(duì)比如表2所示。
由表2可知,相比于ResNet-101,DarkNet-53的檢測(cè)速度快147%;相比于ResNet-152,DarkNet-53的檢測(cè)速度快210%。
YOLOv3使用了多類別尺度融合的方式進(jìn)行預(yù)測(cè),采用了類似FPN的上采樣和多尺度融合方法。綜合檢測(cè)提高了目標(biāo)識(shí)別的準(zhǔn)度。如圖2所示,使用3種尺寸的目標(biāo)框(BoundingBoxes)檢測(cè)目標(biāo),相比于YOLOv1、YOLOv2,提高了對(duì)小目標(biāo)的識(shí)別能力。
YOLOv3采用多標(biāo)簽分類,不能夠使用softmax函數(shù)來計(jì)算分類可能性。因此,YOLOv3使用邏輯分類交叉熵?fù)p失(Logistic Classification with Cross-entropy)。此外,YOLOv3還使用坐標(biāo)損失函數(shù)和置信度損失函數(shù),YOLOv3總的損失函數(shù)由以上三類相加得到,表達(dá)式如(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)框中存在物體時(shí)置1,否則置0;[Tw]和[Th]代表標(biāo)注圖像中目標(biāo)框的位置;[T]、[Pr]分別表示目標(biāo)框大小的真實(shí)值和預(yù)測(cè)值;[Tclass]、[Pclass]分別表示類別的真實(shí)值和預(yù)測(cè)值;[Tconf]、[Pconf]分別表示置信度的真實(shí)值和預(yù)測(cè)值。
因此,本文試驗(yàn)中所用損失函數(shù)如(3)式所示。
[L= lossh+lossc+losss]? ? ? ? ? ? ? ? ? ? (3)
式中,[lossh]、[lossc]、[losss]分別代表安全帽、工作服、工作鞋的損失函數(shù)。
2 試驗(yàn)
2.1 數(shù)據(jù)集及標(biāo)注
使用深度學(xué)習(xí)方法進(jìn)行目標(biāo)檢測(cè)時(shí),數(shù)據(jù)集的好壞起著決定性作用,但是在下井人員安全狀態(tài)檢測(cè)方面并沒有公開數(shù)據(jù)集可用,因此本文制作了一套試驗(yàn)用安全狀態(tài)檢測(cè)數(shù)據(jù)集。本文使用煤礦礦井出入口的監(jiān)控視頻手工提取出2 000余張圖片,使用labelimg圖像標(biāo)注工具程序?qū)φ掌邢戮藛T的安全帽、工作服、工作鞋進(jìn)行了標(biāo)注,如圖3所示。
使用lableimg標(biāo)注后會(huì)生成記錄有目標(biāo)框坐標(biāo)的xml文件,網(wǎng)絡(luò)訓(xùn)練時(shí)讀取圖片對(duì)應(yīng)的xml文件即可。
2.2 試驗(yàn)設(shè)計(jì)
本試驗(yàn)將數(shù)據(jù)集劃分為3類。第一類是訓(xùn)練集,用于網(wǎng)絡(luò)參數(shù)訓(xùn)練,第二類是驗(yàn)證集,用于驗(yàn)證網(wǎng)絡(luò)中的超參數(shù)是否合適,第三類是指最后留出少量圖片,作為網(wǎng)絡(luò)驗(yàn)證使用。為了提高網(wǎng)絡(luò)的魯棒性,在劃分?jǐn)?shù)據(jù)集時(shí)使用隨機(jī)數(shù)法決定圖片的劃分。
為了抑制因訓(xùn)練樣本較少帶來的過擬合,本文在訓(xùn)練階段使用了圖像增強(qiáng),對(duì)訓(xùn)練集的圖片進(jìn)行了角度旋轉(zhuǎn)、飽和度調(diào)整、曝光量調(diào)整和色調(diào)調(diào)整等,使得網(wǎng)絡(luò)在訓(xùn)練中可以得到更好的泛化能力。
2.3 試驗(yàn)設(shè)備
卷積網(wǎng)絡(luò)的計(jì)算量較大,使用CPU進(jìn)行計(jì)算的速度較慢,通常情況下網(wǎng)絡(luò)的訓(xùn)練需要使用GPU進(jìn)行,利用cuda驅(qū)動(dòng)加速網(wǎng)絡(luò)訓(xùn)練過程。本文的網(wǎng)絡(luò)訓(xùn)練在Ubuntu19.04系統(tǒng)上進(jìn)行,YOLOv3使用了原作者的darkNet框架,darkNet是一個(gè)利用C語言開發(fā)的小型框架,運(yùn)算速度上優(yōu)于常用的tensorflow和pytorch框架。
本文使用的深度學(xué)習(xí)工作站配置如表3所示。
2.4 訓(xùn)練過程與結(jié)果
由于本文標(biāo)注數(shù)據(jù)集規(guī)模較小,直接用來訓(xùn)練網(wǎng)絡(luò)效果不佳,且訓(xùn)練耗時(shí)較大,因此本文使用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個(gè)物體類別,是目前使用最廣泛的圖像數(shù)據(jù)集。
試驗(yàn)發(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ò)收斂速度更快。為了提高識(shí)別的準(zhǔn)確性,網(wǎng)絡(luò)使用分辨率608×608的輸入圖片。優(yōu)化器采用Adam梯度下降法,動(dòng)量設(shè)為0.9,訓(xùn)練時(shí)設(shè)定批量值(batch)為128,整個(gè)訓(xùn)練可以在4 h左右完成,訓(xùn)練過程中損失(loss)下降較為平穩(wěn),證明本文所選用超參數(shù)較為合理。試驗(yàn)結(jié)果如圖4所示。
測(cè)試得到的mAP為90.05%,繪制的PR曲線如圖4(c)所示。
如圖5所示,本文訓(xùn)練的YOLOv3網(wǎng)絡(luò)可以較好地進(jìn)行安裝狀態(tài)檢測(cè)識(shí)別,測(cè)試過程中,檢測(cè)幀率可以達(dá)到28幀/s,具備了近于實(shí)時(shí)檢測(cè)的能力,且正確率較高,搭配相應(yīng)的應(yīng)用軟件即可構(gòu)成一套能夠?qū)嶋H使用的下井人員安全狀態(tài)檢測(cè)系統(tǒng)。
3 結(jié)語
本文設(shè)計(jì)的基于深度學(xué)習(xí)的下井人員安全狀態(tài)快速檢測(cè)方法使用YOLOv3網(wǎng)絡(luò),能夠較為準(zhǔn)確識(shí)別出安全帽、工作服、工作鞋的穿戴。試驗(yàn)結(jié)果表明,其在準(zhǔn)確度與快速性上均取得了較好的結(jié)果,具備了在礦井現(xiàn)場(chǎng)實(shí)際試用的條件。但是,由于試驗(yàn)使用的數(shù)據(jù)集較小,圖像均是經(jīng)過手工挑選的質(zhì)量較好的照片,在現(xiàn)場(chǎng),各種原因可能造成識(shí)別準(zhǔn)確率的下降。未來進(jìn)一步的研究將著手增加算法的魯棒性,提高神經(jīng)網(wǎng)絡(luò)的泛化能力,從而在人員下井前更好地識(shí)別出不適合帶入井下的物品,減少礦井生產(chǎn)中的安全風(fēng)險(xiǎn)。
參考文獻(xiàn):
[1]徐守坤,王雅如,顧玉宛,等.基于改進(jìn)Faster RCNN的安全帽佩戴檢測(cè)研究[J].計(jì)算機(jī)應(yīng)用研究,2020(3):267-271.
[2]張軍陽(yáng),王慧麗,郭陽(yáng),等.深度學(xué)習(xí)相關(guān)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2018(7):1921-1928.
[3]Hadji I,Wildes R P.What Do We Understand about Convolutional Networks?[Z].2018.
[4]李國(guó)和,喬英漢,吳衛(wèi)江,等.深度學(xué)習(xí)及其在計(jì)算機(jī)視覺領(lǐng)域中的應(yīng)用[J].計(jì)算機(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.