王彥生,朱佳佳,王紫儀,湯博宇 ,高 陽,2
(1. 南京工程學(xué)院 人工智能產(chǎn)業(yè)技術(shù)研究院,南京 211167;2. 江蘇省智能感知技術(shù)與裝備工程研究中心,南京 211167)
當(dāng)今社會,電能成為居民日常生活和工業(yè)生產(chǎn)的基礎(chǔ)保障,一旦輸電過程中突發(fā)事故,將無法保證居民的日常生活用電,給居民生活帶來了極大的不便,也會給工業(yè)生產(chǎn)造成巨大的經(jīng)濟(jì)損失,為此,必須按時(shí)對輸電線路進(jìn)行檢修和維修,這就對電網(wǎng)的作業(yè)人員提出了更高的工作要求。據(jù)有關(guān)部門統(tǒng)計(jì),我國電力建設(shè)事故數(shù)量和死亡人數(shù)逐年增加,糾其原因,很大一部分都是未按安全規(guī)范來進(jìn)行維修檢修工作導(dǎo)致的,進(jìn)而給電網(wǎng)的安全運(yùn)行造成巨大威脅。因此,必須規(guī)范作業(yè)過程,嚴(yán)格監(jiān)管作業(yè)人員是否按規(guī)定穿戴工作裝備,避免發(fā)生電擊事故,才能保障居民企業(yè)的正常用電。其中不按規(guī)定佩戴絕緣手套是影響電力生產(chǎn)的不安全行為之一。目前電網(wǎng)企業(yè)中一般是通過人工現(xiàn)場監(jiān)管或者視頻監(jiān)控的方式來加強(qiáng)現(xiàn)場作業(yè)安全管理,人工現(xiàn)場監(jiān)管需要單獨(dú)調(diào)派人手,且人眼監(jiān)管的范圍有限,浪費(fèi)人力且監(jiān)管效果較差。而采用視頻監(jiān)控進(jìn)行管理時(shí),隨著監(jiān)控場景的擴(kuò)大以及監(jiān)控?cái)z像頭的大量部署,監(jiān)控人員的工作量大大增加[1]。此外,監(jiān)控人員無法保證全天24小時(shí)監(jiān)看視頻監(jiān)控,并且人工監(jiān)控的方法存在監(jiān)管效率低、時(shí)效性差、智能化程度低等問題。因此,結(jié)合現(xiàn)有的網(wǎng)絡(luò)攝像頭等視頻采集設(shè)備,利用計(jì)算機(jī)視覺領(lǐng)域的圖像算法可以進(jìn)行不安全行為的自動檢測,實(shí)現(xiàn)降低人工成本的目的,能更加及時(shí)并準(zhǔn)確的發(fā)現(xiàn)不安全行為。
伴隨人工智能和計(jì)算機(jī)技術(shù)的發(fā)展,深度學(xué)習(xí)在目標(biāo)檢測領(lǐng)域得到了廣泛應(yīng)用[2]。目前有關(guān)目標(biāo)檢測的深度學(xué)習(xí)算法主要有兩個(gè)分支,一個(gè)分支是以R-CNN系列為典型代表的雙階段目標(biāo)檢測算法,另一個(gè)分支則是以SSD、YOLO系列為典型代表的單階段目標(biāo)檢測算法。這兩種算法最大的區(qū)別在于是否需要提前生成預(yù)選框。具體來說,雙階段目標(biāo)檢測算法需要提前生成預(yù)選框,然后經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測,而單階段目標(biāo)檢測算法則不需要提前生成預(yù)選框,而是直接用神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測。目前對于電力行業(yè)不安全行為檢測的目標(biāo)檢測方法主要以YOLO系列為主,文獻(xiàn)[3]通過修改YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)和研究相關(guān)算法提升遮擋場景下對電廠環(huán)境下作業(yè)人員是否佩戴安全帽進(jìn)行檢測,文獻(xiàn)[4]通過在YOLOv5網(wǎng)絡(luò)中加入注意力機(jī)制和修改特征融合網(wǎng)絡(luò)以提高對煙頭等小目標(biāo)的檢測精度,文獻(xiàn)[5]以Faster R-CNN算法為基礎(chǔ),通過修改回歸損失函數(shù)以達(dá)到對作業(yè)人員著裝規(guī)范性檢測的目的。文獻(xiàn)[6]采用PSA極化自注意力機(jī)制、引入ASFF模塊以及修改回歸損失函數(shù)為EIoU Loss,提高對于口罩這類小目標(biāo)的檢測精度。由此可見,現(xiàn)有的檢測方法大多是針對變電站施工現(xiàn)場對安全帽及施工人員等目標(biāo)的檢測,而對于作業(yè)人員是否佩戴絕緣手套的檢測研究甚少,除此之外,絕緣手套屬于小目標(biāo)檢測,其本身檢測難度較高,且存在檢測精度低的問題。
圖1 YOLOv5結(jié)構(gòu)圖
為了解決上述難題,本文從小目標(biāo)檢測方向入手,以YOLOv5s網(wǎng)絡(luò)為基礎(chǔ),通過將主干網(wǎng)絡(luò)中的卷積替換為自校準(zhǔn)卷積,添加注意力模塊,修改損失函數(shù),達(dá)到對電廠人員絕緣手套佩戴的檢測并進(jìn)一步提高其檢測精度的目的。
到目前為止,YOLOv5總共發(fā)行了兩個(gè)版本,5.0版本和6.0版本,6.0版本將5.0版本中的有關(guān)結(jié)構(gòu)進(jìn)行了微調(diào),圖1是6.0版本的具體結(jié)構(gòu),其可分為第一部分輸入端,第二部分Backbone,第三部分Neck以及第四部分預(yù)測網(wǎng)絡(luò)。
首先,YOLOv5的輸入端沿用了YOLOv4的Mosaic數(shù)據(jù)增強(qiáng)操作,通過選定一張圖片,然后通過與另外三張隨機(jī)圖片進(jìn)行縮放裁剪操作,最終隨機(jī)排布拼成一張圖,將最終獲得的圖片作為訓(xùn)練數(shù)據(jù),由此豐富圖片的背景,以提升模型的訓(xùn)練速度和網(wǎng)絡(luò)的精度,除此之外,在網(wǎng)絡(luò)進(jìn)行標(biāo)準(zhǔn)化BN計(jì)算時(shí),計(jì)算一張圖片的數(shù)據(jù)就相當(dāng)于計(jì)算四張圖片的數(shù)據(jù),以此減少GPU計(jì)算。
其次,提出了一種自適應(yīng)錨框計(jì)算方法,之前的YOLO系列,諸如YOLOv3、YOLOv4對于錨框的處理都使用單獨(dú)的腳本進(jìn)行初始錨框的計(jì)算,而YOLOv5拋棄了這一做法,將此功能直接嵌入到整個(gè)訓(xùn)練代碼中。所以在每次訓(xùn)練開始之前,YOLOv5網(wǎng)絡(luò)都會根據(jù)不同的數(shù)據(jù)集來自適應(yīng)計(jì)算錨框。
最后,圖片縮放改為自適應(yīng)。數(shù)據(jù)集中不同的圖片長寬不一定相同,YOLO算法在訓(xùn)練時(shí)需要將圖片統(tǒng)一縮放到同一尺寸,而手動對圖片進(jìn)行縮放填充,我們不能保證兩端填充的黑邊大小相同,一旦填充較多,就會存在信息冗余,影響推理速度。因此YOLOv5統(tǒng)一對原始圖像自適應(yīng)的添加最少的黑邊,將圖片統(tǒng)一為同一尺寸,以此來避免過多信息冗余,加快網(wǎng)絡(luò)推理速度[7]。
1.2.1 Focus結(jié)構(gòu)
在YOLOv5未出現(xiàn)之前,YOLO系列的所有網(wǎng)絡(luò)都沒有使用Focus結(jié)構(gòu),F(xiàn)ocus結(jié)構(gòu)可以說是對圖片在進(jìn)入主干網(wǎng)絡(luò)之前的特殊處理,其具體的操作是對圖像進(jìn)行隔像素取值,即切片操作,從而將一張圖劃分為不同的值,經(jīng)過切片操作后,會獲得4個(gè)圖像,這4張圖像并不是相互獨(dú)立,毫無關(guān)系的,恰恰相反,它們相互間互補(bǔ),因此,不存在信息缺失,且原本圖像的RGB三通道擴(kuò)大成了4×3=12通道。Focus結(jié)構(gòu)的優(yōu)勢是在減少了計(jì)算復(fù)雜度和參數(shù)的情況下,不會丟失任何信息,從而在保證準(zhǔn)確率的前提下,提高了對小目標(biāo)的檢測率。
1.2.2 CSP結(jié)構(gòu)
CSP即C3模塊,YOLOv5中的CSP有兩種設(shè)計(jì),分別為Backbone部分的CSP1_X結(jié)構(gòu)和Neck部分的CSP2_X結(jié)構(gòu)。
1)CSP1_X結(jié)構(gòu)
CSP1_X結(jié)構(gòu)的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示。
圖2 CSP1_X網(wǎng)絡(luò)結(jié)構(gòu)圖
其中CBS為Conv+BN+SiLu,Resunit是x個(gè)殘差組件。從結(jié)構(gòu)可以看出,CSP1_X是通過將兩個(gè)不同支路進(jìn)行Concat和CBS構(gòu)成。CSP1_X應(yīng)用于backbone主干網(wǎng)絡(luò)部分,主要是因?yàn)樵谳^深的網(wǎng)絡(luò)中殘差結(jié)構(gòu)可以增加層與層之間反向傳播的梯度值,以此來避免因?yàn)榫W(wǎng)絡(luò)加深而帶來的梯度消失,確保網(wǎng)絡(luò)可以提取到更加細(xì)微的特征[8]。
2)CSP2_X結(jié)構(gòu)
CSP2_X的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示。
圖3 CSP2_X網(wǎng)絡(luò)結(jié)構(gòu)圖
CSP2_X相對于CSP1_X來說,不一樣的地方只有CSP2_X將Resunit換成了2*X個(gè)CBS,主要應(yīng)用在Neck網(wǎng)絡(luò)。
3)SPPF結(jié)構(gòu)
SPPF的具體結(jié)構(gòu)如圖4所示。SPPF模塊將經(jīng)過CBS的x、一次池化后的y1、兩次池化后的y2和3次池化后的m(y2)先進(jìn)行拼接,然后再CBS提取特征。通過結(jié)構(gòu)圖不難發(fā)現(xiàn),雖然SSPF對特征圖進(jìn)行了多次池化,但是特征圖尺寸并未發(fā)生變化,通道數(shù)更不會變化,所以后續(xù)的4個(gè)輸出能夠在channel維度進(jìn)行融合。該模塊不僅要提取高層特征,還要利用多次最大池化進(jìn)行特征的融合,以便能夠更多的提取信息。
圖4 SPPF網(wǎng)絡(luò)結(jié)構(gòu)圖
Neck部分由兩個(gè)網(wǎng)絡(luò)組成,一個(gè)是特征金字塔網(wǎng)絡(luò)(FPN,feature pyramid networks),F(xiàn)PN網(wǎng)絡(luò)通過對主干網(wǎng)絡(luò)提取到的高低層特征進(jìn)行融合,以此來提高對于較小目標(biāo)的檢測效果。另一個(gè)網(wǎng)絡(luò)則是路徑聚合網(wǎng)絡(luò)(PAN,path aggregation network),PAN是一種自下而上的增強(qiáng),這樣,深層的特征圖就能得到淺層的豐富細(xì)節(jié),因此,對于大型物體的檢測,就能得到更好的檢測效果[9]。
YOLOv5的輸出端主要是對預(yù)測框和真實(shí)框的處理,其先提高Bounding box損失函數(shù)計(jì)算預(yù)測框和真實(shí)框的交并比過濾掉一些檢測框,對于剩下的檢測框,通過nms非極大值抑制進(jìn)一步篩選掉多余的檢測框,得到最終的檢測框。
原始的YOLOv5網(wǎng)絡(luò)采用傳統(tǒng)卷積對輸入圖像進(jìn)行處理,傳統(tǒng)卷積存在諸多缺陷,為此本文將其進(jìn)行改進(jìn),替換為自校準(zhǔn)卷積。另外,為了使網(wǎng)絡(luò)更加關(guān)注待檢測的目標(biāo),其通常會在網(wǎng)絡(luò)中加入有關(guān)注意力機(jī)制,以此來達(dá)到讓網(wǎng)絡(luò)關(guān)注待檢測目標(biāo)的目的。最后對于損失函數(shù)做了替換,原始YOLOv5網(wǎng)絡(luò)的損失函數(shù)為CIoU,其在網(wǎng)絡(luò)回歸時(shí)存在不足,為此本文將其改為EIoU。
2020年南開大學(xué)程明明團(tuán)隊(duì)[10]提出了一種自校準(zhǔn)的模塊(多個(gè)卷積注意力組合的模塊),替換基本的卷積結(jié)構(gòu),相較于傳統(tǒng)卷積,該卷積模塊在保證參數(shù)計(jì)算量不增加的前提下,擴(kuò)大網(wǎng)絡(luò)對目標(biāo)的感受野,增強(qiáng)特征圖的區(qū)分度[11]。其具體結(jié)構(gòu)如圖5所示。
首先將輸入X沿著通道方向進(jìn)行分裂(Split),形成X1和X2,然后X1和X2會分別通過兩個(gè)路徑進(jìn)行信息的處理。首先,分裂后的X1會通過一個(gè)濾波器{K2,K3,K4},其目的就是對X1進(jìn)行自校準(zhǔn),最終得到一個(gè)輸出Y1;對于分裂后的X2則只進(jìn)行一個(gè)簡單的卷積操作得到另一個(gè)輸出Y2,通過卷積操作來保存輸入中原始的信息。最后,將得到的兩個(gè)輸出進(jìn)行Concat操作,得到最終的輸出Y,這就是自校準(zhǔn)的整個(gè)過程。
圖5 自校準(zhǔn)卷積模塊整體結(jié)構(gòu)圖
通過上述過程可以發(fā)現(xiàn),通過將原始的輸入信息進(jìn)行兩條不同路徑的處理,一方面通過自校準(zhǔn)操作讓網(wǎng)絡(luò)在處理圖像信息時(shí)將輸入的每個(gè)空間位置及其周圍的信息自適應(yīng)進(jìn)行信息嵌入,對信息進(jìn)行編碼,使網(wǎng)絡(luò)在處理圖像信息時(shí)只關(guān)注待檢測物體周圍的信息,這樣一來就可以避免來自全局其他無用信息的干擾[12];另一方面,通過簡單卷積保留原始信息,最終將其與自校準(zhǔn)處理的信息進(jìn)行融合,最終獲得待檢測物體的精準(zhǔn)信息。
在YOLOv5網(wǎng)絡(luò)中,其主干網(wǎng)絡(luò)、Neck以及預(yù)測網(wǎng)絡(luò)部分都存在卷積操作,為了更好的提取到待檢測目標(biāo)的信息,本文將YOLOv5主干網(wǎng)絡(luò)的卷積替換為自校準(zhǔn)卷積,從而使特征提取網(wǎng)絡(luò)在提取物體特征時(shí)更加專注于待檢測物體周圍的信息,擴(kuò)展感受野豐富輸出,進(jìn)而強(qiáng)化對弱特征的提取能力,以此來提高對于待檢測目標(biāo)的檢測精度,尤其是對于像絕緣手套這種類似的小目標(biāo)物體,使用自校準(zhǔn)卷積來提取物體信息優(yōu)勢顯著。
圖6 SK結(jié)構(gòu)示意圖
南京理工大學(xué)李翔等人[13]在2019年國際計(jì)算機(jī)視覺與模式識別會議(CVPR)上提出一種選擇性內(nèi)核網(wǎng)絡(luò)(SKNets,selective kernel networks),SKNet是基于SE[14](Squeeze and Excitation Networks)注意力機(jī)制的改進(jìn),其主要創(chuàng)新點(diǎn)是設(shè)置了一組動態(tài)選擇的卷積(SK),分為3個(gè)部分操作:Split、Fuse、Select,即分裂、融合和選擇,其具體結(jié)構(gòu)如圖6所示。
從圖中可以看出,分裂操作將輸入的特征圖分別使用3×3和5×5的卷積核進(jìn)行卷積操作,提取目標(biāo)特征;融合操作則將得到的相同尺寸特征圖中的對應(yīng)元素相加,然后對融合后的特征圖進(jìn)行空間維度的全局平均池化操作,得到特征圖S,緊接著通過FC全連接提取通道注意力信息,得到特征圖Z,然后分別使用不同的卷積核a和b與通道注意力信息Z進(jìn)行卷積,再經(jīng)過Softmax處理,得到每個(gè)卷積核對應(yīng)的通道注意力信息;選擇操作通過將得到通道注意力信息的a和b分別與前面經(jīng)過卷積核處理的特征圖進(jìn)行相乘,輸出具有卷積核的通道注意力的特征圖,最后,將具有卷積核的通道注意力的特征圖進(jìn)行融合,得到最終的通道注意力特征圖[15]。從上述操作不難看出,SK結(jié)構(gòu)通過對大小不同的卷積核的相加相乘,最終可以獲得不同的感受野。
在標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)中,設(shè)置了大小相同的人工神經(jīng)元的感受野[16],這就導(dǎo)致網(wǎng)絡(luò)訓(xùn)練時(shí)不能根據(jù)待檢測目標(biāo)的大小及時(shí)改變感受野。為此,本文將SK模塊添加到Y(jié)OLOv5網(wǎng)絡(luò)的Neck部分,使網(wǎng)絡(luò)在訓(xùn)練時(shí)可以根據(jù)輸入信息的多個(gè)尺度自適應(yīng)調(diào)整其感受野大小,以此來加強(qiáng)網(wǎng)絡(luò)對于小目標(biāo)物體的關(guān)注度,提高對絕緣手套的檢測精度。
在目標(biāo)檢測網(wǎng)絡(luò)中為了衡量預(yù)測框與真實(shí)框的關(guān)系,提出了交并比(IOU,intersection over union)的概念,隨著目標(biāo)檢測算法的不斷發(fā)展,IOU也誕生了不同的損失函數(shù),例如GIOU(generalized intersection over union)、DIOU(complete intersection over Union)和CIOU(Complete IoU)等。2021年中國科學(xué)院大學(xué)張易凡等人[17]在損失函數(shù)CIOU基礎(chǔ)上進(jìn)一步提出了一個(gè)更加完善的損失函數(shù)EIOU,與CIOU有所不同的是EIOU損失函數(shù)在CIOU損失函數(shù)的基礎(chǔ)上將原始的寬高比例,改為寬高值回歸,EIOU損失函數(shù)由重疊、中心距離和寬高這三部分損失構(gòu)成,其中重疊和中心距離損失與CIOU中的一樣[18],但是寬高損失卻不一樣。在EIOU中寬高損失是讓目標(biāo)檢測框和錨框?qū)?yīng)的寬高之差最小,以使網(wǎng)絡(luò)的收斂速度更快。具體如公式(1)所示。
LEIoU=LIoU+Ldis+Lasp
(1)
其中:Cω和Ck是覆蓋真實(shí)框和預(yù)測框的最小外接框的寬度和高度。
CIOU是原YOLOv5網(wǎng)絡(luò)所使用的損失函數(shù),盡管CIOU在原網(wǎng)絡(luò)中表現(xiàn)良好,但是其在進(jìn)行交并比計(jì)算時(shí)只考慮寬高比例,一旦出現(xiàn)檢測框和預(yù)測框的中心點(diǎn)與原圖一樣,寬度和高度的比值相同,但兩者的寬度和高度值不同的情況,如果仍按CIOU損失計(jì)算,則會導(dǎo)致目標(biāo)不相符[19]?;诖吮疚膶IOU損失函數(shù)替換為EIOU,使網(wǎng)絡(luò)在處理預(yù)測框與真實(shí)框時(shí)更加完善,提高檢測目標(biāo)檢測框的準(zhǔn)確度。
圖7 LabelImg操作界面
圖8 訓(xùn)練過程曲線圖
本文數(shù)據(jù)集來自某市供電公司提供的電廠維修及檢修人員的圖片共1075張,獲得圖片后,使用LabelImg標(biāo)注軟件進(jìn)行標(biāo)注,軟件操作界面如圖7所示,標(biāo)注時(shí),將檢修人員戴的絕緣手套用矩形框框選,然后輸入標(biāo)簽glove,完成以后保存文件,此時(shí)標(biāo)注好的文件為xml格式,需將其用對應(yīng)的Python代碼轉(zhuǎn)換成txt格式。最后需要將數(shù)據(jù)集進(jìn)行劃分,本文按照6:2:2的比例將數(shù)據(jù)集劃分為訓(xùn)練集(train)、驗(yàn)證集(val)和測試集(test),至此,數(shù)據(jù)集準(zhǔn)備完畢。
實(shí)驗(yàn)所用操作系統(tǒng)為Ubuntu18.04,顯卡為GeForce RTX2080Ti,顯存24 GB,CPU為Intel(R)Xeon(R)Glod5118CPU@2.3 GHz,內(nèi)存128 GB,顯卡為GeForce RTX2080Ti,顯存24 GB,實(shí)驗(yàn)框架為Pytorch,實(shí)驗(yàn)語言均使用Python,根據(jù)系統(tǒng)CUDA版本11.3安裝相應(yīng)的torch1.10.0、torchvision0.11.0、及torchaudio0.10.0,然后根據(jù)環(huán)境要求安裝相關(guān)的庫即可完成本文實(shí)驗(yàn)環(huán)境的構(gòu)建。
安裝完實(shí)驗(yàn)環(huán)境后,需要設(shè)置實(shí)驗(yàn)參數(shù),本文統(tǒng)一將圖片輸入尺寸設(shè)置為640×640,設(shè)置迭代輪數(shù)為300,學(xué)習(xí)率為0.001,批次batch-size設(shè)置為16,由于實(shí)驗(yàn)服務(wù)器有3個(gè)獨(dú)立顯卡,實(shí)驗(yàn)時(shí)調(diào)用3個(gè)顯卡,故最終batch-size為16×3=48,iou-thres 設(shè)置為0.5,其余參數(shù)均為默認(rèn)。參數(shù)設(shè)置完后,修改訓(xùn)練所需的數(shù)據(jù)配置文件以及模型配置文件,其中,數(shù)據(jù)配置文件中需修改訓(xùn)練集、驗(yàn)證集及測試集的文件路徑,還有類別名及類別數(shù),模型配置文件只需修改類別數(shù),修改完配置文件后開始訓(xùn)練,圖8為訓(xùn)練過程中的相關(guān)曲線。可以明顯看出,用于監(jiān)督檢測框回歸的box_loss和用于監(jiān)督圖像中是否存在物體的obj_loss曲線隨著訓(xùn)練輪數(shù)的增加逐漸趨于平穩(wěn),而查準(zhǔn)率曲線、查全率曲線以及mAP曲線逐漸趨于0.9,表明訓(xùn)練效果較好,訓(xùn)練精度較高。
本文采用查準(zhǔn)率(Precision,P)、查全率(Recall,R)、平均精度均值(mAP)以及權(quán)重文件大小這4個(gè)指標(biāo)作為評價(jià)模型的指標(biāo),其中 P、R和mAP的計(jì)算如下公式所示[20]。
(2)
(3)
(4)
其中:TP(True Positives)表示被正確檢測出的目標(biāo)數(shù),F(xiàn)P(False Positives)表示檢測錯(cuò)誤的目標(biāo)數(shù),F(xiàn)N(False Negatives)表示未被檢測出來的目標(biāo)數(shù),AP表示以Recall為橫軸,Precision為縱軸所繪PR曲線下的面積,N代表類別數(shù)。當(dāng)P、R和mAP的值越接近于1,說明模型的性能越好。
3.5.1 對比實(shí)驗(yàn)
為了更加直觀的體現(xiàn)YOLOv5s相較于其他目標(biāo)檢測算法的高效性,將YOLOv5s與SSD、YOLOv3、YOLOv3-tiny、YOLOv5l、YOLOv5m、YOLOv5x以及 YOLOv5n 進(jìn)行對比,對比結(jié)果如表1所示。
表1 對比實(shí)驗(yàn)結(jié)果
通過實(shí)驗(yàn)所得數(shù)據(jù)可以看出,YOLOv5s算法的檢測精度最高,為92.8%,相較于檢測精度較為接近的YOLOv5l和YOLOv5x,盡管其檢測精度十分接近,但是其權(quán)重文件較大,比YOLOv5s權(quán)重分別大78.4 MB、158.6 MB,YOLOv3-tiny算法的權(quán)重文件大小雖和YOLOv5s相近,但是YOLOv3-tiny算法的檢測精確比YOLOv5s低2.7%,SSD以及YOLOv5m算法無論是檢測精度還是權(quán)重文件大小都不及YOLOv5s,YOLOv5n算法的權(quán)重文件最小,僅有3.8 MB,檢測精度也十分接近YOLOv5s,但是其查準(zhǔn)率和查全率卻不及YOLOv5s。綜合4個(gè)評價(jià)指標(biāo)數(shù)據(jù),對于絕緣手套的檢測YOLOv5s算法性能最優(yōu),故本文將YOLOv5s作為改進(jìn)的基礎(chǔ)網(wǎng)絡(luò)。
3.5.2 消融實(shí)驗(yàn)
為了進(jìn)一步證明本文改進(jìn)算法的優(yōu)越性,在對比實(shí)驗(yàn)的基礎(chǔ)上,將改進(jìn)策略一一加入、兩兩加入進(jìn)行消融實(shí)驗(yàn),消融實(shí)驗(yàn)結(jié)果如表2所示。其中方案A、B、C、D、E、F分別指YOLOv5s+改進(jìn)點(diǎn)1、YOLOv5s+改進(jìn)點(diǎn)2、YOLOv5s+改進(jìn)點(diǎn)3、YOLOv5s+改進(jìn)點(diǎn)1和2、YOLOv5s+改進(jìn)點(diǎn)1和3、YOLOv5s+改進(jìn)點(diǎn)2和3。
消融實(shí)驗(yàn)結(jié)果表明,將本文改進(jìn)策略一一加入網(wǎng)絡(luò)后,每個(gè)改進(jìn)策略的檢測精度都有所提升,其中,將損失函數(shù)修改為EIOU的檢測精度提升最高,提升了1.5%,然后兩兩加入后精度均有提高,最后,將所有改進(jìn)點(diǎn)一同加入網(wǎng)絡(luò)后,其檢測精度提高了2.4%,且權(quán)重文件較小,僅比原始YOLOv5s算法大44.2MB,此外,查準(zhǔn)率和查全率分別提高了1%、2.4%。通過消融實(shí)驗(yàn),再次證明了本文算法有效的提高了絕緣手套的檢測精度。
為了更加直觀體現(xiàn)本文算法的高效,本文用改進(jìn)前后的網(wǎng)絡(luò)對于電廠現(xiàn)場的檢修人員是否佩戴絕緣手套進(jìn)行了檢測,檢測結(jié)果對比如表3所示。從檢測結(jié)果可以看出,原YOLOv5s算法在檢測絕緣手套時(shí)存在誤檢測以及漏檢情況,此外,對于離視頻監(jiān)控較遠(yuǎn)的檢修人員,由于其距離較遠(yuǎn),其佩戴的絕緣手套在監(jiān)控中很小,使用原始的YOLOv5s網(wǎng)絡(luò)其檢測精度僅為27%,而使用改進(jìn)后的算法檢測時(shí),檢測精度為59%,可見本文算法有效的提升了對絕緣手套的檢測精度。
表2 消融實(shí)驗(yàn)結(jié)果
表3 檢測結(jié)果
本文在YOLOv5的基礎(chǔ)上提出了一種檢測未佩戴絕緣手套不安全行為的方法。首先將特征提取網(wǎng)絡(luò)中的卷積替換為自校準(zhǔn)卷積,使網(wǎng)絡(luò)在提取目標(biāo)特征時(shí)更關(guān)注待檢測目標(biāo)周圍的信息。接著在特征融合網(wǎng)絡(luò)的最后加入SK注意力機(jī)制,使網(wǎng)絡(luò)更加關(guān)注待檢測的小目標(biāo)。最后,修改原始YOLOv5網(wǎng)絡(luò)中的損失函數(shù),來進(jìn)一步精確檢測框位置,最終提高對于絕緣手套的檢測精度。實(shí)驗(yàn)結(jié)果證明,改進(jìn)后的算法對于是否佩戴絕緣手套的檢測精度提高了2.4%,識別檢測效果明顯,有效保障了電力作業(yè)的安全生產(chǎn),具有較高的應(yīng)用價(jià)值。但是,對于人員重疊以及手部遮擋的情況,本文改進(jìn)的算法會存在一些漏檢,影響檢測效果,因此本文算法還有很大的改進(jìn)空間,后續(xù)工作可以針對遮擋問題,研究采用二次識別或者圖像處理的方法來進(jìn)一步提高對佩戴絕緣手套的檢測效果。