• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      改進YOLOv3的無人機拍攝圖玻璃絕緣子檢測

      2022-02-24 12:37:08楊焰飛
      計算機工程與應(yīng)用 2022年3期
      關(guān)鍵詞:絕緣子損失模塊

      楊焰飛,曹 陽

      重慶理工大學(xué) 電氣與電子工程學(xué)院,重慶 400054

      鋼化玻璃絕緣子作為電網(wǎng)高壓輸電線路最常用的絕緣子之一,其運行狀況直接影響到電網(wǎng)的可靠性及安全性,由絕緣子引發(fā)的故障在電力系統(tǒng)故障中占比最高。玻璃絕緣子易發(fā)生自爆,若不對其進行及時排查并采取補救措施,恐引發(fā)嚴重后果[1]。

      無人機航拍圖像輔助電力巡檢的技術(shù)日趨成熟,但對于通過無人機獲得的海量圖片,目前大多數(shù)仍采用人工判讀的方式,費時費力,因此對其通過圖像處理技術(shù)進行絕緣子自動定位具有重要意義[2]。傳統(tǒng)目標(biāo)檢測一般 通 過 如 模 板 匹 配[3]、SIFT[4](scale-invariant feature transform)特征提取等方法獲取目標(biāo)特征,并利用支持向量機等[5]機器學(xué)習(xí)方法進行分類,從而完成檢測任務(wù),檢測準確率低且耗時長,并不適用于絕緣子檢測。國內(nèi)外對絕緣子的檢測研究已有一定進展,方挺等[6]利用基于粒子群優(yōu)化參數(shù)的蟻群算法實現(xiàn)了對簡單背景下玻璃絕緣子自爆的定位,該方法只適用于背景簡單的圖像,對于復(fù)雜背景下的檢測并不理想;商俊平等[7]利用最大類間方差法提取絕緣子串輪廓,該方法對拍攝角度要求較高,若拍攝絕緣子形狀不統(tǒng)一容易錯檢。

      深度卷積神經(jīng)網(wǎng)絡(luò)能夠從大量數(shù)據(jù)集中自動學(xué)習(xí)目標(biāo)特征,在可見光領(lǐng)域得到迅速發(fā)展[8],在電力巡檢領(lǐng)域同樣得到廣泛應(yīng)用。左國玉等[9]提出一種跨鏈接卷積神經(jīng)網(wǎng)絡(luò)的絕緣子檢測方法,該方法在Faster-RCNN的基礎(chǔ)上,將RPN的不同層進行跨鏈接來生成候選區(qū)域,檢測精度較高、但存在算法復(fù)雜度較高、對設(shè)備要求高、檢測時間長等問題。趙文清等[10]提出一種注意力機制和Faster-RCNN相結(jié)合的絕緣子檢測方法,該方法在特征提取階段引入基于注意力機制的擠壓與激勵網(wǎng)絡(luò)SE-Net,雖然降低了漏檢率,但引入SE-Net后會使Faster-RCNN的檢測速度進一步降低。顏宏文等[11]以YOLOv3為主體,利用Focal Loss函數(shù)代替YOLOv3損失函數(shù)中的交叉熵損失,一定程度上解決了復(fù)雜度及類別不均衡的問題,但整體上并未對網(wǎng)絡(luò)結(jié)構(gòu)做出太大改變。高強等[12]在YOLOv3的基礎(chǔ)上,提出目標(biāo)分解及聚合表達的改進算法,提升了網(wǎng)絡(luò)對各目標(biāo)所在區(qū)域識別的準確度,但同樣僅對損失函數(shù)做出改變,并未對網(wǎng)絡(luò)結(jié)構(gòu)進行改進。

      為此,本文提出一種基于改進YOLOv3卷積神經(jīng)網(wǎng)絡(luò)的絕緣子檢測模型,對于形態(tài)不同的絕緣子均能得到較好的檢測結(jié)果。

      1 絕緣子數(shù)據(jù)集制作

      1.1 數(shù)據(jù)來源

      實驗中的絕緣子圖像于500 kV高壓輸電線路的電力巡檢中,通過大疆Phantom 4 Pro無人機拍攝獲得,其相機參數(shù)為fc6310,拍攝圖像尺寸為5 472×3 078像素,JPG格式。包含了晴天正午、晴天傍晚及陰天等特殊光照條件,共獲得1 000張圖像,其中存在絕緣子被塔身遮擋等特殊情況。圖1為幾種典型的絕緣子示例圖。

      1.2 絕緣子檢測數(shù)據(jù)集的構(gòu)建

      在制作數(shù)據(jù)集時,直接按照原圖像尺寸輸入會導(dǎo)致參數(shù)過多,因此首先通過像素變換將數(shù)據(jù)集圖像尺寸統(tǒng)一縮減為416×416像素的大小。盡可能多地加入不同尺度、不同表現(xiàn)形式的絕緣子,有利于避免訓(xùn)練過程中出現(xiàn)過擬合現(xiàn)象,從而提高網(wǎng)絡(luò)的泛化能力。如圖2所示為訓(xùn)練集樣本預(yù)處理中的數(shù)據(jù)增廣過程,即通過對圖像進行翻轉(zhuǎn)、剪裁和平移等操作增加樣本多樣性。

      圖2 數(shù)據(jù)預(yù)處理示意圖Fig.2 Schematic diagram of data preprocessing

      在最終得到的1 242幅絕緣子圖像中隨機選取1 000幅圖像,利用標(biāo)注軟件LabelImg進行標(biāo)注作為訓(xùn)練集。LabelImg是基于Python語言編寫用于深度學(xué)習(xí)的數(shù)據(jù)集制作的標(biāo)注工具,用于記錄圖像中目標(biāo)的類別名與位置信息,并將這些信息儲存在XML格式的文件中。

      1.3 數(shù)據(jù)集分析

      1 000幅圖像中,共有1 618個絕緣子目標(biāo),其長高度分布如圖3(a)所示,橫坐標(biāo)表示標(biāo)記框?qū)挾日荚瓐D寬度的比例,縱坐標(biāo)為高度占比。圖3(b)為目標(biāo)框像素與原圖像素比值的統(tǒng)計直方圖,目標(biāo)框平均像素為31 961.09,與原圖像素大小的比值平均為0.108 01。圖3(c)、(d)、(e)分別為目標(biāo)框高度、寬度及高寬比的統(tǒng)計直方圖,橫坐標(biāo)分別為高度、寬度及高寬比,縱坐標(biāo)為數(shù)量占比。

      由圖3(a)、(b)可知,目標(biāo)框存在多樣性,但總體占原圖比例較小,屬于小目標(biāo),背景信息較多。由圖3(c)、(d)、(e)可知,目標(biāo)框高度分布較為均勻,寬度較小,寬高比較小,因此總體上目標(biāo)框呈現(xiàn)為瘦高型。

      圖3 數(shù)據(jù)集中的目標(biāo)框信息統(tǒng)計圖Fig.3 Statistical chart of target frame information in dataset

      2 YOLOv3目標(biāo)檢測算法

      2.1 YOLOv3原理

      YOLOv3[13]在YOLOv1、v2的基礎(chǔ)上改進形成,同時吸取了其他一些網(wǎng)絡(luò)的優(yōu)點,是目前綜合考慮檢測實時性及準確性效果較為優(yōu)秀的單階段(one stage)檢測網(wǎng)絡(luò)。YOLOv3為全卷積網(wǎng)絡(luò)[14](FCN),采用Darknet-53的前52層,在保證分類精度的同時減少了網(wǎng)絡(luò)層數(shù),使計算速度得到了較大提升。為加強算法對小目標(biāo)的檢測精度,YOLOv3參照特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)[15](feature pyramid networks for object detection,F(xiàn)PN),將Darknet-53的輸出特征圖通過兩次上采樣與淺層輸出特征融合,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。

      圖4 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Network structure diagram of YOLOv3

      圖中Res_unit為殘差單元,Resn為殘差模塊,n表示該殘差模塊中殘差單元的數(shù)量,DBL為網(wǎng)絡(luò)最小單元,包含二維卷積(Darknet Conv2D)、歸一化(batch normalization,BN)及非線性激活函數(shù)(Leaky ReLU)三個操作,Concat為張量拼接操作,其作用為將淺層特征輸出與上采樣后的特征圖進行張量拼接,拼接后會擴充張量維度,y1、y2、y3為三個用于預(yù)測的特征圖。

      2.2 評價指標(biāo)

      在目標(biāo)檢測領(lǐng)域,一般用精確率和召回率對目標(biāo)檢測算法性能進行評定[16],準確率針對預(yù)測結(jié)果,表示預(yù)測為正的樣本中真實正樣本的占比,計算公式如下:

      式中,P表示精確率,TP表示算法將正類預(yù)測為正類的個數(shù),F(xiàn)P表示將負類預(yù)測為正類的目標(biāo)個數(shù),即錯誤檢測出的目標(biāo);召回率針對原來的樣本,表示樣本中正例樣本有多少被正確預(yù)測了,其計算公式為:

      式中,F(xiàn)N表示將正類預(yù)測為負類的目標(biāo)個數(shù),即漏檢個數(shù)。通常情況下兩者難以兼得,因此需要綜合考慮這兩個參數(shù),用AP值來衡量算法性能,AP計算公式如下:

      式中,N表示測試集樣本數(shù),P(k)為識別k個樣本時精確率P的值,ΔR(k)表示識別樣本個數(shù)從k-1變化到k時,召回率R的變化情況。對于多分類(C類)檢測任務(wù),通常用平均值mAP對模型進行評價,其公式如下:

      3 改進的YOLOv3算法

      3.1 增加Inception-Resnet模塊

      Resnet結(jié)構(gòu)能夠加速訓(xùn)練并提升性能,Inception模塊能夠在同一層上獲取稀疏或非稀疏特征,因此Szeged等[17]將兩個模塊優(yōu)勢結(jié)合起來,設(shè)計出了Inception-Resnet網(wǎng)絡(luò),而其成功主要在于它的Inception-Resnet模塊。

      YOLOv3通過從Darknet-53的第25、42層采集淺層特征,并與網(wǎng)絡(luò)深層特征進行上采樣后拼接得到輸出結(jié)果。此處可參照Inception-Resnet網(wǎng)絡(luò)的思想,引入兩個Inception-Resnet模塊,通過付出增加少量網(wǎng)絡(luò)參數(shù)的代價,在保證計算資源使用率的條件下,拓展網(wǎng)絡(luò)寬度,并增加了網(wǎng)絡(luò)對多尺度目標(biāo)檢測的適應(yīng)性。引入的Inception-Resnet模塊如圖5所示。將引入Inception-Resnet模塊后的YOLOv3模型稱為YOLOv3_In_Res,其網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。

      圖5 Inception-Resnet模塊Fig.5 Inception-Resnet module

      圖6 YOLOv3_In_Res網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 YOLOv3_In_Res network structure diagram

      3.2 改進損失函數(shù)

      原始YOLOv3的損失函數(shù)由位置損失、置信度損失和分類損失三部分構(gòu)成,具體公式如下:

      式中,第①部分位置損失使用均方誤差,②、③部分置信度和分類使用交叉熵誤差;λcoord、λobj和λnoobj為每項損失所占比重,通過改變其大小能夠控制位置、置信度、分類損失達到更好的平衡;S×S表示特征圖大小,B表示每個網(wǎng)格會產(chǎn)生幾個候選框;YOLOv3沿用v1一直以來的思想,每個真實框只對應(yīng)一個預(yù)測框判斷第i個網(wǎng)格中第j個預(yù)測框是否分配到真實框,若有分配則返回值為1,否則為0與之相反;x i、yi、wi、h i、pi為位置、置信度、分類信息預(yù)測值,為標(biāo)簽值(真實值);其中表示目標(biāo)屬于第c類的概率真值標(biāo)簽。

      均方誤差對目標(biāo)的尺度相當(dāng)敏感,尤其是對小目標(biāo)的預(yù)測,通過對w、h開根號的方式能夠一定程度上降低尺度對回歸準確性的影響,但并不能根治。Rezatofighi等[18]提出Giou損失函數(shù),適用于各種目標(biāo)檢測算法,該函數(shù)能夠很好地替代原始YOLOv3損失函數(shù)中的位置損失部分(均方誤差),提高預(yù)測精度。因此本文直接引用Giou損失作為位置損失。Giou及其損失計算公式如下:

      式中,Iou為預(yù)測框與真實框的交并比;Ac為同時包含真實框與預(yù)測框的最小框面積,U為并集面積。由于本文只有絕緣子一類檢測目標(biāo),因此考慮刪去第③部分的條件類別概率損失,最終采用的損失函數(shù)計算公式如下所示:

      3.3 錨點框選擇

      原始YOLOv3基于通用目標(biāo)檢測數(shù)據(jù)集COCO生成如下三組錨點框:([10,13],[16,30],[33,23])、([30,61],[62,45],[59,119])、([116,90],[156,198],[373,326]),分別對應(yīng)三個特征圖(13×13,26×26,52×52)。從圖3(e)中可看出絕緣子目標(biāo)框外形以瘦高為主,原始的錨點框并不適用于該單類絕緣子數(shù)據(jù)集。因此本文利用k-means算法對數(shù)據(jù)集的真實框進行聚類,獲得新的錨點框。其中一次聚類結(jié)果如圖7所示。

      圖7 K-means可視化Fig.7 K-means visualization

      通過10次聚類后求取平均值并取整,得到的最終結(jié)果為([43,260],[54,393],[42,37])、([100,62],[21,105],[74,166])、([160,220],[343,233],[243,351])。

      4 實驗結(jié)果與分析

      4.1 實驗平臺及參數(shù)設(shè)置

      本文選用TensorFlow開源框架,測試環(huán)境為AMDRyzen 7 1700 EightCPU,主頻3 GHz,內(nèi)存16 GB,GPU為NVIDIAGeForceRTX 2070,操作系統(tǒng)為Win10,CUDA10.1版本,編譯語言為Python3.7。訓(xùn)練中輸入網(wǎng)絡(luò)的圖片大小為416×416像素;batch size設(shè)置為2;初始學(xué)習(xí)率設(shè)為10-4,經(jīng)過多次迭代后學(xué)習(xí)率下降為10-6;共訓(xùn)練70個epochs,每個epoch迭代93次,迭代次數(shù)為13 020(70×93×2)。

      4.2 算法性能對比

      為了對本文提出算法進行更好的評估,利用同一組數(shù)據(jù)對YOLOv3原網(wǎng)絡(luò)及本文YOLOv3_In_Res網(wǎng)絡(luò)進行了相同批次的訓(xùn)練并進行測試。損失變化曲線如圖8~11所示,縱坐標(biāo)為損失值,橫坐標(biāo)為迭代次數(shù)batch size(0~6 510)。

      圖8 YOLOv3 prob_loss曲線Fig.8 YOLOv3 prob_loss curve

      如圖8所示,由于只有絕緣子一個類,prob_loss很小,經(jīng)過少數(shù)迭代后迅速下降到幾乎為0,進一步論證了上一節(jié)中可刪去條件類別概率損失的作法,在減少計算量的同時能夠使總損失收斂速度更快。圖9(a)、(b)為置信度損失對比,收斂后原YOLOv3算法的損失波動范圍為0.4~0.8,YOLOv3_In_Res為0.12~0.3;圖10(a)、(b)為位置損失對比,在0.1~1的范圍內(nèi)均存在波動,但總體上YOLOv3_In_Res的位置損失比原YOLOv3更低。圖11(a)、(b)為總損失對比,原YOLOv3算法的總損失收斂區(qū)間為0.55~1.22;YOLOv3_In_Res的總損失收斂區(qū)間為(0.29~0.63),改進后的總損失得到了明顯的下降。

      圖9 YOLOv3算法置信度損失對比Fig.9 Confidence loss comparison of YOLOv3 algorithm

      圖10 YOLOv3算法Giou損失對比Fig.10 Giou loss comparison of YOLOv3 algorithm

      圖11 YOLOv3算法總損失對比Fig.11 Total loss comparison of YOLOv3 algorithm

      分別篩選出兩個算法訓(xùn)練后得到了損失最低的模型,并利用同一組測試數(shù)據(jù)對其進行測試,測試集包含52張絕緣子圖像,經(jīng)測試,YOLOv3模型檢測總耗時5.12 s,YOLOv3_In_Res耗時5.48 s,檢測耗時并未明顯增加。得到的mAP統(tǒng)計圖如圖12所示(只有絕緣子一類,因此mAP=AP)。

      如圖12(a),YOLOv3的絕緣子AP值為69.69%,而改進后的YOLOv3_In_Res的絕緣子AP值為71.93%,改進后的YOLOv3_In_Res的mAP比原算法提高了2.24個百分點,表明在絕緣子目標(biāo)檢測任務(wù)中,YOLOv3_In_Res的檢測精度比原始YOLOv3更高。檢測結(jié)果對比如圖13所示。

      圖12 mAP統(tǒng)計對比圖Fig.12 mAP statistical comparison chart

      圖13 絕緣子檢測結(jié)果對比圖Fig.13 Comparison of insulator detection results

      如圖13所示,原始YOLOv3算法與YOLOv3_In_Res算法均能對不同形態(tài)的絕緣子進行檢測,但原始YOLOv3算法對圖像中出現(xiàn)塔桿等與絕緣子類似物體時出現(xiàn)了誤檢的情況,且框精度不高,而YOLOv3_In_Res算法則克服了以上問題,降低了誤檢率且提高了畫框精度。

      5 結(jié)論

      本文對無人機航拍圖像絕緣子自動檢測算法進行研究,通過分析絕緣子圖像數(shù)據(jù)集,針對無人機巡檢拍攝圖像的特點并結(jié)合當(dāng)前分類精度較高的Inception-Resnet-v2網(wǎng)絡(luò)對YOLOv3算法進行改進,并利用改進后的算法與原算法進行對比實驗。得出結(jié)論如下:

      (1)改進后的YOLOv3_In_Res算法比原始YOLOv3算法在絕緣子數(shù)據(jù)集上mAP提高了2.24個百分點。

      (2)加入Inception-Resnet模塊能夠在保證運算速率的條件下,拓展網(wǎng)絡(luò)寬度,提高資源利用率,增加網(wǎng)絡(luò)對多尺度目標(biāo)檢測的適應(yīng),使目標(biāo)檢測模型性能得到提升。

      (3)本文提出的YOLOv3_In_Res算法能夠更好地適應(yīng)無人機拍攝的絕緣子圖像數(shù)據(jù)集的數(shù)據(jù)特征。

      通過將YOLOv3算法成功應(yīng)用到無人機巡檢圖像的絕緣子檢測領(lǐng)域,并取得了不錯的效果,說明了深度學(xué)習(xí)在電力巡檢中電力元器件檢測的可行性,對后續(xù)將深度學(xué)習(xí)應(yīng)用到如絕緣子自爆等明顯缺陷的檢測具有重要的指導(dǎo)意義。

      猜你喜歡
      絕緣子損失模塊
      28通道收發(fā)處理模塊設(shè)計
      “選修3—3”模塊的復(fù)習(xí)備考
      少問一句,損失千金
      胖胖損失了多少元
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      一般自由碰撞的最大動能損失
      選修6 第三模塊 International Relationships
      1000kV耐張絕緣子串單片絕緣子的帶電更換技術(shù)
      500kV絕緣子串含零值絕緣子時的電暈放電分析
      電測與儀表(2014年6期)2014-04-04 11:59:46
      絕緣子的常見故障及排除方法
      东兴市| 古丈县| 东港市| 丰县| 连云港市| 日照市| 桃源县| 博乐市| 崇明县| 临邑县| 镇安县| 巫溪县| 清镇市| 桂东县| 屏东市| 运城市| 鄯善县| 禹州市| 错那县| 门源| 怀宁县| 乐安县| 漯河市| 鱼台县| 台前县| 石屏县| 中山市| 淮滨县| 万年县| 左权县| 宁夏| 台南市| 景东| 军事| 罗甸县| 监利县| 万安县| 铁岭县| 贺兰县| 齐河县| 山东|