馬進德,陶青川
(四川大學電子信息學院,成都 610065)
智能電網是通過利用先進傳感與量測技術、通信與信息技術、分布式發電與集成技術、新進儲能技術等來提升電網的可靠性、安全性、健壯性和效率(包括經濟效率和能源效率),涉及的范圍包括大型的發電機組、輸電系統、用戶和分布式電源等。但是,國家在大力發展智能電網的同時,電力供應過程當中存在居民和商家竊電的問題,某些法律意識淡薄并存有僥幸心理的不法分子會私自改裝計量電能表,這使得國家以及電力公司遭受到了巨大的經濟損失,所以定期檢查智能電表是否存在竊電行為對國家打擊竊電犯罪,保障智能電網安全化、智能化、經濟化發展至關重要。
目前,國家電網的工作人員對某批次的智能電表進行抽樣檢查時,還是采用肉眼檢查的模式,這種檢查方式不但持續時間長,對工作人員的視力要求也極為苛刻。在常見的竊電方式中,最隱蔽的一種就是替換貼片電阻,替換貼片電阻的竊電方式具有極高的隱蔽性,不法分子即使在電表的電路板上替換了電阻,也不會留下明顯的改裝痕跡。通常情況下,巡檢的工作人員導致需要攜帶放大鏡等工具來輔助他們檢查,這導致其眼睛的負荷太大,并且檢查結果較為主觀。所以,本文針對替換貼片電阻的竊電方式展開研究,基于深度學習的目標檢測技術來對貼片電阻進行識別,結果更加客觀、精準,對反竊電行為具有重要意義。
隨著深度卷積神經網絡的持續發展,目標檢測算法也取得了突破性的進展。其中,單階段目標檢測算法有YOLO(you only look once)系 列 和SSD(single shot multibox detector)等,兩 階段目標檢測算法有Faster R-CNN、RFCN(region-based fully convolutional Networks)、Mask R-CNN 等。YOLO 系列作為目標檢測發展道路上的又一重要里程碑,已被廣泛應用于各個領域,例如視頻識別、車輛行人計數、人臉識別、醫學影像檢測和目標跟蹤等。其中,YOLOv3 作為YOLO 系列最經典的算法,使用了Darknet-53 作為主干網,相較于ResNet 系列,不僅保持了分類的精度,還顯著提升了檢測速度。另外YOLOv3還采用了多尺度預測和更好的分類器,使之成為了后續YOLO 版本發展的基石,但是YOLOv3對識別目標的位置精準性比較差,并且召回率低。YOLOv4 采用了CSPDarknet-53 作為主干網,CSPDarknet-53 是由Darknet-53 和CSPNet 發展演進而來,并且引入了空間金字塔池化(spatial pyramid pooling,SPP)結構來增加網絡的感受野并得到顯著的上下文特征。使用路徑 聚 合 網絡(path aggregation NetWork,PANet)來增強特征層對目標的表達能力,YOLOv4還提出了Mosaic數據增強,它是將四張圖像按照一定方式拼接,不僅豐富了數據集還減少了GPU;另外,YOLOv4還使用了標簽平滑策略來有效抑制過擬合。在YOLO 系列不斷演化的進程當中,它們的探測頭仍保持著耦合的關系,即分類和回歸在1 × 1 的卷積中實現,2021 年曠世科技發表的YOLOX論文認為,這種耦合關系會給網絡的識別帶來不利影響,所以YOLOX 將分類和回歸分別實現,最終預測的時候再整合。
YOLOv4 的網絡結構如圖1 所示。其算法是以CSPDarknet-53作為主干特征提取網絡,例如輸入圖像的大小為(512,512,3),經過主干網之后,將會輸出(64,64)、(32,32)、(16,16)這三種尺度的特征層。SPP 模塊將獲得的新特征層和送入到網絡之前的特征層進行堆疊、卷積后傳入到PANet 結構中,增加特征層的感受野。主干特征網絡輸出的三個特征層會通過PANet進行特征融合,除了進行自上而下的特征融合,還進行自下而上的特征融合,即將(16,16)的特征層進行兩次上采樣,然后分別與(32,32)、(64,64)的特征層堆疊后進行卷積;再將(64,64)這個特征層進行兩次下采樣,分別與(32,32)、(16,16)堆疊后卷積,因為其自下而上的路徑增強,縮短了信息的傳播路徑,大大減少了計算量。經過PANet 模塊的充分融合之后,得到三個不同尺度的特征層,YOLOv4 Head 負責對這三種尺度的特征層進行預測,YOLOv4 的Head 是將每個特征層劃分成×的網格,每個網格點都有3 個不同尺度的先驗框,通過調整先驗框的中心和寬高來獲得最終的預測框,預測的結果由目標的坐標、目標的類別概率、目標的類別信息組成。所以,針對上述網絡的優缺點以及應用場景,本文在YOLOv4的基礎上對其進行了改進,提出YOLOv4-CBAMDW-X算法。

