翟鑫 李昕



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