李 飛,王 超,浦 東,陳 瑞,張智堅
(1.南京工程學院 人工智能產(chǎn)業(yè)技術(shù)研究院,南京 211167;(2.南京工程學院 信息與通信工程學院,南京 211167)
隨著我國國家電網(wǎng)發(fā)展規(guī)模的不斷擴大,電力傳輸線途經(jīng)的地理環(huán)境愈加復雜,如沼澤、山脈、湖泊、盆地、水庫等,不僅在建設(shè)時存在困難,而且加大了后期維護的難度。遭遇大風等惡劣天氣時,輸電線將發(fā)生振動跳躍,導致懸掛點處會反復彎折,進而可能引發(fā)斷線,甚至倒塔事件。為了減少導線因外力因素引起的振動,輸電線路中普遍采用防震錘來吸收能量。但是由于風雨侵蝕、金屬生銹等原因,防震錘可能會出現(xiàn)斷裂、滑移等故障,將失去其原有的牽制力。因此及時檢測防震錘發(fā)現(xiàn)它的故障并迅速處理,這對電網(wǎng)系統(tǒng)的穩(wěn)定運行具有深遠意義[1]。
無人機因為其體型小、靈活度高、反應(yīng)迅速的特點已被廣泛應(yīng)用于輸電線路的巡檢中。傳統(tǒng)方法對無人機拍攝圖片進行目標物檢測識別時,主要對輸電線路及其部件的顏色、形狀以及邊緣特征進行處理,如Haar特征、線性反投影(LBP,local binary pattern)特征等。文獻[2]提出了基于分塊的Haar新特征以及基于區(qū)域的LBP新特征,達到減小漏檢率的目的。文獻[3]結(jié)合直方圖均衡化、形態(tài)學處理和RGB彩色模型,實現(xiàn)銹蝕缺陷的檢測。文獻[4]通過提取防震錘的Haar特征,并結(jié)合AdaBoost算法進行識別,能夠較好地從復雜背景中識別出防震錘。這些傳統(tǒng)的圖像處理算法具備占用資源小等優(yōu)點,但都是針對某種特定的環(huán)境,對于復雜的環(huán)境魯棒性較差。
隨著深度學習的快速發(fā)展,基于深度學習卷積神經(jīng)網(wǎng)絡(luò)的輸電線路部件檢測已成為熱點。文獻[5]通過構(gòu)建深度學習的網(wǎng)絡(luò)模型提取圖像特征,并設(shè)置閾值,判斷原始圖像中防震錘故障的概率。文獻[6]提出結(jié)合DeepLabV3+語義分割網(wǎng)絡(luò)與防震錘的空間上下文關(guān)系對其進行識別與缺陷診斷。文獻[7]采用Faster RCNN卷積神經(jīng)網(wǎng)絡(luò)算法對高重疊防震錘區(qū)域進行迭代合并,構(gòu)建防震錘識別模型。文獻[8]為了實現(xiàn)高壓輸電線路部件的缺陷檢測和故障診斷,提出基于改進YOLOv3的高壓輸電線路關(guān)鍵部件目標檢測算法。文獻[9]使用單目標多分類檢測器(SSD,single shot multiBox detector[10])網(wǎng)絡(luò)模型進行防震錘的檢測,已取得較好的效果,但是當圖片中存在大量被遮擋的防震錘時,效果較差。
綜合上述的防震錘故障檢測算法來看,深度學習檢測目標的方法已經(jīng)成為主流,針對上述問題,鑒于ResNet[11]殘差網(wǎng)絡(luò)結(jié)構(gòu)比視覺幾何組(VGG,visual geometry group)網(wǎng)絡(luò)結(jié)構(gòu)的運算高效且有更強的特征提取能力,所以本文采用ResNet-50作為SSD的骨干網(wǎng)絡(luò),同時在特征提取階段引入文獻[12]提出的注意力機制,它結(jié)合了空間注意力和通道注意力機制,能顯著提高圖像分類和目標檢測的正確率。當該算法應(yīng)用于防震錘實時識別時,識別準確率能達到81%,同時召回率提升了3.7%。
SSD算法同時借鑒了YOLO[13]和Faster R-CNN[14]網(wǎng)絡(luò)的思想并結(jié)合兩者的優(yōu)點。SSD基于前向傳播的卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network),使用錨點框[15]的思想:原始圖像經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)提取特征后,由非極大值抑制(NMS,non-maximum suppression)算法處理,可以直接回歸目標的位置和類別。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 SSD網(wǎng)絡(luò)結(jié)構(gòu)
從圖1可以看出,SSD由VGG16基礎(chǔ)網(wǎng)絡(luò)和附加特征層網(wǎng)絡(luò)(Extra Feature Layers)兩部分構(gòu)成。卷積層Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2構(gòu)成了特征金字塔結(jié)構(gòu),可以在多個尺度上進行目標檢測。SSD將VGG-16的FC6和FC7全連接層替換成Conv6和Conv7層,并添加Conv8_2、Conv9_2、Conv10_2、Conv11_2四個卷積層來獲取錨點框。這6層的特征圖相加,共得到8732個錨點框,如表1所示。
表1 各卷積層錨點框個數(shù)
默認框(default box)生成及篩選:
SSD算法的錨點(anchor)生成默認框(default box)的方法與Faster R-CNN算法基本相同。首先將輸入的圖像劃分成8×8的網(wǎng)格圖像,設(shè)置的默認框會將圖像中的目標全部包含進去。通過設(shè)置的k值可以計算默認框的大小,計算方式如下:
(1)
其中:Smin=0.2為Conv4_3與原圖尺度的比例大小,Smax=0.9為Conv11_2與原圖尺度的比例大小。設(shè)置的錨點框?qū)捀弑纫话銥閍r=1,2,3,1/2,1/3從而求得默認框的寬和高,公式如下:
(2)
鑒于過多的默認框會增加計算成本,而有的默認框中并無目標存在,通常采用重疊度(IOU,intersection over union[16])匹配策略對錨點框進行篩選。IOU用來計算預測框與真實框的重合比率,其計算公式如下:
(3)
其中:S預代表的是默認錨點框,S真代表的是真實框。IOU匹配策略中,閾值通常設(shè)置為0.5。
注意力機制的本質(zhì)就是一組注意力權(quán)重系數(shù),即在目標區(qū)域中提取對任務(wù)目標更有價值的信息,同時抑制或忽略某些無關(guān)的細節(jié)信息。在深層網(wǎng)絡(luò)中,注意力機制可以幫助獲取某些重要的目標特征,即對輸入圖像有針對性主動提取特征中相關(guān)性較大的部分,使更有利于網(wǎng)絡(luò)模型訓練的特征被學習。目前圖像處理中最常用的注意力機制分為通道注意力(Channel Attention)[17]和空間注意力(Spatial attention)[18]兩部分。
1.2.1 通道注意力
通道注意力關(guān)注的是“what”的問題,即關(guān)注的是這張圖上哪些內(nèi)容是有重要作用的。輸入圖像經(jīng)過由卷積核組成的卷積層得到特征矩陣,卷積核的個數(shù)決定了特征矩陣的通道數(shù),但并不是每一個通道對于主要特征的提取都十分有用。通道注意力首先對輸入的特征圖F∈RC×H×W進行最大值池化和平均池化,將兩個特征圖進行維度壓縮,轉(zhuǎn)發(fā)到多層感知器(Multi-Layer Perceptron, MLP),共享全連接,將兩個特征圖基于元素對應(yīng)相乘的加和操作后,再經(jīng)過sigmoid函數(shù)進行激活,得到含有權(quán)重的通道注意力特征圖,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 通道注意力機制
(5)
1.2.2 空間注意力
空間注意力關(guān)注的是“where”的問題,即圖像在整張圖片的哪個位置,空間注意力是通道注意力的補充,通過空間特征的加權(quán)來有選擇地聚合各個空間特征??臻g注意力首先對輸入不同的特征圖F∈RC×H×W的相同位置進行最大值池化和平均池化,再將特征圖進行維度的壓縮,然后將兩個結(jié)果基于通道融合。本文通過一個卷積操作,將結(jié)果降維為1個通道。再經(jīng)過sigmoid函數(shù)操作,得到含有權(quán)重的空間注意力特征圖Ms(F)∈R1×H×W,方法如下:
Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))=
(6 )
其中:σ為sigmoid操作。本文經(jīng)過多次實驗對比,選用比3×3卷積核效果更好的7×7卷積核??臻g注意力的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 空間注意力機制
針對SSD中原來的特征提取網(wǎng)絡(luò)對小目標定位能力差,且運算量大,檢測效率較低的問題,本文采用ResNet殘差網(wǎng)絡(luò)結(jié)構(gòu)代替SSD的VGG網(wǎng)絡(luò)結(jié)構(gòu)作為目標檢測的骨干網(wǎng)絡(luò),并在該骨干網(wǎng)絡(luò)中引入融合卷積注意力機制,通過壓縮提取中間特征,提高對物體檢測的精度和速度。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 整體網(wǎng)絡(luò)結(jié)構(gòu)圖
通常加深網(wǎng)絡(luò)模型的層數(shù),可以提高模型的學習能力,但是更深的網(wǎng)絡(luò)模型使用隨機梯度下降(SGD,stochastic gradient descent)優(yōu)化算法會變得更困難,同時會出現(xiàn)梯度消失的情況。為了解決這個問題,文獻[11]提出了殘差網(wǎng)絡(luò)ResNet,它在速度和精度上都優(yōu)于VGG,它的核心是通過建立前面層與后面層之間的“短路連接”(skip connection),有助于訓練過程中梯度的反向傳播,能訓練出更深的網(wǎng)絡(luò)。
無人機拍攝輸電線路部件圖像的背景往往十分復雜,可能有些部件粘連在一起,導致部件無法呈現(xiàn)它原本的特征。而淺層網(wǎng)絡(luò)VGG對特征抓取能力不夠強,ResNet-50殘差網(wǎng)絡(luò)中包含了50個Conv的操作,能更好地提取圖像特征,其結(jié)構(gòu)如表2所示。
表2 ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)
輸入圖像在經(jīng)過卷積和池化后進入第一層殘差塊中,在接下來的每一個階段都要進行經(jīng)過一次卷積和歸一化的操作,殘差結(jié)構(gòu)塊如圖5所示。
圖5 殘差結(jié)構(gòu)塊
由圖5可以看出,殘差學習塊主要基于自身映射(identity mapping)和殘差映射(residual mapping)兩個映射,輸出是卷積計算部分加上自身映射,relu函數(shù)再次激活。VGG網(wǎng)絡(luò)用于提取小目標的特征層在傳遞信息時,總會存在特征信息丟失問題,但ResNet殘差結(jié)構(gòu)能直接將輸入信息直接傳遞到輸出,可以解決信息丟失問題,降低學習目標難度,且ResNet模型的參數(shù)量比VGG網(wǎng)絡(luò)顯著減少,如表3所示。
表3 VGG與ResNet計算過程中參數(shù)量對比
表3中可以看出,VGG前向傳播一次需要14.2億次浮點數(shù)據(jù)計算,而ResNet僅需要3.8億浮點數(shù)據(jù)計算,運算量約減少了4倍左右,且ResNet網(wǎng)絡(luò)模型占用空間更小,有利于更多圖片進行一次性批量訓練。
為了使圖像的有益信息在整個網(wǎng)絡(luò)框架中傳遞,抓取到防震錘的關(guān)鍵特征,加強關(guān)鍵信息對整張圖片的增益,提高對防震錘的檢測能力。本文在殘差網(wǎng)絡(luò)ResNet-50的卷積塊中引入卷積注意力機制,結(jié)合通道和空間注意力,記為通道空間注意力模型(CSAM,channel space attention module),如圖6所示。
圖6 通道空間注意力模塊(CSAM)
輸入的中間特征圖為I∈RC×H×W,該特征圖首先輸入通道注意力機制模塊,獲得含有權(quán)重的通道注意力特征圖Mc∈RC×1×1,圖中Mul代表對應(yīng)矩陣元素相乘,將含有權(quán)重的通道注意力特征圖與原特征圖相乘,獲得中間特征圖仍然為I∈RC×H×W,然后將此中間特征圖輸入空間注意力機制模塊,獲得含有權(quán)重的空間注意力特征圖Ms∈RC×1×1,將獲得含有權(quán)重的空間注意力特征圖與上一層特征圖相乘,得到同時獲得空間注意力與通道注意力的特征圖。
上述過程也就是將通道注意力與空間注意力相結(jié)合,實現(xiàn)層級間信息的最大化,引導模型在迭代時獲得更顯著的防震錘檢測網(wǎng)絡(luò)模型。
CSAM模塊對ResNet-50網(wǎng)絡(luò)可能產(chǎn)生不利影響,導致預訓練模型參數(shù)不能匹配新的網(wǎng)絡(luò)模型,因此CSAM不能直接加在ResNet-50網(wǎng)絡(luò)內(nèi)部。本文將CSAM模塊置于Conv_1(7×7)卷積層之后,即原始輸入300×300的彩色RGB圖像,通過一個7×7卷積層后的特征圖作為CSAM模塊的初始特征圖輸入。由CSAM模塊找出特征圖中任意位置之間的空間依賴,對所有位置上的特征加權(quán)和更新。相應(yīng)兩個位置之間的特征相似性作為權(quán)重用來提升獲取主要特征的能力,而不需要關(guān)注于它們之間的距離。相較于SENet[19],CSAM模塊通道注意力中加入的全局最大池化在一定程度上彌補了平均值池化AvgPool丟失的信息,且在CSAM模塊空間中,生成的二維空間注意力特征圖使用卷積核大小為7的卷積層進行編碼,避免了選用較小卷積核只關(guān)注局部特征的缺點,對保留重要的空間信息很有幫助。同時,本文在Conv4_x的第一個block中將stride設(shè)置為1,讓通過Conv4_x之后的特征圖尺寸縮小一半,這樣Conv3_x輸出特征圖尺寸為512×38×38,Conv4_x輸出為1 024×38×38,而不是原來ResNet網(wǎng)絡(luò)中的1 024×19×19。本文提出的網(wǎng)絡(luò)在ResNet殘差結(jié)構(gòu)之后增添了5個層后,再加上ResNet的Conv4_x的特征圖,一共提取6張?zhí)卣鲌D,這些選出的各個層的特征圖將被用于種類和位置的預測,如表4所示。
表4 融合卷積注意力及殘差網(wǎng)絡(luò)結(jié)構(gòu)表
本文實驗所用的軟、硬件平臺參數(shù)配置如表5所示。
表5 實驗平臺參數(shù)設(shè)置
3.2.1 數(shù)據(jù)集
本實驗采用標準數(shù)據(jù)集與自建數(shù)據(jù)集結(jié)合的方式來測試網(wǎng)絡(luò)的性能。標準數(shù)據(jù)集采用Pascal VOC2007和COCO2017。Pascal VOC2007訓練集共5 011幅,測試集共4 952幅,數(shù)據(jù)集包含了20個分類且光照、拍攝角度等因素各不相同。COCO2017數(shù)據(jù)集是一個大型的、豐富物體檢測數(shù)據(jù)集,由復雜的日常景物截圖組成,共標注了含背景在內(nèi)81類經(jīng)過精確分割進行位置標定的目標。訓練集118 287張圖片,驗證集5 000張圖片,測試集40 670張圖片。標準數(shù)據(jù)集可以作為衡量圖像分類識別能力的基準,對模型的評判具有一定的意義。
自建數(shù)據(jù)集由某市供電公司提供,共8 295張無人機拍攝的輸電線路高清原始圖,將其中的7 465張圖片作為測試集,830張圖片作為驗證集,其中共包含防震錘的數(shù)量為11 876個。
3.2.2 實驗參數(shù)
在進行訓練時,所有的批處理(batchsize)均設(shè)置為64,初始學習率設(shè)置為10-3,動量參數(shù)設(shè)置為0.9,權(quán)重衰減為2×10-4。
對于VOC2007數(shù)據(jù)集,共訓練40 000次,算法分別在2 640次和3 230次學習率衰減。對比改進前后算法的收斂性,改進后的Resnet結(jié)構(gòu)算法收斂性要略優(yōu)于原VGG結(jié)構(gòu)算法,同時兩種算法針對VOC2007數(shù)據(jù)集在26 000次左右均已經(jīng)趨于收斂,如圖7所示。
圖7 VOC2007數(shù)據(jù)集上的損失曲線對比
對于COCO數(shù)據(jù)集,共訓練440,000次,以便得到對該數(shù)據(jù)集的較好擬合和較佳預測。
首先在VOC2007數(shù)據(jù)集上進行測試,其中mAP@0.5為網(wǎng)絡(luò)模型在IOU閾值大于0.5時,多類預測時每一類的精度(precison)取平均值。通過表6對比,可以發(fā)現(xiàn)采用殘差網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò)并增加注意力機制CSAM模塊,平均精度提升了1.5%左右,其中鳥類、羊類等特征明顯的有顯著提升,約為5%左右。測試效果如圖8所示。
表6 PASCAL VOC2007 test數(shù)據(jù)集上的檢測結(jié)果
圖 8 本文算法在VOC2007數(shù)據(jù)集復雜場景的檢測效果
由于算法輕量化提升,整個算法模型的正向推理時間也有所改善,檢測一張圖片時速度約提升了25 ms,如表7所示。
表7 算法檢測時間對比
在COCO2017數(shù)據(jù)集上進行測試,用以評估算法有效性。從表8中可以見到,本文算法(SSD+ResNet+CSAM)相對于幾種典型算法在檢測精度上均有所提高,效果見圖9。
表8 各算法精度對比
圖9 本文算法在COCO2017數(shù)據(jù)集復雜場景的檢測效果
在驗證算法的有效性后,將含有防震錘的圖片進行訓練測試,在訓練時采用了遷移學習[20]策略,可以加快防震錘的網(wǎng)絡(luò)訓練,優(yōu)化模型的學習效率,在相同的時間內(nèi)能訓練出精度更高的網(wǎng)絡(luò)。除了采用在標準數(shù)據(jù)集測試算法模型中的mAP平均準確率評價指標外,還使用了國網(wǎng)運檢部規(guī)定的recall召回率來衡量算法模型找出的防震錘相對總數(shù)占比,得到的結(jié)果如表9所示。
表9 算法改進前后防震錘檢測結(jié)果
由表9的對比可以看出,在算法引入融合注意力模塊和殘差結(jié)構(gòu)塊后,識別防震錘的平均準確率達到了81%,相較于原來提升了2.5%。在面對輸電線路復雜背景、光線多變等不良因素影響下,能夠減少圖像信息丟失,提取到圖像更深層特征信息以提高識別精度,識別效果明顯提升。同時提取特征圖經(jīng)過融合預測,并結(jié)合已有的預訓練的卷積神經(jīng)網(wǎng)絡(luò)權(quán)重,查全率提升了約3.7%,有效解決了因監(jiān)視點距離防震錘較遠造成的目標過小從而引起的漏檢問題。選取部分不同背景下無人機拍攝的包含防震錘的輸電線路圖片,圖像實際共拍攝到20個防震錘,原SSD算法[10]識別到13個防震錘目標而本文算法共識別到17個防震錘目標,檢測結(jié)果對比見圖10。
圖10 防震錘檢測識別效果
本文提出了一種融合卷積注意力機制和SSD模型相結(jié)合的防震錘檢測方法,將傳統(tǒng)SSD模型中主干網(wǎng)絡(luò)用ResNet網(wǎng)絡(luò)來替代,加快了網(wǎng)絡(luò)的推理速度和特征提取能量,同時在模型中融入CSAM注意力模塊,更好地區(qū)分圖像前景與背景,訓練時采用了遷移學習大大地減少了網(wǎng)絡(luò)的訓練時間。本文提出的檢測方法在標準數(shù)據(jù)集VOC2007、COCO2017以及自建數(shù)據(jù)集都有較好的表現(xiàn),為輸電線路關(guān)鍵部件的檢測提供了新的思路方法。