圖1 YOLOv4網絡結構
本文算法主要針對YOLOv4網絡結構的主干網、Neck、YOLOv4 Head 進行改進:在主干網的殘差結構和主干網輸出的低層次特征圖中加入了注意力機制,以此來提高對目標的特征提取能力;用深度可分離卷積(Depthwise Separable Convolution)替換掉圖一Neck 中CBL 模塊所使用的3 × 3 傳統卷積,這樣可在一定程度上減少網絡的參數量;把YOLOv4 的Head 換成YOLOX 的Head,可以增加網絡的檢測精度。經過上述改進后的網絡,本文將其命名為YOLOv4-CBAM-DW-X。
本文將YOLOv4 的backbone 保留,在CSPDarknet-53 中融入了注意力機制。注意力機制在神經網絡中是一個非常重要且有效的組件,可以基于人類的視覺系統進行解釋,比如人類的視覺系統會重點關注目標區域,因此會對目標投入更多的注意力來獲取更多有用的信息。Hu等提出了SENet(squeeze-and-excitation Net-works),SENet 是通過Squeeze 和Excitation 操作對通道之間的信息建模,讓SE(squeeze-andexcitation)學習到每個特征通道的重要性,再根據學習到的重要性來計算輸出的特征圖。但SENet僅僅是在特征圖通道上添加了注意力模型,并沒有考慮到在空間上添加注意力模型,而在目標檢測中,空間位置對于網絡來說是至關重要的。Woo等考慮在空間和通道兩個維度都加上注意力模型,提出了CBAM(convolutional block attention module),CBAM結構如圖2所示。

圖2 CBAM結構
CBAM 可以分為兩個模塊(見圖3和圖4),分別是CAM(channel attention module)和SAM(spatial attention module)。如公式(1)所示,CAM 的輸入是××的特征圖F,分別經過基于寬高的全局最大池化和全局平均池化,分別得到一個1 × 1 ×的通道描述信息,兩個特征圖再經過一個兩層的卷積神經網絡,對得到的結果執行基于element-wise 的加和操作,再經過sigmoid 激活函數就得到了最終的通道注意力的權重系數。將輸入進來的特征圖F 和執行element-wise 乘法操作,如公式(2)所示,其結果就是SAM 的輸入特征圖。如公式(3)所示,SAM 是將CAM 的輸出特征作為本模塊的輸入特征,之后仍然使用全局最大池化和全局平均池化操作,concat操作會將上一步的結果拼接,再經過卷積層,通過sigmoid 函數將注意力權重進行歸一化,然后把權重維度和輸入相乘就得到了最終的特征圖。加入注意力機制的過程可以簡單用公式(2)和公式(4)描述。

圖3 CAM

圖4 SAM

為了加強網絡對貼片電阻特征提取的能力,從而提升貼片電阻的檢測精度,在CSPDarknet-53 的殘差結構中加入了CBAM來對特征進行細化處理,另外在主干網輸出的兩個低層次的特征層中也添加了CBAM模塊來提高對中小目標的檢測能力,本文以512 × 512 尺度的圖像作為改進網絡的輸入,增加了CBAM 之后的網絡結構如圖5所示。

圖5 增加了CBAM的YOLOv4結構
從圖1YOLOv4 的網絡結構可以發現,Neck中存在很多的CBL 結構,其中3 次卷積塊是圖1CBL 結構上標×3 的位置;5 次卷積塊是圖1 中CBL 結構上標×5 的位置。3 次卷積塊中包含一個3 × 3 的傳統卷積,5 次卷積塊包含兩個3 × 3的傳統卷積,所以可用深度可分離卷積替換掉3次卷積塊和5次卷積塊中的傳統卷積,這樣可以減少參數量,提高運行效率。
在傳統卷積中,上一層的輸出通常有多個通道(假設通道數為),假設下一層的輸出通道數為,則需要個Filter,所以在卷積時,每一個Filter 必須要求有個卷積核,即Filter 的卷積核個數要與上一層輸出的通道數對應,一個Filter 完成一次卷積過程就是個卷積核與上層對應通道的特征圖卷積后相加,進而輸出到下一層的通道特征層中,傳統卷積過程如圖6所示。

