范亞龍, 李琦, 于令君
(內(nèi)蒙古科技大學(xué)信息工程學(xué)院, 包頭 014010)
銅冶煉作為銅產(chǎn)業(yè)鏈中的重要環(huán)節(jié),存在危險(xiǎn)性高的作業(yè)環(huán)境,如吹煉渣排出過程中,含有SiO2等黏度較大的物質(zhì),需人工協(xié)助排渣防止出口堵塞,為減少該過程中工人因心存僥幸、穿戴安全著裝不規(guī)范引發(fā)的安全生產(chǎn)事故,傳統(tǒng)方法主要有進(jìn)行安全教育、加強(qiáng)巡邏監(jiān)管[1-3],但此類事故依舊高發(fā)。
隨著計(jì)算機(jī)視覺的發(fā)展,越來越多的視頻監(jiān)控技術(shù)應(yīng)用在工業(yè)生產(chǎn)安全領(lǐng)域。吳宏毅等[4]基于Transformer設(shè)計(jì)了一套檢測(cè)安全帽及工作服的神經(jīng)網(wǎng)絡(luò),但存在小目標(biāo)檢測(cè)準(zhǔn)確率低的問題;韓豫等[5-6]使用OpenCV通過檢測(cè)工人安全帽、安全帶實(shí)現(xiàn)工人作業(yè)前安全裝備檢測(cè)。秦子豪等[7]及曹燕等[8]分別使用改進(jìn)的YOLOv3算法和引入Conv-LSTM(long short-term memory)的SSD(single shot multibox detector)算法來提高工人安全帽檢測(cè)的準(zhǔn)確率;劉文強(qiáng)等[9]通過改進(jìn)Faster RCNN提高了對(duì)工人檢測(cè)的準(zhǔn)確性;張萌等[10]使用改進(jìn)的YOLOv4對(duì)工人作業(yè)時(shí)安全防護(hù)裝備進(jìn)行檢測(cè),但對(duì)遮掩目標(biāo)存在漏檢;崔鐵軍等[11]使用Keras框架下YOLOv4算法實(shí)現(xiàn)對(duì)工人防護(hù)面罩高精度且快速的檢測(cè)與識(shí)別;劉穎等[12]改進(jìn)YOLOx增強(qiáng)復(fù)雜環(huán)境下對(duì)口罩佩戴的識(shí)別。以上方法驗(yàn)證了深度學(xué)習(xí)應(yīng)用工業(yè)生產(chǎn)安全領(lǐng)域的有效性。
針對(duì)銅冶煉作業(yè)中因工人著裝導(dǎo)致的安全生產(chǎn)問題,設(shè)計(jì)基于深度學(xué)習(xí)的銅冶煉工人安全著裝監(jiān)測(cè)系統(tǒng)。首先,使用自制工人安全著裝數(shù)據(jù)集(workers’ safety dressing data, WSD-Data)訓(xùn)練對(duì)比YOLOv5五種網(wǎng)絡(luò)結(jié)構(gòu),選擇性能優(yōu)異的YOLOv5l網(wǎng)絡(luò)作為工人安全著裝檢測(cè)模型;其次,將模型部署到DeepStream[13]框架中,通過分析每幀檢測(cè)結(jié)果的時(shí)間空間關(guān)系,判斷工人著裝情況;最后,通過誤檢率和漏檢率驗(yàn)證本系統(tǒng)對(duì)銅冶煉工人著裝情況實(shí)時(shí)監(jiān)測(cè)的準(zhǔn)確性。
本系統(tǒng)以某銅廠吹煉渣處理過程中工人著裝情況為藍(lán)本設(shè)計(jì),如圖1所示。吹煉渣從連續(xù)吹煉爐內(nèi)經(jīng)管道流到出渣口,出渣口下方設(shè)渣包接收排出的吹煉渣。出渣口內(nèi)的管道用于分辨現(xiàn)場(chǎng)工作狀態(tài),其垂直時(shí)為作業(yè)狀態(tài)、水平時(shí)為檢修狀態(tài)。銅廠吹煉渣處理現(xiàn)場(chǎng)處于作業(yè)狀態(tài)時(shí),工人在作業(yè)區(qū)域內(nèi)使用作業(yè)工具協(xié)助排出吹煉渣并清理出渣口,在該流程中工人需正確穿戴防護(hù)工裝,防止吹煉渣排出時(shí)濺射引發(fā)安全事故。本系統(tǒng)通過在作業(yè)區(qū)域正面、側(cè)面安置攝像頭,多角度監(jiān)測(cè)作業(yè)區(qū)域內(nèi)工人著裝情況,并設(shè)置聲光報(bào)警裝置對(duì)違規(guī)現(xiàn)象及時(shí)報(bào)警。
圖1 監(jiān)測(cè)系統(tǒng)應(yīng)用現(xiàn)場(chǎng)構(gòu)圖Fig.1 Site composition of monitoring system application
銅冶煉工人安全著裝監(jiān)測(cè)系統(tǒng)總體架構(gòu)如圖2所示,系統(tǒng)由基于YOLOv5工人安全著裝目標(biāo)檢測(cè)模型、基于時(shí)空關(guān)系分析工人安全著裝推理算法和基于DeepStream智能視頻流分析的監(jiān)測(cè)系統(tǒng)設(shè)計(jì)三部分組成。系統(tǒng)利用兩路高清攝像頭采集現(xiàn)場(chǎng)作業(yè)的視頻數(shù)據(jù),經(jīng)過解碼、圖像預(yù)處理后,使用TensorRT[14]對(duì)YOLOv5深度學(xué)習(xí)模型推斷加速,實(shí)時(shí)檢測(cè)工人著裝穿戴情況,檢測(cè)結(jié)果經(jīng)編碼后顯示實(shí)時(shí)監(jiān)測(cè)畫面。通過對(duì)作業(yè)區(qū)域內(nèi)的檢測(cè)結(jié)果進(jìn)行時(shí)空關(guān)系分析,對(duì)工人著裝出現(xiàn)的違規(guī)現(xiàn)象,實(shí)現(xiàn)聲光報(bào)警、記錄報(bào)警原因、錄制違規(guī)視頻,同時(shí)設(shè)計(jì)移動(dòng)端遠(yuǎn)程查看報(bào)警詳情,方便銅冶煉安全管理人員查證。
本次采用的工人安全著裝圖像來源于內(nèi)蒙古自治區(qū)某銅冶煉企業(yè)。通過固定攝像頭采集工人連續(xù)四天的作業(yè)視頻,為降低數(shù)據(jù)集圖像的重復(fù)性,根據(jù)視頻內(nèi)工人動(dòng)作頻率設(shè)置4 s抽取一幀,使用LabelImg工具進(jìn)行標(biāo)注,最終得到分辨率為1 920×1 080的10 005張工人安全著裝圖像作為本次研究的數(shù)據(jù)集WSD-Data。該數(shù)據(jù)集包含11類檢測(cè)目標(biāo),具體類別與其數(shù)量如表1所示,其中工人類別用于判別著裝類別所屬工人,水平管道和垂直管道用于判別當(dāng)前作業(yè)狀態(tài)(水平管道處于檢修狀態(tài),垂直管道處于作業(yè)狀態(tài)),其余八類檢測(cè)目標(biāo)為安全著裝類別。
圖2 基于深度學(xué)習(xí)銅冶煉工人安全著裝監(jiān)測(cè)系統(tǒng)總體架構(gòu)Fig.2 Overall architecture of monitoring system for safety dress of copper smelting workers based on deep learning
YOLOv5作為深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中檢測(cè)速度較快、準(zhǔn)確率較高的算法,它根據(jù)網(wǎng)絡(luò)的深度和寬度可分為YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x五種網(wǎng)絡(luò)結(jié)構(gòu)。YOLOv5算法的檢測(cè)流程為先對(duì)工人安全著裝圖像進(jìn)行Mosaic數(shù)據(jù)增強(qiáng)和自適應(yīng)錨定框計(jì)算,并將工人安全著裝圖像尺寸(Resize)為640×640,再將圖片放入主干網(wǎng)絡(luò)進(jìn)行主要信息提取,然后通過卷積加強(qiáng)特征融合,最后對(duì)圖像特征進(jìn)行預(yù)測(cè),生成邊界框和預(yù)測(cè)類別。
YOLOv5算法程序基于主流的深度學(xué)習(xí)開源框架PyTorch,使用Python語(yǔ)言開發(fā)。實(shí)驗(yàn)的軟件環(huán)境為Ubuntu 18.04 操作系統(tǒng);硬件環(huán)境GPU為 Intel(R) NVIDIA GeForce GTX 3 090×2,運(yùn)行內(nèi)存為 64 GB。
本實(shí)驗(yàn)使用自制工人安全著裝數(shù)據(jù)集WSD-Data按9∶1比例分為訓(xùn)練集、測(cè)試集,設(shè)置epoch為400, batchsize為16,學(xué)習(xí)率為0.01,最后使用mAP@0.5(mean average precision)、精確率(precision)、召回率(recall)、F1值(F1-Score)和平均單幀檢測(cè)時(shí)間作為模型評(píng)價(jià)指標(biāo)。為使工人安全著裝監(jiān)測(cè)模型性能更好,對(duì)比YOLOv5系列的五類網(wǎng)絡(luò)結(jié)構(gòu),測(cè)試結(jié)果如表2所示。
由表2可知YOLOv5l網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練的mAP@0.5、精確率、召回率、F1效果最好,分別為84.3%、90.8%、94%、85%,從平均單幀檢測(cè)時(shí)間來看,YOLOv5n和YOLOv5s兩種網(wǎng)絡(luò)結(jié)構(gòu)的性能最好??紤]到雙攝像頭視頻流幀率和為50 f/s,YOLOv5l模型推斷單張工人防護(hù)圖像時(shí)間為13ms,即每秒推斷76張(大于50張),滿足系統(tǒng)對(duì)實(shí)時(shí)性的要求,因此選取準(zhǔn)確性更高的YOLOv5l網(wǎng)絡(luò)作為工人安全著裝檢測(cè)的模型。YOLOv5l對(duì)應(yīng)的精確率、召回率、AP(average precision)如表3所示。
表1 檢測(cè)種類中英文名Table 1 Information of test type
由表3可知,工人、安全帽、防護(hù)服等特征明顯的工人著裝類型檢測(cè)效果好,各類評(píng)價(jià)指標(biāo)均在90%以上。但防護(hù)鞋、防護(hù)手套和安全面罩這三類特征不明顯的工人著裝類型檢測(cè)效果差,AP分別為65.5%、61.6%和71.2%,三者現(xiàn)場(chǎng)情況如圖3所示。由圖3可知安全面罩透明,檢測(cè)時(shí)受強(qiáng)光影響,而防護(hù)手套與防護(hù)鞋檢測(cè)目標(biāo)小,防護(hù)鞋顏色還與地板顏色相近,除此之外三者都易被遮擋,這些原因?qū)е聶z測(cè)效果一般。
表2 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)測(cè)試結(jié)果Table 2 YOLOv5 network structure test results
表3 YOLOv5l的檢測(cè)結(jié)果Table 3 Test results of YOLOv5l
圖3 安全面罩、防護(hù)手套與防護(hù)鞋現(xiàn)場(chǎng)圖Fig.3 Map of mask, gloves and shoes
為彌補(bǔ)檢測(cè)部分對(duì)于安全面罩、防護(hù)手套、防護(hù)鞋等目標(biāo)檢測(cè)效果不佳的狀況,通過增加正面和側(cè)面雙攝像頭,以多角度的方式收集更多工人作業(yè)時(shí)的著裝信息,再設(shè)計(jì)基于時(shí)空關(guān)系的推理算法提高工人安全著裝監(jiān)測(cè)效果,算法具體流程如圖4所示。
圖4 工人安全著裝推理算法Fig.4 Analysis algorithm of worker protective equipment
首先,通過正面攝像頭拍攝的底吹渣排出口內(nèi)的管道狀態(tài)來判別現(xiàn)場(chǎng)工作狀態(tài),檢修狀態(tài)判斷下一幀,作業(yè)狀態(tài)則結(jié)合側(cè)面攝像頭分析監(jiān)測(cè)信息,若正面攝像頭未檢測(cè)到管道導(dǎo)致作業(yè)狀態(tài)無法進(jìn)行判斷,則沿用上一幀判定的管道工作狀態(tài)。
其次,統(tǒng)計(jì)監(jiān)測(cè)信息中各監(jiān)測(cè)目標(biāo)數(shù)量并分析目標(biāo)位置,先歸屬不同工作人員穿戴的安全著裝,再分析每個(gè)工人的著裝是否出現(xiàn)違規(guī)?;诎祟惏踩b類別,根據(jù)不同的違規(guī)情況設(shè)置不同的違規(guī)類別,包含未檢測(cè)到安全面罩或未正確佩戴安全面罩(安全面罩置于安全帽上方)、未檢測(cè)到防護(hù)工鞋或防護(hù)鞋和未檢到其余五類安全著裝違規(guī)情況,共七種違規(guī)類別。
最后,算法設(shè)定每一類違規(guī)類別的報(bào)警初始值,檢測(cè)到違規(guī)現(xiàn)象,相應(yīng)違規(guī)類別報(bào)警初始值減一,反之加一,報(bào)警閾值設(shè)為零,最大為設(shè)定初始值。初始值到達(dá)報(bào)警閾值且5 min內(nèi)未監(jiān)測(cè)到同類型報(bào)警時(shí),恢復(fù)初始值并發(fā)送報(bào)警指令。每類違規(guī)類別初始值如表4所示。
表4 設(shè)定的報(bào)警初始值Table 4 Set alarm initial value
DeepStream框架是NVIDIA設(shè)計(jì)的支撐端到端的實(shí)時(shí)視頻流分析框架,是目前主流的實(shí)現(xiàn)深度學(xué)習(xí)的框架之一。通過對(duì)比YOLOv5五種網(wǎng)絡(luò)結(jié)構(gòu),選取效果優(yōu)異的YOLOv5l轉(zhuǎn)換為相應(yīng)的引擎文件,部署到DeepStream框架中構(gòu)建工人安全著裝監(jiān)測(cè)系統(tǒng)。系統(tǒng)先對(duì)兩個(gè)攝像頭流入的視頻流進(jìn)行解碼,再對(duì)數(shù)據(jù)批量處理,然后使用TensorRT加速的YOLOv5l工人安全著裝檢測(cè)模型對(duì)視頻流實(shí)時(shí)檢測(cè),使用DeepStream框架內(nèi)Nvdsanalytic插件配置感興趣區(qū)域(region of interest,ROI)[15],過濾攝像頭拍攝的非作業(yè)區(qū)域內(nèi)的檢測(cè)結(jié)果,最后將過濾后的結(jié)果通過Kafka[16]發(fā)送給工人安全著裝推理算法來判斷是否存在違規(guī)現(xiàn)象,若推理算法判定出現(xiàn)違規(guī),則將錄制命令信息通過Kafka反向傳輸給DeepStream。DeepStream依據(jù)信息中開始、結(jié)束的時(shí)間對(duì)兩路視頻同時(shí)執(zhí)行錄像命令,并將錄像的路徑和文件名保存到日志文件。除此之外,系統(tǒng)將現(xiàn)場(chǎng)監(jiān)測(cè)的結(jié)果實(shí)時(shí)顯示在移動(dòng)端,方便監(jiān)管人員查看,如圖5所示。
為了及時(shí)提醒著裝存在違規(guī)的工人,現(xiàn)場(chǎng)安裝工業(yè)級(jí)聲光報(bào)警裝置,根據(jù)七種違規(guī)類別提前設(shè)計(jì)不同編號(hào)的語(yǔ)音報(bào)警提示。聲光報(bào)警裝置通過RS485通信協(xié)議接收對(duì)應(yīng)的報(bào)警編號(hào),重復(fù)播報(bào)三次提示音并閃爍紅燈。需要注意的是,報(bào)警期間不接受其他報(bào)警信號(hào)。
為方便現(xiàn)場(chǎng)監(jiān)管人員實(shí)時(shí)查看現(xiàn)場(chǎng)作業(yè)的具體情況,監(jiān)測(cè)系統(tǒng)設(shè)計(jì)手機(jī)移動(dòng)端,如圖6所示。其中圖6(a)為移動(dòng)端報(bào)警頁(yè)面,在報(bào)警頁(yè)面上顯示報(bào)警時(shí)間、報(bào)警地點(diǎn)、報(bào)警類型和兩個(gè)攝像頭對(duì)同一報(bào)警事件錄像的視頻;圖6(b)為移動(dòng)端查看頁(yè)面,顯示銅冶煉作業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)畫面,且配備一鍵截圖和錄像功能。
圖5 實(shí)時(shí)監(jiān)控畫面在服務(wù)器端的顯示Fig.5 Display of real-time monitoring screen on the service end
圖6 移動(dòng)端頁(yè)面Fig.6 Mobile page
系統(tǒng)部署以后,連續(xù)7 d監(jiān)測(cè)工人作業(yè),發(fā)現(xiàn)存在187次著裝違規(guī),人工復(fù)檢(實(shí)際違規(guī))核查出183次著裝違規(guī)。通過對(duì)比查證,系統(tǒng)監(jiān)測(cè)結(jié)果有9次誤報(bào)、5次漏報(bào),如表5所示。誤檢率和漏檢率的計(jì)算方法為
誤報(bào)次數(shù)/監(jiān)測(cè)次數(shù)=誤檢率
漏檢次數(shù)/復(fù)檢次數(shù)=漏檢率
代入表5數(shù)據(jù)得誤檢率為4.8%、漏檢率為2.7%。誤檢原因均為兩攝像頭未檢測(cè)到安全面罩報(bào)警,如圖7所示,圖7(a)報(bào)警原因?yàn)榘踩嬲直黄渌と苏趽?圖7(b)報(bào)警原因?yàn)楣と藢㈩^部探入底吹渣排出口內(nèi)導(dǎo)致安全面罩被遮擋。如圖8所示,漏報(bào)原因均為工人在作業(yè)區(qū)域內(nèi)將防護(hù)手套脫下但仍持在手中,導(dǎo)致系統(tǒng)能夠檢測(cè)到防護(hù)手套,對(duì)該違規(guī)現(xiàn)象未發(fā)送報(bào)警指令。
表5 穿戴違規(guī)監(jiān)測(cè)結(jié)果Table 5 Monitoring results of wearing violations
圖7 誤報(bào)畫面Fig.7 False alarm screen
圖8 漏報(bào)畫面Fig.8 Missing report screen
(1)針對(duì)銅冶煉作業(yè)中工人著裝不規(guī)范導(dǎo)致的安全生產(chǎn)問題,應(yīng)用深度學(xué)習(xí)YOLOv5l算法對(duì)銅冶煉作業(yè)工人著裝情況進(jìn)行檢測(cè),設(shè)計(jì)工人安全著裝推理算法提高工人安全著裝檢測(cè)效果,利用DeepStream框架構(gòu)建監(jiān)控系統(tǒng),現(xiàn)場(chǎng)通過安裝聲光報(bào)警裝置對(duì)違規(guī)現(xiàn)象及時(shí)報(bào)警、設(shè)計(jì)移動(dòng)端遠(yuǎn)程顯示報(bào)警詳情。最后,通過誤檢率和漏檢率驗(yàn)證系統(tǒng)實(shí)際部署的有效性。
(2)YOLOv5l訓(xùn)練得到的工人安全著裝監(jiān)測(cè)模型對(duì)銅冶煉工人安全著裝數(shù)據(jù)集WSD-Data中11類檢測(cè)目標(biāo)的mAP@0.5、Precision、Recall、F1-Score、平均單幀檢測(cè)時(shí)間分別為84.35%、90.8%、94%、85%、13 ms。應(yīng)用工人安全著裝推理算法,構(gòu)建工人安全著裝監(jiān)測(cè)系統(tǒng),誤檢率為4.8%、漏檢率為2.7%。
(3)深度學(xué)習(xí)應(yīng)用于工人安全著裝監(jiān)測(cè)領(lǐng)域有著廣闊的研究空間及應(yīng)用場(chǎng)景,本文設(shè)計(jì)的銅冶煉工人安全著裝監(jiān)測(cè)方法,能為此類安全監(jiān)管提供良好的參考價(jià)值。