王朝碩,李偉性,鄭武略,王寧,趙航航
1.中國(guó)南方電網(wǎng)超高壓輸電公司信通中心,廣東 廣州 510000
2.中國(guó)南方電網(wǎng)超高壓輸電公司廣州局,廣東 廣州 510000
隨著計(jì)算機(jī)視覺和無人機(jī)技術(shù)的快速發(fā)展,無人機(jī)和計(jì)算機(jī)視覺技術(shù)相結(jié)合在智能電網(wǎng)中的應(yīng)用需求越來越多,而且一些成果已經(jīng)應(yīng)用到輸電線路電力部件的智能巡檢和在線監(jiān)測(cè)中[1]。實(shí)現(xiàn)對(duì)輸電線路電力部件智能巡檢的關(guān)鍵是對(duì)電力部件進(jìn)行識(shí)別和定位。輸電線路的主要部件包括絕緣子、間隔棒、防震錘和均衡環(huán)等,在無人機(jī)拍攝電力部件的過程中,由于距離的因素,這些電力部件距離無人機(jī)較遠(yuǎn),在圖像上顯示的尺寸較小,是典型的小目標(biāo)識(shí)別問題。
傳統(tǒng)圖像識(shí)別方法以圖像二值化和邊緣檢測(cè)為基礎(chǔ),通過尺度不變特征變換[2]、局部二值模式[3]等算法來提取圖像的梯度、顏色、紋理、邊緣和形態(tài)等顯著特征[4],但這些特征提取算法需要根據(jù)目標(biāo)預(yù)先設(shè)定特征參數(shù),對(duì)拍攝角度距離差異、光照影響和復(fù)雜背景干擾較為敏感,難以設(shè)計(jì)通用的特征提取模型來描述不同情景下的物體。因此,其識(shí)別準(zhǔn)確率較低、魯棒性較差,不適用于電力小部件識(shí)別。
隨著深度學(xué)習(xí)的迅速發(fā)展以及硬件水平的提高,深度卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺領(lǐng)域取得了巨大的成功,而且電力部件的數(shù)據(jù)集越來越多,為深度學(xué)習(xí)在電力部件識(shí)別和定位中的應(yīng)用奠定了基礎(chǔ)。文獻(xiàn)[5]通過優(yōu)化更快的基于區(qū)域建議卷積神經(jīng)網(wǎng)絡(luò)(faster region-based convolutional neural network,Faster RCNN)[6]損失函數(shù)和自建ImageNet圖像樣本庫(kù)對(duì)輸電線路多目標(biāo)圖像進(jìn)行識(shí)別和定位,但改進(jìn)后的網(wǎng)絡(luò)模型依然保留高層特征,拋棄淺層特征,對(duì)小目標(biāo)識(shí)別和定位效果較差,且檢測(cè)速度較慢,實(shí)時(shí)性難以得到保證,無法進(jìn)行實(shí)際應(yīng)用?;诨貧w的one-stage 目標(biāo)檢測(cè)算法以SSD[7]、YOLO[8]為主,one-stage 算法在檢測(cè)速度方面遠(yuǎn)快于基于區(qū)域興趣的two-stage 目標(biāo)檢測(cè)算法,能夠達(dá)到實(shí)時(shí)檢測(cè)的要求。YOLO 算法將特征圖等分為n×n的網(wǎng)格,但是當(dāng)多個(gè)小目標(biāo)落在一個(gè)網(wǎng)格中的時(shí)候,會(huì)漏檢和誤檢目標(biāo)。利用SSD 檢測(cè)模型檢測(cè)小目標(biāo)時(shí),其只用VGG16特征提取網(wǎng)絡(luò)結(jié)構(gòu)中的conv4_3 層,語(yǔ)義信息不夠豐富,因此SSD模型檢測(cè)小目標(biāo)效果較差。Liu等[9]對(duì)SSD 進(jìn)行了改進(jìn),充分利用特征層之間的上下文信息,使用殘差網(wǎng)絡(luò)提升特征網(wǎng)絡(luò)的表征能力,提出了引入反卷積的單階段多框檢測(cè)器(deconvolutional single shot detector,DSSD)模型[10],但檢測(cè)速度較慢。
針對(duì)以上問題,本文提出了基于注意力機(jī)制和多尺度特征融合的amSSD 電力部件識(shí)別網(wǎng)絡(luò),在經(jīng)典SSD 網(wǎng)絡(luò)的特征提取階段引入注意力機(jī)制,進(jìn)一步提升網(wǎng)絡(luò)的特征提取能力,增強(qiáng)特征圖的語(yǔ)義信息。同時(shí),為解決SSD 識(shí)別尺寸較小電力部件效果差的問題,使用膨脹卷積操作來增大淺層特征圖的感受野,并通過反卷積操作將不同語(yǔ)義信息的特征圖進(jìn)行融合,提升算法的檢測(cè)精度,而且有較高的檢測(cè)效率。利用實(shí)際飛行采集的電力部件數(shù)據(jù)對(duì)算法進(jìn)行了測(cè)試驗(yàn)證,并與SSD 算法進(jìn)行對(duì)比分析。
在計(jì)算機(jī)視覺領(lǐng)域,注意力機(jī)制包括基于項(xiàng)的注意力[11]和基于位置的注意力[12]?;陧?xiàng)和基于位置注意力機(jī)制的輸入形式不同,基于項(xiàng)注意力的輸入可以是特征圖、向量或者矩陣形式的序列項(xiàng),或者添加預(yù)處理操作來生成序列項(xiàng);而基于位置注意力的輸入形式為單獨(dú)的特征圖,可以通過位置指定所有的目標(biāo)?;谖恢玫淖⒁饬χ苯幼饔迷谔卣鲌D的某一區(qū)域上,應(yīng)用較為廣泛;基于項(xiàng)的注意力能夠進(jìn)行端對(duì)端訓(xùn)練,并且不會(huì)較大地改動(dòng)原有結(jié)構(gòu)。因此,本文在特征提取層引入基于項(xiàng)的通道注意力機(jī)制網(wǎng)絡(luò)結(jié)構(gòu)(SENet)[13]。
小目標(biāo)往往更依賴淺層特征,因?yàn)闇\層特征有更高的分辨率,淺層包含的細(xì)節(jié)信息比較多。因此,本文采用反卷積操作[14],將具有高語(yǔ)義信息的高層,經(jīng)過反卷積操作后,與淺層特征圖相融合,使淺層特征圖語(yǔ)義信息更加充足,對(duì)小目標(biāo)檢測(cè)更有效。反卷積,也即卷積操作的逆運(yùn)算,通過轉(zhuǎn)置卷積核,與卷積后的結(jié)果再次進(jìn)行卷積,卷積過程與反卷積過程示意圖如圖1 所示。
圖1 卷積和反卷積
圖1(a)為卷積正向傳播操作,5 像素×5 像素的特征圖經(jīng)過3×3 的卷積核卷積運(yùn)算,步長(zhǎng)為2,填充為1 的卷積操作之后,得到大小為3 像素×3 像素的特征圖;圖1(b)為反卷積操作,2 像素×2 像素的特征圖通過填充補(bǔ)零與3×3 的卷積核進(jìn)行卷積運(yùn)算,得到4 像素×4 像素的特征圖。反卷積的輸入輸出關(guān)系為
式中:o′為輸出;i為特征輸入;s為步長(zhǎng);k為卷積核尺寸;p為卷積操作中的邊界填充(padding)。
1.3.1 SSD 網(wǎng)絡(luò)結(jié)構(gòu)
SSD 模型以VGG16 為基礎(chǔ)網(wǎng)絡(luò),但是將VGG16的全連接層fc6 和fc7 轉(zhuǎn)換成卷積層conv6 和conv7,conv6 層和conv7 層的卷積核大小分別為3×3 和1×1,并添加特征提取層。VGG16 中的conv4_3 層特征圖大小是38 像素×38 像素,主要用于識(shí)別小目標(biāo)。使用SSD 網(wǎng)絡(luò)中6 種不同的特征層組成多尺度特征層,實(shí)現(xiàn)多尺度檢測(cè)。SSD 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 SSD 網(wǎng)絡(luò)結(jié)構(gòu)
1.3.2 SSD 檢測(cè)流程
SSD 檢測(cè)算法使用的6 種特征圖大小分別為38 像素×38 像素、19 像素×19 像素、10 像素×10 像素、5 像素×5 像素、3 像素×3 像素和1 像素×1 像素,針對(duì)不同的特征圖,都設(shè)置了不同大小的默認(rèn)框,設(shè)置默認(rèn)框的計(jì)算為
式中:k表示第k個(gè)特征圖;S k表示最底層的默認(rèn)
框占輸入圖像的比例;Smax和Smin表示S k的最大值和最小值。默認(rèn)框的寬高比,每個(gè)默認(rèn)框的寬、高的計(jì)算為
當(dāng)r=1 時(shí),增加默認(rèn)框的尺度為,該默認(rèn)框的寬、高為
通過上述方法,SSD 算法可獲得大量的正負(fù)樣本,算法通過比較交并比(intersection-over-union,IOU)值,得到真實(shí)目標(biāo)框。實(shí)際中,默認(rèn)框中很小一部分為真實(shí)目標(biāo)框,為使正負(fù)樣本保持平衡,SSD 算法采用困難樣本挖掘方法[15],隨機(jī)抽取負(fù)樣本,按照置信度分?jǐn)?shù)從高到低排列,將誤差小的作為正樣本,并使正負(fù)樣本數(shù)量的比例為1:3。
1.3.3 損失函數(shù)
SSD 算法的目標(biāo)損失函數(shù)包括分類預(yù)測(cè)損失和位置回歸損失兩部分??傮w目標(biāo)損失函數(shù)為
式中:N為匹配的默認(rèn)框數(shù)目,當(dāng)N為0 時(shí),損失設(shè)為0;α為平衡分類預(yù)測(cè)損失和位置回歸損失的權(quán)重參數(shù);Lloc為位置回歸損失。使用SmoothL1損失函數(shù)[16]計(jì)算預(yù)測(cè)的偏移量(l)與真實(shí)的偏移量(g)之間的損失,然后對(duì)默認(rèn)框的位置偏移量進(jìn)行回歸計(jì)算:
式中:pos 為正樣本默認(rèn)框;li為預(yù)測(cè)的第i個(gè)正樣本的位置偏移量;為默認(rèn)框i與真實(shí)框j之間位置的偏移量;為位置偏移量為默認(rèn)框i的中心坐標(biāo)、寬和高;為真實(shí)框j的中心坐標(biāo)、寬和高。
Lconf為分類預(yù)測(cè)損失,使用Softmax 損失函數(shù):
式中:neg 為負(fù)樣本檢測(cè)框;xij={1,0}表示默認(rèn)框i與真實(shí)框j的類別是否匹配;為預(yù)測(cè)的正樣本的置信度分?jǐn)?shù);為預(yù)測(cè)的負(fù)樣本的置信度分?jǐn)?shù)。
本文提出注意力機(jī)制和反卷積多尺度融合的輸電線路電力部件識(shí)別模型,通過膨脹卷積、通道加權(quán)更新、反卷積等操作,增強(qiáng)淺層特征層的感受野和語(yǔ)義信息,提升模型對(duì)較小尺寸電力部件的識(shí)別能力。改進(jìn)后的模型amSSD 如圖3 所示。
圖3 amSSD 網(wǎng)絡(luò)結(jié)構(gòu)
SENet 結(jié)構(gòu)能很容易添加到常見的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,增強(qiáng)特征提取階段的感受野,提高與目標(biāo)相關(guān)特征通道的權(quán)重,抑制與目標(biāo)無關(guān)的特征通道,進(jìn)一步提升特征圖的語(yǔ)義信息。在SENet 結(jié)構(gòu)中,注意力機(jī)制的最重要的操作是擠壓(squeeze)和激勵(lì)(excitation)。首先,對(duì)輸入SENet 結(jié)構(gòu)中的特征圖進(jìn)行全局平均池化(global average pooling,GAP)[17],得到長(zhǎng)度為M的實(shí)數(shù)列,使每個(gè)通道上的特征圖具有全局的感受野,從而使感受野較小的淺層特征圖能夠利用全局信息[18],提升網(wǎng)絡(luò)的特征提取能力,得到圖像更為豐富的語(yǔ)義信息;其次,將長(zhǎng)度為M的實(shí)數(shù)列輸入到全連接層,先降維成1×1×?M/r」的向量,使用ReLU激活函數(shù)[19],再升維成1×1×M的向量,采用Sigmoid激活函數(shù)計(jì)算通道的權(quán)重系數(shù);最后,將權(quán)重系數(shù)乘以對(duì)應(yīng)特征通道,以此更新特征圖。圖4 為SENet 結(jié)構(gòu),I表示輸入SENet 結(jié)構(gòu)的特征圖;O表示通道更新后輸出的特征圖。本文分別在SSD 網(wǎng)絡(luò)的fc7 層、Conv8_2 層、Conv9_2 層、Conv10_2 層、Conv11_2 層引入SENet 結(jié)構(gòu),更新這5 個(gè)層的特征圖,具體如圖4 所示。
由于尺寸較小的電力部件主要通過Conv4_3層特征圖進(jìn)行識(shí)別,因此需要提升該層的語(yǔ)義信息。本文采取的改進(jìn)措施主要有以下2 個(gè)方面:
圖4 SENet 結(jié)構(gòu)
1)對(duì)細(xì)節(jié)信息較高的淺層Conv3_1 層做膨脹卷積,目的是增大感受野,損失較少的細(xì)節(jié)信息,使得特征圖具有更多的全局信息。本文選取的dilation 值為2、步長(zhǎng)為2、邊緣填充值為2;再將膨脹卷積后的特征圖與Conv4_3 以特征通道拼接的方式進(jìn)行融合,得到38 像素×38 像素×1 024像素大小的特征圖;最后采用1×1×512 大小的卷積核對(duì)融合后的特征圖執(zhí)行卷積操作,輸出38 像素×38 像素×512 像素大小的語(yǔ)義信息更加豐富的特征圖Conv4_d,有利于識(shí)別尺寸較小的電力部件。
2) 對(duì)語(yǔ)義信息較豐富的高層特征圖經(jīng)過反卷積操作與淺層特征圖融合,從而使淺層特征圖能夠融入較豐富的語(yǔ)義信息,然后進(jìn)行多尺度特征圖識(shí)別圖像中的電力部件。首先,采用反卷積操作擴(kuò)充 Conv11_2 層 的特征圖,和Conv10_2 層特征圖大小相同;然后,將擴(kuò)充后的特征圖與Conv10_2 特征圖以對(duì)應(yīng)通道相加的方式進(jìn)行融合,更新Conv10_2 層的特征圖;最后,將更新后的Conv10_2 層的特征圖采取同樣的方式進(jìn)行反卷積擴(kuò)充,并與Conv9_2 層特征圖融合,并更新Conv9_2 層的特征圖。同理,依次更新Conv8_2、fc7 和Conv4_3 層的特征圖。通過以上2 種改進(jìn)措施,得到的Conv4_3 具有較強(qiáng)的細(xì)節(jié)分辨率信息和較高的語(yǔ)義感受野,能夠較好地進(jìn)行較小尺寸電力部件識(shí)別和定位。
最后在預(yù)測(cè)模塊中對(duì)更新后的多尺度特征圖進(jìn)行分類和回歸計(jì)算,得到電力部件識(shí)別定位結(jié)果。
本文實(shí)驗(yàn)使用Ubuntu 16.04 操作系統(tǒng)搭建深度學(xué)習(xí)環(huán)境,顯卡型號(hào)為NVIDIA GeForce GTX 2080Ti,采用的深度學(xué)習(xí)框架為Pytorch 1.3.1。
本文的數(shù)據(jù)集為航天圖景(北京)科技有限公司無人機(jī)拍攝的輸電線路電力部件圖像,包括絕緣子(insulator)、間隔棒(spacer)、防震錘(damper)和均衡環(huán)(ring)共4 類目標(biāo),數(shù)據(jù)集中訓(xùn)練集圖片30 000 張,測(cè)試集圖片10 000 張。通過圖像標(biāo)注軟件生成記錄目標(biāo)位置坐標(biāo)信息的xml 標(biāo)簽文件[20]。
實(shí)驗(yàn)采用的預(yù)訓(xùn)練基礎(chǔ)模型為VGG16,初始學(xué)習(xí)率為0.000 1;迭代訓(xùn)練6 萬次和8 萬次后學(xué)習(xí)率分別降低為0.000 01 和0.000 001,使模型更容易收斂;共訓(xùn)練90 000 次,動(dòng)量為0.9,權(quán)重衰減為0.000 5,輸入模型中的圖像大小為300 像素×300像素;當(dāng)?shù)?0 000 次時(shí)訓(xùn)練趨于穩(wěn)定。其訓(xùn)練損失統(tǒng)計(jì)如圖5 所示。
本文針對(duì)Faster RCNN、SSD 和本文提出的amSSD模型在測(cè)試集上進(jìn)行對(duì)比實(shí)驗(yàn),評(píng)價(jià)指標(biāo)為準(zhǔn)確率(average precision,AP)、平均準(zhǔn)確率(mean average precision,mAP)和識(shí)別速率(frames per second,FPS),得到如表1、2 所示的識(shí)別結(jié)果,部分實(shí)驗(yàn)結(jié)果對(duì)比如圖6、7 所示。
圖5 訓(xùn)練損失統(tǒng)計(jì)
表1 不同方法電力部件識(shí)別結(jié)果 %
表2 不同方法平均識(shí)別準(zhǔn)確率和識(shí)別速率
圖6 本文提出的amSSD 模型電力部件識(shí)別結(jié)果
圖7 原始SSD 模型電力部件識(shí)別結(jié)果
從表1 中可以看出,針對(duì)4 種電力部件絕緣子、間隔棒、防震錘和均衡環(huán),SSD 算法的識(shí)別準(zhǔn)確率分別是88.6%、82.9%、79.1%和82.3%;Faster RCNN 算法的識(shí)別準(zhǔn)確率分別是90.1%、85.6%、75.2%和80.4%;而本文提出的模型識(shí)別準(zhǔn)確率分別是92.2%、90.6%、87.6%和87.5。從表2 中可以看出,F(xiàn)aster RCNN 的mAP 為82.5%,速度為16 FPS;SSD 算法的mAP 為83.4%,速度為47 FPS;本文算法的mAP 為89.6%,速度為38 FPS。其中,F(xiàn)aster RCNN 的識(shí)別準(zhǔn)確率和識(shí)別速度最低,本文算法識(shí)別準(zhǔn)確率最高,SSD 算法的識(shí)別速度最快。本文算法比SSD 算法平均識(shí)別準(zhǔn)確率提高了6.2%,針對(duì)較小的電力部件如間隔棒和防震錘,識(shí)別率分別有7.7%和8.5%的較大提升,提升效果明顯。同時(shí)本文算法的識(shí)別速度為38 FPS,相對(duì)原始SSD 識(shí)別速度下降了9 FPS。這是由于amSSD 模型增加了膨脹卷積層、SENet 結(jié)構(gòu)和反卷積層,導(dǎo)致計(jì)算量增加,但算法仍能滿足輸電線路巡檢實(shí)時(shí)性的要求。因此,綜合評(píng)價(jià)部件識(shí)別率和巡檢系統(tǒng)的實(shí)時(shí)性能,本文提出的算法性能是最優(yōu)的。
本文以SSD 網(wǎng)絡(luò)為基礎(chǔ),通過在特征提取階段引入通道注意力機(jī)制和多尺度特征融合,提出了一種改進(jìn)的amSSD 輸電線路電力部件識(shí)別網(wǎng)絡(luò)。實(shí)驗(yàn)表明本文提出的網(wǎng)絡(luò)在輸電線路電力部件數(shù)據(jù)集上的識(shí)別性能與原始SSD 和Faster RCNN相比更加優(yōu)異,識(shí)別速度相較于SSD 有一定下降,但仍能滿足實(shí)時(shí)檢測(cè)要求。
1)與原始SSD 和Faster RCNN 相比,本文提出的改進(jìn)模型針對(duì)較小尺寸的電力部件具有更低的漏檢率和更高的準(zhǔn)確率。同時(shí),尺寸較大的電力部件保持著良好的識(shí)別和定位效果。能夠?yàn)楹罄m(xù)輸電線路故障檢測(cè)打下堅(jiān)實(shí)的基礎(chǔ)。
2)本文的進(jìn)一步工作將對(duì)損失函數(shù)進(jìn)行改進(jìn),增大難分負(fù)樣本的權(quán)重占比。在此基礎(chǔ)上,繼續(xù)進(jìn)行電力部件故障檢測(cè)算法的研究。