柏躍屹,華心祝
(安徽理工大學(xué) 安全科學(xué)與工程學(xué)院,安徽 淮南 232001)
結(jié)合全國(guó)煤礦事故分析報(bào)告匯編、煤礦安全生產(chǎn)網(wǎng)公布的事故案例,聚焦2000—2021年公布的安徽省61起機(jī)電事故進(jìn)行統(tǒng)計(jì)分析[1]。以楊柳煤礦為工業(yè)背景,建立機(jī)電事故不安全行為庫(kù),其中“未確認(rèn)高防開(kāi)關(guān)是否有電,且未對(duì)開(kāi)關(guān)負(fù)荷側(cè)進(jìn)行驗(yàn)電、放電的情況下,帶電作業(yè)”是楊柳礦井下機(jī)電人員關(guān)鍵不安全行為。高壓場(chǎng)所佩戴絕緣護(hù)具嚴(yán)格按照安全規(guī)章操作可以有效避免事故發(fā)生。因此,通過(guò)計(jì)算機(jī)視覺(jué)技術(shù)對(duì)高風(fēng)險(xiǎn)區(qū)域重點(diǎn)人群作業(yè)過(guò)程進(jìn)行安全識(shí)別具有科學(xué)的實(shí)際意義。
佟瑞鵬[2]、劉浩[3]、李雯靜[4]等對(duì)安全識(shí)別與人工智能技術(shù)進(jìn)行結(jié)合歸納,主要研究對(duì)象分兩類(lèi),一類(lèi)是利用表示深度信息的深度圖像識(shí)別物的不安全狀態(tài);另一類(lèi)是提取人體關(guān)鍵點(diǎn)骨骼位置信息實(shí)現(xiàn)對(duì)典型礦工不安全行為的識(shí)別。杜青[5]基于YOLOX算法檢測(cè)礦井人員安全帽是否規(guī)范佩戴。趙紅成[6]改進(jìn)YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)提高復(fù)雜施工環(huán)境下安全帽的檢測(cè)精度。張磊[7]基于改進(jìn)YOLOv5s實(shí)現(xiàn)對(duì)煤礦綜采工作面危險(xiǎn)區(qū)域人員擅闖的識(shí)別。李華[8,9]通過(guò)YOLOv5檢測(cè)高處臨邊人員安全帶、安全帽等防護(hù)裝備的佩戴情況以及防護(hù)網(wǎng)是否破損,探究復(fù)雜作業(yè)情況施工人員安全帽的智能化識(shí)別。崔鐵軍[10]改進(jìn)YOLOX算法解決電氣工人防護(hù)設(shè)備檢測(cè)問(wèn)題。郭師虹[11]基于YOLOv4提出輕量級(jí)建筑工人安全帽檢測(cè)方法。伏德粟[12]對(duì)傳統(tǒng)電力工人關(guān)鍵裝備的檢測(cè)加入了絕緣手套和人員識(shí)別。
煤礦生產(chǎn)過(guò)程中存在的大量粉塵和降塵裝置產(chǎn)生的霧氣會(huì)導(dǎo)致監(jiān)控畫(huà)面辨識(shí)度降低。由于防爆攝像頭的部署情況,高壓絕緣護(hù)具在畫(huà)面中表現(xiàn)為小尺寸物品,要求識(shí)別精度較高?,F(xiàn)階段基于目標(biāo)檢測(cè)領(lǐng)域YOLO模型的快速發(fā)展,為滿足煤礦安全監(jiān)測(cè)快速響應(yīng)要求,選取輕量化YOLOv7設(shè)計(jì)井下高壓場(chǎng)景安全識(shí)別框架。
實(shí)地考察楊柳礦工業(yè)背景,以中央變電所為監(jiān)測(cè)場(chǎng)所,采集機(jī)電人員作業(yè)畫(huà)面制作數(shù)據(jù)集,并對(duì)光照、人數(shù)等影響條件進(jìn)行數(shù)據(jù)增強(qiáng)預(yù)處理,輸入到Y(jié)OLOv7檢測(cè)模型進(jìn)行訓(xùn)練。高壓場(chǎng)所安全識(shí)別流程如圖1所示。
圖1 高壓場(chǎng)所安全識(shí)別流程Fig.1 Safety identification process of high voltage place
首先,構(gòu)建高壓絕緣護(hù)具監(jiān)測(cè)數(shù)據(jù)集。通過(guò)現(xiàn)場(chǎng)及實(shí)驗(yàn)室拍攝方式采集違章數(shù)據(jù),為防止過(guò)擬合情況,應(yīng)用數(shù)據(jù)增廣手段豐富數(shù)據(jù)集。借助LabelImg工具對(duì)檢測(cè)物品標(biāo)注,包含person、helmet、no_helmet、gloves、no_gloves、boots這六個(gè)類(lèi)別的目標(biāo)。
其次,訓(xùn)練井下高壓作業(yè)場(chǎng)景安全監(jiān)測(cè)模型。選取YOLOv7-tiny網(wǎng)絡(luò)結(jié)構(gòu),引入部分卷積融合快速神經(jīng)網(wǎng)絡(luò)并添加時(shí)間空間注意力機(jī)制。此處理方法旨在復(fù)雜環(huán)境下保證安全監(jiān)測(cè)識(shí)別精度的同時(shí)極大程度提高檢測(cè)速度。訓(xùn)練好模型部署于安防系統(tǒng)并對(duì)高壓場(chǎng)所畫(huà)面進(jìn)行實(shí)時(shí)監(jiān)控。
最后,考慮現(xiàn)場(chǎng)實(shí)際意義,先判斷監(jiān)控畫(huà)面中人員與高壓設(shè)備接觸重合面積(即交互比)是否超過(guò)安全閾值。未達(dá)閾值可視為人員僅從設(shè)備旁經(jīng)過(guò),未進(jìn)行高壓作業(yè)行為,現(xiàn)場(chǎng)播報(bào)安全提示。已達(dá)閾值則先判定人員在進(jìn)行作業(yè),此時(shí)檢測(cè)是否佩戴安全護(hù)具(絕緣手套、絕緣靴)。若未佩戴則視為高危不安全作業(yè),及時(shí)報(bào)警并記錄響應(yīng)。
YOLOv7于2022年7月推出[13,14],代碼整體繼承了YOLOv5的網(wǎng)絡(luò)架構(gòu)、配置文件的設(shè)置和訓(xùn)練、推理、驗(yàn)證等過(guò)程。在正樣本匹配時(shí)仿照了YOLOX的SimOTA策略,其速度和精度在5 f/s到160 f/s區(qū)間內(nèi)優(yōu)于當(dāng)下大部分目標(biāo)檢測(cè)器。
本文結(jié)合工業(yè)背景,基于YOLOv7-tiny進(jìn)行改進(jìn)處理,輕量化YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。Input部分首先輸入尺寸為640×640×3的RGB圖片,再使用Mosaic數(shù)據(jù)增強(qiáng)與自適應(yīng)錨框計(jì)算等方式進(jìn)行預(yù)處理。Backbone部分由數(shù)個(gè)CBL模塊、C5變體模塊與MP層構(gòu)成,其中CBL模塊由conv層、BN層與Leaky ReLU函數(shù)組建,MP層由Maxpool與CBL模塊構(gòu)成。C5_1為YOLOv7提出的高效模塊,其結(jié)構(gòu)由5個(gè)CBL模塊組成,如圖2左上角所示。C5_2、C5_3是將部分卷積(PConv)與不同位置CBL替換得到的輕量化變體。SPP(空間金字塔池化)通過(guò)13×13、9×9、5×5、1×1(即無(wú)處理)四種尺寸的池化核進(jìn)行最大池化處理。SPPCSP是數(shù)個(gè)CBL與SPP的結(jié)合,二者結(jié)合減少計(jì)算量的同時(shí)提升速度,融合不同特征尺度的信息輸入Neck部分。Head部分將輸出圖片通過(guò)三個(gè)Rep層分別對(duì)大、中、小三個(gè)不同尺度預(yù)測(cè)結(jié)果。為提高檢測(cè)速度,故在Small檢測(cè)頭前融合FasterNet模塊。
圖2 輕量化YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of the lightweight YOLOv7 network
由于監(jiān)控畫(huà)面中遠(yuǎn)端檢測(cè)目標(biāo)過(guò)小、不清晰甚至缺失等問(wèn)題,易造成漏錯(cuò)檢現(xiàn)象。部分卷積(PConv)的提出來(lái)自于Nvidia研究團(tuán)隊(duì)[15],首次成功訓(xùn)練神經(jīng)網(wǎng)絡(luò)對(duì)任意非中心不規(guī)則圖像孔洞進(jìn)行修復(fù)。借用圖像修復(fù)的原理可以極大程度提高小目標(biāo)檢測(cè)精度。
傳統(tǒng)卷積在檢測(cè)任務(wù)中將每一個(gè)像素都當(dāng)成有效值計(jì)算,然后普通卷積以滑動(dòng)窗口方式來(lái)提取局部特征。使用普通的端到端卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像補(bǔ)全,通常把損壞的圖像作為輸入,完整圖像作為標(biāo)簽來(lái)學(xué)習(xí)。當(dāng)普通卷積作用在圖像的損壞區(qū)域時(shí),修復(fù)的圖像中會(huì)存在一些孔洞,即需要對(duì)孔洞內(nèi)外加以區(qū)分。然而卷積核在做運(yùn)算時(shí)不能區(qū)別損壞和未損壞的區(qū)域,對(duì)兩部分的信息差并不敏感。這樣就導(dǎo)致大多數(shù)計(jì)算被浪費(fèi)[16]。
部分卷積用式(1)表示:
式中,x′為輸入圖片經(jīng)過(guò)卷積后的輸出;W為卷積核權(quán)重;X為當(dāng)前卷積窗口的特征值;M為相應(yīng)的二進(jìn)制掩碼mask;b為偏置;⊙為逐像素相乘。對(duì)于第一層部分卷積中的M,1為未損壞區(qū)域,0為損壞區(qū)域。
其mask掩碼更新表示為式(2):
式中,m′為輸入源碼經(jīng)過(guò)卷積后的輸出,則M中只要有一個(gè)元素為1,那么更新后的m′就為1;反之為0。
部分卷積通過(guò)加入Mask掩碼參與到卷積運(yùn)算中,動(dòng)態(tài)地使得不同層的掩碼對(duì)損失表現(xiàn)出不同的貢獻(xiàn),使得訓(xùn)練學(xué)習(xí)過(guò)程表現(xiàn)出從孔洞外面逐漸縮小孔洞學(xué)習(xí)的機(jī)制。底層網(wǎng)絡(luò)學(xué)習(xí)孔洞外圍,高層網(wǎng)絡(luò)學(xué)習(xí)孔洞里面,大大提升了運(yùn)算效率,且將損壞與未損壞區(qū)域的像素區(qū)分開(kāi)來(lái),提升了其敏感性。
為了更好的用戶(hù)體驗(yàn)、及時(shí)響應(yīng)和安全原因,比起投入昂貴的計(jì)算設(shè)備,更傾向于設(shè)計(jì)具有低延遲和高吞吐量的快速神經(jīng)網(wǎng)絡(luò)。當(dāng)下快速神經(jīng)網(wǎng)絡(luò)工作重點(diǎn)都集中在減少浮點(diǎn)運(yùn)算(FLOPs)的數(shù)量上,未考慮FLOPs的減少并是否和降低延遲之間存在線性關(guān)系。如MobileNet、ShuffNet、GhostNet等利用深度卷積(DWConv)和組卷積(GConv)提取空間特征,碎片計(jì)算效率低,額外的數(shù)據(jù)操作反而會(huì)受到內(nèi)存訪問(wèn)增加的副作用影響[17]。
輕量化網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)如圖3所示??煞譃樗膫€(gè)層次的階段,每個(gè)階段都有一個(gè)堆疊的FasterNet塊,并在其之前有一個(gè)嵌入或合并層,用于空間下采樣和通道數(shù)擴(kuò)展。每個(gè)FasterNet塊內(nèi)部結(jié)構(gòu)如圖3右下角,由一個(gè)部分卷積層和兩個(gè)常規(guī)卷積層組成。它們一起呈現(xiàn)為倒置的殘余塊,其中中間層具有擴(kuò)展的通道數(shù)量,并且放置了快捷連接以重用輸入特征。
圖3 輕量化網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)Fig.3 Internal structure of the lightweight network
式中,h為輸出高度;w為輸出寬度;k為卷積核尺寸;cp為網(wǎng)絡(luò)通道數(shù)。
當(dāng)通道數(shù)為常規(guī)網(wǎng)絡(luò)的十分之一時(shí),由上式可知,部分卷積的FLOPs僅為常規(guī)卷積的百分之一,內(nèi)存訪問(wèn)量變化甚微。以部分卷積為基礎(chǔ)設(shè)計(jì)的FasterNet,使計(jì)算量保持在低于常規(guī)卷積高于深度卷積、組卷積的區(qū)間內(nèi),減少計(jì)算冗余以及內(nèi)存訪問(wèn)數(shù)量,具備硬件友好性。
輕量化模型受到參數(shù)和計(jì)算量的限制,難于捕捉全局特征和目標(biāo)細(xì)節(jié)。絕緣護(hù)具通常以小目標(biāo)形式出現(xiàn)易受復(fù)雜場(chǎng)景影響。為增大模型感受野,提升對(duì)關(guān)鍵目標(biāo)的感知能力。本文采用注意力機(jī)制為卷積塊注意模塊(CBAM)[18]。
CBAM算法結(jié)構(gòu)如圖4所示,給出一張輸入圖像,輸入特征圖F。在通道維度上,通道注意力模塊(CAM)利用了平均池化和全連接網(wǎng)絡(luò),學(xué)習(xí)通道權(quán)重,得到特征Fc,關(guān)注“是什么”。在空間維度上,空間注意力模塊(SAM)學(xué)習(xí)空間位置權(quán)重,得到空間矩陣Ms,關(guān)注“在哪里”。最后二者特征圖做乘法計(jì)算得到注意力特征Fa。
圖4 CBAM算法結(jié)構(gòu)Fig.4 Structure of CBAM algorithm
2000—2021年公布的安徽省61起機(jī)電事故均屬于淮南礦業(yè)集團(tuán)、淮北礦業(yè)集團(tuán)和皖北煤電集團(tuán),楊柳礦為淮北礦業(yè)集團(tuán)智能化建設(shè)代表煤礦,選取21起屬淮北礦業(yè)集團(tuán)的機(jī)電事故為數(shù)據(jù)基礎(chǔ)。統(tǒng)計(jì)不安全行為18類(lèi),涉及23人。相關(guān)指標(biāo)包括人員類(lèi)型、人員層級(jí)、違章類(lèi)型、人次數(shù)、總次數(shù)等內(nèi)容。選取楊柳煤礦代表性不安全行為,建立機(jī)電事故不安全行為庫(kù)見(jiàn)表1。
表1 機(jī)電事故不安全行為庫(kù)Table 1 Electromechanical accident unsafe behavior library
不安全行為發(fā)出者的工種信息記為人員類(lèi)型和人員層級(jí)。不安全行為涉及的人員數(shù)量記為人次數(shù),涉及的事故起數(shù)記為總次數(shù)。不安全行為違章類(lèi)型包括違章操作、違章指揮、違章行動(dòng)。結(jié)果表明,“未確認(rèn)高防開(kāi)關(guān)是否有電,且未對(duì)開(kāi)關(guān)負(fù)荷側(cè)進(jìn)行驗(yàn)電、放電的情況下帶電作業(yè)”是井下機(jī)電一線員工頻繁發(fā)生、涉及人員較多的不安全行為,即楊柳礦機(jī)電人員關(guān)鍵不安全行為。
基于現(xiàn)有監(jiān)控系統(tǒng)采集井下中央變電所現(xiàn)場(chǎng)圖像數(shù)據(jù),人工標(biāo)注安全裝備(絕緣手套、絕緣靴)佩戴特征,考慮光照條件、人員數(shù)量對(duì)識(shí)別模型的影響,在實(shí)驗(yàn)室完成數(shù)據(jù)集的補(bǔ)充融合。為避免數(shù)據(jù)集樣本少造成的過(guò)擬合影響算法對(duì)絕緣裝備檢測(cè)效果,再對(duì)融合后的數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),通過(guò)旋轉(zhuǎn)、鏡像、隨機(jī)裁剪、調(diào)整分辨率、對(duì)比度、亮度等方式將圖像擴(kuò)充至2598張。構(gòu)建YOLO模型通用VOC數(shù)據(jù)集格式,按照8∶1∶1的比例,將標(biāo)記好的數(shù)據(jù)集隨機(jī)分成訓(xùn)練集、驗(yàn)證集和測(cè)試集。
模型訓(xùn)練平臺(tái)的操作系統(tǒng)為Windows11,采用Pytorch1.12.0+cu116深度學(xué)習(xí)框架,Python編程語(yǔ)言。硬件配置為:CPU為12代英特爾i9處理器,NVIDIA GeForce RTX 3060顯卡。算法訓(xùn)練的超參數(shù)設(shè)置見(jiàn)表2。
表2 算法超參數(shù)Table 2 Algorithm hyperparameters
利用整體平均精度(mAP)和模型參數(shù)量、占用大小以及推理時(shí)間等指標(biāo)衡量模型性能。其中準(zhǔn)確率(P),召回率(R),整體平均精度mAP具體表示為:
式中,TP為正樣本目標(biāo)被正確檢出的數(shù)量;FP為正樣本目標(biāo)被錯(cuò)誤檢出的數(shù)量;FN為樣本未被檢出的數(shù)量;n為類(lèi)別數(shù);AP為某個(gè)類(lèi)別的平均精度。
根據(jù)模型訓(xùn)練結(jié)果表明,原模型對(duì)于待測(cè)目標(biāo)均能保證較高精確度,但由于小目標(biāo)的特點(diǎn)導(dǎo)致推理時(shí)間較長(zhǎng),不滿足安全要求。本文采取以下三種輕量化處理方法,分別為P(使用部分卷積替換原有卷積)、F(融合快速神經(jīng)網(wǎng)絡(luò))和C(引入時(shí)間空間注意力模塊)。
在原數(shù)據(jù)集上設(shè)計(jì)了消融實(shí)驗(yàn),分別驗(yàn)證以上操作對(duì)改良模型的貢獻(xiàn)程度。重點(diǎn)關(guān)注未佩戴安全帽、未佩戴絕緣手套和絕緣靴的AP和最終mAP結(jié)果以及模型參數(shù)量、計(jì)算量(GFLOPS)、推理時(shí)間等,見(jiàn)表3:
表3 消融實(shí)驗(yàn)結(jié)果Table 3 Results of the ablation experiment
表中,“√”代表引用該方法,“×”表示未引用該方法。檢測(cè)實(shí)驗(yàn)采用測(cè)試集220張圖片,將平均單張推理時(shí)間作為檢測(cè)速度的表征。結(jié)果表明,部分卷積結(jié)合快速神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方法對(duì)模型檢測(cè)速度提升最為明顯,縮短為原來(lái)的52.4%。使模型參數(shù)量減少30%,體積縮小29.7%。引入時(shí)間空間注意力機(jī)制后,增加0.09 MB的體積大小、1%的參數(shù)量和損失0.4 ms速度使平均檢測(cè)精度高達(dá)97.3%。由此證明,本文采取的輕量化操作讓模型在保證精度的前提下,極大提升檢測(cè)速度,縮小模型體積,可以很好的滿足井下高壓作業(yè)場(chǎng)景的安全需求。
為滿足快速響應(yīng)要求,實(shí)驗(yàn)以推理時(shí)間表征速度,在改進(jìn)策略上對(duì)比當(dāng)下主流輕量化網(wǎng)絡(luò)結(jié)構(gòu),結(jié)果見(jiàn)表4。
表4 對(duì)比實(shí)驗(yàn)結(jié)果Table 4 Comparison of experimental results
輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)專(zhuān)為推理速度更快的移動(dòng)設(shè)備上的應(yīng)用程序。GhostNetv2著力于硬件友好,新架構(gòu)提出一種基于全連接層的注意力機(jī)制,可以聚合本地和遠(yuǎn)程信息同步。與改進(jìn)模型對(duì)比,雖然速度較快但于原模型精度較低,體積較大[19]。
視覺(jué)Transformer(ViT)已普遍用于各種視覺(jué)識(shí)別任務(wù),基于ViT的模型主要效率瓶頸在于資源受限設(shè)備上的推理,MobileViTv2彌補(bǔ)了移動(dòng)設(shè)備上基于CNN和基于ViT的模型之間的延遲差距,同時(shí)使用相似或更少的參數(shù)保持性能。與改進(jìn)模型對(duì)比,各項(xiàng)性能指標(biāo)都不占優(yōu)[20]。
綜上,改進(jìn)模型以損失0.4%的精度代價(jià),換來(lái)減少90.0%的計(jì)算量,縮小88.3%的體積,單張圖片檢測(cè)速度提升21.5 ms的良好性能。
針對(duì)井下高壓場(chǎng)景代表性特征,模擬現(xiàn)實(shí)安全監(jiān)測(cè)情況,將YOLOv7和本文改進(jìn)輕量化網(wǎng)絡(luò)做對(duì)比,如圖5所示。從圖5第一張圖片中圖像右上方,中央變電所遠(yuǎn)側(cè)入口處存在一名手持手電筒的機(jī)電人員,由于監(jiān)控畫(huà)面顯示尺寸較小難以發(fā)現(xiàn)導(dǎo)致漏檢發(fā)生,在實(shí)際安全監(jiān)測(cè)中就會(huì)出現(xiàn)較大安全隱患。a組原算法檢測(cè)中出現(xiàn)的漏檢現(xiàn)象在b組得到改善。
圖5 檢測(cè)結(jié)果Fig.5 Test results
第二張圖片采用數(shù)據(jù)增強(qiáng)手段,模擬生產(chǎn)現(xiàn)場(chǎng)光照差,圖像模糊分辨率低以及圖像破損有殘缺等限制條件,b組檢測(cè)結(jié)果彌補(bǔ)了a組人員的絕緣手套漏檢情況,實(shí)現(xiàn)安全識(shí)別的高精度要求。
綜上,改進(jìn)后的輕量化YOLOv7有效地減少井下復(fù)雜環(huán)境對(duì)安全識(shí)別的影響,提升人員安全護(hù)具的檢測(cè)識(shí)別精度。
1)基于YOLOv7輕量化處理操作后,模型識(shí)別平均精度高達(dá)97.3.%,參數(shù)量為4240967,體積為8.31MB,單張圖片推理時(shí)間僅需2.6 ms,較原模型有良好改進(jìn)效果。
2)滿足高精度、快響應(yīng)的現(xiàn)場(chǎng)安全需求,已在現(xiàn)實(shí)工業(yè)背景有良好應(yīng)用,為煤礦井下高壓場(chǎng)景安全管理提供一定參考價(jià)值。
3)計(jì)算機(jī)視覺(jué)技術(shù)與安全學(xué)科的交叉融合,將深度學(xué)習(xí)理論、安全學(xué)原理和礦業(yè)場(chǎng)景有機(jī)結(jié)合,未來(lái)更多的重心應(yīng)從對(duì)物的不安全狀態(tài)檢測(cè)轉(zhuǎn)變到人的不安全行為。