本文内容來源于《測繪通報》2024年第9期,審圖号:GS京(2024)1659号
基于YOLOv8n改進的航拍輸電線路圖像多類電力部件檢測算法
藍貴文1,2, 徐梓睿1,2, 任新月1,2, 鐘展1,2, 郭瑞東1,2, 範冬林1,2
1. 桂林理工大學測繪地理資訊學院, 廣西 桂林 541004;2. 廣西空間資訊與測繪重點實驗室, 廣西 桂林 541004
基金項目:國家自然科學基金(41861050)
關鍵詞:電力巡檢, 無人機航拍, YOLOv8, 實時目标檢測, 坐标注意力機制, 可變形卷積
引文格式:藍貴文, 徐梓睿, 任新月, 等. 基于YOLOv8n改進的航拍輸電線路圖像多類電力部件檢測算法[J]. 測繪通報, 2024(9): 38-43.doi: 10.13474/j.cnki.11-2246.2024.0908.摘要
摘要 :YOLO系列算法已在電力巡檢航拍圖像進行中得到廣泛應用。但使用無人機進行電力巡檢航拍所獲得的圖像通常包含大量且密集的小尺寸電力部件目标,直接利用YOLO算法難以實時、高效地将其從複雜背景中檢測出來。本文對YOLOv8n進行輕量化改進,旨在提高電力部件識别精度和速度。引入坐标注意力機制進行特征學習,充分利用目标的位置資訊,提高網絡對于背景和目标的區分能力,以提升遮擋目标、小目标的檢測精度;将可變形卷積融入C2f子產品中,使算法能根據不同尺度的特征自适應調整感受野的大小和形狀,獲得全局兼局部的特征表示;在主幹網絡引入GSConv子產品,減少模型參數量以提高檢測速度。試驗結果表明,相對于YOLOv8n,本文改進方法的識别精度、速度均有提升,mAP50提升了5.7%,F1值提升了3.4%,模型參數量降低了7.0%,浮點計算量降低了9.8%,檢測速度達到107.5 幀/s,提升了3.1%,滿足輸電線路部件檢測的精度、輕量化與實時性等要求。
正文随着經濟的快速發展和社會的不斷進步,電力系統支撐着各行各業的正常運轉,為工業、農業、交通等各個領域提供了穩定可靠的能源支援,推動了生産力的高效發展[1]。為保證電網安全穩定運作,需要對輸電路線的絕緣子、金具、杆塔、導線等進行定期維護檢修[2]。實際工程中,無人機巡檢[3-5]是常用的電力巡檢方法,通過對電力裝置進行航拍采集圖像,并對圖像進行人工處理以完成檢測任務。傳統的巡檢圖像處理技術如直方圖均衡化、小波變換[6]等雖能對電力部件達到很好的識别效果,但處理時間較長,難以滿足生産需求。近年來,計算機視覺、深度學習技術快速發展大大提升了圖像的檢測效率,研究者們分别使用兩階段算法Faster-RCNN[7]或單階段算法SSD[8]、YOLO系列[9-11]完成對電氣元件識别、檢測的任務。其中,YOLO系列算法是目前主流的單階段目标檢測算法,網絡結構簡單高效,不僅能滿足高精度的檢測任務,而且在實時檢測任務中明顯優于兩階段算法。然而,在電力巡檢的航拍圖像中,為了能夠準确對多種電力裝置部件進行識别檢測,仍面臨以下幾個挑戰。(1) 航拍電力巡檢圖像背景複雜。航拍圖像拍攝的場景複雜多樣,當背景與目标顔色相近時,算法會難以準确地識别和定位目标。針對該問題,許多學者嘗試對資料集進行預處理,比如對圖檔進行切分檢測[12]或對圖像進行分級壓縮處理、進行超分辨率重建[13]擴充資料集以提高檢測精度。但這些方式消耗過多預處理的時間,難以滿足實時檢測的需求。(2) 航拍電力巡檢圖像中小目标多。典型的解決方法是針對各種尺度特征進行融合和增強,但這種做法對小目标的檢測提升有限,并未充分考慮圖像全局資訊和小目标的上下文資訊。文獻[14]提出增加一層小目标檢測層,将較淺特征圖與深特征圖拼接後檢測,但會提高模型的計算量使檢測速度降低。(3) 電力巡檢圖像中目标密集,遮擋嚴重。典型的解決方法是改進損失函數及預測框的聚類分析,文獻[7]通過獲得密集目标更高置信度的檢測框,以提升檢測性能。但這種做法依賴密集區域的定位效果,不能實作端到端的訓練和推理過程。為了應對電力巡檢中的多目标檢測難點問題,提高對電力裝置的識别精度和準确性,本文基于最新的YOLO系列算法YOLOv8n,在主幹網絡中引入坐标注意力(coordinate atlention,CA)機制,在C2f子產品中引入可變形卷積網絡,最後通過組合GSConv子產品減少參數量以提高檢測精度,保證模型的輕量化以滿足實時性的需求。1 算法介紹1.1 YOLOv8n網絡YOLOv8有不同的版本:YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x、YOLOv8n。它的網絡結構主要由輸入端、主幹網絡、頸部網絡、檢測頭4部分組成。輸入端通過自适應錨框計算、自适應圖像縮放和Mosaic資料增強等政策對輸入圖像進行預處理。通過主幹網絡中的Conv結構、C2f結構對輸入圖像進行特征提取。頸部網絡中的FPN子產品、PAN子產品、SPPF子產品進行特征的多尺度融合,實作不同尺度目标特征之間的資訊傳遞;輸出端采用分類、目标框回歸和置信度損失進行損失計算,并完成目标框的預測及調整。1.2 改進YOLOv8n模型本文提出改進YOLOv8n的電力巡檢多目标檢測算法,其網絡結構如圖 1所示。
|
圖 1 改進YOLOv8n算法網絡結構 |
圖選項 |
(1) 引入CA機制:YOLOv8n的下采樣倍數較大,較深的特征圖很難學習到小目标的特征資訊,是以網絡中引入坐标注意力[15]子產品,對輸入的特征圖中的不同位置進行權重,以提取更有意義的特征表示。(2) 改進的C2f子產品:YOLOv8n網絡中,C2f子產品本質作用是進行特征融合和跨尺度資訊互動,将深度可分離卷積[16]引入C2f子產品中,可以更好地适應不同尺度的目标,并捕捉到更多的尺度變化資訊,進而提高目标檢測的準确度,以此提出D2f子產品。(3) 輕量化改進:YOLOv8n的骨幹網絡是Darknet53,雖然Darknet53有較好的性能,但在實際應用中,它的計算量較大。為了減小模型的計算量,可以使用輕量級的GSConv[17]子產品。1.2.1 引入坐标注意力機制針對航拍圖像中背景複雜、在檢測目标時容易受到幹擾,以及造成誤檢漏檢的問題,本文在YOLOv8n主幹網絡的每個C2f子產品後引入一種坐标注意力子產品,使得模型關注于目标區域的位置資訊,能夠生成更加準确的預測框位置。在YOLOv8n主幹網絡結構中,有4個stage layer,每個stage layer包含1個Conv子產品和1個C2f子產品。特征圖在stage layer中會進行下采樣操作,每個stage最終輸出特征的寬和高都變為原本的一半,在卷積作用下輸出通道增加1倍。在此背景下,為通道添權重重值可以建立通道之間的資訊互動,進一步提升通道之間的篩選能力。基于此,本文在每個stage後引入CA機制,CA子產品結構如圖 2所示,該注意力子產品能夠獲得跨通道、有方向意識和位置敏感的資訊,且能夠靈活、輕量地插入到其他網絡模型中。其中,C、H、W分别為輸入圖像的通道數、高度和寬度,r為調節次元的縮減率,Sigmoid為激活函數。其中,X Avg Pool和Y Avg Pool分别指一維水準方向和一維垂直方向的平均池化;Conv2d則是兩個次元上的卷積。
|
圖 2 CA子產品結構 |
圖選項 |
CA子產品的作用流程分為兩個步驟:①坐标資訊嵌入,将坐标資訊嵌入通道注意力中,對輸入特征圖沿着水準坐标方向和豎直坐标方向的每個通道進行編碼;②坐标注意力生成,将步驟①中得到的兩個空間方向的輸出張量拼接。綜上所述,坐标注意力機制在避免大量計算成本的情況下,将圖像中的各個通道嵌入位置注意力資訊,在權衡不同通道重要性的同時,也能對空間資訊進行編碼,本文将該注意力子產品加入YOLOv8n骨幹網絡中每個C2f子產品後,能夠有效抑制背景噪聲幹擾,提高對電力部件的識别精度。1.2.2 D2f子產品設計為了更好地适應不同尺度的目标,捕捉到更多的尺度變化資訊,本文将可變形卷積DCNv2引入YOLOv8n網絡中,将C2f子產品中标準卷積的CBS子產品替換成DCBS子產品,形成新的D2f子產品。DCBS子產品的結構如圖 3所示,D2f子產品的示意圖如圖 4所示。
|
圖 3 基于可變性卷積DCNv2的DCBS子產品結構 |
圖選項 |
|
圖 4 D2f子產品結構 |
圖選項 |
DCBS子產品的作用流程為:輸入特征圖,偏移變量對卷積核進行拓展,使得卷積變形為不規則的卷積,采用batch normalization(BN)進行标準化,對每個小批量的輸入進行标準化,使得網絡對輸入資料的變化更加有穩健性,同時減少了訓練過程中内部協調偏移問題。DCBS中引入的DCNv2[16]是在DCNv1[18]的基礎上引入一種調節機制,不僅讓模型學習采樣點的偏移,而且能學習每個采樣點的權重,減輕無關因素對模型特征提取的幹擾,使得模型适應可變形目标的能力。DCNv2的計算原理如下:給定1個有K個采樣位置的卷積核,wk和pk分别表示第k個位置的權重和預先設定好的偏移,令x(p)和y(p)分别表示輸入特征圖x和輸出特征圖y中位置p的特征,可調節的變形卷積可以定義為
式中,Δpk和Δmk分别是第k個位置上的可學習的偏移和偏移權重, 調節參數Δmk∈[0, 1],Δpk為任意值。1.2.3 改進主幹網絡為了減小模型的計算量,提升檢測速度,本文使用輕量級的GSConv子產品替換Conv子產品,使得網絡更加輕量化。卷積神經網絡的骨幹部分常常使用标準卷積(standard convolution,SC)[19]設計檢測器子產品,如VGG、Resnet等。而深度可分離卷積(depth-wise separable convolution,DSC)被用于減少模型的參數量和浮點運算量。DSC分為深度卷積和逐點卷積,深度卷積首先對每個輸入通道上分别進行卷積操作;然後再通過逐點卷積合并所有通道為輸出特征圖,進而達到減小計算量、提升計算效率的目的。DSC的缺點是在計算過程中,輸入圖像的通道資訊被分離,使得DSC的特征提取和融合能力遠低于SC。本文使用的GSConv[20]是将DSC、SC混洗組合卷積,使得DSC的輸出盡可能接近SC且降低參數度量,其結構如圖 5所示。首先将輸入的特征圖輸入逐點卷積,得到一部分特征圖,并進行深度卷積操作,生成另一部分特征圖;然後将兩部分特征圖拼接;最後進行混合卷積操作,将标準卷積生成的資訊滲透到DSC卷積生成的每部分資訊中,在不同的通道上均勻地交換自身的特征資訊。
|
圖 5 GSConv子產品結構 |
圖選項 |
通過後續的試驗證明,網絡結構中主幹部分用GSConv替換Conv子產品,能在保證檢測精度的同時,降低模型的參數量與浮點計算量,提高模型整體檢測速度。2 試驗結果與分析2.1 自建資料集和參數設定(1) 本文所使用的原始圖像資料集包括:某電網公司的電力巡檢航拍資料、經過篩選後的公開電力巡檢資料集資料。該資料集涵蓋了中國多個省市、地區,包括城市景觀、鄉村環境、多雲層地形、森林區域、雪景等多種環境,如圖 6所示。此外,資料集中的航拍圖檔是在不同距離、角度和天氣條件下拍攝的,每張圖像的分辨率均超過4800×3600像素,圖像品質很高。
|
圖 6 不同背景、光照條件下的架空輸電線路航拍圖像 |
圖選項 |
資料集中一共選取了1310幅圖像進行标注,根據巡檢工作的實際需要,對塔身、絕緣子、連接配接器、電暈環等8類目标進行了标注,總标注數量為44 105個,平均每張圖像約有33.7個邊界框,各個類别标注數量見表 1。将資料集劃分為3個子集:訓練集、驗證集和測試集,比例為8∶1∶1。
(2) 試驗平台:環境為Python3.8、PyTorch1.10.1、Cuda11.3,使用NVIDIA RTX2080 Ti GPU進行訓練和測試。初始學習率為0.01,周期學習率為0.2,權重衰減為0.000 5,動量系數為0.937,疊代輪次為300,訓練批次為16。由于本文使用的航拍輸電線路資料集圖像分辨率均超過4000×3000像素,是以,為了避免圖像輸入網絡壓縮時丢失資訊,選擇輸入大小為[1280,1280]。(3) 評價名額:①mAP 50代表模型在IoU門檻值為0.5時的平均精度,其中AP值是指P-R曲線面積;②F1分數是精确率和召回率的調和均值,能評估分類模型的整體性能;③參數量代表模型的複雜度和神經元之間的連接配接數量;④浮點計算量用于評估模型在訓練和推理過程中的計算需求和效率;⑤速度衡量模型檢測圖像的能力。2.2 消融試驗分析本文需檢驗各個子產品在基準模型上對于輸電線路部件檢測的有效性,因而針對坐标注意力機制CA、D2f、GSConv子產品設定消融試驗。輸入圖像大小為1280×1280像素,學習訓練300個epoch,均不加載預訓練權重,其結果見表 2。可以得出如下結論:
(1) 基準模型加入CA機制後,mAP50的數值顯著增加,F1值顯著增加,表示模型針對目标的預測框分類、位置預測更加準确。但參數量與浮點計算量均有增加,有損檢測速度。基準模型單獨加入GSConv子產品後,能夠在無損mAP50的情況下,将參數量和浮點計算量降低,進而提升檢測速度。基準模型單獨加入D2f子產品後,mAP50、F1值有顯著提升,參數量略有提升,表明基于可變形卷積的D2f子產品在進行特征提取時能更有效地學習到目标的特征。(2) 通過組合CA機制和GSConv子產品,mAP50精度略有提升,參數量和浮點計算量可以降低,且通過堆疊GSConv子產品發現,随着子產品替換增多,參數量會繼續降低,但不可保證識别精度。通過組合CA注意力機制和D2f子產品發現,mAP50精度雖有提升,但随着子產品的堆疊,會加大參數量和浮點計算量,影響檢測速度。(3) 将3種子產品組合後,通過多次試驗找到使得性能最優的組合。對比基準模型,總體mAP50提升了5.7%、檢測速度提升了3.1%,F1值提升了3.4%, 而參數量降低了7.0%、浮點計算量降低了9.8%。這表明改進YOLOv8n模型不僅提升了模型檢測精度,而且減少了模型的存儲空間,進而提高了模型的推理速度。2.3 對比試驗分析為了更進一步評估改進算法的檢測性能,将改進算法與主流目标檢測算法在統一資料集上進行對比試驗,使用相同的試驗環境和訓練超參數,結果見表 3。可見,本文提出的改進YOLOv8n模型綜合而言性能最佳,檢測精度、F1值均是最高的。從識别目标來看,不僅能對圖像中大的目标,如杆塔識别更加準确,而且能提升小目标(如線夾、防震錘等)的識别精度。同時F1值也展現出目标預測框生成的位置資訊更加準确。YOLOv5n雖然參數量與浮點計算量占優,但檢測速度與檢測精度均達不到YOLOv8n初始模型的标準;YOLOv6n的檢測綜合性能最差,檢測速度優于YOLOv5n但檢測精度達不到其标準。結果表明,改進後的算法對杆塔、絕緣子、連接配接器、電暈環、線夾等8類目标均提高了識别精度。
2.4 細節展示展示檢測結果如圖 7—圖 8所示。由圖 7可知,在城市場景中,小目标(如防震錘)容易與背景建築物混淆,導緻不能識别。針對圖 7中的小目标的識别,檢測效果最好的是本文算法。第2行細節展示中,隻有YOLOv5n和本文算法檢測到了防震錘;第3行結果中,隻有本文算法檢測到了與房屋稍有混淆的防震錘,其餘算法均未檢測出,且YOLOv8n還将房屋頂誤檢成了絕緣子。由圖 8可知,在農田場景下,連接配接器容易與背景農田混淆,絕緣子的顔色容易與塔身混淆、遮擋而影響識别。由圖 8第2行細節展示可知,本文算法檢測結果更好,能夠很好地識别出被遮擋的絕緣子;第3行的細節展示,從檢測結果可知,本文提出的算法能夠對塔身檢測框預測的更準确,且能準确識别到連接配接器,YOLOv5n、YOLOv6n雖然也能檢測到圖 8中的小目标連接配接器,但是YOLOv5n對于整體塔身完全沒有識别出來,YOLOv6n對塔身預測的框定位不準确。
|
圖 7 識别結果展示1 |
圖選項 |
|
圖 8 識别結果展示2 |
圖選項 |
3 結語
針對電力巡檢航拍資料中場景複雜,檢測目标數量多且尺度不一的難點,本文提出了一種可用于電力部件多目辨別别的檢測方法。基于YOLOv8n網絡模型,提出了可以增強密集目标檢測精度的改進方法:在主幹網絡中引入CA機制,更好捕捉跨通道互動資訊及特征的位置關系;在C2f子產品中引入可變形卷積網絡,擴大感受野以适應形狀大小不同輸入的特征圖;在特征融合時學習更多淺層語義資訊,再通過組合GSConv子產品減少參數量提高檢測精度,保證模型的輕量化。試驗結果表明,本文提出的改進YOLOv8n網絡模型對比基準模型明顯提升了檢測性能,mAP50提高了5.7%、模型參數量與浮點計算量均有下降,其中總體參數量比改進前降低了7.0%、浮點計算量降低了9.8%,計算速度達到107.5幀/s,提升了3.1%,實作了對模型輕量化、檢測精度的提升。本文算法能夠為後續電力巡檢中目标檢測任務提供非常有意義的參考。作者簡介作者簡介:藍貴文(1977—),男,博士,教授,主要從事地理資訊內建應用、地理要素智能識别研究工作。E-mail:[email protected]
初審:楊瑞芳複審:宋啟凡
終審:金 君
資訊