李 健,王政彤
接觸網(wǎng)系統(tǒng)部件種類數(shù)量多且復雜,若發(fā)生故障會對鐵路安全運行造成巨大威脅。在“接觸網(wǎng)懸掛狀態(tài)檢測監(jiān)測裝置(4C)”系統(tǒng)中,安裝在車頂?shù)母咔鍞z像機對接觸網(wǎng)設(shè)備進行圖像采集,并根據(jù)相機安裝角度的不同將拍攝到的平腕臂、斜腕臂、承力索座、定位線夾、定位器、吊柱座、附加懸掛設(shè)備等特定部件圖像及全景圖像存儲到硬盤中,數(shù)據(jù)分析人員可通過查看圖像分析缺陷[1]。接觸網(wǎng)故障檢測工作耗時費力,若單純依靠人工查看分析,檢測周期長、工作量大,且存在漏檢風險[2]。近幾年,隨著深度學習技術(shù)的快速發(fā)展,智能識別已逐漸應用于接觸網(wǎng)缺陷檢測,研究4C智能識別對接觸網(wǎng)缺陷分析具有重要意義。
目前,許多圖像處理方法已應用于接觸網(wǎng)懸掛 狀態(tài)的自動檢測。文獻[3]闡述利用LBP(Local Binary Pattern,局部二值模式)與HOG(Histogram of Oriented Gradient,方向梯度直方圖)作為融合特征,通過訓練SVM(Support Vector Machine,支持向量機)分類器對接觸網(wǎng)旋轉(zhuǎn)雙耳開口銷缺失進行檢測;文獻[4]主要探討利用HOG特征和SVM分類器對線夾部件缺陷進行檢測。傳統(tǒng)圖像處理方式對接觸網(wǎng)缺陷具備一定的檢測能力,但準確率仍有待提高。隨著深度學習技術(shù)的不斷發(fā)展,一些基于深度學習的檢測方法已開始應用于接觸網(wǎng)缺陷識別檢測中。文獻[5]闡述利用目標檢測算法SSD(Single Shot MultiBox Detector)和特征提取網(wǎng)絡Mobile Net,首先對接觸網(wǎng)關(guān)鍵區(qū)域進行初定位,然后采用Mask R-CNN(Region-CNN)目標分割方法對螺母部件進行精確定位,最后利用精確定位圖中的螺母與開口銷面積比例判斷螺母開口銷是否缺失,該方法可對關(guān)鍵部位螺母開口銷缺失進行檢測,但通用性有待提高。
YOLO(You Only Look Once)檢測算法由Joseph Redmon等人于2015年提出[6],是一種one stage(一級)的目標檢測算法,其僅僅使用一個CNN網(wǎng)絡直接預測不同目標的類別與位置。YOLOv3[7]是該系列目標檢測算法中的第3版,相比之前的YOLOv1和YOLOv2[8],其檢測精度有顯著提升,尤其是針對小目標。YOLO網(wǎng)絡是基于回歸的目標檢測網(wǎng)絡,YOLO的CNN網(wǎng)格將輸入圖像分割成S×S網(wǎng)格,每個單元格負責檢測中心點落在該網(wǎng)格內(nèi)的目標。YOLO使用全連接層得到預測值,每個單元格會預測B個邊界框(bounding box)及邊界框的置信度,邊界框的準確度用預測框與實際框的IOU(Intersection Over Union,交并比)來表征,IOU越大,預測框的準確度越高。
考慮到算法的實時性,本文使用tiny-yolov3網(wǎng)絡結(jié)構(gòu),該網(wǎng)絡結(jié)構(gòu)具有網(wǎng)絡簡單、計算量較小的特點。tiny-yolov3未使用殘差層(Residual layer),只使用2個不同尺度的YOLO輸出層,其網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 tiny-yolov3網(wǎng)絡結(jié)構(gòu)
其中,c代表通道(channel),stride表示步長。主干網(wǎng)絡采用一個7層卷積網(wǎng)絡+最大池化網(wǎng)絡提取特征,還具有2個融合(route)層,第1個route層獲取YOLO層的輸出,然后對這些輸出的特征抽取中間層進行多尺度預測處理,第2個route層再進行多尺度融合處理,最終預測得到檢測結(jié)果。YOLO-tiny引入了Faster R-CNN中的anchor boxes(先驗框)的思想,利用先驗框來確定bounding box(邊界框)的預測方法見圖2。
圖2 YOLO算法預測原理
YOLO引入了基于置信度的預測方法,其計算式為
其中:bx、by、bw、bh分別代表bounding box中框的中心坐標及相對寬高;cx、cy表示該網(wǎng)格左上角距離整體圖像左上角的相對位置;pw與ph表示先驗框的寬高;tx、ty、tw、th是需要通過學習得到的參數(shù),用于預測邊框的中心坐標和寬高;σ函數(shù)為sigmoid函數(shù),其計算式為
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)避免了對圖像的復雜前期預處理,可以直接輸入原始圖像,目前已在圖像分類、目標識別、圖像分割等領(lǐng)域廣泛應用[9]。在應用YOLO算法經(jīng)過兩級定位得到腕臂底座開口銷小圖后,可以再應用CNN對小圖進行分類識別,判斷定位到的開口銷小圖是否存在缺失,最終輸出識別結(jié)果。完整的腕臂底座開口銷缺失檢測流程如圖3所示。
圖3 腕臂底座開口銷缺失檢測算法流程
收集嘉峪關(guān)供電段4C檢測車采集的蘭新線上行、蘭新高鐵下行4C數(shù)據(jù),腕臂底座開口銷區(qū)域一級定位標記區(qū)域如圖4所示。
圖4 平腕臂和斜腕臂底座開口銷區(qū)域 一級定位標注示意圖
采用LabelImg工具標注圖像,得到已標記的圖像2 000張作為一級定位訓練樣本,如圖5所示。
圖5 腕臂底座一級定位訓練樣本
YOLO是基于Darknet框架的實時目標檢測系統(tǒng),Darknet是一個輕型的完全基于C語言與CUDA平臺的開源深度學習框架。使用Darknet開源框架進行模型的訓練,訓練模型使用的硬件和操作系統(tǒng)平臺信息如表1所示。Tiny_YOLOv3網(wǎng)絡的訓練配置信息如表2所示。
表1 訓練模型硬件和操作系統(tǒng)平臺信息
表2 Tiny_YOLOv3網(wǎng)絡的訓練配置信息
當平均交并比Avg_IOU在0.85以上且平均召回率(Avg_Recall)在0.98以上時,說明訓練得到的模型較好。Avg_Recall定義如下:
其中,TruePositive代表正類被判定為正類的數(shù)量,F(xiàn)alseNegative代表正類被判定為負類的數(shù)量。
Avg_IOU定義如下:
其中:AreaofOverlap代表真實框(truth ground box)與預測框(bounding box)的區(qū)域交集,AreaofUnion代表truth ground box與bounding box的區(qū)域并集。
訓練后得到的.weight文件作為YOLO定位模型,然后加載此模型得到一級定位區(qū)域及二級標注圖(圖6)。
圖6 平腕臂和斜腕臂底座一級定位和二級標注區(qū)域
訓練二級定位YOLO模型,用二級定位模型定位得到了橫向和垂直方向開口銷如圖7所示。
圖7 定位得到腕臂底座橫向和垂直方向開口銷
由于平腕臂底座和斜腕臂底座橫向開口銷以及垂直開口銷小圖相似,只需要將平腕臂底座和斜腕臂底座開口銷小圖收集在一起作為訓練樣本即可。收集腕臂底座橫向開口銷缺失正負樣本,其中正樣本3 600張,負樣本6 000張,如圖8所示。
圖8 腕臂底座橫向開口銷缺失樣本
按照2類訓練CNN識別模型,采用的網(wǎng)絡為VGGNet網(wǎng)絡結(jié)構(gòu)[10],如圖9所示。
圖9 VGGNet網(wǎng)絡結(jié)構(gòu)
VGGNet使用多個較小卷積核(3×3)的卷積層代替一個卷積核較大的卷積層,網(wǎng)絡擬合能力增強,且結(jié)構(gòu)簡潔、層次更深、特征圖更寬。
收集腕臂底座垂直開口銷缺失正負樣本,其中,負樣本6 000張,正樣本由于實際缺陷較少,經(jīng)過樣本增強拓展樣本至3 000張組成正負樣本集,如圖10所示。
圖10 腕臂底座垂直開口銷缺失樣本
按照2類訓練腕臂底座垂直開口銷缺失CNN識別模型。這樣,在輸入一張原始大圖時,在加載一二級YOLO定位模型和CNN分類模型后,可以完成對腕臂底座開口銷缺失的缺陷檢測。
實驗過程中先使用6C數(shù)據(jù)判別分析軟件加載嘉峪關(guān)供電段分析人員已分析完畢的各線路4C數(shù)據(jù),然后打開腕臂底座開口銷缺失檢測算法,測試算法對線路實際腕臂底座(包含平腕臂底座和斜腕臂底座)橫向銷釘缺失開口銷、垂直銷釘缺失開口銷兩種缺陷進行識別,最后統(tǒng)計算法識別準確率和漏檢率,并對算法誤識別數(shù)量進行統(tǒng)計。其中,腕臂底座開口銷缺失的總?cè)毕輸?shù)量已知,準確率定義如下:
智能識別中漏檢率定義式如下:
其中:Num1表示算法找到缺陷數(shù)量,Num_all表示總?cè)毕輸?shù)量,Num2表示漏檢數(shù)量。
腕臂底座橫向銷釘缺失開口銷識別結(jié)果統(tǒng)計如表3所示,腕臂底座垂直銷釘缺失開口銷識別結(jié)果統(tǒng)計如表4所示。
表3 腕臂底座橫向銷釘缺失開口銷識別結(jié)果
表4 腕臂底座垂直銷釘缺失開口銷識別結(jié)果
此外,算法測試結(jié)果中3條線路腕臂底座橫向銷釘缺失開口銷一共識別出缺陷圖片74張,其中25張為誤識別。腕臂底座垂直銷釘缺失開口銷一共識別出缺陷圖片23張,其中11張為誤識別。其中,軟件得到的斜腕臂底座開口銷缺失誤識別多為開口銷顏色與其背景色相差較小且背景模糊導致。但總體來看誤識別數(shù)量較少,在6C判別軟件中查看分析時可以快速完成,提高了工作效率。
從測試結(jié)果可以看出,本文提出的基于深度神經(jīng)網(wǎng)絡的腕臂底座開口銷缺失檢測算法檢測準確率高、漏檢率低,且誤識別數(shù)量較少,說明該算法對腕臂底座開口銷缺失具有較好的檢測性能。后續(xù)可采用超分辨率算法對較模糊的小圖進行處理,使小圖變清晰后再進行CNN識別,且結(jié)合腕臂底座開口銷其他圖像特征濾除誤識別小圖,進一步優(yōu)化腕臂底座開口銷識別算法。