李浩宇,楊超宇
(安徽理工大學(xué) 經(jīng)濟與管理學(xué)院,安徽 淮南 232000)
煤礦井下工作環(huán)境復(fù)雜且存在大量煤炭粉塵,井下工作人員長期吸入煤炭粉塵會對身體健康造成巨大危害,因此佩戴防塵口罩是非常必要的.但因為礦井下高溫的原因,一些煤礦員工經(jīng)常不佩戴防塵口罩,此種行為違反了煤礦安全規(guī)章.人工24小時監(jiān)視違規(guī)行為并不現(xiàn)實,因此需要將深度學(xué)習(xí)技術(shù)與視頻監(jiān)控相結(jié)合,對違章行為進行實時檢測.一些學(xué)者對口罩佩戴檢測做出了研究,丁洪偉等[1]將改進的空間金字塔赤化結(jié)構(gòu)引入YOLOV3中,并對DarkNet53骨干網(wǎng)絡(luò)進行改進,對口罩的檢測速度為39FPS,檢測精度精度為90.2%.秦亞亭等[2]針對目前幾種主要的輕量級檢測模型:Pyram模型、基于SSD算法的Keras模型和基于CenterFace的口罩檢測模型,在不同數(shù)據(jù)集下做綜合測試,最后分析了各種方法的優(yōu)劣以及口罩檢測技術(shù)的優(yōu)化方案.從目前的研究成果來看,口罩檢測效率不能達到實際應(yīng)用需求.因此,本文提出一種基于YOLOV5算法的煤礦防塵口罩檢測方法[3],最終實現(xiàn)了對防塵口罩的精確檢測.
YOLOV5目標檢測模型是基于Pytorch實現(xiàn)的[4],由Ultralytics在2020年6月25日正式發(fā)布的,是現(xiàn)今最先進的對象檢測技術(shù)[5],并在推理速度上是目前最快的.YOLOV5官方代碼中,給出的權(quán)重文件一共有四個版本,分別是YOLOV5S、YOLOV5M、YOLOV5L、YOLOV5X,其中YOLOV5S是深度最小[6],特征圖寬度最小的權(quán)重,后面三種權(quán)重在此基礎(chǔ)上深度不斷加深,特征圖寬度不斷加寬.本文使用YOLOV5S權(quán)重后的檢測速度最快可達0.012 s[7].YOLOV5采用GIOU_LOSS做Bounding Box的損失函數(shù),GIOU_Loss計算公式如下,出現(xiàn)眾多目標框的篩選采用NMS加權(quán)方式獲得最優(yōu)目標框.
(1)
YOLOV5模型使用Sigmoid函數(shù)為網(wǎng)絡(luò)激活函數(shù),使用LeakyReLU函數(shù)處理深度學(xué)習(xí)中網(wǎng)絡(luò)階梯消失的問題.[8]Sigmoid函數(shù)及LeakyReLU函數(shù)公式如下:
(2)
F(x)=max(0.1x,x)
(3)
本文的目標檢測流程如圖1所示,通過煤礦井下工作面監(jiān)控攝像頭獲取視頻流.使用OpenCV對視頻進行單幀提取,建立數(shù)據(jù)集后進行預(yù)處理,并利用K-means算法自適應(yīng)優(yōu)化anchor box,利用YOLOV5算法的網(wǎng)格法分割圖像,分別輸出特征圖.學(xué)習(xí)圖像中防塵口罩深層語義信息及淺層位置信息,利用特征尺度融合后實現(xiàn)對防塵口罩的精確實時檢測[9],最后輸出實驗結(jié)果.
圖1 算法工作流程圖
(1)數(shù)據(jù)集建立
本文的數(shù)據(jù)集通過淮南某煤礦井下攝像頭獲取,包括不同工作環(huán)境、不同光照等多種情況下的視頻.分析數(shù)據(jù)特點后從視頻流中截取3 000張圖片作為訓(xùn)練數(shù)據(jù)集,其中2 000張圖片作為訓(xùn)練集,500張圖片作為測試集,500張圖片作為驗證集并將數(shù)據(jù)集標注為mask和none兩類,圖片標注軟件使用labelImg.YOLOV5算法的下采樣為32倍,因此輸入圖片的寬高要能被32整除.在多尺度訓(xùn)練中一般最小尺寸為320×320,最大為640×640,在模型訓(xùn)練之前將數(shù)據(jù)集尺寸調(diào)整為640×640,對小目標物體檢測的準確性可提升2%.最后可通過修改datasets.py文件中的letterbox函數(shù),使YOLOV5模型可適應(yīng)圖片的縮放,較好地處理了因圖像縮放后兩端產(chǎn)生的黑邊過多而導(dǎo)致信息冗雜等問題.[10]
(2)預(yù)處理數(shù)據(jù)
在實際的應(yīng)用場景下,采集的數(shù)據(jù)集并不能完全滿足模型訓(xùn)練的需求,重新獲取更多的數(shù)據(jù)則會增加成本和工作量.為解決這一問題,本文在模型訓(xùn)練之前進行數(shù)據(jù)預(yù)處理,包括標簽平滑處理和數(shù)據(jù)增強兩部分.[11]
標簽平滑處理的本質(zhì)是正則化處理,通過減少過擬合訓(xùn)練提升分類器性能,從而使得訓(xùn)練模型對數(shù)據(jù)集的預(yù)測概率更加接近真實情況.數(shù)據(jù)增強的主要目標是通過增加訓(xùn)練基礎(chǔ)數(shù)據(jù)和噪聲來提高模型的泛化能力和魯棒性.數(shù)據(jù)增強方法包括:圖像縮放、圖像裁剪、圖像平移、數(shù)據(jù)旋轉(zhuǎn)、數(shù)據(jù)翻轉(zhuǎn)、覆蓋噪聲、修改對比度等.原始數(shù)據(jù)經(jīng)過數(shù)據(jù)增強拓展后可獲得大量新的數(shù)據(jù)集,可有效提升目標檢測效果.本文提出一種馬賽克拼接法,即截取多個圖像的可有效檢測部分合并成一張新的待檢測圖像,這種方法能夠有效降低微小或大量擾動數(shù)據(jù)對目標檢測精度的影響.
YOLOV5算法將輸入的圖像分成若干網(wǎng)格,檢測目標中心區(qū)域處于某個網(wǎng)格中,此網(wǎng)格就負責(zé)預(yù)測這個目標,如圖2所示.
圖2 目標預(yù)測示意圖
在實際目標識別環(huán)境中,目標實際尺寸和默認anchor box尺寸存在差異,如果使用默認anchor box尺寸可能會導(dǎo)致?lián)p失函數(shù)下降方向發(fā)生偏離.使用K-means聚類算法可有效解決上述問題,K-means聚類算法的流程如下:
(1)防塵口罩的數(shù)據(jù)集像素大小為n,設(shè)置迭代的次數(shù)為m,聚類個數(shù)為K,并會隨機產(chǎn)生K個初始聚類中心Cj(r).YOLOV5網(wǎng)絡(luò)對每個網(wǎng)格的預(yù)測需要9個先驗框,因此K=9.
(2)計算數(shù)據(jù)集樣本與初始聚類中心Cj(r)相似度D(Xi,Cj(r)),進而形成空間簇Wj,如果(4)成立,則存在Xi∈Wj,本文閥值設(shè)置為0.005,即ε=0.005.
(4)
(3)根據(jù)K得到新的聚類中心,計算公式如下:
(5)
(4)中心簇的收斂情況如下:
(6)
(5)判斷聚類是否可達到最小收斂條件:
|E(r+1)-E(r)|<0.005
(7)
(5)最小收斂條件成立時停止迭代,否則重新返回步驟(2)重新進行迭代,輸出防塵口罩分割圖.
最后經(jīng)計算得到適合防塵口罩檢測的先驗框的尺寸如下:22×27,59×86,76×70,100×110,108×127,111×98,113×94,229×207,231×205.
本文的實驗平臺為Linux,采用的深度學(xué)習(xí)框架為Tensorflow19.0,OpenCV版本為3.3.0,使用NVIDIA GeForce RTX 2060顯卡進行運算,并使用Cuda10.0對訓(xùn)練過程進行加速.在模型訓(xùn)練階段,網(wǎng)絡(luò)參數(shù)配置設(shè)置如下:epochs設(shè)置為100,batch-size設(shè)置為16,初始學(xué)習(xí)率為0.02,權(quán)重衰減設(shè)為0.000 5,動量設(shè)為0.95.
模型訓(xùn)練結(jié)束后目標識別結(jié)果如圖3所示.從識別結(jié)果可以看出,本文算法對單目標和多目標檢測都能獲得不錯的效果[12],并準確地區(qū)分出有無口罩佩戴的情況.
圖3 檢測結(jié)果
利用mAP評估本文算法檢測準確度,因本文的檢測目標只有防塵口罩一類物體,所以在數(shù)值上mAP等于AP,AP的計算公式如式(8)所示,即算法對每張圖片各類別檢測的準確率(Accuracy)求和后除以該圖片中各類別檢測目標和N.模型訓(xùn)練結(jié)束后使用Tensorboard可視化工具查看訓(xùn)練過程中損失函數(shù)收斂曲線、mAP曲線、recall曲線,如圖4所示.
圖4 模型性能評估
(8)
將本文算法與其他算法進行對比,結(jié)果如表1所示,從對比結(jié)果可以看出本文算法的檢測準確率為92.5%.檢測精度高于其他算法的同時,得益于YOLOV5S較小的權(quán)重數(shù)據(jù),使得檢測速度有大幅度提升,能夠滿足實際應(yīng)用需求.
表1 不同網(wǎng)絡(luò)模型的檢測效果對比
本文提出一種基于YOLO算法的煤礦井下員工防塵口罩佩戴實時檢測方法,加強了算法對不同尺寸防塵口罩的識別能力.從實驗結(jié)果可以看出對防塵口罩具有很好的識別效果,且算法檢測速度較快,能夠滿足實際應(yīng)用需求.另一方面,本文的研究也存在著不足,存在人員或者物體遮擋面部的情況時,對防塵口罩的識別較為困難.未來將對算法進一步改進使其更加適用于實際應(yīng)用場景.