李 健,王政彤
接觸網系統部件種類數量多且復雜,若發生故障會對鐵路安全運行造成巨大威脅。在“接觸網懸掛狀態檢測監測裝置(4C)”系統中,安裝在車頂的高清攝像機對接觸網設備進行圖像采集,并根據相機安裝角度的不同將拍攝到的平腕臂、斜腕臂、承力索座、定位線夾、定位器、吊柱座、附加懸掛設備等特定部件圖像及全景圖像存儲到硬盤中,數據分析人員可通過查看圖像分析缺陷[1]。接觸網故障檢測工作耗時費力,若單純依靠人工查看分析,檢測周期長、工作量大,且存在漏檢風險[2]。近幾年,隨著深度學習技術的快速發展,智能識別已逐漸應用于接觸網缺陷檢測,研究4C智能識別對接觸網缺陷分析具有重要意義。
目前,許多圖像處理方法已應用于接觸網懸掛 狀態的自動檢測。文獻[3]闡述利用LBP(Local Binary Pattern,局部二值模式)與HOG(Histogram of Oriented Gradient,方向梯度直方圖)作為融合特征,通過訓練SVM(Support Vector Machine,支持向量機)分類器對接觸網旋轉雙耳開口銷缺失進行檢測;文獻[4]主要探討利用HOG特征和SVM分類器對線夾部件缺陷進行檢測。傳統圖像處理方式對接觸網缺陷具備一定的檢測能力,但準確率仍有待提高。隨著深度學習技術的不斷發展,一些基于深度學習的檢測方法已開始應用于接觸網缺陷識別檢測中。文獻[5]闡述利用目標檢測算法SSD(Single Shot MultiBox Detector)和特征提取網絡Mobile Net,首先對接觸網關鍵區域進行初定位,然后采用Mask R-CNN(Region-CNN)目標分割方法對螺母部件進行精確定位,最后利用精確定位圖中的螺母與開口銷面積比例判斷螺母開口銷是否缺失,該方法可對關鍵部位螺母開口銷缺失進行檢測,但通用性有待提高。
YOLO(You Only Look Once)檢測算法由Joseph Redmon等人于2015年提出[6],是一種one stage(一級)的目標檢測算法,其僅僅使用一個CNN網絡直接預測不同目標的類別與位置。YOLOv3[7]是該系列目標檢測算法中的第3版,相比之前的YOLOv1和YOLOv2[8],其檢測精度有顯著提升,尤其是針對小目標。YOLO網絡是基于回歸的目標檢測網絡,YOLO的CNN網格將輸入圖像分割成S×S網格,每個單元格負責檢測中心點落在該網格內的目標。YOLO使用全連接層得到預測值,每個單元格會預測B個邊界框(bounding box)及邊界框的置信度,邊界框的準確度用預測框與實際框的IOU(Intersection Over Union,交并比)來表征,IOU越大,預測框的準確度越高。
考慮到算法的實時性,本文使用tiny-yolov3網絡結構,該網絡結構具有網絡簡單、計算量較小的特點。tiny-yolov3未使用殘差層(Residual layer),只使用2個不同尺度的YOLO輸出層,其網絡結構如圖1所示。

圖1 tiny-yolov3網絡結構
其中,c代表通道(channel),stride表示步長。主干網絡采用一個7層卷積網絡+最大池化網絡提取特征,還具有2個融合(route)層,第1個route層獲取YOLO層的輸出,然后對這些輸出的特征抽取中間層進行多尺度預測處理,第2個route層再進行多尺度融合處理,最終預測得到檢測結果。YOLO-tiny引入了Faster R-CNN中的anchor boxes(先驗框)的思想,利用先驗框來確定bounding box(邊界框)的預測方法見圖2。

圖2 YOLO算法預測原理
YOLO引入了基于置信度的預測方法,其計算式為

其中:bx、by、bw、bh分別代表bounding box中框的中心坐標及相對寬高;cx、cy表示該網格左上角距離整體圖像左上角的相對位置;pw與ph表示先驗框的寬高;tx、ty、tw、th是需要通過學習得到的參數,用于預測邊框的中心坐標和寬高;σ函數為sigmoid函數,其計算式為

卷積神經網絡(Convolutional Neural Network,CNN)避免了對圖像的復雜前期預處理,可以直接輸入原始圖像,目前已在圖像分類、目標識別、圖像分割等領域廣泛應用[9]。在應用YOLO算法經過兩級定位得到腕臂底座開口銷小圖后,可以再應用CNN對小圖進行分類識別,判斷定位到的開口銷小圖是否存在缺失,最終輸出識別結果。完整的腕臂底座開口銷缺失檢測流程如圖3所示。

圖3 腕臂底座開口銷缺失檢測算法流程
收集嘉峪關供電段4C檢測車采集的蘭新線上行、蘭新高鐵下行4C數據,腕臂底座開口銷區域一級定位標記區域如圖4所示。

