摘 "要: 針對絕緣子小目標特征信息不足導致的檢測精度低、模型體積大不利于硬件移植等問題,提出一種多尺度檢測算法MPH?YOLO。MPH?YOLO首先通過擴充小目標檢測尺度,提高小目標感知能力;其次使用SIoU損失函數(shù)代替YOLOv8s中的CIoU損失函數(shù)作為邊框損失函數(shù),增強對目標的定位精度;最后引入更低成本的Ghost卷積代替網(wǎng)絡結構中的傳統(tǒng)卷積,輕量化模型的體積。改進后的算法在絕緣子數(shù)據(jù)集上的檢測精度和模型輕量化均有提升,檢測精度mAP50?95為86.2%,模型體積僅有4.7 MB。實驗結果表明,MPH?YOLO不僅能夠有效改善小目標檢測,而且更加輕量化有利于硬件移植,具有較高的實用價值。
關鍵詞: 絕緣子; 多尺度檢測; 小目標; YOLOv8s; SIoU; Ghost卷積
中圖分類號: TN911.23?34; TP391.4 " " " " " " " " 文獻標識碼: A " " " " " " " " "文章編號: 1004?373X(2024)15?0133?06
Multi?scale object detection algorithm based on improved YOLOv8s
WEN Siyu1, 2, 3, ZHANG Shang2, 3, ZHANG Chaoyang2, 3, RAN Xiukang2, 3
(1. Chongqing University of Technology, Chongqing 400054, China;
2. Hubei Key Laboratory of Intelligent Vision Based Monitoring for Hydroelectric Engineering, Yichang 443002, China;
3. Hubei Province Engineering Technology Research Center for Construction Quality Testing Equipments, Yichang 443002, China)
Abstract: In view of the low detection accuracy caused by insufficient feature information of small objects like insulators and the large model size that is not conducive to hardware transplantation, a multi?scale detection algorithm MPH?YOLO (multiple prediction head?you only look once) is proposed. The algorithm MPH?YOLO improves the detection ability of small objects by expanding the detection scale of small object first, and then the CIoU loss function in YOLOv8s is replaced with the SIoU loss function as the edge loss function, so as to enhance the positional accuracy of the object. The Ghost convolution with lower cost is introduced instead of the traditional convolution in the network structure, so as to lighten the volume of the model. In terms of the improved algorithm, both its detection accuracy and model lightweight on the insulator dataset are improved, with a detection accuracy of 86.2% for mAP50?95 and a model volume of only 4.7 MB. The experimental results show that the MPH?YOLO not only can improve the detection of small objects effectively, but also be more lightweight for hardware transplantation, so it has high practical value.
Keywords: insulator; multi?scale detection; small object; YOLOv8s; SIoU; Ghost convolution
0 "引 "言
絕緣子是輸電線路的重要組成部分,具有提供絕緣和機械強度的功能。長期暴露在污染、雨水、風等惡劣環(huán)境條件下,絕緣子容易受到影響并產生缺陷。電力系統(tǒng)檢查的常見方法是維護人員步行巡邏,但使用傳統(tǒng)方法進行絕緣子檢測效率低下、耗時且成本高昂[1]?;谌斯ぶ悄艿挠嬎銠C技術已經廣泛應用于目標檢測和分類中,為絕緣子檢測的發(fā)展提供了強大的支持。與傳統(tǒng)的基于機器學習[2]的目標檢測算法相比,深度學習[3?4]具有更快的識別速度和更高的效率,現(xiàn)已逐漸成為目標檢測的主流方法。隨著基于深度學習的算法在圖像識別領域的不斷突破,許多具有代表性的目標檢測算法被不斷提出并廣泛應用。文獻[5]開創(chuàng)性地提出了兩階段目標檢測算法R?CNN,主要思想是將目標檢測分為兩個步驟:生成候選框后進行特征提??;然后使用支持向量機[6]對目標進行分類。然而R?CNN訓練內存消耗大并且非常耗時。為了加快推理速度以達到更好的檢測精度,S. Ren團隊提出了Faster R?CNN[7]。Faster R?CNN算法使用提取候選區(qū)域網(wǎng)絡選擇性搜索生成感興趣區(qū)域。總的來說,兩階段檢測算法需要分兩步完成,速度相對較慢,難以實現(xiàn)實時推理。為了解決兩階段探測算法的問題,文獻[8]提出了一種單階段檢測算法YOLO,對圖像進行分割劃分為網(wǎng)格單元,并將每個單元視為一個候選框檢測物體。YOLO與Faster R?CNN相比,省略了候選框生成并實現(xiàn)了端到端檢測,大大提高了檢測速度。隨后的單階段檢測算法都繼承了這一思想,例如SSD[9]以及后續(xù)的YOLO[10]系列算法。
在絕緣子目標檢測實際應用中,選取準確性高且具有實時性檢測的算法是故障診斷首要考慮的因素。文獻[11]利用空洞卷積層替換原始卷積層對YOLOv3進行改進,并結合k?means聚類算法進行聚類,有效提高了絕緣子檢測精度。文獻[12]采用輕量化網(wǎng)絡MobileNetv2替換YOLOv4主干網(wǎng)絡,提高了模型推理速度,提升了絕緣子故障的檢測速度。文獻[13]通過在YOLOv5中改進BiFPN特征金字塔結構,使網(wǎng)絡能夠學習絕緣子的不同重要性輸入特征。文獻[14]通過對YOLOv7添加注意力機制網(wǎng)絡,降低了檢測中的漏檢率。但是,上述方法沒有考慮到實際檢測過程中由于小目標導致的檢測精度降低,并在檢測精確度和模型輕量化上有待進一步提高。
為了更好地對絕緣子進行實時性檢測,本文基于YOLOv8s目標檢測網(wǎng)絡的結構進行改進,貢獻如下:
1) 對原有檢測尺度進行擴充,實現(xiàn)了四尺度檢測,提高檢測網(wǎng)絡對小目標的檢測能力,提高了檢測效果。
2) 引入SIoU作為邊框損失函數(shù),加快檢測網(wǎng)絡收斂,增強對目標的定位精度。
3) 對模型的主干網(wǎng)絡進行了輕量化替換,降低了檢測網(wǎng)絡的計算量和檢測速度。
4) 在無人機拍攝的絕緣子缺陷圖像數(shù)據(jù)集上校驗改進算法的性能,并與多個模型進行對比。
1 "YOLOv8網(wǎng)絡
YOLOv8是YOLO系列算法最新推出的檢測算法,它能夠完成檢測、分類和分割任務。YOLOv8的網(wǎng)絡結構由輸入端(Input)、主干網(wǎng)絡(Backbone)、頸部網(wǎng)絡(Neck)、預測網(wǎng)絡(Prediction)四個部分組成。相比之前的YOLO算法,YOLOv8采用了更為優(yōu)秀的網(wǎng)絡結構??偟膩碚f,YOLOv8的推出對目標檢測任務具有重要的意義,但在絕緣子檢測精度和模型輕量化上仍然具有進步空間。
2 "多尺度檢測算法設計
2.1 "增加小目標檢測尺度
在無人機捕獲絕緣子的場景中,由于無人機總是在不同的高度飛行,目標尺度變化很大,給網(wǎng)絡的優(yōu)化帶來了負擔[15]。在觀察無人機拍攝的絕緣子數(shù)據(jù)集中,發(fā)現(xiàn)它包含許多非常小的實例,因此添加了一個160 pixel×160 pixel的檢測尺度來檢測小目標。新增的檢測頭P2與其他三個預測頭共同組成的多尺度結構,可以減輕劇烈的物體尺度變化造成的負面影響。如圖1所示,本文添加的檢測尺度是從淺層、高分辨率特征圖生成的,對微小物體更敏感。
添加額外的檢測尺度后,雖然計算和內存成本增加,但絕緣子小目標檢測的性能得到了較大的提升。通過在YOLOv8s的檢測層中增加小目標檢測尺度,增強了網(wǎng)絡局部感知能力,擴大了檢測范圍,促使特征融合,提高了模型小目標檢測能力。此外,MPH?YOLO還通過改進損失函數(shù)與引入輕量化網(wǎng)絡使模型進一步提升,在檢測精度和模型輕量化方面都取得了最優(yōu)化。
2.2 "改進邊界框損失函數(shù)
YOLOv8的邊框回歸損失使用CIoU損失函數(shù)[16]進行計算,然而CIoU損失函數(shù)在定義時未考慮到真實框與預測框之間的角度影響。SIoU損失函數(shù)的引入進一步考慮了真實框和預測框之間的向量角度,其包含的參數(shù)和示意圖如圖2所示。使用SIoU損失函數(shù)增強了錨定框對目標的定位準確度,加快了模型的收斂速度。
[LossSIoU=1-IoU+Δ+Ω2] (1)
式中:IoU為交并比損失;[Δ]與[Ω]分別為損失函數(shù)距離損失與形狀損失。
2.2.1 "角度損失
角度損失首先會嘗試將預測框帶到與真實框[x]軸或[y]軸水平(以最接近者為準),然后沿著相關軸繼續(xù)接近,角度損失的計算公式如下:
[Λ=1-2?sin2arcsinCx σ-π4] (2)
[Cx σ=sin α] (3)
式中:[σ]為預測框中點與真實框中點之間的距離;[Cx]為兩框中點之間的高度差。
2.2.2 "距離損失
考慮到角度因素,SIoU損失函數(shù)重新對距離損失進行了定義,具體的距離損失計算公式如下:
[Δ=t=x,y(1-e-γρt)=2-e-γρx-e-γρy] (4)
式中:[γ=2-Λ];[ρx]為[Cx]與[Cw]之比的平方;[ρy]為[Cy]與[Ch]之比的平方。由于角度損失的影響,當預測框和真實框臨近水平時,距離損失的貢獻較小,中心點之間的夾角[α]越接近45°時,距離損失的貢獻越大。
2.2.3 "形狀損失
形狀損失由預測框和真實框的寬度差、高度差和參數(shù)來計算,并采用調整的數(shù)值控制對形狀損失的關注程度。
[Ω=(1-e-ωw)θ+(1-e-ωh)θ] (5)
式中:[ωw]為預測框和真實框的兩框寬度差的絕對值與最大值之比;[ωh]為預測框和真實框的兩框高度差的絕對值與最大值之比;[θ]為形狀損失的權重系數(shù)。
MPH?YOLO通過改進SIoU損失函數(shù),提高了訓練的準確性。相比YOLOv8原始CIoU損失函數(shù),SIoU損失函數(shù)考慮了角度因素,增強了對目標的定位精度。
2.3 "引入Ghostnet輕量化網(wǎng)絡
加深網(wǎng)絡層數(shù)后,模型的檢測精度有較大提升,但存在檢測速度較慢的缺點。卷積操作生成了大量冗余的特征圖,這些特征圖被傳遞到下一個卷積層進行進一步的處理。上述過程產生了大量網(wǎng)絡參數(shù),導致計算資源的巨大消耗。Ghostnet考慮到這些冗余特征信息可能是模型的重要組成部分,嘗試使用更低成本的計算來獲取這些冗余的特征信息。為了得到更輕量化的模型,MPH?YOLO的主干網(wǎng)絡通過引入Ghost卷積替換傳統(tǒng)卷積結構。Ghost卷積將傳統(tǒng)卷積操作分為兩部分,如圖3所示。
Ghost卷積第一步使用少量卷積核進行卷積操作;第二步對逐個特征圖使用廉價的線性運算[Φ],最終將第一部分作為一份恒等映射,與廉價的線性運算的結果進行Concat操作。GhostC2f模塊則是將C2f模塊里普通卷積替換為Ghost卷積得到的,用于替換原有主干網(wǎng)絡里的C2f模塊。
MPH?YOLO通過引入Ghostnet輕量化網(wǎng)絡,采用低成本的計算來獲取冗余特征信息,并利用更少的參數(shù)生成更多的特征圖。改進后的MPH?YOLO網(wǎng)絡結構如圖4所示,在保證檢測性能的同時,采用輕量化主干網(wǎng)絡減小了模型的參數(shù)量和計算量。
3 "實驗與結果分析
3.1 "實驗環(huán)境和數(shù)據(jù)集
本實驗訓練過程在Windows 11、Pytorch神經網(wǎng)絡框架下進行,調用GPU進行訓練,配置為NVIDIA GeForce RTX 3050。本文使用的數(shù)據(jù)集來自于無人機采集的圖像,共4 829張圖像。圖像共有4個種類,包括針式絕緣子(Normal Pin Insulator)、盤式絕緣子(Normal Disc Insulator)、損壞的針式絕緣子(Defective Pin Insulator)以及損壞的盤式絕緣子(Defective Disc Insulator),訓練、驗證和測試數(shù)據(jù)集按表1劃分。
3.2 "評價指標
圖像目標檢測常用的評價指標主要有精準率[P](Precision)、召回率[R](Recall)、平均精度AP(Average Precision)、平均精度均值mAP(mean Average Precision)、每秒傳輸幀數(shù)FPS(Frames Per Second)。其中,精準率[P]和召回率[R]的計算公式如下:
[P=TPTP+FP] (6)
[R=TPTP+FN] (7)
式中:TP為正確定位目標的數(shù)量;FP為背景區(qū)域被錯誤識別為目標的數(shù)量;FN為目標尚未被預測數(shù)量。[PR]曲線是以精準率為縱坐標、召回率為橫坐標繪制成的曲線,其中平均精度AP是[PR]曲線與坐標所圍成的面積,AP的均值則為mAP值。
[AP=01PRdR] (8)
[mAP=1Ci=1CAPi] (9)
式中:[APi]為[i]類目標的AP值;[C]為檢測的種類數(shù)量。AP值反映網(wǎng)絡對某類目標的檢測效果,而mAP值則表示整體的檢測效果。設置不同的IoU閾值,可以取得相應的mAP值。本文所用mAP包括mAP50值以及mAP50?95值,其中,mAP50?95值是IoU閾值為50%到IoU閾值為95%期間,每間隔5%取1個mAP值,然后對這10個值取平均得到。mAP50?95值相比mAP50值更加嚴格,對絕緣子準確定位要求更高。
3.3 "MPH?YOLO網(wǎng)絡的消融實驗
本文匯集了各種技巧來提高算法的性能,包括增加小目標檢測尺度充分考慮淺層特征信息,改進SIoU損失函數(shù)實現(xiàn)邊界框的精確回歸,引入Ghostnet輕量化主干網(wǎng)絡減少模型的參數(shù)量。在絕緣子數(shù)據(jù)集上進行了消融實驗,以判斷每個改進點的有效性,如表2所示。增加了四個檢測尺度后,可以增強網(wǎng)絡對小目標的感知能力,然而模型體積相比原始模型更加臃腫。增加了檢測尺度后,神經網(wǎng)絡加深,卷積所花費的時間延長,進而導致檢測速度下降。通過改進SIoU損失函數(shù)與Ghostnet輕量化網(wǎng)絡后,MPH?YOLO最終在檢測精度和模型輕量化方面都取得了較大的提升。與YOLOv8s相比,提出的算法MPH?YOLO在平均精度mAP50?95上提高了0.94%,模型縮小至4.7 MB。輕量化的主干網(wǎng)絡縮短了繁雜卷積所消耗的時間,去除冗余參數(shù),在檢測精度和速度方面均取得了不錯的效果。結果表明,MPH?YOLO的檢測結果比較全面,對絕緣子缺陷圖像具有良好的檢測效果。
3.4 "與經典目標檢測算法的性能對比
為了驗證MPH?YOLO算法的先進性,將本文算法與經典目標檢測算法進行比較,如表3所示。
與經典兩階段目標檢測算法Faster R?CNN相比,MPH?YOLO作為單階段目標檢測算法在精度上有很大的領先,速度成倍增長。
與經典單階段目標檢測算法SSD相比,MPH?YOLO在各項指標上仍有很大的提升。與YOLOv7和YOLOv8相比,MPH?YOLO在精度和速度上也做到了最優(yōu)化。MPH?YOLO在檢測精度指標mAP50、mAP50?95上分別比YOLOv8s提高了0.3%和0.94%??偟膩碚f,MPH?YOLO算法在模型體積、檢測速度、平均檢測精度上均有巨大優(yōu)勢,能夠滿足絕緣子實時檢測需求。
MPH?YOLO的精度提升具體表現(xiàn)在復雜背景小目標檢測上,小目標缺陷攜帶的特征很少,因此很難提取絕緣子的有效特征。如圖5所示,對于前兩行的簡單背景大目標絕緣子,幾乎所有的目標檢測算法都表現(xiàn)良好。然而在復雜背景下的小目標檢測上,不同算法存在較大差距。在第3行復雜背景小目標絕緣子圖像中,其他目標檢測算法出現(xiàn)了錯檢甚至漏檢。其中YOLOv8原模型將最左側損壞的針式絕緣子判斷為沒有缺陷,而改進后的MPH?YOLO對最左側的絕緣子判斷正確。MPH?YOLO的良好性能可歸因于改進多尺度檢測,學習到了小目標的重要特征信息。SIoU損失函數(shù)進一步增強對目標的定位精度,使MPH?YOLO的檢測精度有較大的提升??芍狹PH?YOLO算法在當前主流算法具有競爭力,能夠滿足不同應用環(huán)境進行調節(jié),特別在復雜背景下的小目標檢測具有優(yōu)異的檢測效果。
4 "結 "語
為了提升絕緣子的檢測能力,本文提出了一種多尺度的絕緣子檢測算法MPH?YOLO。算法通過構建多尺度檢測網(wǎng)絡、改進損失函數(shù)以及引入Ghost卷積,在檢測精度和模型輕量化上取得了優(yōu)異的成效。改進后的算法在提高絕緣子檢測準確率的前提下,保證了檢測的實時性,為絕緣子檢測任務提供了技術支持,并且相較于其他經典目標檢測算法,MPH?YOLO在語義信息比較少的小目標絕緣子檢測上取得了不錯的效果,其輕量化加高精度的特點能夠滿足對絕緣子的高質量檢測。
注:本文通訊作者為張上。
參考文獻
[1] RAHMAN E U, ZHANG Y H, AHMAD S, et al. Autonomous vision?based primary distribution systems porcelain insulators inspection using UAVs [J]. Sensors, 2021, 21(3): 974.
[2] 申振騰,陳建平,杜厚棟,等.基于機器視覺的絕緣子RTV涂層質量檢測方法研究及應用[J].電瓷避雷器,2018(5):233?240.
[3] 白曉靜,謝雅祺,趙淼,等.基于局部特征深度信息的絕緣子小樣本缺陷檢測[J].電網(wǎng)技術,2024,48(2):740?752.
[4] 卞建鵬,李凡,郝培旭,等.復雜環(huán)境下輸電線路絕緣子的破損識別與定位[J].高電壓技術,2022,48(2):681?688.
[5] 鄭若君.基于R?CNN的破損絕緣子識別研究與應用[D].恩施:湖北民族大學,2021.
[6] CHAUHAN V K, DAHIYA K, SHARMA A. Problem formulations and solvers in linear SVM: A review [J]. Artificial intelligence review, 2019, 52(2): 803?855.
[7] 廖金,董國芳,劉暢.基于深度學習的架空線路絕緣子掉串識別研究[J].現(xiàn)代電子技術,2022,45(2):167?171.
[8] WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag?of?freebies sets new state?of?the?art for real?time object detectors [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2023: 7464?7475.
[9] 王建燁,續(xù)欣瑩,謝剛,等.改進SSD模型的絕緣子自爆故障檢測[J].現(xiàn)代電子技術,2022,45(14):115?121.
[10] TALAAT F M, ZAINELDIN H. An improved fire detection approach based on YOLO?v8 for smart cities [J]. Neural computing and applications, 2023, 35(28): 20939?20954.
[11] 彭闖,張紅民,王永平.一種基于YOLOv3的絕緣子串圖像快速檢測方法[J].電瓷避雷器,2022(1):151?156.
[12] 黨宏社,薛萌,郭琴.基于改進的YOLOv4絕緣子掉片故障檢測方法[J].電瓷避雷器,2022(1):211?218.
[13] 王紅君,王金云,趙輝,等.一種改進YOLOv5s的自爆絕緣子檢測算法研究[J].重慶理工大學學報(自然科學),2023,37(4):235?244.
[14] 張劍銳,魏霞,張林鍹,等.改進YOLOv7的絕緣子檢測與定位[J].計算機工程與應用,2024,60(4):183?191.
[15] 王新良,紀昂志,李自強.基于旋轉框定位的絕緣子污穢檢測算法[J].計算機工程與應用,2023,59(21):319?326.
[16] ZHENG Z H, WANG P, REN D W, et al. Enhancing geometric factors in model learning and inference for object detection and instance segmentation [J]. IEEE transactions on cybernetics, 2022, 52(8): 8574?8586.
作者簡介:文思予(1999—),女,重慶萬州人,碩士,研究方向為目標檢測。
張 "上(1979—),男,湖北宜昌人,博士,副教授,研究方向為物聯(lián)網(wǎng)技術、目標檢測。