游康 謝冠鴻 黃榮 藍如師*
(1.桂林電子科技大學 廣西壯族自治區(qū)桂林市 541000)(2.廣西景航無人機有限公司 廣西壯族自治區(qū)南寧市 530000)
隨著電力系統(tǒng)規(guī)模的日益發(fā)展,目前對電力線路的安全運行和供電可靠性的要求越來越高。電力線路一旦出現(xiàn)故障,則有可能影響到成片區(qū)域的供電安全,嚴重的甚至造成不可估量的損失,所以必須要對電力線路進行維護。電力線路上存在鳥窩,可能會導致電力線路出現(xiàn)故障,這是電力巡檢中常見的問題之一。傳統(tǒng)的巡檢辦法是通過人工肉眼識別圖片中電力線路上是否存在鳥窩,這種方法不僅耗費時間,而且當數(shù)據(jù)量過大時,容易出錯。
利用智能自動化檢測鳥窩是目前電力巡檢的主流發(fā)展趨勢。鳥窩的智能檢測歷經(jīng)了幾個發(fā)展階段,之前采用巡線機器人技術、直升飛機巡線技術、遠程圖像視頻監(jiān)控技術檢測鳥窩,但因它們耗費人力物力較大,如今電力企業(yè)中大多都是利用無人機拍攝圖片以后,再使用檢測軟件去智能識別鳥窩圖片。智能鳥窩檢測方法現(xiàn)在已經(jīng)屬于目標檢測領域當中的問題,如何進行目標圖像檢測,這就需要用到目標檢測算法進行解決了。比較流行的算法可以分為兩類,一類是基于Region Proposal 的R-CNN 系算法(R-CNN,F(xiàn)ast R-CNN,Faster R-CNN),它們是two-stage 的,需要先使用啟發(fā)式方法(selective search)或者CNN 網(wǎng)絡(RPN)產(chǎn)生Region Proposal,然后再在Region Proposal 上做分類與回歸。而另一類是Yolo,SSD 這類one-stage 算法,其僅僅使用一個CNN 網(wǎng)絡直接預測不同目標的類別與位置。第一類方法是準確度高一些,但是速度慢,但是第二類算法是速度快,但是準確性要低一些。
本系統(tǒng)使用的是Yolo 算法,其全稱是You Only Look Once: Unified, Real-Time Object Detection,其中,You Only Look Once 說的是只需要一次CNN 運算,Unified 指的是這是一個統(tǒng)一的框架,提供end-to-end 的預測,而Real-Time體現(xiàn)是Yolo 算法速度快。Yolo 系列算法中Yolov5 算法是目前實時性、檢測精度都較高的檢測算法。借助深度學習技術的發(fā)展和YOLOv5 算法的改進,我們訓練出檢測鳥窩的神經(jīng)網(wǎng)絡,基于這個網(wǎng)絡我們設計出了一款能夠自動檢測鳥窩的軟件。
YOLOv5 模型是 Ultralytics 公司于 2020 年 6 月 9 日公開發(fā)布的。YOLOv5 模型是基于 YOLOv3 模型基礎上改進而來的,有 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四個模型。YOLOv5 模型由骨干網(wǎng)絡、頸部和頭部組成。YOLOv5 模型由骨干網(wǎng)絡、頸部和頭部組成。
YOLOv5 模型的骨干網(wǎng)絡主要由 Focus、BottleneckCSP和 SSP 網(wǎng)絡構成,其中主要包括 Focus、Conv 卷積塊、BottleneckCSP 和 SSP 等 模 塊。YOLOv5 的 頸 部 采 用BottleneckCSP1 和 BottleneckCSP2 ,能在保證準確的同時,提高網(wǎng)絡速度。YOLOv5m 的頭部采用多尺度特征圖用于檢測,用大圖像檢測小目標,小圖像檢測大目標。
YOLOv5 模型網(wǎng)絡由三個主要組件組成:Backbone:在不同圖像細粒度上聚合并形成圖像特征的卷積神經(jīng)網(wǎng)絡。Neck:一系列混合和組合圖像特征的網(wǎng)絡層,并將圖像特征傳遞到預測層。output:對圖像特征進行預測,生成邊界框和并預測類別。對于YOLOV5,無論是V5s,V5m,V5l 還是V5x 其Backbone,Neck 和output 一致。唯一的區(qū)別在與模型的深度和寬度設置。
與Yolov3 對比,Yolov5 主要進行了下面4 方面的改進。第一,輸入端:使用Mosaic 數(shù)據(jù)增強,自適應錨框計算,自適應圖片縮放。第二,在圖片進入主干前使用Focus模塊對圖片進行切片操作,并且使用C3 模塊從輸入圖像中提取豐富的信息特征;第三,在Neck 層中采用新版的FPN結構和PAN 結構;第四,損失函數(shù),使用CIOU Loss 作為bounding box 回歸的損失。
(1)Yolov5 在輸入中使用的Mosaic 是參考CutMix 數(shù)據(jù)的一種增強方法。與使用兩張圖片拼接的CutMix 方法相比,Mosaic 數(shù)據(jù)增強使用4 張圖片進行拼接,并使用隨機縮放、隨機裁剪隨機排列增強拼接效果。在整個數(shù)據(jù)集中,小、中、大目標的比例并不均衡。尤其是在Coco 數(shù)據(jù)集中小物體比例比較大的情況下,Moscaic 數(shù)據(jù)增強方法有幾個優(yōu)點:1、豐富數(shù)據(jù)集:隨機使用4 張圖片,隨機縮放,然后隨機分布拼接,極大豐富了檢測數(shù)據(jù)集,尤其是隨機縮放,增加了很多小物體,使得網(wǎng)絡更加健壯。2.可以減少GPU:可能有人會說普通的數(shù)據(jù)增強也可以用隨機縮放來做,當只存在一GPU 時,使用Mosaic 增強訓練可以直接計算4 張圖片的數(shù)據(jù),使得Mini-batch 大小并不需要很大,一個GPU 便可以達到滿意的效果。Yolov5 在訓練時能自適應的計算不同訓練集中的最佳錨框值,并且但Yolov5 代碼中對自適應圖片縮放進行了改進,大大提升了Yolov5 推理速度。
(2)在Yolov5 中使用Focus 模塊,在圖像進入主干之前對圖像進行切片。具體操作是對一張圖片中每隔一個像素取一個值,類似相鄰下采樣,這樣得到四張圖片,四張圖片互補,長度相近,但不丟失任何信息。這樣W 和H 信息集中在通道空間,輸入通道擴大了4 倍,也就是拼接后的圖像相比原來的RGB 三通道模式變成了12 通道。最后對得到的新圖像進行卷積操作,最終得到?jīng)]有信息丟失的二倍采樣特征圖。這和yolov2 中的ReOrg+Conv 操作一樣,是亞像素卷積的逆向操作版本。簡單來說就是把數(shù)據(jù)分成4 個部分,每個數(shù)據(jù)相當于2次下采樣,然后對channel的維度進行拼接,最后進行卷積操作,這樣可以執(zhí)行下采樣操作并且做到最小化信息丟失。
Yolov5 使用CSPDarknet 作為Backbone 從輸入圖像中提取豐富的信息特征。 CSPNet 的全稱是Cross Stage Partial Networks,是一個跨階段的局部網(wǎng)絡。CSPNet 解決了其他大規(guī)模卷積神經(jīng)網(wǎng)絡框架Backbone 中網(wǎng)絡優(yōu)化的梯度信息重復問題,將梯度變化自始至終融入到特征圖中,從而減少了模型的參數(shù)量和FLOPS 值,不僅保證了推理的速度和準確性,減小了模型的大小。 CSPNet 其實是基于Densnet 的思想,拷貝base 層的feature map,通過dense block 將拷貝送到下一個stage,從而分離base 層的feature map。這樣可以有效緩解梯度消失問題(通過非常深的網(wǎng)絡很難逆轉(zhuǎn)丟失的信號),支持特征傳播,鼓勵網(wǎng)絡重用特征,從而減少網(wǎng)絡參數(shù)的數(shù)量。
在全新的Yolov5 結構中,F(xiàn)ocus 模塊以后會調(diào)用一個CONV 模塊。Conv 實現(xiàn)了將輸入特征經(jīng)過卷積層,激活函數(shù),歸一化層,得到輸出層這幾個操作。在新版本的yolov5中, BottleneckCSP(bottleneck layer)模塊被改造為C3 模塊。其結構功能與CSP架構基本相同,只是校正單元的選擇不同,并且它包括3 個標準卷積層和多個Bottleneck 模塊。
(3)在目標檢測領域,為了更好的提取融合特征,通常在Backbone 層和輸出層,會插入一些層,這部分稱為Neck, 這相當于目標檢測網(wǎng)絡的頸部,是關鍵的一部分。Yolov5 現(xiàn)在的Neck 和Yolov4 中一樣,都采用FPN+PAN 的結構,在Yolov5 的Neck 結構中,采用借鑒CSPnet 設計的CSP2 結構,加強網(wǎng)絡特征融合的能力。
(4)YOLOv5 損 失 函 數(shù) 包 括:classification loss、localization loss、confidence loss 這三類。yolov1 到y(tǒng)olov5 的組成部分都是這三類,但具體損失的計算方法在不斷改進。YOLOv5 使用二元交叉熵損失函數(shù)計算類別概率和目標置信度得分的損失;使用CIOU Loss 作為bounding box 回歸的損失。
基于YOLOv5 的電力巡檢鳥窩智能檢測系統(tǒng)主要包括系統(tǒng)的登錄注冊模塊設計、檢測功能模塊設計、系統(tǒng)數(shù)據(jù)庫設計。系統(tǒng)的功能設計圖如圖1 所示。
圖1: 系統(tǒng)的功能設計圖
登錄注冊模塊提供登錄、注冊功能,用戶進行注冊以后,輸入賬號密碼可以進行登錄操作。圖2 為登錄注冊流程圖。
圖2: 登錄注冊流程圖
鳥窩檢測功能模塊包括待檢測圖片選擇功能、開始檢測功能、實時檢測功能、結果圖片輸出功能。用戶首先點擊選擇圖片功能按鈕,選擇待檢測圖片文件夾,然后點擊輸出圖片功能按鈕,選擇輸出圖片路徑。最后點擊開始檢測功能按鈕,可以實現(xiàn)批量圖片檢測。系統(tǒng)對圖片進行掃描檢測,檢測進度可以在進度條上實時顯示出來,如果檢測到圖片上有鳥窩,則將其相應路徑記錄下來存儲到數(shù)據(jù)庫中,測完以后自動將有鳥窩的圖片放到指定文件夾中。鳥窩檢測功能模塊流程圖如圖3 所示。
圖3: 鳥窩檢測功能模塊流程圖
數(shù)據(jù)庫管理系統(tǒng)是為管理數(shù)據(jù)庫而設計的電腦軟件系統(tǒng),一般具有存儲、截取、安全保障、備份等基礎功能。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心組成部分,主要完成對數(shù)據(jù)庫的操作與管理功能,實現(xiàn)數(shù)據(jù)庫對象的創(chuàng)建、數(shù)據(jù)庫存儲數(shù)據(jù)的查詢、添加、修改與刪除操作和數(shù)據(jù)庫的用戶管理、權限管理等。
為了使數(shù)據(jù)可存儲化,方便對歷史數(shù)據(jù)進行操作,本系統(tǒng)使用Mysql 技術進行數(shù)據(jù)的增刪查改操作。本系統(tǒng)設計了鳥窩信息表、管理員信息表來表示數(shù)據(jù)。數(shù)據(jù)庫無需存儲待檢測的圖片的信息,只需要存儲輸出結果,即若經(jīng)過軟件檢測以后注明存在有鳥窩的圖片,此時會將該圖片的相關信息存儲到數(shù)據(jù)庫中,極大減輕了數(shù)據(jù)庫存儲負擔。
系統(tǒng)總體采用python 編程實現(xiàn),界面采用PyQt 技術實現(xiàn)可視化編程,數(shù)據(jù)存儲則采用MySQL 技術,結合Pytorch框架、YOLOv5 算法實現(xiàn)圖片檢測,通過代碼完成對后端接口的調(diào)用以及數(shù)據(jù)的提交。系統(tǒng)架構圖如圖4 所示。
圖4: 系統(tǒng)總體架構
打開軟件后,如果首次登錄,并且沒有賬號密碼,可以先進行注冊操作。注冊成功以后,回到登錄界面輸入正確的用戶名和密碼即可快速登錄。登錄完成以后自動跳轉(zhuǎn)到鳥窩檢測系統(tǒng)的主界面。
待檢測圖片管理功能提供了選擇圖片的功能按鈕。點擊相應功能,選擇待檢測的圖片文件夾,點擊確定,會將指定路徑顯示在按鈕旁邊。利用選定文件夾的功能可以一次性指定多張待檢測的圖片,極大簡化了繁瑣的流程,加快檢測速度。
輸出圖片管理功能提供了對檢測結果圖片的管理存儲操作。用戶點擊輸出圖片文件夾按鈕,選擇目的文件夾,會將指定路徑顯示在按鈕旁邊。進行檢測以后系統(tǒng)會自動將有鳥窩的圖片復制到指定文件夾中,并且將相應圖片中的鳥窩位置標注出來,然后將相應數(shù)據(jù)上傳至數(shù)據(jù)庫。
檢測管理模塊包括了開始檢測和檢測進度管理功能。當用戶選定好待檢測圖片文件夾路徑以及檢測結果圖片存放的文件路徑后,點擊開始檢測按鈕即可開始檢測。在檢測過程中,我們還可以根據(jù)系統(tǒng)提供的檢測進度條實現(xiàn)對檢測進度的實時監(jiān)控管理。
實 驗 環(huán) 境:Pytorch1.8、cuda10.2、python3.6、linux 操作系統(tǒng)、顯卡:NVIDIA Tesla P100 16G。
數(shù)據(jù)集共計1420 張,其中1000 余張用于模型訓練,200 余張用于模型測試,剩余用于模型驗證。最終檢測結果顯示模型的精確識別率達96.5%,查全率達97.2%。
通過對“基于yolov5 的電力巡檢鳥窩智能檢測系統(tǒng)”的各個功能進行測試,我們得到了如表1 所示的測試結果。
表1: 測試結果
使用軟件對圖片進行智能檢測鳥窩,可以準確的將圖片中鳥窩所在位置標注出來。如果系統(tǒng)在圖片中檢測到鳥窩,會將圖片中的鳥窩用紫色矩形框框起來,矩形框左上角會顯示該處是鳥窩的概率。系統(tǒng)對圖5 進行檢測,檢測效果如圖6 所示,圖6 紫框處是鳥窩的概率為0.84,符合實驗預期效果。
圖5: 待檢測圖片
圖6: 檢測后有鳥窩存在的圖片
本系統(tǒng)實現(xiàn)了高精度、高效率的電力巡檢鳥窩檢測,經(jīng)測試,系統(tǒng)功能都能正常運行。隨著電力系統(tǒng)規(guī)模的發(fā)展,目前對電力系統(tǒng)的維護需求越來越高,相比于傳統(tǒng)的電力巡檢方式,本系統(tǒng)更加智能并且效率更高,可以說有著光明的發(fā)展前景。
本系統(tǒng)完成了智能鳥窩圖片檢測、鳥窩圖片存儲、鳥窩圖片信息提交數(shù)據(jù)庫等一套完整的開發(fā),以后將根據(jù)更具體的需求不斷添加以及改進新的功能,努力使系統(tǒng)更加貼合實際使用。