圖4 平腕臂和斜腕臂底座開口銷區域 一級定位標注示意圖
采用LabelImg工具標注圖像,得到已標記的圖像2 000張作為一級定位訓練樣本,如圖5所示。

圖5 腕臂底座一級定位訓練樣本
YOLO是基于Darknet框架的實時目標檢測系統,Darknet是一個輕型的完全基于C語言與CUDA平臺的開源深度學習框架。使用Darknet開源框架進行模型的訓練,訓練模型使用的硬件和操作系統平臺信息如表1所示。Tiny_YOLOv3網絡的訓練配置信息如表2所示。

表1 訓練模型硬件和操作系統平臺信息

表2 Tiny_YOLOv3網絡的訓練配置信息
當平均交并比Avg_IOU在0.85以上且平均召回率(Avg_Recall)在0.98以上時,說明訓練得到的模型較好。Avg_Recall定義如下:

其中,TruePositive代表正類被判定為正類的數量,FalseNegative代表正類被判定為負類的數量。
Avg_IOU定義如下:

其中:AreaofOverlap代表真實框(truth ground box)與預測框(bounding box)的區域交集,AreaofUnion代表truth ground box與bounding box的區域并集。
訓練后得到的.weight文件作為YOLO定位模型,然后加載此模型得到一級定位區域及二級標注圖(圖6)。

圖6 平腕臂和斜腕臂底座一級定位和二級標注區域
訓練二級定位YOLO模型,用二級定位模型定位得到了橫向和垂直方向開口銷如圖7所示。

圖7 定位得到腕臂底座橫向和垂直方向開口銷
由于平腕臂底座和斜腕臂底座橫向開口銷以及垂直開口銷小圖相似,只需要將平腕臂底座和斜腕臂底座開口銷小圖收集在一起作為訓練樣本即可。收集腕臂底座橫向開口銷缺失正負樣本,其中正樣本3 600張,負樣本6 000張,如圖8所示。

圖8 腕臂底座橫向開口銷缺失樣本
按照2類訓練CNN識別模型,采用的網絡為VGGNet網絡結構[10],如圖9所示。

圖9 VGGNet網絡結構
VGGNet使用多個較小卷積核(3×3)的卷積層代替一個卷積核較大的卷積層,網絡擬合能力增強,且結構簡潔、層次更深、特征圖更寬。
收集腕臂底座垂直開口銷缺失正負樣本,其中,負樣本6 000張,正樣本由于實際缺陷較少,經過樣本增強拓展樣本至3 000張組成正負樣本集,如圖10所示。

圖10 腕臂底座垂直開口銷缺失樣本
按照2類訓練腕臂底座垂直開口銷缺失CNN識別模型。這樣,在輸入一張原始大圖時,在加載一二級YOLO定位模型和CNN分類模型后,可以完成對腕臂底座開口銷缺失的缺陷檢測。
實驗過程中先使用6C數據判別分析軟件加載嘉峪關供電段分析人員已分析完畢的各線路4C數據,然后打開腕臂底座開口銷缺失檢測算法,測試算法對線路實際腕臂底座(包含平腕臂底座和斜腕臂底座)橫向銷釘缺失開口銷、垂直銷釘缺失開口銷兩種缺陷進行識別,最后統計算法識別準確率和漏檢率,并對算法誤識別數量進行統計。其中,腕臂底座開口銷缺失的總缺陷數量已知,準確率定義如下:

智能識別中漏檢率定義式如下:

其中:Num1表示算法找到缺陷數量,Num_all表示總缺陷數量,Num2表示漏檢數量。
腕臂底座橫向銷釘缺失開口銷識別結果統計如表3所示,腕臂底座垂直銷釘缺失開口銷識別結果統計如表4所示。

表3 腕臂底座橫向銷釘缺失開口銷識別結果

表4 腕臂底座垂直銷釘缺失開口銷識別結果
此外,算法測試結果中3條線路腕臂底座橫向銷釘缺失開口銷一共識別出缺陷圖片74張,其中25張為誤識別。腕臂底座垂直銷釘缺失開口銷一共識別出缺陷圖片23張,其中11張為誤識別。其中,軟件得到的斜腕臂底座開口銷缺失誤識別多為開口銷顏色與其背景色相差較小且背景模糊導致。但總體來看誤識別數量較少,在6C判別軟件中查看分析時可以快速完成,提高了工作效率。
從測試結果可以看出,本文提出的基于深度神經網絡的腕臂底座開口銷缺失檢測算法檢測準確率高、漏檢率低,且誤識別數量較少,說明該算法對腕臂底座開口銷缺失具有較好的檢測性能。后續可采用超分辨率算法對較模糊的小圖進行處理,使小圖變清晰后再進行CNN識別,且結合腕臂底座開口銷其他圖像特征濾除誤識別小圖,進一步優化腕臂底座開口銷識別算法。