陳思雨,付章杰
1.南京信息工程大學(xué) 數(shù)字取證教育部工程研究中心,南京 210044
2.綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710126
得益于北斗系統(tǒng)以及GPS導(dǎo)航系統(tǒng)的不斷完善,無(wú)人機(jī)(unmanned aerial vehicles,UAV)技術(shù)得到了巨大發(fā)展,無(wú)人機(jī)的民用化普及更使無(wú)人機(jī)架空輸電線路巡檢逐漸成為了一種趨勢(shì)[1]。新興的巡檢技術(shù)不僅大幅提升了架空輸電線路巡檢安全性,同時(shí)也在極大程度上節(jié)省了人力成本。無(wú)人機(jī)搭載的高清攝像頭可以采集到更高分辨率的圖像,幫助人們更加充分地去把握當(dāng)前架空輸電線路的真實(shí)情況。
當(dāng)然,數(shù)據(jù)采集技術(shù)的發(fā)展也推動(dòng)著數(shù)據(jù)處理技術(shù)的升級(jí)。隨著深度學(xué)習(xí)浪潮的推進(jìn),將通用目標(biāo)檢測(cè)算法運(yùn)用于電力部件檢測(cè)方面也已成為一大潮流。通用的目標(biāo)檢測(cè)算法主要分為兩大類別,一種是單階段回歸型目標(biāo)檢測(cè)算法,如SSD[2]、RetinaNet[3]、YOLO v1-YOLO v5[4-8],通過(guò)此類算法可直接輸出目標(biāo)類別和相應(yīng)的定位;另一種是兩階段目標(biāo)檢測(cè)算法,如RCNN[9]、Fast RCNN[10]、Faster RCNN[11],此類算法先定位包含目標(biāo)大致位置信息的候選區(qū)域,再對(duì)候選區(qū)域進(jìn)行分類及位置精修后確定目標(biāo)位置。
基于以上兩大類目標(biāo)檢測(cè)算法,王萬(wàn)國(guó)等[12]針對(duì)無(wú)人機(jī)采集到的輸電線路巡檢圖像,分別使用SPPnet、DPM、Faster RCNN三種目標(biāo)檢測(cè)算法進(jìn)行檢測(cè)并進(jìn)行了對(duì)比分析,同時(shí)也討論了不同方法的優(yōu)劣。戚銀城等[13]使用改進(jìn)的SSD算法,在輸電線路航拍巡檢圖像中針對(duì)金具進(jìn)行目標(biāo)檢測(cè)。應(yīng)用多角度旋轉(zhuǎn)、自適應(yīng)裁剪等方法擴(kuò)充樣本??紤]到金具存在分布較為密集且有遮擋的情況,設(shè)計(jì)了具有針對(duì)性的損失函數(shù)。郭敬東等[14]利用YOLO v1這種單階段檢測(cè)算法在檢測(cè)速度上的優(yōu)勢(shì),結(jié)合K-means 聚類算法進(jìn)行改進(jìn),實(shí)現(xiàn)了對(duì)輸電塔桿狀態(tài)的實(shí)時(shí)監(jiān)測(cè)。張鷗等[15]使用改進(jìn)的Faster RCNN 算法對(duì)無(wú)人機(jī)巡檢所拍攝圖像進(jìn)行電力部件識(shí)別,并考慮分析了網(wǎng)絡(luò)參數(shù)對(duì)檢測(cè)效果的影響。趙振兵等[16]使用動(dòng)態(tài)焦點(diǎn)損失函數(shù)以及基于二階矩的樣本平衡方法,有效緩解了航拍絕緣子圖像中不同類型缺陷間存在的樣本數(shù)不平衡、困難樣本學(xué)習(xí)低效等問(wèn)題。韓漢賢等[17]為提高無(wú)人機(jī)電力巡檢效率,將特征金字塔網(wǎng)絡(luò)FPN與SSD目標(biāo)檢測(cè)算法進(jìn)行結(jié)合,局部融合層間特征信息,在絕緣子部件檢測(cè)方面取得了良好的檢測(cè)效果。董召杰[18]構(gòu)建了包含玻璃絕緣子、復(fù)合絕緣子、屏蔽環(huán)、均壓環(huán)、防震錘在內(nèi)的5 種電力線關(guān)鍵部件數(shù)據(jù)集,應(yīng)用YOLO v3算法在該數(shù)據(jù)集上實(shí)現(xiàn)了高精度的實(shí)時(shí)部件檢測(cè)。Zhai等[19]針對(duì)輸電線路背景復(fù)雜、金具形狀多樣、多金具檢測(cè)目標(biāo)密集等問(wèn)題,提出了一種級(jí)聯(lián)推理圖網(wǎng)絡(luò)(CRGN),用于輸電線路的多重?cái)M合檢測(cè),顯著提高了對(duì)輸電線路上多種金具的檢測(cè)效果。
綜上所述,輸電線路部件檢測(cè)目前已是一個(gè)新興的研究熱點(diǎn)話題,但是大多研究都只針對(duì)同種或同一尺度大小的部件進(jìn)行,鮮有研究直接探討高分辨輸電線路圖像中針對(duì)多尺度目標(biāo)的檢測(cè)方法。經(jīng)過(guò)深入調(diào)研后發(fā)現(xiàn),此領(lǐng)域尚存如下幾點(diǎn)亟待解決的問(wèn)題:
(1)現(xiàn)已公開(kāi)的架空輸電線路高清數(shù)據(jù)集圖片數(shù)量較少,創(chuàng)新檢測(cè)技術(shù)需要較大數(shù)據(jù)量的支持,數(shù)據(jù)量不足對(duì)開(kāi)展深入研究是一大挑戰(zhàn)。
(2)直接使用目前最先進(jìn)的目標(biāo)檢測(cè)算法,如YOLO、Faster RCNN、SSD 等,均會(huì)將輸入圖像壓縮至統(tǒng)一大小后再進(jìn)行特征提取,對(duì)于高分辨率圖像來(lái)說(shuō),壓縮會(huì)導(dǎo)致有效信息損失嚴(yán)重,影響檢測(cè)效果。
(3)采集的圖像分辨率越高,圖像中的小尺度目標(biāo)像素占比越小,也就越難以被檢測(cè)。
針對(duì)上述問(wèn)題,本文提出了一種融合高效注意力的多尺度輸電線路部件檢測(cè)算法,主要貢獻(xiàn)包括以下3個(gè)方面:
(1)提出了一種基于高效注意力ECBAM 改進(jìn)的YOLO v5 算法,增強(qiáng)了YOLO v5 算法的特征提取能力,提升了模型整體檢測(cè)性能。
(2)提出了一種與高分辨率輸電線路圖像統(tǒng)計(jì)特性相適應(yīng)的滑窗切片方法,并相應(yīng)提出了檢測(cè)結(jié)果的拼接方法,既擴(kuò)充了數(shù)據(jù)量,又對(duì)不同尺度大小的目標(biāo)進(jìn)行了針對(duì)性檢測(cè)。
(3)設(shè)計(jì)了一種多尺度模型檢測(cè)結(jié)果集成策略,綜合保留了各尺度的檢測(cè)優(yōu)勢(shì),全面提升了跨越尺度較大的多尺度輸電線路部件檢測(cè)精度。
YOLO v5 算法屬于經(jīng)典的單階段目標(biāo)檢測(cè)算法,因其高效性常被應(yīng)用于工業(yè)場(chǎng)景中。YOLO v5模型主要由輸入端、骨干網(wǎng)絡(luò)(Backbone)、瓶頸塊(Neck)、預(yù)測(cè)頭(Head)四個(gè)部分組成,總體結(jié)構(gòu)如圖1所示。
YOLO v5輸入端負(fù)責(zé)完成Mosaic數(shù)據(jù)增強(qiáng)以及自適應(yīng)錨框計(jì)算,將圖像縮放至模型定義輸入的統(tǒng)一尺寸;Backbone 部分為主干特征提取網(wǎng)絡(luò),對(duì)輸入圖片進(jìn)行特征提取,并將提取到的特征提煉成三個(gè)有效特征層作為Neck部分的輸入;Neck部分進(jìn)一步加強(qiáng)特征提取,通過(guò)特征金字塔(feature pyramid networks,F(xiàn)PN)以及PANet結(jié)構(gòu)將不同尺度的特征信息進(jìn)行結(jié)合;Head部分對(duì)深度提煉的特征進(jìn)行分類與回歸,完成對(duì)于輸入圖像的預(yù)測(cè)。
YOLO v5各個(gè)部分具體由以下若干結(jié)構(gòu)組成:
(1)Focus結(jié)構(gòu),將640×640×3的輸入圖片進(jìn)行切片和卷積后得到320×320×12 的特征圖,再將寬高信息統(tǒng)一集中到通道信息中,減少信息丟失。
(2)Conv2D_BN_SiLU 結(jié)構(gòu),其中Conv2D 層用于提取輸入圖像的特征信息;BN(batch normal)層對(duì)提取到的輸入圖像特征進(jìn)行標(biāo)準(zhǔn)化處理,在加快網(wǎng)絡(luò)收斂速度的同時(shí)防止出現(xiàn)梯度消失及過(guò)擬合現(xiàn)象;SiLU 激活函數(shù)是Sigmoid 和ReLU 激活函數(shù)的改進(jìn)版,具有無(wú)上界有下界、平滑、非單調(diào)的特性,可視作平滑的ReLU激活函數(shù)。
(3)CSPLayer結(jié)構(gòu),將原來(lái)的殘差塊堆疊(即圖1中每個(gè)虛線框框出部分)拆分成兩個(gè)部分,主干部分繼續(xù)堆疊原來(lái)的殘差塊,另一分支部分類似于殘差邊操作,經(jīng)過(guò)少量處理后直接連接到最后。
(4)SPPBottleneck 結(jié)構(gòu)(可見(jiàn)圖1 中右上角),利用不同大小的池化核進(jìn)行多尺度特征提取,用于提高網(wǎng)絡(luò)的感受野。
(5)Concat 結(jié)構(gòu),在通道維度將兩個(gè)及兩個(gè)以上的特征圖進(jìn)行拼接,以融合不同層次的特征信息。
(6)UpSample、DownSample 結(jié)構(gòu),分別表示上采樣和下采樣操作,用于在不同層次特征信息融合前統(tǒng)一特征維度。
為提升YOLO v5算法性能,在YOLO v5中加入高效卷積注意模塊(efficient convolutional block attention module,ECBAM)進(jìn)行改進(jìn)。ECBAM 結(jié)構(gòu)主要添加于YOLO v5 中的Neck 部分,即圖2 中顏色加深處,經(jīng)過(guò)ECBAM后,新的特征圖可以獲得通道和空間維度上的注意力加權(quán),增加各個(gè)特征在通道和空間上的聯(lián)系,更有利于提取目標(biāo)的有效特征。
圖2 改進(jìn)的YOLO v5總體結(jié)構(gòu)Fig.2 Overall structure of improved YOLO v5
ECBAM 由卷積注意模塊(convolutional block attention module,CBAM)[20]改進(jìn)而來(lái),可以在卷積神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)即插即用,使輸入特征圖中的特征具備自適應(yīng)細(xì)化的能力,以較小的計(jì)算成本來(lái)達(dá)到提升模型特征提取性能的目的。與CBAM的主體結(jié)構(gòu)相似,ECBAM也采用串聯(lián)的方式來(lái)連接通道注意力模塊和空間注意力模塊兩部分。不同的是,ECBAM借鑒了高效通道注意力(efficient channel attention,ECA)[21]的思想,改進(jìn)了通道注意力模塊中的權(quán)值參數(shù)共享操作,改進(jìn)前后的對(duì)比如圖3所示。
圖3 CBAM與ECBAM中的通道注意力模塊Fig.3 Channel attention module in CBAM and ECBAM
在CBAM 中,用以實(shí)現(xiàn)全通道交互的共享全連接層是一個(gè)多層感知機(jī)(multi-layer perceptron,MLP)模塊,多層感知機(jī)由最底層的輸入層,中間的隱藏層,最后的輸出層組成,至少包含三個(gè)層結(jié)構(gòu),層與層間全連接,因此在計(jì)算時(shí)會(huì)產(chǎn)生較多冗余計(jì)算。鑒于卷積操作具有參數(shù)共享性質(zhì),引入一維卷積可以在一定程度上減少通道注意力模塊的參數(shù)量,故考慮在ECBAM中使用一維卷積操作替代CBAM中的全連接層來(lái)完成通道特征聚合,僅實(shí)現(xiàn)適當(dāng)?shù)目缤ǖ澜换?,在一定程度上提高?jì)算效率。
圖4展示了ECBAM的完整結(jié)構(gòu)。對(duì)于給定輸入為(C,W,H)的特征圖F,其中C、W、H分別表示特征圖的通道數(shù)、寬度、高度,在ECBAM中依次通過(guò)通道注意力模塊、空間注意力模塊后完成加權(quán)操作,得到加權(quán)后的特征圖F′′。
圖4 ECBAM結(jié)構(gòu)Fig.4 Sturcture of ECBAM
首先通過(guò)通道注意力模塊,分別對(duì)輸入特征圖F進(jìn)行一次全局最大池化及平均池化操作,對(duì)池化后得到的兩個(gè)一維向量使用一維卷積進(jìn)行通道特征聚合后將卷積運(yùn)算結(jié)果進(jìn)行相加,一維卷積核的大小為聚合鄰域內(nèi)的通道數(shù),經(jīng)過(guò)Sigmoid 運(yùn)算后獲得通道注意力Mc∈RC×1×1,具體過(guò)程表達(dá)可見(jiàn)公式(1):
其中,F(xiàn)表示輸入特征圖,MaxPool()和AvgPool()分別表示最大池化和平均池化操作,C1D表示一維卷積操作,σ表示Sigmoid 運(yùn)算,Mc(F)表示通道注意力模塊的輸出。
再按公式(2)將Mc∈RC×1×1與輸入特征圖F對(duì)應(yīng)元素相乘,得到由通道注意力調(diào)整后的特征圖F′。
其中,?表示同位元素相乘操作,F(xiàn)′ 表示通過(guò)通道注意力調(diào)整后得到的新特征圖。
其次通過(guò)空間注意力模塊,對(duì)特征圖Mc按空間進(jìn)行全局最大池化及平均池化操作,將池化后得到的兩個(gè)二維向量進(jìn)行拼接并對(duì)拼接結(jié)果進(jìn)行卷積操作,經(jīng)過(guò)Sigmoid 運(yùn)算后獲得空間注意力Ms∈R1×H×W,具體過(guò)程表達(dá)可見(jiàn)公式(3):
其中,F(xiàn)′ 表示輸入特征圖,f()表示卷積層中進(jìn)行的矩陣運(yùn)算,MaxPool(·)、AvgPool(·)、σ的含義與公式(1)中相同,Ms(F′)表示空間注意力模塊的輸出。
再按照公式(4)將Ms∈R1×H×W與特征圖F′ 對(duì)應(yīng)元素相乘,得到經(jīng)過(guò)空間注意力調(diào)整后的特征F′,由此走完一個(gè)ECBAM結(jié)構(gòu)的完整流程。
其中,?表示同位元素相乘操作,F(xiàn)′ 表示通過(guò)通道注意力以及空間注意力調(diào)整后得到的新特征圖。
由于架空輸電線路場(chǎng)景中所包含的目標(biāo)尺寸跨度較大,電線桿塔尺寸和其他部件尺寸往往不屬于同一個(gè)層級(jí),而極小尺寸的防震錘更使此場(chǎng)景下的目標(biāo)檢測(cè)難度直線上升。因此,為同時(shí)考慮多尺度目標(biāo)檢測(cè)的平衡性,分別訓(xùn)練兩個(gè)模型來(lái)處理中小尺度目標(biāo)以及大尺度目標(biāo)。其中一個(gè)模型將原圖進(jìn)行滑窗切片之后使用目標(biāo)檢測(cè)算法進(jìn)行訓(xùn)練,測(cè)試時(shí)也采用同樣的方式對(duì)測(cè)試圖像進(jìn)行滑窗切片,并且在對(duì)各切片進(jìn)行目標(biāo)檢測(cè)之后通過(guò)設(shè)計(jì)的拼合機(jī)制將所屬同一幅圖像的檢測(cè)結(jié)果進(jìn)行拼合,這樣既能保留并放大圖片中的高分辨率細(xì)節(jié),又能擴(kuò)充原有圖片的數(shù)量。另外,再構(gòu)建一個(gè)模型直接將整張圖片放入目標(biāo)檢測(cè)器中進(jìn)行訓(xùn)練,相應(yīng)地同樣使用整幅圖像進(jìn)行測(cè)試,保證對(duì)于大尺度目標(biāo)的檢測(cè)。最后將兩個(gè)模型得到的多尺度目標(biāo)檢測(cè)結(jié)果進(jìn)行集成后得到最終完整的檢測(cè)結(jié)果,所設(shè)計(jì)的模型結(jié)構(gòu)如圖5所示。
圖5 多尺度輸電線路部件檢測(cè)模型結(jié)構(gòu)Fig.5 Sturcture of multi-scale transmission line component detection model
1.3.1 滑窗切片
使用滑動(dòng)窗口對(duì)高分辨率圖像進(jìn)行切片,不可避免地會(huì)將大尺度目標(biāo)切分開(kāi),大尺度目標(biāo)的檢測(cè)效果可由對(duì)切片前圖像訓(xùn)練好的模型來(lái)保證,因此對(duì)于切片后圖像,無(wú)需擔(dān)憂其中大尺度目標(biāo)的檢測(cè)效果,只需均衡其中中小尺度目標(biāo)的檢測(cè)效果,要求能夠在檢測(cè)到小尺度目標(biāo)的同時(shí),不過(guò)度切分中等尺度目標(biāo)。
考慮上述切片需求后,對(duì)圖像中的目標(biāo)尺寸進(jìn)行統(tǒng)計(jì)分析,確定采用1 400×1 000 大小的滑動(dòng)窗口從左到右,從上到下依次劃過(guò)整幅圖像,將窗口在橫向滑動(dòng)時(shí)與前一個(gè)窗口的重疊區(qū)域設(shè)置為20%,在縱向滑動(dòng)時(shí)與上一個(gè)窗口的重疊區(qū)域設(shè)置為15%,這樣左右以及上下都有200像素左右的重疊距離,可以保證圖像切片后各個(gè)切片之間的邊緣的平滑度,降低切片與切片之間的邊緣不平滑特性。當(dāng)窗口滑動(dòng)到圖像邊界有超出時(shí),從所觸碰邊界向前切片作為收尾,以保證切片覆蓋全圖?;扒衅木唧w方法如圖6所示。
圖6 滑窗切片方法示意圖Fig.6 Schematic diagram of sliding window slicing method
另外,考慮到目標(biāo)檢測(cè)數(shù)據(jù)集標(biāo)簽的特殊性,對(duì)圖像切片的同時(shí)也需要考慮對(duì)圖像中目標(biāo)的切片方法。根據(jù)目標(biāo)框左上角點(diǎn)、右下角點(diǎn)與當(dāng)前切片所采用滑動(dòng)窗口的位置關(guān)系,共可討論出9種滑動(dòng)窗口將目標(biāo)切開(kāi)的情況,如圖7所示,并在表1中做出了不同情況下位置關(guān)系詳細(xì)描述。
表1 不同切片情況下的位置關(guān)系Table 1 Position relationship under different sections
圖7 不同切片情況Fig.7 Different slice conditions
對(duì)于不同位置關(guān)系,統(tǒng)一采用如下切片機(jī)制對(duì)當(dāng)前滑動(dòng)窗口中的目標(biāo)進(jìn)行篩選保留:
(1)根據(jù)識(shí)別目標(biāo)的完整性,認(rèn)為只觀察目標(biāo)的1/9不足以判斷出原始目標(biāo),因此當(dāng)待切目標(biāo)與滑動(dòng)窗口交疊部分的長(zhǎng)或?qū)挸^(guò)目標(biāo)自身長(zhǎng)或?qū)挼?/3 時(shí),在滑動(dòng)窗口邊沿處截?cái)嗄繕?biāo)并保留至當(dāng)前滑動(dòng)窗口。
(2)經(jīng)機(jī)制(1)篩選后,當(dāng)待切目標(biāo)與滑動(dòng)窗口交疊部分的長(zhǎng)或?qū)挷蛔?4 個(gè)像素點(diǎn),即小于數(shù)據(jù)集最小目標(biāo)框尺寸時(shí),在當(dāng)前滑動(dòng)窗口中舍棄該目標(biāo)。
1.3.2 切片檢測(cè)結(jié)果拼合策略
對(duì)切片后圖像進(jìn)行檢測(cè),同一個(gè)目標(biāo)的不同部分可能會(huì)被多個(gè)相鄰切片檢測(cè)到,因此需要根據(jù)切分機(jī)制相應(yīng)地設(shè)計(jì)拼合機(jī)制對(duì)圖像及其檢測(cè)結(jié)果進(jìn)行拼合。
首先,按照滑窗切片時(shí)的起點(diǎn)位置標(biāo)記,采用切片逆向操作將帶有預(yù)測(cè)框的切片拼合成整幅圖。其次,根據(jù)滑窗切片時(shí)的步距長(zhǎng)度,給予50 像素左右的容錯(cuò)范圍,設(shè)定150 像素點(diǎn)為預(yù)測(cè)框拼合閾值,若待拼合圖像中同種預(yù)測(cè)框相交區(qū)域的任意邊長(zhǎng)超過(guò)這個(gè)閾值,或者兩預(yù)測(cè)框的交并比超過(guò)0.5,則判定這兩個(gè)預(yù)測(cè)框所屬同一個(gè)目標(biāo),將其拼合成一個(gè)完整的目標(biāo)。
在拼合時(shí),分別取兩預(yù)測(cè)框的左上角點(diǎn)橫縱坐標(biāo)中的最小值作為拼合預(yù)測(cè)框左上角點(diǎn)的橫縱坐標(biāo),取兩預(yù)測(cè)框的右下角點(diǎn)橫縱坐標(biāo)中的最大值作為拼合預(yù)測(cè)框右下角點(diǎn)的橫縱坐標(biāo)。同時(shí),取拼合前兩個(gè)預(yù)測(cè)目標(biāo)中的較高得分作為拼合后的預(yù)測(cè)目標(biāo)得分。圖8 展示了通過(guò)此種拼合方式拼合前后效果對(duì)比。
1.3.3 模型檢測(cè)結(jié)果集成策略
由于分別訓(xùn)練了兩個(gè)模型同時(shí)對(duì)切片前后的圖像進(jìn)行全類別檢測(cè),直接整合檢測(cè)結(jié)果會(huì)產(chǎn)生較多冗余預(yù)測(cè)框,因此需要對(duì)這些預(yù)測(cè)框進(jìn)行進(jìn)一步篩選保留。
通過(guò)觀察檢測(cè)結(jié)果發(fā)現(xiàn),能夠同時(shí)被兩個(gè)關(guān)注不同尺度的模型檢測(cè)到的僅有電線桿塔、絕緣子、間隔棒類中等尺度以上的目標(biāo),因此不用再對(duì)塔號(hào)牌、防震錘這兩類小尺度目標(biāo)做進(jìn)一步篩選。
使用預(yù)測(cè)框的交并比大小作為篩選條件。由于不滿足保留條件的目標(biāo)會(huì)在切片時(shí)被舍棄,一個(gè)大目標(biāo)在切片時(shí)可能會(huì)橫跨9個(gè)滑動(dòng)窗口甚至更多,但可能僅有一個(gè)滑動(dòng)窗口保留下了此目標(biāo)。這樣就會(huì)出現(xiàn)同一個(gè)目標(biāo)被切片前訓(xùn)練所得模型完整檢測(cè),而僅被切片后訓(xùn)練所得模型檢測(cè)出很小一部分的情況,從而產(chǎn)生較小的交并比。在經(jīng)過(guò)多次實(shí)驗(yàn)之后,發(fā)現(xiàn)以0.1 作為篩選閾值較為合理。當(dāng)同類別預(yù)測(cè)框交并比超過(guò)0.1時(shí),只保留置信度得分較高的預(yù)測(cè)框,舍棄另外的冗余預(yù)測(cè)框。
本文實(shí)驗(yàn)所采用的PLAD 數(shù)據(jù)集[22]是基于高分辨率無(wú)人機(jī)所采集的多尺度電力線資產(chǎn)檢測(cè)數(shù)據(jù)集,包含5 472×3 078及5 472×3 648兩種分辨率的架空輸電線路圖片。對(duì)圖片中的電線桿塔、絕緣子、間隔棒、塔號(hào)牌和防震錘等5 種架空輸電線路部件進(jìn)行了標(biāo)注,圖9 為數(shù)據(jù)集圖片及標(biāo)注示例。
圖9 數(shù)據(jù)集圖片及標(biāo)注示例Fig.9 Examples of dataset images and labels
PLAD數(shù)據(jù)集[22]中包含253個(gè)電線桿塔、312個(gè)絕緣子、253 個(gè)間隔棒、86 個(gè)塔號(hào)牌、1 505 個(gè)防震錘,共計(jì)2 409 個(gè)目標(biāo)。按照PLAD 原文提及的數(shù)據(jù)集劃分方式,將訓(xùn)練集與測(cè)試集的比例設(shè)置為8∶2,并從訓(xùn)練集中劃分出10%作為驗(yàn)證集輔助訓(xùn)練。
圖10(a)所示為PLAD數(shù)據(jù)集[22]中的目標(biāo)框尺寸分布情況,縱坐標(biāo)表示目標(biāo)框相對(duì)于原圖高度的占比,橫坐標(biāo)表示目標(biāo)框相對(duì)于原圖寬度的占比。紅色、黃色、綠色、紫色、藍(lán)色圓圈分別表示電線桿塔、絕緣子、間隔棒、塔號(hào)牌、防震錘這5類目標(biāo)的寬高分布位置,從圖中可以直觀地看出不同類別的目標(biāo)框大小分布不均,小目標(biāo)數(shù)量占比較大,除大型電線桿塔以外的其他類目標(biāo)所占像素范圍基本處于1 400×1 000 像素之內(nèi),占整幅圖像的比例不足10%,因此在檢測(cè)時(shí)需要更多關(guān)注到圖像的細(xì)節(jié)特征。
圖10 目標(biāo)框特征分布統(tǒng)計(jì)Fig.10 Ground truth box feature distribution statistics
圖10(b)所示為PLAD數(shù)據(jù)集中目標(biāo)框的形狀分布情況,框線顏色及部件類別的對(duì)應(yīng)關(guān)系同圖10(a)??梢钥吹讲煌N類的部件形狀差異較大,紅色所代表的電線桿塔類別的尺寸明顯大于其他類別部件的尺寸,并且各類目標(biāo)的長(zhǎng)寬比不固定,也為檢測(cè)增加了難度。
本文在結(jié)合觀察圖10(a)以及圖10(b)之后,將電線桿塔歸類于大尺度目標(biāo),將絕緣子、間隔棒歸類于中等尺度目標(biāo),將塔號(hào)牌、防震錘歸類于小尺度目標(biāo)。
本文實(shí)驗(yàn)均在CPU 為Intel?Core ?i5-10400F@2.90 GHz、內(nèi)存為16 GB、GPU為NVIDIA GeForce RTX 2080 Ti 的硬件配置下進(jìn)行;軟件配置為Windows10 操作系統(tǒng),深度學(xué)習(xí)框架采用Pytorch 1.6.0,并行計(jì)算架構(gòu)版本為CUDA 10.1。
為加快模型收斂速度,縮短訓(xùn)練時(shí)間,使用在Pascal VOC數(shù)據(jù)集上的預(yù)訓(xùn)練權(quán)重初始化網(wǎng)絡(luò)參數(shù)。將圖像輸入尺寸設(shè)置為640×640 像素,采用隨機(jī)梯度下降法,將batch-size設(shè)置為8,動(dòng)量參數(shù)設(shè)置為0.937,權(quán)值衰減設(shè)置為0.000 5,初始學(xué)習(xí)率設(shè)置為0.01,之后采用余弦衰減策略自適應(yīng)調(diào)整學(xué)習(xí)率。
本文采用目標(biāo)檢測(cè)領(lǐng)域常用的平均精度均值(mean average precision,mAP)、查準(zhǔn)率(Precision)以及查全率(Recall)作為模型性能的評(píng)價(jià)指標(biāo)。mAP 由平均精度(average precision,AP)求平均所得:
其中,Num_Classes表示檢測(cè)部件類別數(shù),AP是用積分的方式來(lái)計(jì)算查準(zhǔn)率-查全率(Precision-Recall,P-R)曲線與坐標(biāo)軸圍成的面積,具體計(jì)算方式如公式(6)所示:
其中,p表示Precision,r表示Recall,p(r) 表示當(dāng)前Recall所對(duì)應(yīng)的Precision。p和r的定義如下:
其中,TP為預(yù)測(cè)為正的正樣本,表示預(yù)測(cè)正確;FP表示預(yù)測(cè)為正的負(fù)樣本,表示誤檢;FN表示預(yù)測(cè)為負(fù)的正樣本,表示漏檢。
3.4.1 模型參數(shù)靈敏度分析
在搭建多尺度輸電線路部件檢測(cè)模型的過(guò)程中,涉及較多的靜態(tài)參數(shù),因此,本小節(jié)就切片以及拼合時(shí)所選取的重要參數(shù)進(jìn)行靈敏度分析,提供參數(shù)選取依據(jù)。具體實(shí)驗(yàn)數(shù)據(jù)如表2、表3所示。
表2 滑窗切片參數(shù)靈敏度分析Table 2 Sensitivity analysis of sliding window slicing parameters
表3 切片檢測(cè)結(jié)果拼合參數(shù)靈敏度分析Table 3 Sensitivity analysis of parameters for collocation of slicing test results
表2 展示了滑窗切片參數(shù)的靈敏度分析。實(shí)驗(yàn)過(guò)程中,依次對(duì)滑動(dòng)窗口大小、橫向滑動(dòng)重疊率、縱向滑動(dòng)重疊率、目標(biāo)保留比例閾值等參數(shù)按照控制變量法進(jìn)行設(shè)置并測(cè)試檢測(cè)效果。通過(guò)比較7 組不同設(shè)置下的mAP值,可以得出將滑動(dòng)窗口大小設(shè)置為1 400×1 000,將橫向滑動(dòng)重疊率設(shè)置為20%、縱向滑動(dòng)重疊率設(shè)置為15%,目標(biāo)保留比例閾值設(shè)置為1/3時(shí)檢測(cè)效果最佳。
表3 展示了切片檢測(cè)結(jié)果拼合參數(shù)的靈敏度分析。在統(tǒng)一使用表2 中選出的滑窗切片參數(shù)進(jìn)行前期切片檢測(cè)后,對(duì)拼合時(shí)如何選取像素閾值以及交并比閾值的靈敏度進(jìn)行探討。此步驟共設(shè)置了5 組不同對(duì)照組,通過(guò)比較不同設(shè)置下的mAP值,可以得出將像素閾值設(shè)為150、交并比閾值設(shè)置為0.5時(shí)能夠達(dá)到最佳檢測(cè)效果。
3.4.2 檢測(cè)效果對(duì)比
為評(píng)估融合高效注意力的多尺度部件檢測(cè)算法(以下簡(jiǎn)稱本文算法)性能,在相同實(shí)驗(yàn)條件下,分別使用SSD512[2]、RetinaNet[3]、Faster RCNN[11]、YOLO v5[8]四種經(jīng)典的目標(biāo)檢測(cè)算法與本文算法一同對(duì)PLAD 數(shù)據(jù)集進(jìn)行測(cè)試,將實(shí)驗(yàn)結(jié)果記錄在表4中。
表4 不同模型檢測(cè)效果對(duì)比Table 4 Comparison of detection effects of different models 單位:%
另外,表4 也給出了PLAD 數(shù)據(jù)集作者所提MSPAD 算法[22]的實(shí)驗(yàn)結(jié)果數(shù)據(jù)。MS-PAD 同樣采用了切片思想來(lái)提升對(duì)高分辨率圖像中小尺度目標(biāo)的檢測(cè)精度。但與本文算法不同的是,MS-PAD只是單純的將圖像以2×2的形式平均切分為4塊來(lái)檢測(cè)最小尺度的防震錘目標(biāo),而對(duì)其余種類的目標(biāo)直接采用SSD算法進(jìn)行檢測(cè),整體檢測(cè)結(jié)構(gòu)設(shè)計(jì)較為簡(jiǎn)單。
通過(guò)縱向觀察表4中的Precision、Recall、mAP三個(gè)指標(biāo)值并結(jié)合公式(5)、(6)可以較為直觀地看出,mAP值受Precision與Recall兩個(gè)值的綜合影響,直接將高分辨率圖像不做任何處理就放入現(xiàn)有目標(biāo)檢測(cè)模型中進(jìn)行檢測(cè),Pricision 平均水平不足50%,Recall 值均在25%以下,mAP 值也均未達(dá)到40%。使用切片思想后,MS-PAD 算法對(duì)塔號(hào)牌、防震錘的檢測(cè)性能提升顯著,相應(yīng)的mAP值的提升也有了質(zhì)的飛躍。本文算法更是在MS-PAD算法的基礎(chǔ)上進(jìn)一步將mAP值提升了1.6個(gè)百分點(diǎn),使其達(dá)到了90.8%,對(duì)應(yīng)Precision值可達(dá)83.2%,Recall值可達(dá)92.8%。
再對(duì)表4中不同模型對(duì)于5類輸電線路部件的檢測(cè)效果進(jìn)行細(xì)致的橫向觀察,可以發(fā)現(xiàn)直接使用SSD512[2]、RetinaNet[3]、Faster RCNN[11]、YOLO v5[8]四個(gè)現(xiàn)有目標(biāo)檢測(cè)模型僅能檢測(cè)出電線桿塔、絕緣子、間隔棒等一些稍大尺寸的目標(biāo),而對(duì)于塔號(hào)牌、防震錘這兩類小尺度目標(biāo)的檢測(cè)效果不佳。綜合觀察四個(gè)模型的表現(xiàn),可以發(fā)現(xiàn)YOLO v5在檢測(cè)中等尺度以及大尺度目標(biāo)時(shí)性能更加穩(wěn)定。MS-PAD算法在SSD512算法的基礎(chǔ)上加入圖像切分策略單獨(dú)放大最小尺度的防震錘目標(biāo)特征,較好地平衡了其與其他4類不同尺度目標(biāo)的檢測(cè)精度,使綜合mAP 值達(dá)到了89.2%。本文算法在針對(duì)PLAD 數(shù)據(jù)集中的待檢測(cè)目標(biāo)特征進(jìn)行統(tǒng)計(jì)分析后,采用特定的滑動(dòng)窗口對(duì)高分辨率圖像進(jìn)行切片,并對(duì)YOLO v5 算法做出改進(jìn),運(yùn)用改進(jìn)后的算法同時(shí)對(duì)切片前后的圖像進(jìn)行全類別目標(biāo)不做區(qū)分的檢測(cè),而后再將結(jié)果進(jìn)行集成,相比MS-PAD 單獨(dú)檢測(cè)小尺度種類目標(biāo)而言,更符合常規(guī)目標(biāo)檢測(cè)流程。又由于YOLO v5與SSD算法本身的檢測(cè)原理不同,加之本文算法針對(duì)PLAD數(shù)據(jù)集進(jìn)行了特定處理,最終實(shí)現(xiàn)了比MS-PAD算法更好的檢測(cè)效果。
3.4.3 消融實(shí)驗(yàn)
本小節(jié)設(shè)置了三組消融實(shí)驗(yàn),以進(jìn)一步驗(yàn)證在本文算法中加入高效注意力ECBAM 以及使用集成策略的有效性。
首先,為判斷加入高效注意力ECBAM之后對(duì)于算法性能是否有提升,設(shè)計(jì)了兩組消融實(shí)驗(yàn)。分別使用YOLO v5、YOLO v5+CBAM、YOLO v5+ECBAM三個(gè)算法對(duì)切片前后的數(shù)據(jù)集進(jìn)行訓(xùn)練測(cè)試。
表5 展示了對(duì)切片前圖像使用三個(gè)算法訓(xùn)練模型的效果對(duì)比,表6展示了對(duì)切片后圖像使用三個(gè)算法訓(xùn)練模型的效果對(duì)比。
表5 加入注意力前后的模型效果對(duì)比ITable 5 Comparison I of effect of model before and after adding attention 單位:%
表6 加入注意力前后的模型效果對(duì)比ⅡTable 6 Comparison Ⅱof effect of model before and after adding attention 單位:%
兩表中的指標(biāo)趨勢(shì)變化相似,對(duì)于Precision 值,使用YOLO v5、YOLO v5+CBAM、YOLO v5+ECBAM三個(gè)算法,測(cè)出的結(jié)果數(shù)值依次提升,說(shuō)明加入注意力機(jī)制后確實(shí)能夠提取到更多的圖像特征,減小錯(cuò)誤檢測(cè)的概率,有效提高YOLO v5算法的預(yù)測(cè)準(zhǔn)確程度,并且優(yōu)化了通道注意力模塊之后得到的ECBAM 性能相比CBAM 而言更勝一籌;對(duì)于Recall 值,使用三個(gè)算法測(cè)出的結(jié)果數(shù)值接近,相差不大,說(shuō)明加入注意力機(jī)制前后,漏檢率并沒(méi)有受到太大的影響,能夠保持相對(duì)穩(wěn)定;對(duì)于mAP 值,由于Precision 值依次提升,Recall 值相對(duì)不變,因此在Precision、Recall 兩個(gè)指標(biāo)的綜合影響下,mAP值的變化呈現(xiàn)與Precision值相同的趨勢(shì)。總之,使用三個(gè)算法測(cè)出的結(jié)果數(shù)值依次提升,均在加入高效注意力機(jī)制ECBAM之后達(dá)到了最佳值,并因此證明了在算法中加入高效注意力ECBAM的有效性。
其次,為了便于觀察使用滑動(dòng)窗口將高分辨率圖像進(jìn)行切片訓(xùn)練,并將切片前后分別訓(xùn)練得到的模型結(jié)果進(jìn)行集成這一做法對(duì)于提升檢測(cè)效果的有效性,設(shè)計(jì)了第三組消融實(shí)驗(yàn)。在同樣使用YOLO v5+ECBAM模型的情況下,分別測(cè)試切片前后兩個(gè)未經(jīng)集成的模型以及集成模型的檢測(cè)效果,將結(jié)果記錄在了表7中。
表7 集成策略的有效性對(duì)比Table 7 Comparison of ettectiveness of integration strategy 單位:%
由于在2.2 節(jié)中已將電線桿塔歸類于大尺度目標(biāo),將絕緣子、間隔棒歸類于中等尺度目標(biāo),將塔號(hào)牌、防震錘歸類于小尺度目標(biāo),結(jié)合表7 中數(shù)據(jù)可以看出,在對(duì)圖像切片前使用YOLO v5+ECBAM 模型,能夠較好地檢測(cè)出中等尺度以及大尺度目標(biāo)。在對(duì)圖像切片后使用YOLO v5+ECBAM模型,大尺度目標(biāo)檢測(cè)效果變差,但對(duì)于中等尺度目標(biāo)檢測(cè)效果有了近30個(gè)百分點(diǎn)的提升,對(duì)小尺度目標(biāo)能夠從檢測(cè)不到提升到有80%以上的檢測(cè)精度。集成之后兩個(gè)單獨(dú)訓(xùn)練的模型優(yōu)勢(shì)均被保留,最終對(duì)于多尺度目標(biāo)檢測(cè),Precision 可達(dá)83.2%,Recall可達(dá)92.8%,mAP可達(dá)90.8%。
3.4.4 檢測(cè)結(jié)果展示
圖11 所示為不同模型對(duì)PLAD 數(shù)據(jù)集進(jìn)行檢測(cè)后得到的結(jié)果對(duì)比,圖中紅色標(biāo)簽代表電線桿塔目標(biāo)、黃色標(biāo)簽代表絕緣子目標(biāo)、綠色標(biāo)簽代表間隔棒目標(biāo)、紫色標(biāo)簽代表塔號(hào)牌目標(biāo)、藍(lán)色標(biāo)簽代表防震錘目標(biāo)。
圖11 檢測(cè)結(jié)果比較Fig.11 Comparison of detection results
圖11(a)~(e)分別給出了SSD512、RetinaNet、Faster RCNN、YOLO v5以及本文算法的結(jié)果,MS-PAD模型因未公開(kāi)官方代碼,具有不可復(fù)現(xiàn)性,故其結(jié)果未在圖中展示,圖11(f)給出了標(biāo)注數(shù)據(jù)。
整體比較來(lái)看,使用SSD512模型檢測(cè),誤檢概率較大,且完全無(wú)法檢測(cè)出小尺度的防震錘目標(biāo)以及稍微大一些尺度的塔號(hào)牌目標(biāo);使用RetinaNet模型,對(duì)于能夠檢測(cè)到的目標(biāo),定位較為準(zhǔn)確,但同樣無(wú)法檢測(cè)出小尺度的防震錘目標(biāo),漏檢情況較為嚴(yán)重;使用Faster RCNN模型能夠發(fā)揮一定雙階段模型檢測(cè)的優(yōu)勢(shì),檢測(cè)出更多種類的目標(biāo),也包括了其中一些小尺度防震錘目標(biāo),但依然存在一定的誤檢及漏檢情況;使用YOLO v5模型的檢測(cè)結(jié)果與使用RetinaNet 模型的檢測(cè)結(jié)果相似,只在大尺度目標(biāo)的檢測(cè)方面效果略優(yōu)于RetinaNet;使用本文所提出的模型,基本可以檢測(cè)出所有標(biāo)注數(shù)據(jù),甚至可以檢測(cè)出多種多個(gè)在原圖中未經(jīng)標(biāo)注的目標(biāo),漏檢率小,定位精準(zhǔn)。
本文以目標(biāo)檢測(cè)中應(yīng)用廣泛的單階段目標(biāo)檢測(cè)算法YOLO v5為基礎(chǔ),針對(duì)高分辨率輸電線路圖像中,不同種類部件尺度跨越大,難以均衡檢測(cè)的問(wèn)題進(jìn)行改進(jìn)。融合高效注意力機(jī)制ECBAM 綜合提升了YOLO v5算法的特征提取能力,增強(qiáng)了模型檢測(cè)性能。使用滑動(dòng)窗口將高分辨率圖像切片,放大了其中中小尺度目標(biāo)特征。使用改進(jìn)后的目標(biāo)檢測(cè)算法分別對(duì)切片前后圖像進(jìn)行訓(xùn)練,并集成兩個(gè)模型檢測(cè)結(jié)果,實(shí)現(xiàn)了多尺度目標(biāo)檢測(cè)。不同模型的對(duì)比結(jié)果表明:本文算法檢測(cè)效果較現(xiàn)有目標(biāo)檢測(cè)算法提升顯著,Precision 達(dá)到了83.2%,Recall達(dá)到了92.8%,且mAP值比數(shù)據(jù)集原作者提出的方法提升了1.6 個(gè)百分點(diǎn),達(dá)到了90.8%,漏檢少,可檢測(cè)出較為隱蔽的目標(biāo),定位更加準(zhǔn)確。在下一步的研究中,將結(jié)合知識(shí)蒸餾方法,對(duì)模型進(jìn)行輕量化改進(jìn),提升部件檢測(cè)效率。