田二勝,李春蕾,朱國棟,粟忠來,張小明,徐曉光
(許繼集團(tuán)有限公司,許昌 461000)
隨著電網(wǎng)建設(shè)覆蓋范圍的不斷增加,輸電線路總里程也逐漸增多,具有規(guī)模大、距離長、分布地域廣等特點(diǎn),通常分布在偏遠(yuǎn)地帶,運(yùn)行環(huán)境比較惡劣.山火、滑坡等自然災(zāi)害損害架空輸電線路的正常運(yùn)行,同時(shí)還存在施工機(jī)械、超高車輛、船舶導(dǎo)致外力破壞的危險(xiǎn).傳統(tǒng)采用人工巡線的方式存在勞動(dòng)強(qiáng)度大、工作效率低的問題,對(duì)突發(fā)外破事件應(yīng)對(duì)時(shí)效性差.
隨著智能監(jiān)測技術(shù)的發(fā)展,以視頻、圖像為主的輸電線路巡檢的方式受到越來越多的關(guān)注,然而傳統(tǒng)的輸電線路在線監(jiān)測系統(tǒng)通常是將視頻、圖像的數(shù)據(jù)傳回監(jiān)控平臺(tái),通過人工篩選的方式識(shí)別施工機(jī)械等外破隱患發(fā)生,存在工作效率低、無法實(shí)時(shí)識(shí)別并預(yù)警的問題[1].隨著卷積神經(jīng)網(wǎng)絡(luò)算法在圖像識(shí)別中的應(yīng)用越來越廣泛[2–6],為基于深度學(xué)習(xí)的圖像識(shí)別技術(shù)在輸電線路巡檢中的研究和應(yīng)用提供新的解決方法.張?bào)K等[7]提出Faster RCNN 算法提取特征,用于輸電線路目標(biāo)的圖像識(shí)別,代替人工篩選,提高隱患預(yù)警實(shí)時(shí)性.許志君[8]采用單步識(shí)別的SSD 算法,與Faster RCNN相比,識(shí)別速度更快,滿足邊緣計(jì)算識(shí)別要求.賴秋頻等[9]提出YOLOv2,引入錨框機(jī)制,提高模型收斂速度和識(shí)別準(zhǔn)確率.徐守坤等[10]提出YOLOv3 算法,采用Darknet53 殘差網(wǎng)絡(luò)提取深層次網(wǎng)絡(luò)的圖像數(shù)據(jù)特征,適用于輸電線路復(fù)雜背景下的目標(biāo)識(shí)別,與YOLOv2采用Darknet19 網(wǎng)絡(luò)結(jié)構(gòu)相比,目標(biāo)識(shí)別效果更好.然而,以上大多數(shù)的圖像識(shí)別算法模型計(jì)算時(shí)間長,不能滿足輸電線路圖像識(shí)別模型邊緣部署對(duì)算法識(shí)別實(shí)時(shí)性的要求.
針對(duì)以上問題,本文提出基于YOLOv4的輸電線路外破隱患識(shí)別算法.該算法采用改進(jìn)K-means 算法對(duì)圖片樣本集目標(biāo)的大小進(jìn)行聚類分析,篩選出符合檢測目標(biāo)特征的錨框,之后利用CSP 與Darknet-53 殘差網(wǎng)絡(luò)相結(jié)合,能夠提取圖片深層次網(wǎng)絡(luò)特征數(shù)據(jù),同時(shí)減小計(jì)算量,并采用SPP 算法對(duì)特征圖進(jìn)行處理增加感受野,提取更高層次的語義特征.最后將實(shí)際的輸電線路現(xiàn)場監(jiān)控圖片作為測試樣本集,驗(yàn)證該算法的性能.
YOLOv4 圖像識(shí)別算法[11]與YOLOv3 算法相比,改進(jìn)了網(wǎng)絡(luò)結(jié)構(gòu)和模型訓(xùn)練技巧等多個(gè)方面.YOLOv4利用CSP 與Darknet-53 殘差網(wǎng)絡(luò)相結(jié)合,能夠提取圖片深層次網(wǎng)絡(luò)特征數(shù)據(jù),同時(shí)減小計(jì)算量;增加SPP 網(wǎng)絡(luò)模塊,增大感受野,提取更高層次的語義特征,能夠適應(yīng)不同尺寸和背景特征的目標(biāo)識(shí)別.此外,采用Mosaic樣本增強(qiáng)方法,將隨機(jī)翻轉(zhuǎn)、旋轉(zhuǎn)等預(yù)處理后的4 張圖片拼接起來用于模型訓(xùn)練,減少模型對(duì)樣本背景的依賴.
YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)主要包括主干網(wǎng)絡(luò)、Neck 模塊,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.其中Darknet-53 殘差網(wǎng)絡(luò)結(jié)構(gòu)包括一系列的1×1和3×3 卷積以及不同大小的殘差模塊組成[12,13].主干網(wǎng)絡(luò)采用CSPDarknet53 結(jié)構(gòu)形式,將CSPNet 網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用于Darknet-53中殘差模塊,使上層的特征圖一個(gè)分支進(jìn)行殘差運(yùn)算,同時(shí)另外一個(gè)分支和經(jīng)過殘差運(yùn)算后的特征圖相結(jié)合.此外,CSPDarknet53在卷積層之后采用Mish 激勵(lì)函數(shù),代替YOLOv3中的Leaky ReLU 函數(shù),提高非線性映射能力.Neck 模塊包括SPP 網(wǎng)絡(luò)結(jié)構(gòu)和PANet 網(wǎng)絡(luò)結(jié)構(gòu).其中,SPP 網(wǎng)絡(luò)結(jié)構(gòu)采用1×1、5×5、9×9、13×13 最大池化層分別對(duì)上層特征圖進(jìn)行處理;PANet 采用高低層特征融合方法實(shí)現(xiàn)3個(gè)不同大小的特征圖Y1、Y2、Y3 輸出,用于不同大小的目標(biāo)識(shí)別.C為識(shí)別目標(biāo)類別數(shù).
圖1 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)
將一張圖片劃分為S×S網(wǎng)格,假如被識(shí)別的目標(biāo)中心位置落在某個(gè)網(wǎng)格內(nèi),則該網(wǎng)格用于該目標(biāo)的識(shí)別[14].
每個(gè)目標(biāo)識(shí)別結(jié)果需要對(duì)5個(gè)參數(shù)進(jìn)行預(yù)測:目標(biāo)中心位置偏移量 (x,y),YOLOv4 以相對(duì)網(wǎng)格左上角的偏移代替中心位置的坐標(biāo).目標(biāo)邊框尺寸相對(duì)整張圖片的寬高尺寸為(w,h),以及該目標(biāo)識(shí)別結(jié)果的置信度Pconfidence.
式中,Pobject為預(yù)測目標(biāo)的網(wǎng)格存在目標(biāo)的概率,存在則概率為1,不存在為為預(yù)測結(jié)果的邊框與原圖片中標(biāo)注的目標(biāo)邊框位置重合度[15,16].
式中,boxprediction為預(yù)測結(jié)果的邊框,boxtruth為原圖片中的目標(biāo)邊框.
式中,PCprediction表示該網(wǎng)格預(yù)測的屬于第i類目標(biāo)及邊框位置置信度的概率.P(Classi|object)為當(dāng)存在目標(biāo)的情況下該目標(biāo)屬于第i類目標(biāo)的概率.
因此,YOLOv4 算法輸出3個(gè)特征圖Y1,Y2,Y3的大小表示將圖片分別劃分為19×19、38×38、76×76個(gè)網(wǎng)格,每個(gè)特征圖對(duì)應(yīng)3個(gè)錨框,每個(gè)網(wǎng)格預(yù)測4個(gè)位置 (x,y,w,h)和Pconfidence,輸出尺寸為S×S×[3×(4+1+C)].
采用改進(jìn)K-means 算法對(duì)輸電線路外破隱患圖片樣本集目標(biāo)的坐標(biāo)進(jìn)行聚類分析,篩選出符合檢測目標(biāo)特征的錨框,用于預(yù)測目標(biāo)邊框位置.K-means 算法采用基于歐氏距離的聚類分析[17],這對(duì)于不同大小的目標(biāo)篩選是不合適的.本文采用改進(jìn)K-means 算法,將預(yù)測邊框和實(shí)際目標(biāo)邊框重合度作為距離的度量[18,19].聚類距離公式如下:
式中,d(boxtruth,center)為實(shí)際目標(biāo)邊框與聚類中心的距離,center為聚類中心.
采用改進(jìn)K-means 算法對(duì)輸電線路外破隱患圖片樣本集進(jìn)行聚類分析,得到用于預(yù)測目標(biāo)的9個(gè)錨框,3個(gè)特征圖Y1,Y2,Y3 分別對(duì)應(yīng)于3個(gè)錨框.將錨框按照尺寸從大到小進(jìn)行排序,將尺寸大的特征圖對(duì)應(yīng)于小的錨框,能夠得到更豐富目標(biāo)圖片的邊緣信息,因此排名前3個(gè)錨框?qū)?yīng)于大小為19×19的Y1,較大的3個(gè)錨框?qū)?yīng)于大小為38×38的Y2,排名后3個(gè)錨框?qū)?yīng)于大小為76×76的Y3.
YOLOv4 對(duì)輸入的外破隱患目標(biāo)圖片樣本集進(jìn)行預(yù)處理:包括統(tǒng)一調(diào)整分辨率大小,對(duì)樣本圖片進(jìn)行色彩調(diào)整、翻轉(zhuǎn)、旋轉(zhuǎn),用于減少樣本背景對(duì)目標(biāo)識(shí)別的影響.之后采用YOLOv4 算法進(jìn)行模型訓(xùn)練.其中,損失函數(shù)計(jì)算公式如下:
式中,fLOSS表示損失函數(shù),由5 部分組成:第1、2 部分表示對(duì)目標(biāo)坐標(biāo)位置的預(yù)測,第3 部分表示對(duì)目標(biāo)邊框置信度的預(yù)測,第4 部分表示對(duì)該網(wǎng)格內(nèi)未包含目標(biāo)置信度的預(yù)測,第5 部分表示對(duì)目標(biāo)所屬類別的預(yù)測.λcoord表示目標(biāo)坐標(biāo)位置的損失權(quán)重,λnoobj表示未包含目標(biāo)邊框置信度的損失權(quán)重.為網(wǎng)格i包含目標(biāo),表示網(wǎng)格i中第j個(gè)錨框包含目標(biāo),表示網(wǎng)格i中第j個(gè)錨框不包含目標(biāo).(xi,yi,wi,hi) 表示網(wǎng)格i中預(yù)測的目標(biāo)邊框,表示網(wǎng)格i中實(shí)際的目標(biāo)邊框.ci為網(wǎng)格i預(yù)測的類別,表示網(wǎng)格i目標(biāo)所屬實(shí)際的類別.pi(c)為網(wǎng)格i內(nèi)預(yù)測的目標(biāo)概率,(c)表示網(wǎng)格i內(nèi)實(shí)際的目標(biāo)概率.S2表示一張圖片被劃分的網(wǎng)格數(shù).b為每個(gè)網(wǎng)格需要預(yù)測的邊框數(shù)[20].
基于YOLOv4的輸電線路外破隱患目標(biāo)檢測流程圖如圖2所示,包括3個(gè)階段:對(duì)圖片樣本集進(jìn)行預(yù)處理、模型訓(xùn)練及待檢測目標(biāo)圖片的測試.
圖2 輸電線路外破隱患目標(biāo)檢測流程圖
檢測步驟如下:
(1)對(duì)樣本集進(jìn)行預(yù)處理
1)收集輸電線路外破隱患圖片樣本集,對(duì)圖片樣本名稱進(jìn)行統(tǒng)一編號(hào),之后將圖片分辨率統(tǒng)一調(diào)整為608×608;
2)采用樣本增強(qiáng)的方法對(duì)樣本圖片進(jìn)行色彩調(diào)整、翻轉(zhuǎn)、旋轉(zhuǎn)等處理;
3)運(yùn)用標(biāo)注工具對(duì)樣本集進(jìn)行目標(biāo)類別和邊框的標(biāo)注;
4)按照VOC2007 數(shù)據(jù)集的格式整理樣本集及標(biāo)注文件,并生成訓(xùn)練樣本集和測試樣本集.
(2)模型訓(xùn)練
1)根據(jù)本項(xiàng)目的樣本集數(shù)據(jù),修改配置文件中的學(xué)習(xí)率、批次數(shù)等相關(guān)參數(shù);
2)運(yùn)用CSPDarknet53 網(wǎng)絡(luò)提取輸入樣機(jī)圖片的外破隱患目標(biāo)特征;
3)運(yùn)用Neck 模塊將特征向量進(jìn)行高低層次特征融合,生成3個(gè)不同尺寸的特征圖,用于目標(biāo)多尺度預(yù)測;
4)將預(yù)測結(jié)果和標(biāo)注文件中實(shí)際目標(biāo)邊框、類別代入損失函數(shù)計(jì)算公式,得到損失值;
5)利用神經(jīng)網(wǎng)絡(luò)反向傳播方法自動(dòng)調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),重復(fù)步驟2)~4),直到模型滿足精度要求或達(dá)到訓(xùn)練次數(shù),生成模型文件.
(3)模型測試
1)輸入外破隱患圖片測試樣本集;
2)利用網(wǎng)絡(luò)前向傳播得到目標(biāo)的邊框和類別;
3)根據(jù)目標(biāo)預(yù)測邊框、實(shí)際邊框計(jì)算IOU重合度;
4)根據(jù)步驟3)得到的IOU值和類別概率得到置信度;
5)設(shè)置IOU閾值篩選到IOU值較小的預(yù)測框,對(duì)剩余的預(yù)測框采用最大值抑制算法得到最終的預(yù)測結(jié)果.
本文采用Ubuntu18.04 操作系統(tǒng),GPU 硬件選擇NVIDIA GTX 1080Ti,軟件為CUDA9.0,CUDNN7.0.搭建基于Keras 框架的模型訓(xùn)練及測試環(huán)境,采用YOLOv4 算法模型對(duì)輸電線路外破隱患目標(biāo)進(jìn)行識(shí)別,輸出被檢測圖片中外破隱患目標(biāo)的類別和邊框.
根據(jù)實(shí)際的輸電線路現(xiàn)場監(jiān)控視頻及圖像信息,制作模型訓(xùn)練及識(shí)別的數(shù)據(jù)集,包含施工機(jī)械、吊車、塔吊3 種外破隱患目標(biāo)類型,共計(jì)3825 張.其中施工機(jī)械類1362 張,吊車類1184 張,塔吊類1279 張.該數(shù)據(jù)集涵蓋不同背景內(nèi)容、光照強(qiáng)度、天氣情況下的目標(biāo)圖片樣本,能夠減小圖像背景對(duì)目標(biāo)識(shí)別的影響,提高模型精度.將數(shù)據(jù)集按照7:3的比例分為訓(xùn)練集和測試集,劃分結(jié)果如表1所示.
表1 數(shù)據(jù)集劃分結(jié)果
將外破隱患目標(biāo)圖像數(shù)據(jù)集按照VOC2007 數(shù)據(jù)格式進(jìn)行整理,并將數(shù)據(jù)集中目標(biāo)標(biāo)注的坐標(biāo)位置進(jìn)行歸一化處理,作為模型訓(xùn)練的樣本輸入,歸一化公式如下:
式中,(x,y)為歸一化處理后的中心點(diǎn)坐標(biāo),(w,h)表示歸一化處理后的圖片寬度和高度.(xmin,ymin)為原始圖片中目標(biāo)的左上角坐標(biāo),(xmax,ymax)表示原始圖片中目標(biāo)的右下角坐標(biāo).
將訓(xùn)練集圖片中外破隱患目標(biāo)作為聚類算法輸入,采用改進(jìn)K-means 算法篩選出適用于本項(xiàng)目的錨框,共計(jì)9個(gè)錨框,分別是(39,27),(72,51),(85,213),(112,83),(147,289),(179,161),(221,321),(323,379),(539,431),該組錨框與圖片中施工機(jī)械等外破隱患目標(biāo)大小快速適配,提高模型訓(xùn)練速度.
首先,修改預(yù)訓(xùn)練模型的配置文件相關(guān)參數(shù),以適用于本項(xiàng)目特點(diǎn),部分參數(shù)值如表2所示.此外,將本項(xiàng)目的9個(gè)錨框替換配置文件中相應(yīng)位置的錨框.然后,在Keras 框架下加載預(yù)訓(xùn)練模型,輸入圖片樣本集進(jìn)行模型訓(xùn)練.
表2 配置文件部分參數(shù)值
保存訓(xùn)練后生成的模型文件,結(jié)合數(shù)據(jù)集制作時(shí)得到的測試樣本集,進(jìn)行模型性能的測試.
挑選不同項(xiàng)目目標(biāo)圖像特點(diǎn)的測試樣本,用于檢測模型在復(fù)雜背景、不同姿態(tài)、不同光照、不同天氣、多個(gè)目標(biāo)情況下的性能.圖3(a)、圖3(b)為同類目標(biāo)在不同背景內(nèi)容下的識(shí)別結(jié)果,實(shí)驗(yàn)結(jié)果表明該模型能夠識(shí)別不同背景下的目標(biāo),減少對(duì)圖片背景內(nèi)容的依賴.圖4(a)、圖4(b)為同一目標(biāo)不同姿態(tài)下的識(shí)別結(jié)果,實(shí)驗(yàn)結(jié)果表明該模型能夠識(shí)別不同姿態(tài)的目標(biāo),增強(qiáng)對(duì)目標(biāo)姿態(tài)的識(shí)別.圖5(a)、圖5(b)為同一目標(biāo)不同光照強(qiáng)度下的識(shí)別結(jié)果,實(shí)驗(yàn)結(jié)果表明該模型能夠識(shí)別不同光照強(qiáng)度下拍攝的目標(biāo)圖片,提升對(duì)圖片色彩、亮度變化的適應(yīng)能力.圖6(a)、圖6(b)為同一目標(biāo)不同天氣情況下的識(shí)別結(jié)果,實(shí)驗(yàn)結(jié)果表明該模型在有霧天氣下對(duì)目標(biāo)的準(zhǔn)確識(shí)別.圖7(a)、圖7(b)為一張圖片中存在多個(gè)目標(biāo)的識(shí)別結(jié)果,實(shí)驗(yàn)結(jié)果表明該模型能夠?qū)崿F(xiàn)對(duì)多個(gè)目標(biāo)的完整識(shí)別,提高識(shí)別準(zhǔn)確率.
圖3 不同背景內(nèi)容下目標(biāo)識(shí)別
圖4 不同姿態(tài)下目標(biāo)識(shí)別
圖5 不同光照強(qiáng)度下目標(biāo)識(shí)別
圖6 不同天氣情況下目標(biāo)識(shí)別
圖7 同一張圖片多個(gè)目標(biāo)識(shí)別
將本文算法與常用的圖像識(shí)別算法進(jìn)行對(duì)比,對(duì)比結(jié)果如表3所示.從表3可以看出,與常用的Faster RCNN、SSD 算法相比,本文算法的各個(gè)類別AP 及mAP值均高于其它算法,平均單張圖片識(shí)別速度更快,表明本文算法的優(yōu)越性.
表3 不同算法對(duì)比結(jié)果
文中提出基于YOLOv4的輸電線路外破隱患識(shí)別算法,采用CSPDarknet-53 殘差網(wǎng)絡(luò)提取圖片深層次網(wǎng)絡(luò)特征數(shù)據(jù),并結(jié)合SPP 算法對(duì)特征圖進(jìn)行處理增加感受野,提取更高層次的語義特征.同時(shí),采用改進(jìn)K-means 算法對(duì)圖片樣本集目標(biāo)的大小進(jìn)行聚類分析,篩選出針對(duì)檢測目標(biāo)特征分析的錨框,用于模型訓(xùn)練及檢測.最后采用本文算法和其它兩種常用的圖像識(shí)別算法對(duì)實(shí)際的輸電線路現(xiàn)場圖片樣本集進(jìn)行測試,實(shí)驗(yàn)結(jié)果表明本文算法具有更高的識(shí)別準(zhǔn)確率,且平均單張圖片識(shí)別速度更快,滿足模型前端部署的要求,驗(yàn)證該算法的優(yōu)越性.