屈文謙,邱志斌,廖才波,朱 軒
(南昌大學(xué) 能源與電氣工程系,江西 南昌 330031)
佩戴安全帽是電網(wǎng)工作人員進(jìn)行作業(yè)時(shí)非常重要的防護(hù)手段之一。在日常線路巡檢、設(shè)備維護(hù)以及電網(wǎng)基建等情況下,由于長(zhǎng)期工作以及作業(yè)人員的疏忽,時(shí)常出現(xiàn)安全帽佩戴不規(guī)范的現(xiàn)象,間接地引起重大安全事故,所以有必要進(jìn)行作業(yè)人員安全帽佩戴情況檢測(cè)。
安全帽佩戴情況監(jiān)測(cè)大多數(shù)采用人工檢測(cè)方式,即監(jiān)測(cè)人員通過視頻監(jiān)控設(shè)備實(shí)時(shí)監(jiān)測(cè)作業(yè)現(xiàn)場(chǎng)人員安全帽佩戴情況。但由于監(jiān)測(cè)人員的長(zhǎng)時(shí)間工作,可導(dǎo)致檢測(cè)效率與檢測(cè)精度的降低。結(jié)合計(jì)算機(jī)視覺中目標(biāo)檢測(cè)技術(shù),利用智能算法模型進(jìn)行安全帽佩戴檢測(cè),能夠克服人工檢測(cè)的弊端。目標(biāo)檢測(cè)算法主要包括以下2種:基于候選區(qū)域的目標(biāo)檢測(cè)算法,如R-CNN[1]、Fast R-CNN[2]、Faster R-CNN[3];基于回歸預(yù)測(cè)的目標(biāo)檢測(cè)算法,如SSD[4]、YOLO[5]、YOLOv2[6]、YOLOv3[7]等。目前目標(biāo)檢測(cè)技術(shù)不僅在污染場(chǎng)地作業(yè)人員著裝檢測(cè)[8]方面應(yīng)用廣泛,而且在安全帽佩戴檢測(cè)領(lǐng)域內(nèi)有較多的應(yīng)用。例如,文獻(xiàn)[9]先利用YOLOv3檢測(cè)出施工人員臉部區(qū)域,然后估算出安全帽的位置并提取其HOG特征,最后采用SVM實(shí)現(xiàn)安全帽的佩戴檢測(cè),實(shí)驗(yàn)結(jié)果表明,對(duì)未佩戴安全帽行為檢測(cè)準(zhǔn)確率可達(dá)90%。文獻(xiàn)[10]改進(jìn)Faster R-CNN算法:增加錨點(diǎn)數(shù)量、Focal loss代替原損失函數(shù)、ROI Align代替原ROI pooling;實(shí)驗(yàn)結(jié)果表明,安全帽佩戴檢測(cè)的精度提高了15%。文獻(xiàn)[11]采用Retinex圖像增強(qiáng)技術(shù)與k-means++算法改進(jìn)Faster R-CNN,從而提高安全帽佩戴檢測(cè)的平均準(zhǔn)確率。文獻(xiàn)[12]采用密集塊與MobileNet輕量化卷積神經(jīng)網(wǎng)絡(luò)改進(jìn)YOLOv2目標(biāo)檢測(cè)算法,經(jīng)過模型的訓(xùn)練與測(cè)試,結(jié)果表明該方法能在保證準(zhǔn)確率的同時(shí)顯著提高檢測(cè)速度。文獻(xiàn)[13]通過修改YOLOv3的特征層尺度與錨框大小,提高模型對(duì)小尺度安全帽目標(biāo)的檢測(cè)能力,檢測(cè)精度最高可達(dá)98.51%。文獻(xiàn)[14]通過改進(jìn)GIOU計(jì)算方法,結(jié)合YOLOv3實(shí)現(xiàn)IOU局部最優(yōu),整體提高安全帽佩戴檢測(cè)精度。
目前,對(duì)于安全帽佩戴檢測(cè)的研究主要是對(duì)各類算法模型進(jìn)行改進(jìn)與優(yōu)化,提高檢測(cè)速度與精度,但大多數(shù)文獻(xiàn)沒有考慮電網(wǎng)作業(yè)人員是否正確佩戴安全帽。針對(duì)以上問題,本文提出基于YOLOv3的電網(wǎng)作業(yè)人員安全帽佩戴檢測(cè)方法,考慮安全帽佩戴的規(guī)范性,構(gòu)建電網(wǎng)作業(yè)人員安全帽佩戴數(shù)據(jù)集;并通過調(diào)節(jié)模型參數(shù)、訓(xùn)練樣本比例以獲得最優(yōu)YOLOv3檢測(cè)模型,實(shí)現(xiàn)安全帽佩戴情況的自動(dòng)化檢測(cè)。
YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)主要包含特征提取網(wǎng)絡(luò)、特征金字塔FPN(feature pyramid networks)以及預(yù)測(cè)網(wǎng)絡(luò)3個(gè)部分。其中特征提取網(wǎng)絡(luò)采用DarkNet53網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)在特征提取時(shí),首先經(jīng)過1×1和3×3的卷積層,并在每1個(gè)卷積層后都附帶1個(gè)批歸一化層BN和Leaky ReLU激活層。結(jié)合殘差模塊ResNet[15],實(shí)現(xiàn)網(wǎng)絡(luò)深度的增加,并且避免出現(xiàn)梯度爆炸。在整個(gè)特征提取網(wǎng)絡(luò)中,共進(jìn)行5次步長(zhǎng)為2的下采樣,將32,16,8倍下采樣后的輸出作為最后提取的特征,包含13×13、26×26、52×52共3種尺度的特征圖。然后將特征輸入FPN特征金字塔進(jìn)行特征融合,其原理就是將13×13的特征圖經(jīng)過步長(zhǎng)為2的上采樣后與26×26的特征圖進(jìn)行拼接,然后將拼接后的特征圖再經(jīng)過步長(zhǎng)為2的上采樣,然后與52×52的特征圖進(jìn)行拼接,實(shí)現(xiàn)深層與淺層特征的融合,該結(jié)構(gòu)有利于實(shí)現(xiàn)不同目標(biāo)大小的安全帽佩戴檢測(cè);最后將特征分別輸入預(yù)測(cè)網(wǎng)絡(luò)中實(shí)現(xiàn)安全帽佩戴情況預(yù)測(cè)與位置預(yù)測(cè),具體YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of YOLOv3
預(yù)測(cè)網(wǎng)絡(luò)對(duì)FPN特征金字塔輸出的3種尺度的特征圖進(jìn)行檢測(cè),這3種尺度的特征圖被劃分成169,676,2 704個(gè)網(wǎng)格,每種尺度特征圖上設(shè)置3組不同尺寸的先驗(yàn)框,并利用先驗(yàn)框?qū)W(wǎng)格進(jìn)行類別預(yù)測(cè),共計(jì)10 647個(gè)先驗(yàn)框。然后根據(jù)式(1)計(jì)算每個(gè)先驗(yàn)框的置信度值,與標(biāo)注時(shí)真實(shí)框有最大交并比(intersection over union,IOU)的先驗(yàn)框可用于目標(biāo)預(yù)測(cè),并通過非極大值抑制(non-maximum suppression,NMS)篩選出合適的先驗(yàn)框。先驗(yàn)框類別置信度與IOU的計(jì)算公式如式(1)~(2)所示。
(1)
(2)
通過式(1)計(jì)算出所有先驗(yàn)框的置信度,NMS算法會(huì)先剔除置信度低于置信度閾值的先驗(yàn)框,剩余先驗(yàn)框則按照置信度從大到小進(jìn)行排序,并通過式(2)計(jì)算其中最大置信度的先驗(yàn)框與其他先驗(yàn)框的IOU值,最后根據(jù)預(yù)先設(shè)置的IOU閾值進(jìn)行篩選。
YOLOv3的損失函數(shù)主要包括位置、分類和置信度損失3部分,具體如式(3)所示。位置損失為先驗(yàn)框定位時(shí)產(chǎn)生的誤差,分類損失為預(yù)測(cè)先驗(yàn)框內(nèi)目標(biāo)類別時(shí)所產(chǎn)生的誤差,置信度損失則是目標(biāo)和非目標(biāo)預(yù)測(cè)時(shí)產(chǎn)生的損失之和。
(3)
式中:Loss為整體的損失值;xyloss為待檢測(cè)目標(biāo)中心點(diǎn)對(duì)應(yīng)網(wǎng)格左上角的偏移量損失;whloss為先驗(yàn)框的長(zhǎng)寬損失,其權(quán)重系數(shù)為5;classloss為分類誤差,權(quán)重系數(shù)為1;ocloss與ncloss分別為目標(biāo)與非目標(biāo)的置信度損失,對(duì)應(yīng)權(quán)重系數(shù)分別為1和0.5。
安全帽佩戴檢測(cè)框架如圖2所示,其中包括安全帽數(shù)據(jù)集的構(gòu)建與標(biāo)注、目標(biāo)檢測(cè)模型的構(gòu)建、模型訓(xùn)練與測(cè)試;在數(shù)據(jù)標(biāo)注過程中,將圖像按照VOC格式要求進(jìn)行標(biāo)注,標(biāo)注后生成的xml格式標(biāo)注文件將與原圖同時(shí)輸入模型進(jìn)行訓(xùn)練。
圖2 基于YOLOv3算法的安全帽佩戴檢測(cè)框架Fig.2 Framework of safety helmet wearing detection based on YOLOv3 algorithm
訓(xùn)練安全帽佩戴檢測(cè)模型采用遷移學(xué)習(xí)的方法,遷移VOC2007公開數(shù)據(jù)集上的預(yù)訓(xùn)練模型,提高模型的訓(xùn)練精度與速度,訓(xùn)練完成獲得最優(yōu)安全帽檢測(cè)模型,隨后利用最優(yōu)檢測(cè)模型在測(cè)試集上進(jìn)行測(cè)試,根據(jù)測(cè)試結(jié)果完成評(píng)價(jià)指標(biāo)的計(jì)算,并與其他目標(biāo)檢測(cè)算法進(jìn)行
對(duì)比分析。
本文引用目標(biāo)檢測(cè)中常用評(píng)價(jià)標(biāo)準(zhǔn)來判斷模型的檢測(cè)效果,包括平均精度均值(mean average precision,mAP)與每秒幀數(shù)(frame per second,F(xiàn)PS)。mAP含義為各類的平均精度(average precision,AP)的均值,其中AP值為準(zhǔn)確率(p值)與召回率(r值)在[0,1]范圍內(nèi)繪制的p-r曲線與坐標(biāo)軸所圍成的面積,計(jì)算公式如式(4)~(5)所示。
(4)
(5)
式中:TP為模型檢測(cè)正確的目標(biāo)數(shù);TP+FP為模型檢測(cè)出的目標(biāo)數(shù);TP+FN表示實(shí)際目標(biāo)總數(shù)。
FPS作為目標(biāo)檢測(cè)算法的另1項(xiàng)評(píng)價(jià)指標(biāo),其含義為模型每秒能夠檢測(cè)的圖片數(shù)量,借此評(píng)估算法的檢測(cè)速度,F(xiàn)PS值越大表示檢測(cè)速度越快。
根據(jù)某國(guó)網(wǎng)公司所轄變電站內(nèi)作業(yè)現(xiàn)場(chǎng)監(jiān)控視頻,利用視頻圖像轉(zhuǎn)換技術(shù)提取視頻內(nèi)的圖像,并結(jié)合互聯(lián)網(wǎng)上安全帽佩戴相關(guān)圖片,共同構(gòu)建安全帽佩戴樣本數(shù)據(jù)庫(kù),共3 248張。然后,利用MRLabeler標(biāo)簽工具按照VOC格式要求對(duì)圖像樣本進(jìn)行標(biāo)注,其中包括“正確佩戴安全帽”、“不正確佩戴安全帽”及“未佩戴安全帽”3類,對(duì)應(yīng)標(biāo)簽與圖像數(shù)量分別為“T_helmet”類1 045張,“F_helmet”類1 384張和“person”類819張,具體標(biāo)注情況如圖3所示。
圖3 安全帽佩戴的3種標(biāo)簽分類示例Fig.3 Classification examples for three types of labels of safety helmet wearing
根據(jù)圖3可知,“T_helmet”與“F_helmet”都代表作業(yè)人員佩戴了安全帽,但不同之處在于,“T_helmet”標(biāo)簽代表作業(yè)人員系好安全帽下頜帶,而“F_helmet”標(biāo)簽代表作業(yè)人員沒有系好下頜帶,在本文中,僅以未系好下頜帶的典型特征視作“未正確佩戴安全帽”,即人臉左右2側(cè)沒有帶狀物;最后,“person”標(biāo)簽則表示作業(yè)人員未佩戴安全帽。
本文提出“系好安全帽下頜帶”作為“正確佩戴安全帽”的特征,數(shù)據(jù)集中包含日光照射、燈光照射、近距離、遠(yuǎn)距離、正臉、側(cè)臉等情況下系好安全帽下頜帶的圖片,下頜帶樣本的種類多樣并且安全帽與下頜帶顏色豐富,滿足模型訓(xùn)練要求,數(shù)據(jù)集部分圖片如圖4所示。
圖4 數(shù)據(jù)庫(kù)樣本典型圖片示例Fig.4 Examples of typical pictures of database samples
本文算例仿真時(shí)訓(xùn)練模型的硬件配置參數(shù)如表1所示,基于Visual Studio Code 2016開發(fā)軟件,在torch1.2.0、torchvision0.4.0與Python3.6.12的環(huán)境下開展電網(wǎng)作業(yè)人員安全帽佩戴檢測(cè)算例。
表1 硬件配置Table 1 Hardware configuration
采用分階段訓(xùn)練方法,將模型訓(xùn)練過程分為2個(gè)階段,包括凍結(jié)階段與解凍階段2部分;凍結(jié)階段將模型中帶有權(quán)值參數(shù)的網(wǎng)絡(luò)層進(jìn)行凍結(jié),然后進(jìn)行模型的訓(xùn)練,解凍階段則是對(duì)所有層進(jìn)行訓(xùn)練。算例參數(shù)設(shè)置如下:2個(gè)階段的訓(xùn)練輪次(epoch)均為25,總計(jì)訓(xùn)練50輪;凍結(jié)階段batchsize初始值設(shè)置為4,學(xué)習(xí)率為0.001,解凍階段的batchsize設(shè)置為2,學(xué)習(xí)率為0.000 1。
在訓(xùn)練網(wǎng)絡(luò)模型時(shí),將輸入的安全帽佩戴樣本數(shù)據(jù)庫(kù)分為訓(xùn)練驗(yàn)證集與測(cè)試集,測(cè)試集不參與訓(xùn)練,訓(xùn)練驗(yàn)證集按照9∶1的比例分為訓(xùn)練集與驗(yàn)證集,訓(xùn)練集用于訓(xùn)練模型,而驗(yàn)證集則負(fù)責(zé)在訓(xùn)練過程中對(duì)訓(xùn)練的模型進(jìn)行驗(yàn)證。
本文通過改變訓(xùn)練驗(yàn)證集與測(cè)試集的比例,分析不同數(shù)量的訓(xùn)練、驗(yàn)證與測(cè)試圖片對(duì)檢測(cè)結(jié)果的影響。在相同的設(shè)備與參數(shù)下進(jìn)行仿真測(cè)試,比較各個(gè)比例訓(xùn)練后最優(yōu)模型的AP與mAP值,具體對(duì)比結(jié)果如表2所示。
由表2可知,訓(xùn)練驗(yàn)證集與測(cè)試集的比例在7∶3時(shí),模型對(duì)于T_helmet類的AP值達(dá)到90.05%,并且同時(shí)mAP值達(dá)到92.59%,該比例下檢測(cè)結(jié)果如圖5所示。由圖5可知,模型能夠較準(zhǔn)確地檢測(cè)出“系好安全帽下頜帶”的目標(biāo),不管是單目標(biāo)還是多目標(biāo)都具有較高的檢測(cè)精度,故在之后的分析中,都以7∶3作為樣本劃分比例。在7∶3比例下訓(xùn)練獲得的Loss曲線如圖6所示。并且由圖6可知,總體Loss值在第1個(gè)輪(epoch)時(shí)比較大,之后迅速減小,并在30輪之后趨于穩(wěn)定;而驗(yàn)證Loss曲線在訓(xùn)練開始后就逐漸減小,在35至50輪之間變化不大,表示模型訓(xùn)練良好。
圖5 訓(xùn)練比例7∶3下的檢測(cè)結(jié)果Fig.5 Detection results under training ratio of 7∶3
圖6 訓(xùn)練比例7∶3下的損失值曲線Fig.6 Loss curves under training ratio of 7∶3
為驗(yàn)證本文YOLOv3算法在安全帽佩戴檢測(cè)方面的效果,另外構(gòu)建Faster R-CNN與SSD算法模型進(jìn)行對(duì)比分析,仿真測(cè)試在相同設(shè)備、模型參數(shù)以及訓(xùn)練樣本比例下進(jìn)行,對(duì)比結(jié)果如表3所示。
表3 3種算法的訓(xùn)練結(jié)果Table 3 Training results of three algorithms
由表3可知,SSD算法在T_helmet類上的檢測(cè)AP值較高,但在其他2類上的AP值較低,總體mAP值偏低;而Faster R-CNN算法在T_helmet類上的檢測(cè)AP值為92.90%且總體mAP值達(dá)93.69%,較YOLOv3中T_helmet類AP值提高了2.85%,mAP提高了1.1%;結(jié)合模型的檢測(cè)速度,YOLOv3的FPS值為15,能夠滿足實(shí)時(shí)檢測(cè)的需求。因此,綜合考慮檢測(cè)精度與檢測(cè)速度,YOLOv3更加適合安全帽佩戴檢測(cè)。
利用單張圖片對(duì)以上3種算法的檢測(cè)效果進(jìn)行驗(yàn)證,其檢測(cè)結(jié)果如圖7所示??梢钥闯?,YOLOv3相較于其他2種算法而言,檢測(cè)精度更高,誤檢與漏檢情況更少。
圖7 3種算法的檢測(cè)結(jié)果圖片F(xiàn)ig.7 Images of detection results of three algorithms
為驗(yàn)證模型的魯棒性,本文選取不同作業(yè)場(chǎng)景下的安全帽佩戴圖片進(jìn)行測(cè)試,其中包括變電站設(shè)備維護(hù)、線路日常巡檢、高空線路作業(yè),以此驗(yàn)證YOLOv3的檢測(cè)性能,結(jié)果如圖8所示。
圖8 YOLOv3在不同場(chǎng)景下的檢測(cè)結(jié)果Fig.8 Detection results of YOLOv3 in different scenarios
由圖8可知,YOLOv3在各類場(chǎng)景情況下都具有較好的檢測(cè)精度,且對(duì)于單個(gè)目標(biāo)或多個(gè)目標(biāo)都能實(shí)現(xiàn)準(zhǔn)確識(shí)別,結(jié)果表明:本文YOLOv3能夠?qū)崿F(xiàn)實(shí)際復(fù)雜作業(yè)場(chǎng)景下電網(wǎng)作業(yè)人員安全帽佩戴檢測(cè),能夠?yàn)楸苊馊藛T安全隱患提供參考。
1)提出系好下頜帶為安全帽正確佩戴的依據(jù),并以此構(gòu)建安全帽佩戴圖片數(shù)據(jù)集并采用YOLOv3進(jìn)行算例實(shí)驗(yàn),結(jié)果表明模型能夠有效檢測(cè)出“系好安全帽下頜帶”的目標(biāo),AP值為90.05%,mAP值可達(dá)92.59%,具有良好的識(shí)別精度。
2)經(jīng)過與Faster R-CNN與SSD算法對(duì)比分析,結(jié)果表明SSD與YOLOv3檢測(cè)速度相近但精度較低,而Faster R-CNN精度高于YOLOv3但檢測(cè)速度低;綜合檢測(cè)速度與精度,驗(yàn)證出YOLOv3能夠?qū)崿F(xiàn)安全帽佩戴的高精度與快速檢測(cè)。
3)經(jīng)過電網(wǎng)作業(yè)現(xiàn)場(chǎng)的復(fù)雜場(chǎng)景檢測(cè)驗(yàn)證,在不同人員數(shù)量、不同目標(biāo)背景、不同目標(biāo)大小等各類情況下,YOLOv3都具有較高的檢測(cè)精度,可為電網(wǎng)作業(yè)現(xiàn)場(chǎng)的實(shí)際運(yùn)用提供技術(shù)參考。
中國(guó)安全生產(chǎn)科學(xué)技術(shù)2022年2期