田二勝,李春蕾,朱國棟,粟忠來,張小明,徐曉光
(許繼集團有限公司,許昌 461000)
隨著電網建設覆蓋范圍的不斷增加,輸電線路總里程也逐漸增多,具有規模大、距離長、分布地域廣等特點,通常分布在偏遠地帶,運行環境比較惡劣.山火、滑坡等自然災害損害架空輸電線路的正常運行,同時還存在施工機械、超高車輛、船舶導致外力破壞的危險.傳統采用人工巡線的方式存在勞動強度大、工作效率低的問題,對突發外破事件應對時效性差.
隨著智能監測技術的發展,以視頻、圖像為主的輸電線路巡檢的方式受到越來越多的關注,然而傳統的輸電線路在線監測系統通常是將視頻、圖像的數據傳回監控平臺,通過人工篩選的方式識別施工機械等外破隱患發生,存在工作效率低、無法實時識別并預警的問題[1].隨著卷積神經網絡算法在圖像識別中的應用越來越廣泛[2–6],為基于深度學習的圖像識別技術在輸電線路巡檢中的研究和應用提供新的解決方法.張驥等[7]提出Faster RCNN 算法提取特征,用于輸電線路目標的圖像識別,代替人工篩選,提高隱患預警實時性.許志君[8]采用單步識別的SSD 算法,與Faster RCNN相比,識別速度更快,滿足邊緣計算識別要求.賴秋頻等[9]提出YOLOv2,引入錨框機制,提高模型收斂速度和識別準確率.徐守坤等[10]提出YOLOv3 算法,采用Darknet53 殘差網絡提取深層次網絡的圖像數據特征,適用于輸電線路復雜背景下的目標識別,與YOLOv2采用Darknet19 網絡結構相比,目標識別效果更好.然而,以上大多數的圖像識別算法模型計算時間長,不能滿足輸電線路圖像識別模型邊緣部署對算法識別實時性的要求.
針對以上問題,本文提出基于YOLOv4的輸電線路外破隱患識別算法.該算法采用改進K-means 算法對圖片樣本集目標的大小進行聚類分析,篩選出符合檢測目標特征的錨框,之后利用CSP 與Darknet-53 殘差網絡相結合,能夠提取圖片深層次網絡特征數據,同時減小計算量,并采用SPP 算法對特征圖進行處理增加感受野,提取更高層次的語義特征.最后將實際的輸電線路現場監控圖片作為測試樣本集,驗證該算法的性能.
YOLOv4 圖像識別算法[11]與YOLOv3 算法相比,改進了網絡結構和模型訓練技巧等多個方面.YOLOv4利用CSP 與Darknet-53 殘差網絡相結合,能夠提取圖片深層次網絡特征數據,同時減小計算量;增加SPP 網絡模塊,增大感受野,提取更高層次的語義特征,能夠適應不同尺寸和背景特征的目標識別.此外,采用Mosaic樣本增強方法,將隨機翻轉、旋轉等預處理后的4 張圖片拼接起來用于模型訓練,減少模型對樣本背景的依賴.
YOLOv4 網絡結構主要包括主干網絡、Neck 模塊,網絡結構如圖1所示.其中Darknet-53 殘差網絡結構包括一系列的1×1和3×3 卷積以及不同大小的殘差模塊組成[12,13].主干網絡采用CSPDarknet53 結構形式,將CSPNet 網絡結構應用于Darknet-53中殘差模塊,使上層的特征圖一個分支進行殘差運算,同時另外一個分支和經過殘差運算后的特征圖相結合.此外,CSPDarknet53在卷積層之后采用Mish 激勵函數,代替YOLOv3中的Leaky ReLU 函數,提高非線性映射能力.Neck 模塊包括SPP 網絡結構和PANet 網絡結構.其中,SPP 網絡結構采用1×1、5×5、9×9、13×13 最大池化層分別對上層特征圖進行處理;PANet 采用高低層特征融合方法實現3個不同大小的特征圖Y1、Y2、Y3 輸出,用于不同大小的目標識別.C為識別目標類別數.

圖1 YOLOv4 網絡結構
將一張圖片劃分為S×S網格,假如被識別的目標中心位置落在某個網格內,則該網格用于該目標的識別[14].
每個目標識別結果需要對5個參數進行預測:目標中心位置偏移量 (x,y),YOLOv4 以相對網格左上角的偏移代替中心位置的坐標.目標邊框尺寸相對整張圖片的寬高尺寸為(w,h),以及該目標識別結果的置信度Pconfidence.

