孫玉瑋 傅 靖 馬青山 張 斌
(1.國網(wǎng)江蘇省電力有限公司南通供電分公司 南通 226006)(2.南通華遠科技發(fā)展有限公司 南通 226007)
近年來,隨著經(jīng)濟發(fā)展,社會對電力的需求越來越高。為了推動電網(wǎng)智能化發(fā)展,基于圖像處理技術的電力作業(yè)管控平臺[1]逐漸被應用于電力巡檢工作中。其中,電力安全標志牌檢測可以傳達警告和操作提示等信息[2],是電力作業(yè)管控平臺的重要內(nèi)容。
電力場景中的安全標志牌通常有顯著的顏色、圖形或文字等特征[3]。傳統(tǒng)的標志牌檢測算法主要是根據(jù)顏色、形狀和邊緣等特征進行設計[4]。此類特征一般受限于數(shù)據(jù)集的數(shù)量與固定的特征結構,易受環(huán)境影響,尤其在光照不均或存在遮擋的情況下難以識別[5]。相反,基于深度學習的目標檢測方法在大量訓練集上進行反復迭代,自動學習圖像特征信息。在深度網(wǎng)絡中,淺層網(wǎng)絡提取到紋理和顏色等特征,而深層網(wǎng)絡抽取帶有語義信息的高維度特征。多層次的特征使得深度學習方法具有較強的魯棒性。深度學習在電力行業(yè)中有著廣泛應用,如電力開關的狀態(tài)識別和輸電線路部件識別與缺陷檢測[6]。本文主要將深度學習技術應用到電力安全標志牌檢測中,提高電力場景中安全標志牌檢測精度。
基于深度卷積神經(jīng)網(wǎng)絡的目標檢測算法大致可分兩個研究方向[7]:兩階段目標檢測網(wǎng)絡和一階段目標檢測網(wǎng)絡。更快速區(qū)域卷積神經(jīng)網(wǎng)絡Fast?er-RCNN[8]是兩階段目標檢測網(wǎng)絡中具有代表性的檢測網(wǎng)絡,通過兩個分支分別實現(xiàn)目標的分類識別與檢測定位。Faster-RCNN 檢測效果較好,但網(wǎng)絡結構復雜且耗時高。一階段目標檢測網(wǎng)絡主要有YOLO(You Only Look Once)系列[9]。與兩階段目標檢測網(wǎng)絡相比,一階段目標檢測網(wǎng)絡僅使用一個分支實現(xiàn)目標的端對端檢測與識別。一階段目標檢測網(wǎng)絡結構較簡單,且能更好地平衡檢測速度和精度,在工程應用中更受歡迎。
YOLO 系列的目標檢測網(wǎng)絡有YOLOv1[9]、YO?LOv2[10]和YOLOv3[11]。YOLOv1網(wǎng)絡中全連接層限制了圖片尺寸且一個網(wǎng)格(Cell)只能得到一類物體的檢測結果,在應用上有一定限制。YOLOv2 使用Darknet-19 作為基礎網(wǎng)絡,同時引入錨框(An?chor)機制。其中,每一個網(wǎng)格中錨框的類別相互獨立,實現(xiàn)了每個網(wǎng)格的多類別輸出。與YOLOv2相比,YOLOv3使用了更大的骨干網(wǎng)絡Darknet-53,對多個尺度的特征層進行融合并在不同尺度的特征層上分別進行檢測,增加了網(wǎng)絡對于不同尺度目標的識別效果。另外,從數(shù)據(jù)角度看,深度卷積神經(jīng)網(wǎng)絡是一種數(shù)據(jù)驅動的算法。但是,在電力安全標志牌檢測方面尚無公開的數(shù)據(jù)集,這成為深度學習檢測電力安全標志牌的障礙。
為此,本文建立了針對電力安全標志牌檢測的數(shù)據(jù)集。電力安全標志牌檢測存在以下兩個問題:1)算法實時性要求較高;2)電力標志牌幾何特征變化不大,但尺寸較小、角度多樣和容易被遮擋。YO?LOv3耗費計算資源較多,為了保證算法實時性,本文使用YOLOv2作為基礎網(wǎng)絡。為了解決標志牌尺寸小等難題,在原始YOLOv2 網(wǎng)絡中引入SegNet[12]的索引池化(Index Pooling)結構以恢復精準的特征信息,從而提高電力安全標志牌的檢測精度。
在YOLOv2 網(wǎng)絡結構中,輸入的圖片經(jīng)過一系列卷積后得到32 倍下采樣的特征圖。將下采樣后的特征圖映射到輸入圖像,不同映射單元的特征用來預測此單元內(nèi)的目標。盡管每個特征點都設置了一系列長寬比不同的錨框以適應不同尺度形狀的目標,但下采樣步長過大會導致錨框尺度難以覆蓋到小目標。
本文通過提升特征圖分辨率和增加輸入圖像對應的錨框密度,提高對小目標的覆蓋率。同時,在上采用的過程中使用索引池化技術以精準恢復特征信息。改進后的YOLOv2 命名為YOLO_IP(YOLO Index Pooling)。圖1 顯示了YOLO_IP 的網(wǎng)絡結構,梯形表示基礎網(wǎng)絡Darknet-19,平行四邊形為特征圖,虛線框為池化掩碼。Darknet-19 最后輸出的特征圖結合池化掩碼進行上采樣,增加輸出特征層分辨率的同時限制上采樣過程中非目標信息的引入。上采樣后的特征圖與相同大小的淺層特征進行融合,融合更多的上下文信息有助于目標位置的回歸。
圖1 網(wǎng)絡結構,◎利用池化掩碼上采樣操作,⊕通道尺度上的拼接操作。
對于目標位置的預測,計算公式如式(1)~(4):
式中,(tx,ty,tw,th)為網(wǎng)絡預測值對應于輸出特征網(wǎng)格中心點的偏移與寬高,cx,cy為對應特征網(wǎng)格的索引坐標,(bx,by,bw,bh)為檢測目標對應于輸出特征的坐標,pw,ph為錨框相對于輸出特征的寬高。sigmoid 函數(shù)限制當前預測框的中心不會超出當前單元中心而偏移到相鄰單元。
在YOLOv2 網(wǎng)絡中,預測層特征分辨率較低,對應輸入圖像的錨框密度較小,錨框中心與目標中心距離較遠。網(wǎng)絡需要學習到較大偏移量去擬合目標位置,增加了網(wǎng)絡對目標學習的難度。為此,可以通過增加預測層特征圖尺寸,以增加輸入圖像上錨框密度,減少錨框與目標位置之間的距離。
如圖2 中(a)和(b)所示,圓點表示錨框對應到輸入圖像中的位置,星形為目標框中心位置。圖2(a)和圖2(b)左側顯示了錨框映射到輸入圖像的分布密度,圖(a)和圖(b)右側顯示了錨框與目標框的相對位置。圖(a)中由于下采樣步長過大,錨框密度過低,導致目標框中心位置距離最近的錨框中心較遠,網(wǎng)絡學習困難。圖(b)比圖(a)的錨框密度高。對于相同的目標框,圖(b)中錨框能夠更好地覆蓋目標,減少目標框位置與錨框之間的偏移距離,減輕網(wǎng)絡對目標的學習難度。
圖2 兩種分辨率特征圖對應輸入圖像錨框密度對比
針對電力標志牌檢測數(shù)據(jù)的檢測,采集的圖片樣本分辨率為1920×1080。為防止網(wǎng)絡訓練過程中尺寸縮放導致的圖像畸變,樣本圖片均按照其最長邊以零像素值將分辨率補齊至1920×1920。其中,通過統(tǒng)計較小電力安全標志牌的區(qū)域,平均為60×60 像素大小,約占圖像大小的1/(32×32)。YO?LOv2 最后的輸出特征圖中每一個特征點對應的區(qū)域占原始圖像的1/(13×13),其比例遠大于電力安全標志牌所占比例。
YOLO_IP 網(wǎng)絡輸入尺寸為416×416,對應的檢測層特征尺寸為26×26。每個特征點映射回原始圖像的網(wǎng)格占原始圖像的1/(26×26)。同時通過對電力安全標志牌數(shù)據(jù)集進行尺度聚類,得到三種錨框尺寸:(0.57,0.67)、(1.87,2.06)和(3.33,5.47)。三種錨框分別對應特征圖尺寸(Feature Size)、輸入尺寸(Input Size)與原圖尺寸(Image Size)見表1。
表1 表錨框與原圖對應尺寸
最小尺寸的錨框對應到原圖尺寸為42.09×49.98 能夠覆蓋到較小的標志牌區(qū)域,有利于訓練初期網(wǎng)絡的召回率提升,從而增加訓練速度。
YOLO_IP需要較高預測框密度,因此需要提高輸出層特征圖分辨率。直接使用淺層高分辨率的特征圖的方法會丟失網(wǎng)絡深層的語義信息[13],而直接通過對深層特征進行插值上采樣方法增加特征圖尺寸會無差別地將特征復制到鄰近位置,容易引入誤差。
為此,本文采用索引池化技術恢復深層特征分辨率,精準地恢復深層語義信息在高分辨率特征圖中的位置,減少誤差引入。索引池化技術首次出現(xiàn)在語義分割網(wǎng)絡SegNet 中。SegNet 使用索引池化恢復特征圖的編碼信息。具體地,在解碼階段根據(jù)編碼階段記錄的索引恢復相應位置的值,從而達到更好更精細的語義分割效果。
如圖3所示,4×4大小的特征圖經(jīng)過索引池化,得到2×2 大小的特征圖,同時保存了最大值對應的位置掩碼(Index Mask)。另外,對2×2 的特征圖進行上采樣(Index Upsample),結合最大值位置將特征圖結果從2×2大小恢復到4×4大小。
圖3 索引池化
索引池化保留了最大值對應的位置掩碼信息,可用來精準恢復高分辨率特征圖中的特征信息。在YOLO_IP 中使用索引池化恢復深層特征分辨率,限制了非激活位置信息的引入,從而突出目標位置的特征信息,提升網(wǎng)絡對目標分類識別的準確度。
訓練所使用的損失函數(shù)如式(5):
式(5)中K為預測層特征圖尺寸,M為先驗框個數(shù),C為類別數(shù)。
式(7)中在真實標注對應網(wǎng)格處計算預測框的坐標損失,分為中心點偏移損失與寬高損失。其中diffx,diffy為真實標注中心與其所在網(wǎng)格中心之間的偏移量,predx,predy為網(wǎng)絡在網(wǎng)格處預測得到的預測框中心與該網(wǎng)格中心之間的偏移量。anchorw,anchorh為先驗框寬高,w,h為真實標注的寬高,使用(2-w*h)平衡檢測框尺寸。
式(8)使用sigmoid 交叉熵損失計算真實標注對應網(wǎng)格處類別損失,?為類別標簽,c為網(wǎng)絡預測值。
scaleiou、scalecoord和sacleclass用來控制損失各組成部分的權重,均設置為1。
電力安全標志牌多分布于電力場景中,數(shù)據(jù)采集困難且危險系數(shù)高。目前尚無開源的電力安全標志牌檢測的檢測數(shù)據(jù)集。因此,本文使用監(jiān)控攝像頭采集變電站中含有電力安全標志牌的視頻數(shù)據(jù),挑選常見的8 種電力安全標志牌,自制一個電力安全標志牌檢測數(shù)據(jù)集(Electricity Safety Sign 8,ESS8),如圖4所示。
圖4 電力安全標志牌示例圖
通過對攝像頭采集到的視頻數(shù)據(jù)進行抽幀和篩選,最終得到5000 張含有安全標志牌的圖像,分辨率為1920×1080。對其進行人工標注,同時采用旋轉和鏡像的方式增強數(shù)據(jù)。最終得到12000 張增強數(shù)據(jù),其中10000 張作為訓練集,2000 張作為測試集。
實驗中所使用的硬件包括顯卡GTX 1080 Ti、Intel(R)Xeon(R)CPU 和251G 內(nèi)存。所使用的系統(tǒng)為Ubuntu16.04,深度學習框架使用Caffe。
為驗證索引池化結構的有效性,增加了對比網(wǎng)絡YOLOv2_26×26,其通過簡單上采樣方式將預測層特征分辨率提升至26×26。使用相同數(shù)據(jù)集對YOLOv2、YOLO_IP 和YOLOv2_26×26 進行訓練與測試。三個網(wǎng)絡均使用隨機梯度下降法(Stochas?tic Gradient Descent,SGD)優(yōu)化策略進行優(yōu)化,基礎學習率設置為0.0001,進行60000 次迭代,每次迭代的Batch Size設置為3。
網(wǎng)絡召回率和網(wǎng)絡損失分別如圖5和圖6。圖5 反應了網(wǎng)絡錨框對正樣本的召回率,計算公式如式(9):
其中,TP為正確檢測到的正樣本個數(shù),F(xiàn)N為錯誤檢測到的負樣本個數(shù)。當預測框與真實框的交并比大于0.5時判斷為正樣本,否則為負樣本。
由圖5 可知,YOLO_IP 與YOLOv2_26×26 的初始召回率都較原始YOLOv2 高。因此,使用更大分辨率的特征圖增加了錨框命中目標位置的概率。但YOLOv2_26×26 提升預測層分辨率的同時引入過多無關信息,使得網(wǎng)絡波動較大。
圖5 網(wǎng)絡召回率
圖6 為訓練過程中三個網(wǎng)絡的損失曲線。經(jīng)過60000次迭代訓練,三個網(wǎng)絡能夠收斂,其中YO?LO_IP收斂最快。
圖6 網(wǎng)絡損失
使用測試集對三個網(wǎng)絡進行評估,計算8 個類別的平均精準度均值mAP[14]式,如式(10)所示:
其中c為類別個數(shù),i表示類別的索引,平均精度(Average Precision,AP)為每個類別的平均精準度。本文使用mAP作為檢測結果的評價指標。
表2 為各個網(wǎng)絡在標志牌檢測數(shù)據(jù)集上的對比。YOLOv2_26×26 的mAP 較原始YOLOv2 高0.4%,說明提升輸出層分辨率有助于提高網(wǎng)絡對安全標志牌的檢測能力。YOLO_IP 較YOLOv2_26×26 的mAP 提高2.8%,表明了YOLO_IP 采用索引池化恢復高分辨率特征,能達到更好的檢測效果。同時,與其他單階段檢測網(wǎng)絡在本數(shù)據(jù)集上做了對比實驗,如表3 所示。SSD[15]網(wǎng)絡雖然使用了多層特征融合的方法,由于本文中數(shù)據(jù)集尺度差別較小,融合后反而消弱了最佳尺度的特征比重,表現(xiàn)較差。YOLOv3 使用三層特征檢測輸出,能夠單獨使用合適的尺度特征進行預測輸出,其mAP 可以達到74.8%。與SSD 和YOLOv3 相比,YOLO_IP 的mAP最高。標志牌目標總體較小,而池化索引可以高效恢復高分辨率特征圖中標志牌的特征信息,因此總體精度較高。
表2 網(wǎng)絡對比
為利用深度卷積神經(jīng)網(wǎng)絡解決復雜場景下電力安全標識檢測的問題,本文構建了專用于電力安全標志牌檢測的數(shù)據(jù)集ESS8,包含8個類別的安全標志牌數(shù)據(jù)。以YOLOv2 為基礎網(wǎng)絡,通過增加預測層特征圖尺寸以增加輸入圖像上的錨框密度。另外,在原始YOLOv2 網(wǎng)絡中增加索引池化機制,精準地恢復目標特征信息。實驗表明,與原始網(wǎng)絡相比,改進后的網(wǎng)絡具有更強的標志牌檢測能力。與同類檢測方法相比,本方法可以在標志牌檢測數(shù)據(jù)集上獲得最高的平均精度均值,提升了智能電力安全作業(yè)系統(tǒng)的電力標志牌的檢測識別能力,推動電力智能化,保障電力生產(chǎn)安全。未來的研究工作主要有三點:1)采集更多場景下的標志牌視頻,提高數(shù)據(jù)集樣本數(shù)量,幫助訓練大的網(wǎng)絡;2)結合人體姿態(tài)估計,實現(xiàn)精準報警;3)將索引池化機制應用到其他任務中,如絕緣手套檢測、安全帽檢測和電力安全帶檢測。