關(guān)鍵詞:電力巡檢;深度學(xué)習(xí);YOLOv7;CBAM;DeepSORT
中圖分類號(hào):TP391.4 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
近年來,我國(guó)電力行業(yè)迅猛發(fā)展,但輸電線路通常完全暴露在外界環(huán)境中,使得大量工作器件易被損壞,因此定期巡檢工作尤為重要[1]。為了解放人力、提高巡檢效率和安全性,針對(duì)真實(shí)情景下的電網(wǎng)器件,智能化巡檢技術(shù)的研究與應(yīng)用尤為迫切和重要。
當(dāng)前,盡管已有眾多基于機(jī)器學(xué)習(xí)技術(shù)的檢測(cè)算法,但普遍面臨識(shí)別效率低、精度差的問題[2]。在電力巡檢工作中,由于存在大量被遮擋的待測(cè)目標(biāo),導(dǎo)致識(shí)別精度進(jìn)一步降低,甚至出現(xiàn)誤檢、漏檢等情況[3]。綜合考慮上述問題,本文使用YOLOv7深度學(xué)習(xí)算法作為基礎(chǔ)識(shí)別模型,加入CBAM 注意力模塊,強(qiáng)調(diào)通道軸和空間軸這兩個(gè)重要維度上的意義和特征,同時(shí)將其檢測(cè)結(jié)果作為DeepSORT目標(biāo)追蹤算法的輸入。實(shí)驗(yàn)數(shù)據(jù)證明,相較于原始算法,改進(jìn)后的算法模型可實(shí)現(xiàn)更精準(zhǔn)的故障點(diǎn)位檢測(cè)、追蹤。
1 檢測(cè)算法及改進(jìn)(Detection algorithm andimprovement)
目標(biāo)檢測(cè)算法可分為單階段(One-Stage)和雙階段(Tow-Stage)兩大類。電力巡檢中,保證該項(xiàng)工作的準(zhǔn)確性與實(shí)時(shí)性至關(guān)重要,而雙階段目標(biāo)檢測(cè)算法會(huì)先生成所有可能存在的候選框,再進(jìn)行下一步篩選,這一過程影響了巡檢作業(yè)的效率。YOLO(Only Look You Once)[4]是一款典型的單階段目標(biāo)檢測(cè)算法,因?yàn)槟茉趯?shí)現(xiàn)快速檢測(cè)的同時(shí)對(duì)目標(biāo)進(jìn)行較好的處理,所以已成為眾多領(lǐng)域的核心實(shí)時(shí)檢測(cè)系統(tǒng)。
1.1 YOLO算法
2016年,YOLOv1的發(fā)布標(biāo)志著一種全新的目標(biāo)檢測(cè)方法的誕生,它利用卷積對(duì)輸入圖片進(jìn)行特征提取,相較于雙階段目標(biāo)檢測(cè)算法,其識(shí)別效率得到大幅提升,版本可達(dá)45 FPS(Fast YOLO版本已達(dá)到155 FPS)。但是,由于每一個(gè)網(wǎng)格僅有兩個(gè)預(yù)測(cè)框,所以當(dāng)存在多物體密集相鄰或小目標(biāo)時(shí),檢測(cè)精度較低。盡管如此,YOLOv1仍然奠定了整個(gè)YOLO系列的基礎(chǔ)。為了進(jìn)一步提升性能,后續(xù)版本在損失函數(shù)、卷積數(shù)量、結(jié)構(gòu)組合形式等方面進(jìn)行了諸多改進(jìn)。
1.2 YOLOv7
相較于其前幾個(gè)版本,YOLOv7主要針對(duì)模型結(jié)構(gòu)重參化和動(dòng)態(tài)標(biāo)簽分配問題進(jìn)行了優(yōu)化[5];通過改進(jìn)ELAN 結(jié)構(gòu)(Efficient Layer Aggregation Networks),提出了E-ELAN(Extended Efficient Layer Aggregation Networks),這是一種適用于具有無限量疊加計(jì)算塊的高效聚合模型,它能在不破壞原始梯度路徑的同時(shí),有效地增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)。v7版本以引導(dǎo)頭的預(yù)測(cè)結(jié)果作為指導(dǎo)頭,生成不同層次的標(biāo)簽,并將這些標(biāo)簽用于輔助頭和引導(dǎo)頭的學(xué)習(xí)[5]。
YOLOv7系列按照模型大小,可分為以下6 個(gè)模型:YOLOv7、YOLOv7-X、YOLOv7-W6、YOLOv7-E6、YOLOv7-D6、YOLOv7-E6E,官方為這些模型提供的性能參數(shù)如表1所示。
上述6個(gè)模型的主要組件如輸入層(Input)、主干網(wǎng)絡(luò)(Backbone)、頭部網(wǎng)絡(luò)(Head)都是相同的[6]。不同之處在于,每個(gè)模型的深度和寬度存在較大的差異。YOLOv7的識(shí)別速度最快,但在識(shí)別精度方面低于其他5個(gè)模型;YOLOv7-E6E雖然達(dá)到了較高的識(shí)別精度,但是識(shí)別速度最慢。綜合考慮電力巡檢作業(yè)的特點(diǎn),本文選擇YOLOv7-X作為基礎(chǔ)模型。
1.3CBAM 注意力機(jī)制
注意力機(jī)制是一種在深度學(xué)習(xí)模型中嵌入的特殊結(jié)構(gòu)。在訓(xùn)練過程中,由于輸入的權(quán)重繁多,且注意力機(jī)制理論上能夠增強(qiáng)識(shí)別目標(biāo)的權(quán)重,提高對(duì)圖像中關(guān)鍵信息的關(guān)注度,過濾無關(guān)或不重要的信息,本文新增CBAM 注意力機(jī)制,以期在算力有限的情況下,將計(jì)算資源分配給更重要的任務(wù)。
CBAM 是一種簡(jiǎn)單且有效的前饋卷積神經(jīng)網(wǎng)絡(luò)注意模塊[7],其整體結(jié)構(gòu)如圖1所示。由于卷積運(yùn)算是通過混合通道和空間信息提取特征,因此CBAM 結(jié)合了通道注意力模塊(Channel Attention Module)和空間注意力模塊(SpatialAttention Module)[7],旨在強(qiáng)調(diào)通道軸和空間軸這兩個(gè)重要維度上的意義和特征。
1.4CBAM-YOLOv7改進(jìn)算法
CBAM-YOLOv7是指將CBAM 注意模塊嵌入YOLOv7Fig.3 Schematic diagram of spatial attention module structure中Backbone與Head的連接處,以此強(qiáng)化電力巡檢作業(yè)過程中待測(cè)目標(biāo)的特征,提高模型的識(shí)別精度。YOLOv7 中Backbone層包含4個(gè)CBS(Convolutional Block Set)卷積層,將輸入特征圖尺寸變?yōu)?60×160×128 的大小,然后經(jīng)過MPConv1+ELAN 模塊提取大量特征。文中分別在3 個(gè)ELAN模塊處添加CBAM 注意力模塊,在將所提取的特征向上傳遞的同時(shí),經(jīng)過CBAM注意力模塊傳輸至Head層。改進(jìn)后的CBAM-YOLOv7算法結(jié)構(gòu)圖如圖4所示。
2 目標(biāo)追蹤(Target tracking)
電力巡檢作業(yè)的識(shí)別目標(biāo)涉及絕緣子、防震錘、參照標(biāo)識(shí)等大量類別,單純依賴目標(biāo)追蹤技術(shù)已無法滿足復(fù)雜的巡檢工作需求。為此,本文選擇DeepSORT[11]作為目標(biāo)追蹤算法,并將其與改進(jìn)后的CBAM-YOLOv7模型融合,以期實(shí)現(xiàn)更高效的巡檢作業(yè)。
2.1 DeepSORT
DeepSORT算法是在經(jīng)典目標(biāo)追蹤算法SORT(SimpleOnline and Realtime Tracking)的基礎(chǔ)上引入了深度學(xué)習(xí)(DeepLearning)思想[12],即引入了一個(gè)低復(fù)雜度的輕量級(jí)卷積模塊CNN來提取待檢測(cè)目標(biāo)的外觀特征,在每次檢測(cè)+追蹤后進(jìn)行一次物體外觀特征的提取操作并保存。在后續(xù)的每一步中,均需執(zhí)行一次當(dāng)前幀被檢測(cè)目標(biāo)的外觀特征與之前存儲(chǔ)的外觀特征之間的相似度計(jì)算,并將其計(jì)算結(jié)果作為一個(gè)重要的判別依據(jù)。
在目標(biāo)追蹤過程中,目標(biāo)的位置、狀態(tài)等信息在不同時(shí)刻存在差異,但需要讓每個(gè)待測(cè)目標(biāo)保持同一個(gè)ID。DeepSORT中引入匈牙利算法(Hungarian Algorithm),結(jié)合Re-ID(Re-Identification)特征提取模型和馬氏距離,基于Hall定理中充分性證明的思想,利用增廣路徑求二分圖最大匹配的方式實(shí)現(xiàn)將卡爾曼濾波(Kalman Filter)得到的預(yù)測(cè)框與目標(biāo)檢測(cè)得到的檢測(cè)框進(jìn)行級(jí)聯(lián)匹配(Matching Cascade)和IoU 匹配(IoUMatch)[11],實(shí)現(xiàn)在含有不確定因素的情況下,通過傳入的數(shù)據(jù)預(yù)測(cè)下一幀中標(biāo)注框的位置,完成對(duì)每個(gè)目標(biāo)的追蹤,并且對(duì)其賦予一個(gè)單獨(dú)的ID編號(hào)。
2.2CBAM-YOLOv7 amp; DeepSORT模型
本文將改進(jìn)后的CBAM-YOLOv7模型結(jié)合DeepSORT算法完成針對(duì)電力巡檢作業(yè)檢測(cè)+追蹤的整體功能,具體步驟如下。
如圖5所示,CBAM-YOLOv7作為檢測(cè)模型,對(duì)輸入視頻中每一幀所包含的待識(shí)別目標(biāo)進(jìn)行檢測(cè),并輸出其所對(duì)應(yīng)的檢測(cè)框信息。同時(shí),將所得信息作為觀測(cè)值(Detection)輸入DeepSORT目標(biāo)追蹤模塊中,利用卡爾曼濾波判斷是否存在軌跡(Track),若存在,則對(duì)其位置信息進(jìn)行先驗(yàn)概率預(yù)測(cè),得到先驗(yàn)預(yù)測(cè)值。這些先驗(yàn)預(yù)測(cè)值在匈牙利匹配模塊中依次進(jìn)行級(jí)聯(lián)匹配和IoU匹配,最終得到一個(gè)匹配結(jié)果列表。該列表包含先驗(yàn)預(yù)測(cè)值、觀測(cè)值,以及沒有匹配到的Track和Detection。在卡爾曼更新模塊中對(duì)匹配成功的元素進(jìn)行后驗(yàn)預(yù)測(cè),得到最終的修正坐標(biāo),更新卡爾曼增益、協(xié)方差矩陣等參數(shù),至此完成一幀檢測(cè),然后對(duì)剩余視頻幀循環(huán)執(zhí)行上述操作直至處理完全部視頻。
3 實(shí)驗(yàn)結(jié)果分析(Experimental results analysis)
3.1 實(shí)驗(yàn)環(huán)境
本次實(shí)驗(yàn)使用的硬件包括NVIDIA RTX3060顯卡、AMDRyzen 7 5800H處理器;軟件環(huán)境包括Windows 10×64操作系統(tǒng)、Anaconda3-4.12.0、Pytorch 1.13.1+cu117、Python 3.7,同時(shí)安裝所需依賴庫。
3.2 數(shù)據(jù)集
由于電力巡檢相關(guān)數(shù)據(jù)集大多未公開,因此本研究使用的原始數(shù)據(jù)集相對(duì)有限,均來自飛槳AI社區(qū)、GitHub等公開網(wǎng)絡(luò)資源。為減小噪聲、光照、對(duì)比度等不利因素對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生的影響,本文分別通過MSRCR(Multi-Scale Retinex withColor Restoration)圖像增強(qiáng)算法[13]和雙邊濾波處理[14]兩種方式對(duì)原始數(shù)據(jù)進(jìn)行了增強(qiáng)和去噪,顯著地提升了數(shù)據(jù)集的質(zhì)量。同時(shí),通過尺寸變換、水平/垂直鏡像、平移/增加噪聲、對(duì)比度增強(qiáng)、開/并運(yùn)算、背景變換等方式,大幅擴(kuò)充了數(shù)據(jù)量,最終參與實(shí)驗(yàn)的數(shù)據(jù)集達(dá)到了17000張。本文將數(shù)據(jù)集以4∶1的比例進(jìn)行劃分,其中訓(xùn)練集包含13600張圖片,測(cè)試集包含3400張圖片。
3.3 目標(biāo)檢測(cè)算法實(shí)驗(yàn)為了驗(yàn)證
CBAM-YOLOv7模型在電力巡檢作業(yè)中目標(biāo)檢測(cè)能力的提升效果,本文引入了精確度(Precision)、召回率(Recall)、平均精度(Average Precision,AP)3個(gè)評(píng)價(jià)指標(biāo)。原YOLOv7算法與本文提出的CBAM-YOLOv7模型基于上述3個(gè)評(píng)價(jià)指標(biāo)的性能參數(shù)對(duì)比如表2所示。
由表2可知,相較于原YOLOv7算法,本文提出的CBAMYOLOv7模型精確度提升了0.79百分點(diǎn),召回率提升了1.22百分點(diǎn),平均精度提升了1.71百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,該模型有更好的檢測(cè)效果。
圖6、圖7分別為原始YOLOv7算法和改進(jìn)后CBAMYOLOv7模型針對(duì)同一張驗(yàn)證圖片的檢測(cè)結(jié)果。圖6中,YOLOv7算法出現(xiàn)了較為明顯的漏檢、誤檢現(xiàn)象,僅檢測(cè)出較為明顯的待識(shí)別目標(biāo)且置信度較低。相比而言,CBAMYOLOv7模型可以更好地檢測(cè)出較隱蔽和重疊率較高的待識(shí)別目標(biāo),進(jìn)一步說明其優(yōu)勢(shì)。
3.4 目標(biāo)追蹤算法實(shí)驗(yàn)
如圖8所示,DeepSORT算法可較好地鎖定輸入視頻中包含的待識(shí)別目標(biāo)。即使部分待識(shí)別目標(biāo)在視頻中展示得不太明顯,DeepSORT算法仍然完成了目標(biāo)追蹤。為驗(yàn)證該模型的穩(wěn)定性,本文引入多目標(biāo)跟蹤精度(Multiple Object TrackingAccuracy,MOTA)[15]這一評(píng)價(jià)指標(biāo),選取10段視頻進(jìn)行測(cè)試,并將所得實(shí)驗(yàn)參數(shù)進(jìn)行對(duì)比。
所測(cè)10段視頻的平均多目標(biāo)跟蹤精度為87.817%,具體數(shù)值如表3所示。這一結(jié)果說明本文所提的CBAM-YOLOv7 amp;DeepSORT模型對(duì)于輸電線路中所包含待識(shí)別的目標(biāo)具有較好的處理效果。
4 結(jié)論(Conclusion)
針對(duì)現(xiàn)實(shí)復(fù)雜情境下,輸電線路待檢測(cè)目標(biāo)識(shí)別精度不足、效率低等問題,本文提出了一種新的CBAMYOLOv7amp;DeepSORT算法模型。通過對(duì)YOLOv7目標(biāo)檢測(cè)算法進(jìn)行改進(jìn),將CBAM 注意力模塊嵌入Backbone和Head的連接處,引入DeepSORT目標(biāo)追蹤算法,實(shí)現(xiàn)檢測(cè)+追蹤的整體功能。實(shí)驗(yàn)結(jié)果表明,CBAM-YOLOv7算法為后續(xù)目標(biāo)追蹤任務(wù)提供了更好的前件輸入,DeepSORT作為最終處理算法,實(shí)現(xiàn)了理想的追蹤效果。因此,本文提出的CBAMYOLOv7amp;DeepSORT模型可以在實(shí)現(xiàn)高檢測(cè)精度的同時(shí),完成對(duì)目標(biāo)的鎖定追蹤,方便了電力巡檢作業(yè)后期數(shù)據(jù)匯總、維修統(tǒng)計(jì)等問題。
當(dāng)前,模型尚未實(shí)現(xiàn)針對(duì)電力巡檢內(nèi)容的全面覆蓋。在未來的研究中,將重點(diǎn)放在進(jìn)一步豐富檢測(cè)類別和提高數(shù)據(jù)集的數(shù)量領(lǐng)域。在涵蓋更多檢測(cè)內(nèi)容的同時(shí),提高檢測(cè)精度,更好地適配真實(shí)場(chǎng)景下的電力巡檢作業(yè)。
作者簡(jiǎn)介:
李申陽(2003-),男,本科生。研究領(lǐng)域:深度學(xué)習(xí),圖像處理。
喻恒(1981-),男,碩士,副教授。研究領(lǐng)域:視覺物聯(lián)網(wǎng),智能感知。
鄧文帥(2003-),男,本科生。研究領(lǐng)域:目標(biāo)追蹤,深度學(xué)習(xí)。
陳曉行(2001-),男,本科生。研究領(lǐng)域:目標(biāo)檢測(cè),深度學(xué)習(xí)。
楊宸(2003-),男,本科生。研究領(lǐng)域:機(jī)器視覺,目標(biāo)追蹤。