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