摘要:隨著信息化技術(shù)的飛速發(fā)展,煤礦安全生產(chǎn)得到了明顯改善,各類井下安全系統(tǒng)對煤礦的安全工作發(fā)揮了重要作用?;谟嬎銠C視覺技術(shù),利用現(xiàn)有的監(jiān)控設(shè)備或通過在井下施工現(xiàn)場布設(shè)新的設(shè)備,采用機器學(xué)習(xí)的相關(guān)方法進(jìn)行礦工安全帽佩戴情況的自動識別,具體實現(xiàn)了對作業(yè)人員安全帽佩戴情況的快速監(jiān)測,降低監(jiān)管危險,增強工人的防范意識的同時提升了監(jiān)管信息化水平。
關(guān)鍵詞:礦工安全帽深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)YOLOv5
中圖分類號:TD771
ResearchontheDetectionAlgorithmofSafetyEquipmentforMiners
LIUTingLUJie*TIANQiJIAOZhongZHANGLinfeng(ZHANG-LINFeng??)
CollegeofScience,TaiyuanInstituteofTechnology,Taiyuan,ShanxiProvince,030008China
Abstract:Withtherapiddevelopmentofinformationtechnology,thesafetyproductionofcoalmineshasbeensignificantlyimproved,andvariousdownholesafetysystemshaveplayedanimportantroleinthesafetyworkofcoalmines.Basedoncomputervisiontechnology,byexistingmonitoringequipmentorthroughthedeploymentofnewequipmentatthedownholeconstructionsite,thispaperadoptstherelevantmethodsofmachinelearningtoautomaticallyidentifythewearingofsafetyhelmetsforminers,whichrealizestherapidmonitoringofthewearingofsafetyhelmetsforoperators,reducessupervisionrisks,enhancesthepreventionawarenessofworkersandimprovestheinformatizationlevelofsupervision.
KeyWords:Miner’ssafetyhelmet;Deeplearning;Convolutionalneuralnetwork;YOLOv5
近年來,煤礦生產(chǎn)的事故發(fā)生率與礦工的不安全行為有著明顯聯(lián)系[1],特別是安全帽未佩戴或者未正確佩戴,導(dǎo)致了不必要的事故,占比80%以上。安全帽[2]的帽殼和帽襯可以將佩戴者頭部所受到的沖擊力瞬間分散到帽子的所有面積上,然后利用各個部件和其設(shè)置的緩沖結(jié)構(gòu)將受到的大部分沖擊力吸收,從而起到保護(hù)佩戴者頭部不受或者減緩傷害,能夠為救治提供更多的時間。由于礦井下的煤礦工作環(huán)境復(fù)雜[3],可見度不高,安全檢測人員無法用肉眼第一時間發(fā)現(xiàn)煤礦工人的佩戴情況,檢測成本較高。隨著計算機視覺技術(shù)的飛速發(fā)展,其被廣泛應(yīng)用于航空航天以及智能交通等多個領(lǐng)域。據(jù)調(diào)查,煤礦井下安有大量的高清攝像頭[4],通過結(jié)合計算機視覺識別技術(shù),可以對井下礦工的安全檢測問題提供強有力的支撐。因此,本文主要基于深度學(xué)習(xí)方法構(gòu)建安全帽佩戴檢測模型,使用YOLOv5深度網(wǎng)絡(luò)模型對礦工安全狀況進(jìn)行檢測,實現(xiàn)了不安全行為預(yù)警,在煤礦安全生產(chǎn)方面具有重要的研究意義。
1礦工安全帽佩戴檢測算法
研究人員對安全設(shè)備中的安全帽佩戴情況進(jìn)行檢測,分為以下四個步驟:數(shù)據(jù)集的搭建、數(shù)據(jù)集的標(biāo)注、模型的訓(xùn)練和模型測試與目標(biāo)框標(biāo)注。
本文對數(shù)據(jù)集圖片的搜集主要通過以下方式:攝像頭拍下的真實圖片,網(wǎng)絡(luò)爬蟲獲取的圖像,部分圖片示例如圖1示:
1.2數(shù)據(jù)集的標(biāo)注
本文使用labelbox工具對圖像中的目標(biāo)標(biāo)注,使用邊界框工具,用戶可以在圖像上通過鼠標(biāo)繪制矩形框來標(biāo)注目標(biāo)。這個過程通常是交互式的,用戶可以通過調(diào)整矩形框的大小和位置來確保其準(zhǔn)確包圍目標(biāo)。
1.3模型訓(xùn)練
本次課題小組的研究人員使用的是YOLOv5網(wǎng)絡(luò)進(jìn)行訓(xùn)練,結(jié)構(gòu)如圖3所示。
YOLOv5是一種目標(biāo)檢測算法,它是YOLO(YouOnlyLookOnce)系列算法的最新版本。該算法使用深度學(xué)習(xí)技術(shù),通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)學(xué)習(xí)圖像中物體的特征,進(jìn)而實現(xiàn)識別和定位物體。
相比于之前的YOLO版本,YOLOv5在速度和精度上都進(jìn)行了優(yōu)化,采用了新的網(wǎng)絡(luò)架構(gòu)和訓(xùn)練技巧,如CSPNet(CrossStagePartialNetwork)主干網(wǎng)絡(luò)、多尺度訓(xùn)練、數(shù)據(jù)增強、網(wǎng)絡(luò)混合精度訓(xùn)練等,從而實現(xiàn)了更高的檢測精度和更快的檢測速度。此外,YOLOv5還支持多種類型的目標(biāo)檢測任務(wù),如物體檢測、人臉檢測、車輛檢測等,可以應(yīng)用于各種實際場景,如智能安防、自動駕駛、機器人視覺等。
除此之外,YOLOv5中的各種改進(jìn)思路仍然可以應(yīng)用到其他的目標(biāo)檢測算法中。
值得注意的是,YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)為全卷積網(wǎng)絡(luò),即網(wǎng)絡(luò)結(jié)構(gòu)由卷積、批量歸一化層(BatchNormalization,BN)等構(gòu)成,不包含全連接層。YOLOv5的網(wǎng)絡(luò)模型結(jié)構(gòu)主要由四個部分組成:輸入端、Backbone(主干網(wǎng)絡(luò))、Neck網(wǎng)絡(luò)和Prediction(輸出端)。
(1)輸入端。
主要負(fù)責(zé)圖片預(yù)處理,自適應(yīng)錨框計算和生成錨框。包括Mosaic數(shù)據(jù)增強、自適應(yīng)錨框計算,以及自適應(yīng)圖片縮放。Mosaic數(shù)據(jù)增強是一種新的數(shù)據(jù)增強方式,它將4張訓(xùn)練圖片拼接成一張,并隨機改變它們的比例、位置和顏色等,從而增加模型的泛化能力。自適應(yīng)錨框計算則是根據(jù)數(shù)據(jù)集中目標(biāo)的形狀和大小,動態(tài)地調(diào)整錨框的尺寸,使其更加適應(yīng)目標(biāo)的形狀,從而提高檢測的精度。
(2)主干網(wǎng)絡(luò)(Backbone)。
YOLOv5使用CSPDarknet53作為其主干網(wǎng)絡(luò),該網(wǎng)絡(luò)具有較強的特征提取能力和計算效率。CSPDarknet53采用了CSPNet(CrossStagePartialNetwork)結(jié)構(gòu),通過分割網(wǎng)絡(luò)的不同部分,使得網(wǎng)絡(luò)在訓(xùn)練過程中可以學(xué)習(xí)到更加豐富的特征表示。
(3)Neck網(wǎng)絡(luò)。
Neck網(wǎng)絡(luò)采用了FPN結(jié)構(gòu),一種自上而下的結(jié)構(gòu),通過將高層次的語義特征傳遞給低層次,使得每一層都能獲得豐富的語義信息。FPN網(wǎng)絡(luò)能夠在不同的特征圖層次上進(jìn)行檢測,從而提高目標(biāo)檢測的性能。而PAN結(jié)構(gòu)則通過自底向上的特征金字塔和自頂向下的特征金字塔的結(jié)合,增強了特征圖的語義信息和定位信息的融合,從而提高了模型的檢測精度。
(4)輸出端。
YOLOv5的輸出端采用了GIOU_Loss作為Boundingbox的損失函數(shù),并且在進(jìn)行非最大值抑制時使用了加權(quán)非最大值抑制。GIOU_Loss考慮了預(yù)測框和真實框之間的重疊面積和中心點距離,從而更加準(zhǔn)確地度量了預(yù)測框和真實框之間的差異。加權(quán)非最大值抑制則根據(jù)預(yù)測框的置信度和IOU(IntersectionoverUnion)值,對預(yù)測框進(jìn)行加權(quán)處理,從而提高了對重疊目標(biāo)的檢測效果。
總的來說,YOLOv5的網(wǎng)絡(luò)模型結(jié)構(gòu)通過精心設(shè)計的主干網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)和輸出端,以及數(shù)據(jù)預(yù)處理和增強的方式,實現(xiàn)了高效、準(zhǔn)確、快速的目標(biāo)檢測。
訓(xùn)練之前,建立了兩個yaml的配置配置文件,分別用于數(shù)據(jù)集圖片數(shù)據(jù)存放位置和labelbox標(biāo)簽總數(shù)。
隨后使用Anaconda環(huán)境輔助進(jìn)行環(huán)境管理,配置YOLOv5的運行環(huán)境,本次使用的是Anaconda2-2019.10-Windows-x86_64版本。
YOLOv5網(wǎng)絡(luò)的機構(gòu)如下所示,然后使用命令進(jìn)入YOLOv5的文件夾,conda建立新的環(huán)境。
開始訓(xùn)練:
pythontrain.py--img640--batch16--epochs100--data/path/to/dataset.yaml--weights/path/to/pretrained_weights.pt--namemy_model
1.4模型測試與目標(biāo)框標(biāo)注
運行測試腳本,在終端中進(jìn)入包含測試腳本的目錄,并運行以下命令:pythontest.py--weights/path/to/weights/file--img640--conf0.25--source/path/to/test/data/directory。其中,--weights參數(shù)指定了預(yù)訓(xùn)練模型的路徑,--img參數(shù)指定了輸入圖像的大小,--conf參數(shù)指定了置信度閾值,--source參數(shù)指定了測試數(shù)據(jù)集的路徑。
通過模型后的圖像將會生成一個包含目標(biāo)框左上角坐標(biāo)、右下角坐標(biāo)、標(biāo)簽類別的字符串,通過對該字符串進(jìn)行解析,使用annotator庫中的box_label方法來繪制目標(biāo)框,然后重新寫回圖像,圖像上會出現(xiàn)帶有標(biāo)簽的目標(biāo)框,把是否佩戴安全帽的信息標(biāo)注出來。
2實驗
2.1實驗環(huán)境
硬件的配置如下。CPU:13thGenIntel(R)Core(TM)i9-13600H;顯卡:NVIDIAGeForceRTX4060LaptopGPU;攝像頭:IntegratedCamera5.0.18.197;內(nèi)存:12G;操作系統(tǒng):Windows11;實驗環(huán)境:Python+Pycharm。
2.2實驗結(jié)果與分析
實驗結(jié)果表明,本文的算法在煤礦工人是否佩戴安全帽的識別任務(wù)上取得了較好的效果大部分安全帽佩戴情況描述正確[6],少部分由于定點位置,光線不足,導(dǎo)致未能采集到人臉信息,由于實際情況,礦工是運動的對象,實際中有較大的可能性將剩下的未采集到的部分人臉[5]。在測試集上,本文的算法準(zhǔn)確率達(dá)到了95%以上,證明了其在實際場景中的可行性和有效性。在目標(biāo)的不同動作中能夠采集到,因此本次模型可用。
3結(jié)語
本文提出基于YOLOv5的礦工安全帽檢測方法,其在井下具有實際的應(yīng)用價值,可以為礦山企業(yè)提供一種有效的安全管理手段]。未來將繼續(xù)深入研究該方法的應(yīng)用細(xì)節(jié),進(jìn)一步優(yōu)化方案,以提高其性能和適用性。
參考文獻(xiàn)