式中,Pobject為預測目標的網格存在目標的概率,存在則概率為1,不存在為為預測結果的邊框與原圖片中標注的目標邊框位置重合度[15,16].

式中,boxprediction為預測結果的邊框,boxtruth為原圖片中的目標邊框.

式中,PCprediction表示該網格預測的屬于第i類目標及邊框位置置信度的概率.P(Classi|object)為當存在目標的情況下該目標屬于第i類目標的概率.
因此,YOLOv4 算法輸出3個特征圖Y1,Y2,Y3的大小表示將圖片分別劃分為19×19、38×38、76×76個網格,每個特征圖對應3個錨框,每個網格預測4個位置 (x,y,w,h)和Pconfidence,輸出尺寸為S×S×[3×(4+1+C)].
采用改進K-means 算法對輸電線路外破隱患圖片樣本集目標的坐標進行聚類分析,篩選出符合檢測目標特征的錨框,用于預測目標邊框位置.K-means 算法采用基于歐氏距離的聚類分析[17],這對于不同大小的目標篩選是不合適的.本文采用改進K-means 算法,將預測邊框和實際目標邊框重合度作為距離的度量[18,19].聚類距離公式如下:

式中,d(boxtruth,center)為實際目標邊框與聚類中心的距離,center為聚類中心.
采用改進K-means 算法對輸電線路外破隱患圖片樣本集進行聚類分析,得到用于預測目標的9個錨框,3個特征圖Y1,Y2,Y3 分別對應于3個錨框.將錨框按照尺寸從大到小進行排序,將尺寸大的特征圖對應于小的錨框,能夠得到更豐富目標圖片的邊緣信息,因此排名前3個錨框對應于大小為19×19的Y1,較大的3個錨框對應于大小為38×38的Y2,排名后3個錨框對應于大小為76×76的Y3.
YOLOv4 對輸入的外破隱患目標圖片樣本集進行預處理:包括統一調整分辨率大小,對樣本圖片進行色彩調整、翻轉、旋轉,用于減少樣本背景對目標識別的影響.之后采用YOLOv4 算法進行模型訓練.其中,損失函數計算公式如下:

式中,fLOSS表示損失函數,由5 部分組成:第1、2 部分表示對目標坐標位置的預測,第3 部分表示對目標邊框置信度的預測,第4 部分表示對該網格內未包含目標置信度的預測,第5 部分表示對目標所屬類別的預測.λcoord表示目標坐標位置的損失權重,λnoobj表示未包含目標邊框置信度的損失權重.為網格i包含目標,表示網格i中第j個錨框包含目標,表示網格i中第j個錨框不包含目標.(xi,yi,wi,hi) 表示網格i中預測的目標邊框,表示網格i中實際的目標邊框.ci為網格i預測的類別,表示網格i目標所屬實際的類別.pi(c)為網格i內預測的目標概率,(c)表示網格i內實際的目標概率.S2表示一張圖片被劃分的網格數.b為每個網格需要預測的邊框數[20].
基于YOLOv4的輸電線路外破隱患目標檢測流程圖如圖2所示,包括3個階段:對圖片樣本集進行預處理、模型訓練及待檢測目標圖片的測試.

圖2 輸電線路外破隱患目標檢測流程圖
檢測步驟如下:
(1)對樣本集進行預處理
1)收集輸電線路外破隱患圖片樣本集,對圖片樣本名稱進行統一編號,之后將圖片分辨率統一調整為608×608;
2)采用樣本增強的方法對樣本圖片進行色彩調整、翻轉、旋轉等處理;
3)運用標注工具對樣本集進行目標類別和邊框的標注;
4)按照VOC2007 數據集的格式整理樣本集及標注文件,并生成訓練樣本集和測試樣本集.
(2)模型訓練
1)根據本項目的樣本集數據,修改配置文件中的學習率、批次數等相關參數;
2)運用CSPDarknet53 網絡提取輸入樣機圖片的外破隱患目標特征;
3)運用Neck 模塊將特征向量進行高低層次特征融合,生成3個不同尺寸的特征圖,用于目標多尺度預測;
4)將預測結果和標注文件中實際目標邊框、類別代入損失函數計算公式,得到損失值;
5)利用神經網絡反向傳播方法自動調整網絡結構參數,重復步驟2)~4),直到模型滿足精度要求或達到訓練次數,生成模型文件.
(3)模型測試
1)輸入外破隱患圖片測試樣本集;
2)利用網絡前向傳播得到目標的邊框和類別;
3)根據目標預測邊框、實際邊框計算IOU重合度;
4)根據步驟3)得到的IOU值和類別概率得到置信度;
5)設置IOU閾值篩選到IOU值較小的預測框,對剩余的預測框采用最大值抑制算法得到最終的預測結果.
本文采用Ubuntu18.04 操作系統,GPU 硬件選擇NVIDIA GTX 1080Ti,軟件為CUDA9.0,CUDNN7.0.搭建基于Keras 框架的模型訓練及測試環境,采用YOLOv4 算法模型對輸電線路外破隱患目標進行識別,輸出被檢測圖片中外破隱患目標的類別和邊框.
根據實際的輸電線路現場監控視頻及圖像信息,制作模型訓練及識別的數據集,包含施工機械、吊車、塔吊3 種外破隱患目標類型,共計3825 張.其中施工機械類1362 張,吊車類1184 張,塔吊類1279 張.該數據集涵蓋不同背景內容、光照強度、天氣情況下的目標圖片樣本,能夠減小圖像背景對目標識別的影響,提高模型精度.將數據集按照7:3的比例分為訓練集和測試集,劃分結果如表1所示.

