陳詠秋,孫凌卿,張永澤,傅啟明,陸 宇,李淵博,孫建剛
(江蘇電力信息技術(shù)有限公司,南京 210000)
在當(dāng)前社會現(xiàn)代化發(fā)展的背景下,社會對于電力的供應(yīng)、傳輸?shù)陌踩砸约翱煽啃缘囊筇岢鲈絹碓礁叩囊?電力系統(tǒng)的可靠性和安全性發(fā)揮著重要的作用[1],同時隨著環(huán)境保護理念的加強以及有關(guān)鳥類保護的相關(guān)法律法規(guī)的建立并完善[2],鳥類的數(shù)量以及活動場地已擴增到前所未有的規(guī)模,為輸電線路的安全運行造成了危害。根據(jù)有關(guān)統(tǒng)計分析,鳥類活動引起線路跳閘次數(shù)在國家電網(wǎng)發(fā)生的全部輸電線路跳閘次數(shù)中排名第三,僅僅排在雷擊和外部損害導(dǎo)致的線路故障跳閘次數(shù)[3-5]。
目前針對輸電線路鳥害問題,電網(wǎng)公司往往采取傳統(tǒng)的驅(qū)鳥方式,如在桿塔的構(gòu)建上安裝鳥刺、安裝絕緣板防止鳥糞、在絕緣子下端安裝風(fēng)車[6-8]。采用以上物理方式并不能長期有效地解決鳥害問題,其存在施工困難、成本高和需要有風(fēng)的特殊條件等。目前最有效的方法是安裝超聲波驅(qū)鳥器[9-10],但是使驅(qū)鳥器長時間處于工作狀態(tài)不僅浪費資源,還可能會對周圍環(huán)境產(chǎn)生影響,定時間歇性工作又會使鳥類形成習(xí)慣,從而達不到驅(qū)鳥的效果。因此,如何制定驅(qū)鳥器的啟停策略成為解決鳥害問題的關(guān)鍵。
近年來,由于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的興起,學(xué)者們將深度學(xué)習(xí)的方法運用在目標(biāo)檢測中并取得了較好的檢測效果。文獻[11]提出的R-CNN利用滑動窗口策略進行圖像遍歷,運用聚類的方法將候選框分組,但是存在訓(xùn)練階段多、步驟繁瑣等問題,導(dǎo)致效率較低。與R-CNN相比,Fast R-CNN[12]改變了區(qū)域選取的位置,用Softmax代替了支持向量機,顯著降低了訓(xùn)練速度、測試速度和訓(xùn)練所需空間。Faster R-CNN[13]引入RPN候選框提取模塊,在速度和精度上都有了一定的提升。文獻[14-16]提出了YOLO目標(biāo)檢測方法,并對其進行了2個版本的改進,從而使實時檢測成為可能。雖然基于深度學(xué)習(xí)的目標(biāo)檢測方法日漸成熟,如文獻[17]將YOLO算法應(yīng)用于對行人的檢測,提高了定位準(zhǔn)確性,文獻[18]運用Fast RCNN進行前方車輛檢測,解決了特征提取速度慢的問題,但是目前還沒有將其應(yīng)用于輸電線路鳥類檢測這一場景下。
本文將采集到的現(xiàn)場環(huán)境的監(jiān)控數(shù)據(jù)進行相應(yīng)數(shù)據(jù)預(yù)處理,制作成輸電線路鳥類檢測數(shù)據(jù)集?;赮OLO v3模型為主體,檢測出輸電線路附近的鳥類數(shù)目,當(dāng)有一定數(shù)目的鳥活動在輸電線路周圍時啟動驅(qū)鳥器,在驅(qū)鳥的前提下最大程度地節(jié)約能耗與保護環(huán)境。
YOLO[14](You Only Look Once)自從被提出以來即受到了廣泛關(guān)注,共經(jīng)歷了3個版本的迭代,不斷地優(yōu)化自身和吸取其他檢測模型的優(yōu)點。與Faster R-CNN基于區(qū)域預(yù)測的目標(biāo)檢測算法不同,YOLO運用回歸的思想直接檢測整張輸入圖像,從而得到目標(biāo)的類別和位置。
YOLO算法實現(xiàn)了端到端的目標(biāo)檢測,模型將輸入圖像分成S×S的網(wǎng)格,如圖1所示。如果一個目標(biāo)的中心處于某個網(wǎng)格中,則這個網(wǎng)格負(fù)責(zé)預(yù)測這個目標(biāo)。在檢測的過程中,每個網(wǎng)格會產(chǎn)生B個邊界框(bounding box),每個邊界框都要預(yù)測邊界框位置信息(x,y,w,h)和置信度(confidence)。置信度是邊界框所含目標(biāo)的可能性(Pr(object))與邊界框準(zhǔn)確度IOU的乘積,計算公式如下:
(1)
圖1 圖像劃分示意圖
引入目標(biāo)類別屬性,對包含目標(biāo)的網(wǎng)格預(yù)測C個類別概率,用Pr(classi|object)表示。為了得到每個邊界框的分類信息,將邊界框所屬網(wǎng)格的類別概率與邊界框的置信度相乘得到置信度評分(confidence score),如式(2)所示,置信度評分代表了邊界框中目標(biāo)屬于某個類的概率。
(2)
在模型訓(xùn)練中,將邊界框的C個類別的置信度評分按高低排序,將得分小于閾值的置為0,最后再用非極大值抑制算法(NMS)去掉重復(fù)率較大的邊界框,最后每一個邊界框只保留置信度評分大于0且最高的類,從而檢測出各類目標(biāo)。
在YOLO v3中,模型的復(fù)雜程度進一步提升,采用多尺度融合方式來進行預(yù)測,在多尺度特征圖上進行位置和類別的預(yù)測,從而提高目標(biāo)檢測的準(zhǔn)確度,并在引入殘差網(wǎng)絡(luò)的同時提出更好的特征提取網(wǎng)絡(luò)darknet-53?;谝陨细倪M,YOLO v3模型在準(zhǔn)確度和速度上都有較好的效果。
在采用驅(qū)鳥器解決輸電線路鳥害問題時,驅(qū)鳥器的啟停時機尤為關(guān)鍵,采用目標(biāo)檢測技術(shù)檢測輸電線路附近的鳥,從而控制驅(qū)鳥器的啟停可達到實時驅(qū)鳥的效果。采用YOLO v3目標(biāo)檢測算法不僅可以做到實時檢測,還可以保證多尺度目標(biāo)檢測的準(zhǔn)確性。輸電線路鳥類檢測算法流程如圖2所示。首先由輸電線路附近監(jiān)控裝置以一定時間間隔提供實時圖像,提取出單幀的圖像送入檢測模型中,對預(yù)測出來的目標(biāo)進行計數(shù),當(dāng)鳥的數(shù)目達到閾值時啟動驅(qū)鳥器進行驅(qū)鳥。其中,檢測模型又可分為特征提取網(wǎng)絡(luò)和目標(biāo)檢測網(wǎng)絡(luò)。
圖2 輸電線路鳥類檢測算法流程
隨著提取網(wǎng)絡(luò)的不斷加深,在訓(xùn)練過程中會出現(xiàn)梯度消失和梯度爆炸等問題,而引入殘差網(wǎng)絡(luò)就可以很好地解決這一問題[19]。將進入殘差盒前的特征和殘差盒輸出的特征相結(jié)合,能提取更深層次的特征信息。本文特征提取網(wǎng)絡(luò)使用darknet-53,網(wǎng)絡(luò)中運用到了殘差網(wǎng)絡(luò),特征提取網(wǎng)絡(luò)如圖3所示,其中虛線標(biāo)出部分為殘差單元。
圖3 特征提取網(wǎng)絡(luò)結(jié)構(gòu)
YOLO v3在目標(biāo)檢測領(lǐng)域已經(jīng)取得較好的檢測效果,采用多尺度融合的方式進行目標(biāo)檢測,對目標(biāo)的尺度變化適應(yīng)性較好,但是在輸電線路鳥類檢測任務(wù)中,從K-means算法聚類的結(jié)果中發(fā)現(xiàn)監(jiān)控設(shè)備拍攝目標(biāo)普遍較小,常會出現(xiàn)多目標(biāo)聚集和小目標(biāo)的情況。因此,需要對YOLO v3檢測模型進行改進,從而適應(yīng)特定的輸電線路鳥類檢測任務(wù),同時為了提升運算速率保證任務(wù)的實時性,模型中僅提取兩組多尺度特征對鳥類位置和類別進行預(yù)測,從而適應(yīng)特定的輸電線路鳥類檢測任務(wù)。
輸入圖像大小為416×416,網(wǎng)絡(luò)模型結(jié)構(gòu)如圖4所示。將L74(74層)進行5次卷積操作以及上采樣操作,然后再進行5次卷積操作、3×3和1×1等卷積后得到26×26的特征,并與L61融合作為第一尺度特征,以類似的方法可以得到52×52的特征,并與L36融合作為第二尺度特征。通過多尺度特征分析,可以更好地適應(yīng)輸電線路鳥類檢測場景下多目標(biāo)聚集和小目標(biāo)的情況,從而提高模型準(zhǔn)確率,同時采用與現(xiàn)實場景相匹配的尺度數(shù)目,可以有效地減少計算量。此外,在輸電線路鳥類檢測中只需要檢測鳥類這一個類,修改模型輸出類別個數(shù),從而減少不必要的計算量。
圖4 網(wǎng)絡(luò)模型結(jié)構(gòu)
本文實驗硬件環(huán)境如表1所示,在此基礎(chǔ)上搭建軟件環(huán)境Ubuntu16.04、Python、OPPENCV、CUDA等,運用Caffe框架與darknet-53框架。
表1 實驗硬件環(huán)境配置
實驗中所用數(shù)據(jù)由江蘇地區(qū)輸電線路桿塔附近監(jiān)控設(shè)備采集。在不同時段、不同天氣及不同場景下隨機抽取監(jiān)控視頻,并提取出單幀圖像作為數(shù)據(jù)集,同時為了提高模型的魯棒性,在數(shù)據(jù)集中加入部分來源于網(wǎng)絡(luò)且符合實際的鳥類圖片。
用Labellmg工具對收集到的圖片進行標(biāo)注并以VOC數(shù)據(jù)的格式來存儲。數(shù)據(jù)集中共有5 000張圖像,按照4∶1的比例將其劃分為訓(xùn)練集和測試集。
在進行模型訓(xùn)練之前,需要確定預(yù)選框的個數(shù)及大小,采用合適的預(yù)選框參數(shù)可以有效地提高模型準(zhǔn)確率和訓(xùn)練速度。本文采用k-means算法對標(biāo)記好的數(shù)據(jù)集進行聚類分析,得到了6組預(yù)選框參數(shù)分別為:(20,51),(49,28),(45,43),(75,40),(61,64),(53,81),并使用這些參數(shù)進行下述模型訓(xùn)練。
參考YOLO v3官方推薦權(quán)重參數(shù)及具體實驗中進行適當(dāng)調(diào)整后,采用模型訓(xùn)練參數(shù)如表2所示,從而使得訓(xùn)練出的模型具有最優(yōu)的檢測效果。
表2 模型參數(shù)說明
使用上述參數(shù)作為訓(xùn)練的初始化參數(shù),共訓(xùn)練了13 000次,Loss變化示意圖如圖5所示。
圖5 Loss值變化示意圖
由于前3 000次Loss較大,當(dāng)達到1 000次時,Loss已經(jīng)下降到了2。隨著網(wǎng)絡(luò)訓(xùn)練的進行,網(wǎng)絡(luò)的損失值逐漸降低,當(dāng)訓(xùn)練到達指定次數(shù)時,網(wǎng)絡(luò)開始降低學(xué)習(xí)速率,對模型進行微調(diào)操作,損失值隨著訓(xùn)練的進行而繼續(xù)緩慢下降,最終達到收斂狀態(tài)。
在訓(xùn)練的13 000次中,每100次迭代輸出一個模型,一共得到130個模型。通過比較這130個模型的平均精度均值(mAP),選出一個最優(yōu)模型。由130個模型計算出的mAP值如圖6所示,其中,橫坐標(biāo)代表模型序號,mAP值范圍為0~100%。
圖6 mAP值變化示意圖
從圖6可以看出,當(dāng)?shù)搅? 500次時mAP值已基本穩(wěn)定,沒有較大的變化,因此可以選出最優(yōu)模型。
為了驗證模型的效果、準(zhǔn)確情況、穩(wěn)定性以及樣本對其的影響,分別從訓(xùn)練集和測試集中每次隨機抽取200張圖片進行測試,共測試10次,并用準(zhǔn)確率和召回率來比較測試結(jié)果。其中:TP表示預(yù)測有鳥,實際有鳥;FP表示預(yù)測有鳥,實際無鳥;FN表示預(yù)測無鳥,實際有鳥;TN表示預(yù)測無鳥,實際無鳥。準(zhǔn)確率(P)和召回率(R)的計算公式如下:
測試結(jié)果如表3所示,從表3可以看出,在輸電線路鳥類檢測這一場景下,該模型表現(xiàn)較好,準(zhǔn)確率達到并穩(wěn)定在90%左右,平均識別一張圖片所用的時間為20 ms,即平均檢測速度達到47 frame/s,圖7為檢測結(jié)果。由此可知,該模型運用在輸電線路鳥類檢測這一場景下具有較好的效果,對檢測出來的鳥類進行計數(shù)后便可以作為驅(qū)鳥器是否啟動的重要判斷條件。
表3 實驗測試結(jié)果
圖7 輸電線路鳥類檢測示意圖
在現(xiàn)實場景中,由于大風(fēng)、下雨、下雪和大霧等天氣影響,會導(dǎo)致監(jiān)控裝置采集到的圖片質(zhì)量嚴(yán)重下降。為進一步驗證模型在極端天氣下的表現(xiàn),選取一些存在極端情況下的圖片進行檢測,隨機抽取部分具有代表性的檢測結(jié)果如圖8~圖10所示。
圖8 雨中檢測示意圖
圖9 霧中檢測示意圖
圖10 設(shè)備抖動檢測示意圖
圖8為下雨場景,經(jīng)過測試,下雨場景對該模型影響不大,準(zhǔn)確度并沒有明顯下降。圖9為大霧場景,大霧天氣對檢測效果有一定影響,個別鳥過于融入霧中導(dǎo)致無法檢測出來。由于大風(fēng)監(jiān)控裝置抖動,導(dǎo)致采集的圖片模糊,如圖10所示,對于小幅度抖動不會影響檢測效果,但是抖動幅度過大將影響模型檢測效果。綜上所述,因為極端天氣在實際情況中為少數(shù),且只有濃霧和大幅度抖動會影響模型檢測效果,對于檢測后計數(shù)和啟動驅(qū)鳥器閾值的影響在可接受范圍內(nèi)。
為測評該模型的性能,本文對比了目前比較流行的目標(biāo)檢測模型:Faster R-CNN和SSD。運用相同的策略和數(shù)據(jù)集訓(xùn)練模型,并從測試集中隨機抽取200張圖片進行測試,每種模型進行5次測試并對結(jié)果求平均,以準(zhǔn)確率和每識別一張圖片所用的平均時間作為檢測效果的評價指標(biāo),結(jié)果如表4所示。
表4 實驗結(jié)果對比
由實驗結(jié)果可知,在準(zhǔn)確率方面,Faster R-CNN算法最高,達到了89.73%,YOLO v3的準(zhǔn)確率為86.75%,雖然檢測準(zhǔn)確率低于Faster R-CNN,但是檢測速度比Faster R-CNN算法快134倍,對于輸電線路鳥類檢測這一實時檢測任務(wù),使用YOLO v3較為合適。對于SSD算法來說,檢測準(zhǔn)確率和檢測所需時間都略遜于YOLO v3。因此,基于YOLO v3的輸電線路鳥類檢測模型可以較好地完成鳥類檢測任務(wù),同時為制定啟動驅(qū)鳥器策略起到重要支撐作用。
本文提出一種基于深度神經(jīng)網(wǎng)絡(luò)YOLO v3算法的輸電線路鳥類檢測方法。運用輸電線路上監(jiān)控裝置采集的圖像訓(xùn)練模型,實現(xiàn)對輸電線路附近鳥類的檢測,從而控制驅(qū)鳥器的啟停時間,在節(jié)能環(huán)保的同時,達到保護輸電線路并保證電網(wǎng)運行安全的效果。實驗結(jié)果表明,與SSD算法、Faster R-CNN算法相比,YOLO v3算法具有較快的檢測速度,在雨霧等惡劣天氣的影響下能夠基本滿足輸電線路鳥類檢測任務(wù)所需的準(zhǔn)確性和實時性要求。但是對于姿態(tài)多變的鳥類圖像存在漏檢的現(xiàn)象,還需要完善數(shù)據(jù)集并優(yōu)化算法,以盡量避免漏檢,從而提升輸電線路鳥類檢測的準(zhǔn)確率。