圖6 傳統卷積
MobileNetV1 使用的深度可分離卷積塊是由一個3 × 3 的深度可分離卷積加上一個1 × 1 的傳統卷積來代替傳統的3 × 3 卷積,這個深度可分離卷積塊可以大幅減少網絡的參數數量,節省了運算成本,換句話說,在參數量一致的前提下,深度可分離卷積可以得到更深層次的特征。它由逐通道卷積(depthwise convolution)和逐點卷積(pointwise convolution)組成,分別如圖7、圖8所示。逐通道卷積就是一個卷積核僅負責一個通道,而逐點卷積和傳統卷積的計算非常類似。

圖7 逐通道卷積

圖8 逐點卷積
在YOLOv3 至YOLOv5 網絡中,分類和回歸任務是在一個1 × 1 的卷積里實現的,為了增強網絡識別效果,YOLOX 將其劃分成了兩部分來分別實現,最后預測時再整合到一起,這種解耦頭方式可以提高網絡的收斂速度。另外,YOLOv3 到YOLOv5 都是基于錨框機制的,錨框機制會存在以下問題:為了獲得最佳的檢測性能,在訓練之前需要通過聚類分析的方法來獲得一系列比較好的錨框,但是這些錨框沒有通用性;錨框機制也增加了檢測頭的復雜度。所以本文將YOLOv4 的Head 換成了YOLOX Head,網絡結構如圖9所示。經過PANet之后得到三個不通尺度的特征層,每一個特征層都會經過一個解耦頭,每個解耦頭會輸出三種尺度的信息:(,,)用來判斷每個特征點所包含的目標種類;(,,4)用來判斷每個特征點的回歸參數,回歸參數進行調整之后會獲得最終的預測框;(,,1)用來判斷每個特征點是否包含目標。把這3 個預測結果進行堆疊,就得到了(,,+4+1)尺度的結果。

圖9 YOLOX Head結構
因為貼片電阻非常小,所以本文所用電能表的電路板數據集是采用USB 3.0 面陣工業相機拍攝的,它使用性能強悍的感光芯片,通過USB3.0 接口與計算機進行數據傳輸。圖10 是本文所使用的高清像機,其技術參數如表1所示。

表1 高分辨率相機技術參數

圖10 高分辨率像機
本次實驗共拍攝了500 張分辨率為5472 ×3648 的原始圖像,將原始圖像裁減成分辨率為512 × 512 的圖像以便更好地訓練。裁剪時設置重疊率為0.1,一張原始圖像可以裁剪出96 張512 × 512 的圖像,在經過去除背景操作以及部分沒有目標的圖像之后得到了7714 張低分辨率圖像。裁剪之后的貼片電阻樣例如圖11 所示。訓練平臺軟硬件參數如表2所示。

表2 訓練平臺軟硬件參數

圖11 貼片電阻樣例
為了加快訓練效率防止權值破壞,本文實驗選擇前50 個epoch 凍結主干網訓練,后50 個epoch 解凍訓練,表3 展示了各網絡針對本次數據集的各項性能指標的對比。YOLOv4-CBAMDW-X 代表本次對YOLOv4 使用了CBAM、深度可分離卷積、YOLOX Head 之后的網絡,YOLOv4-DW-X 代表使用了深度可分離卷積、YOLOX Head。改進后的算法對貼片電阻的檢測效果如圖12 所示,實驗結果表明該網絡能夠有效檢測出貼片電阻。

表3 各網絡針對本次數據集的各項性能指標

圖12 貼片電阻的檢測效果
本文針對電路板貼片電阻檢測任務,提出了基于YOLOv4 網絡改進的檢測算法YOLOv4-CBAM-DW-X,該算法相比于YOLOv4,和提高了2.96%,召回率提高了11.26%,參數量減少了31.03%。該算法能夠準確地檢測出電路板上的貼片電阻,為后續進一步檢測竊電行為提供了良好的基礎。相比于人工尋找貼片電阻,該方式更加精準、安全,并在很大程度上節省了人力成本。本文的算法還可以推廣到針對電路板上的其他檢測需求,例如PCB 電路板的缺陷檢測、電路板元器件的檢測以及各種中小目標的檢測等。