表1 數據集劃分結果
將外破隱患目標圖像數據集按照VOC2007 數據格式進行整理,并將數據集中目標標注的坐標位置進行歸一化處理,作為模型訓練的樣本輸入,歸一化公式如下:

式中,(x,y)為歸一化處理后的中心點坐標,(w,h)表示歸一化處理后的圖片寬度和高度.(xmin,ymin)為原始圖片中目標的左上角坐標,(xmax,ymax)表示原始圖片中目標的右下角坐標.
將訓練集圖片中外破隱患目標作為聚類算法輸入,采用改進K-means 算法篩選出適用于本項目的錨框,共計9個錨框,分別是(39,27),(72,51),(85,213),(112,83),(147,289),(179,161),(221,321),(323,379),(539,431),該組錨框與圖片中施工機械等外破隱患目標大小快速適配,提高模型訓練速度.
首先,修改預訓練模型的配置文件相關參數,以適用于本項目特點,部分參數值如表2所示.此外,將本項目的9個錨框替換配置文件中相應位置的錨框.然后,在Keras 框架下加載預訓練模型,輸入圖片樣本集進行模型訓練.

表2 配置文件部分參數值
保存訓練后生成的模型文件,結合數據集制作時得到的測試樣本集,進行模型性能的測試.
挑選不同項目目標圖像特點的測試樣本,用于檢測模型在復雜背景、不同姿態、不同光照、不同天氣、多個目標情況下的性能.圖3(a)、圖3(b)為同類目標在不同背景內容下的識別結果,實驗結果表明該模型能夠識別不同背景下的目標,減少對圖片背景內容的依賴.圖4(a)、圖4(b)為同一目標不同姿態下的識別結果,實驗結果表明該模型能夠識別不同姿態的目標,增強對目標姿態的識別.圖5(a)、圖5(b)為同一目標不同光照強度下的識別結果,實驗結果表明該模型能夠識別不同光照強度下拍攝的目標圖片,提升對圖片色彩、亮度變化的適應能力.圖6(a)、圖6(b)為同一目標不同天氣情況下的識別結果,實驗結果表明該模型在有霧天氣下對目標的準確識別.圖7(a)、圖7(b)為一張圖片中存在多個目標的識別結果,實驗結果表明該模型能夠實現對多個目標的完整識別,提高識別準確率.

圖3 不同背景內容下目標識別

圖4 不同姿態下目標識別

圖5 不同光照強度下目標識別

圖6 不同天氣情況下目標識別

圖7 同一張圖片多個目標識別
將本文算法與常用的圖像識別算法進行對比,對比結果如表3所示.從表3可以看出,與常用的Faster RCNN、SSD 算法相比,本文算法的各個類別AP 及mAP值均高于其它算法,平均單張圖片識別速度更快,表明本文算法的優越性.

表3 不同算法對比結果
文中提出基于YOLOv4的輸電線路外破隱患識別算法,采用CSPDarknet-53 殘差網絡提取圖片深層次網絡特征數據,并結合SPP 算法對特征圖進行處理增加感受野,提取更高層次的語義特征.同時,采用改進K-means 算法對圖片樣本集目標的大小進行聚類分析,篩選出針對檢測目標特征分析的錨框,用于模型訓練及檢測.最后采用本文算法和其它兩種常用的圖像識別算法對實際的輸電線路現場圖片樣本集進行測試,實驗結果表明本文算法具有更高的識別準確率,且平均單張圖片識別速度更快,滿足模型前端部署的要求,驗證該算法的優越性.