杜馨瑜,戴 鵬,李 穎,程 雨,王勝春,韓 強,王 昊
(中國鐵道科學研究院 基礎設施檢測研究所,北京 100081)
塞釘是安裝軌道電路軌端連接線的關鍵部件,其性能好壞直接影響到軌道電路信號的傳輸質量,因此對塞釘的日常檢查與維護在行車安全方面有重要的意義。目前,對塞釘的巡檢依賴于人工上道作業的方式,在有限的天窗時間內檢修效率也比較有限。鑒于此,采用在巡檢車上安裝專用線陣相機,對軌道圖像進行連續采集存儲,并對采集到的鋼軌軌腰圖像序列進行分析,實現對塞釘的高效檢測。軌腰處線陣相機的安裝位置如圖1所示。經大量統計發現,軌腰圖像序列中有塞釘的圖像大約只占整個圖像序列的3%,且實際分布無明顯規律,因此,需要采用基于計算機視覺的目標檢測算法實現對圖像序列中所有塞釘的自動定位,從而實現塞釘的自動檢測。

圖1 軌腰處線陣相機的安裝位置
深度學習是近年興起的高性能大數據分析方法,在人工智能的各個領域產生了巨大的影響,如Alphago采用策略網絡與價值網絡在圍棋上取得突破性成果[1]。其中,卷積神經網絡(Convolutional Neural Networks,CNN)在圖像識別、目標檢測以及圖像分割等計算機視覺研究方面,與傳統方法相比,在處理結果上得到了很大的提升[2]。在計算機視覺領域,目標檢測就是給定1幅圖像或視頻幀,找出特定目標的所在位置。已經有較多研究應用在人臉檢測[3]、人體檢測[4]等。因此,在軌腰圖像序列中篩選出有塞釘的圖像并準確定位到塞釘,其關鍵點在于待檢測目標的外觀,而由于類內差異、光照條件、成像清晰度、部分遮擋等的影響使得塞釘的外觀有可能表現出很大的改變,從而增加了檢測(或定位)的難度[5]。
目前,目標檢測算法從解決思路上大致可分為兩大類。一類目標檢測算法采取分類策略,遵循的步驟依次是:區域選擇、特征提取、分類器分類。對于區域選擇階段,可以采取基于窮舉思想的滑動窗口法,即對整個圖像進行遍歷,其典型應用是經典人臉檢測算法[6]。滑動窗口法的優點是選擇合適的步長就可以包含圖像中所有目標可能出現的位置,缺點是海量的冗余窗口極大增加了算法的時間復雜度,從而限制了后續算法的復雜多樣性,以及有限的固定長寬比設置增加了目標丟失的可能性。近年出現的候選區域法(Region Proposal,RP)采用可變的長寬比預先找出目標可能出現的位置,從而很好地解決了滑動窗口法存在的問題[7]。候選區域法利用圖像紋理、顏色、邊緣的信息,可以保證在選取與滑動窗口法相比相對較少窗口(幾千個或幾百個)的情況下維持較高的召回率,從而降低了后續算法的復雜度。有代表性的區域選擇法是Selective Search[8]和Edgebox[9]等。特征提取是對上一步得到的候選區域圖像塊進行某種表達,以克服目標形態、光照變化以及背景表示的多樣性,使后端分類器的輸入在分類意義上達到一定的魯棒性[10]。目前常用到的經典特征提取算子有HoG[11],LBP[12],類Haar[13]和SIFT[14]等。采用深度學習的方法,如稀疏自編碼[15],CNN[16-19]等類型的深度神經網絡,可以通過訓練的方式,自動提取適合于具體場景的特征,克服了上述經典特征提取算子手工設計的簡單方式,使特征更具有適應性。分類器分類階段主要是采取或改進分類器用以對上一階段提取的特征進行分類。常用的分類器有支持向量機(Support Vector Machine,SVM)[20]、隨機森林(Random Forest,RF)[21]、Adaboost方法[22]等。另一類目標檢測算法是采取回歸策略的方法。如文獻[23]提出的YOLO方法,即對待檢測圖像預先劃分固定的網格,然后采用特定的深度卷積網絡直接在不同位置的網格上回歸出目標的位置和類別信息,從而大大加快了檢測速度。但由于該方法舍去了RP機制,往往不能得到精確的目標定位。文獻[24]提出的SSD方法,結合了YOLO的回歸思想以及Faster R-CNN[19]的錨點(anchor)機制,可以做出更為精確的定位。不難看出,采取分類策略的目標檢測算法是目前主流的方法,但是算法的速度仍不能較好地滿足實時性的要求。采取回歸策略的目標檢測算法在速度上有很大的提升,但在定位精度上又有所損失。
上述目標檢測算法的研究對象均為國際標準庫中的自然圖像,而鐵道塞釘序列圖像是由線陣相機在激光作為觸發光源下采集的特殊圖像,其具有以下5個特點:①大部分圖像的紋理結構具有相似性;②都是灰度圖像;③因為線陣相機安裝位置固定而導致圖像具有單一的尺度特性;④塞釘在圖像中作為小目標出現;⑤對識別而言,各種干擾具有特殊性,如銹跡、人工涂畫、道岔鎖框等。因此,針對鐵道塞釘序列圖像的特點,本文在傳統(類Haar+adaboost)算法的基礎上[25]提出基于深度學習的目標檢測算法,即先用一種新的目標區域選擇算法——余譜區域候選(Spectrum Residual Region Proposal,SRP)算法,快速提供圖像的候選塞釘區域,再設計一種專用于塞釘檢測的CNN結構——塞釘卷積神經網絡(plug Convolution Neural Network,pCNN),實現對候選區域有效特征的提取,最后采用SVM分類器判斷候選區是否含有塞釘,實現塞釘的自動定位。
根據軌腰處塞釘圖像的特點,借鑒文獻[26]的顯著性區域檢測算法,提出了SRP算法。鑒于顯著性檢測的目的是提取與背景區域在紋理、顏色等方面有明顯差異的前景(通常表現為高頻信息)[27],而塞釘圖像正好表現為有塞釘的前景區(高頻紋理信息),與較為平坦的軌腰背景區(低頻紋理信息)在紋理上存在顯著性差異,因此,這里采用顯著性檢測的思路進行候選區域的提取。
將含有塞釘原圖像(見圖2(a))的軌腰區作為感興趣區域,即視為輸入圖像(見圖2(b))。觀察含有塞釘的輸入圖像,發現塞釘凸顯于平坦軌腰區,因此可以用該圖像的幅度譜減去不含塞釘軌腰區的平均圖像(用現有采集到的384 956張不含塞釘的軌腰圖像做疊加平均得到,見圖2(c))的平均幅度譜,并取其絕對值得到余譜圖(見圖2(e))后,再做保持相位的反傅里葉變換,得到的圖像應該凸顯顯著性區域。最后,經過簡單的閾值分割、各連通域中心坐標提取等后處理流程,可以得到候選目標區域(圖2(d)中箭頭所指小塊)。
文獻[26]提出的算法是建立在對自然圖像進行顯著性檢測上,不可能得到背景圖像集,因此采用對原圖像幅度譜取滑動均值的方法,得到近似的背景圖像幅度譜圖,即圖3(a)的余譜圖。比較2種方法得到的余譜圖,發現SRP算法余譜圖的方差大于文獻[26]算法余譜圖的方差,這說明SRP算法余譜分布更為離散,統計差異性更強,即反變換后圖像的顯著性候選目標區域較多[27],不容易丟失目標。顯而易見,塞釘候選區在圖3(b)中已經丟失,而在圖2(d)中仍存在(箭頭所示小連通區)。

圖2 SRP算法原理圖
SRP算法流程如圖4所示。

圖3 文獻[26]算法

圖4 SRP算法流程圖
對采用SRP算法得到的圖像候選目標區域方塊,采用pCNN提取相應特征,并輸入到SVM分類器進行分類,判斷是否為塞釘圖像塊。pCNN的基本結構如圖5所示。
首先,輸入的圖像塊被調整為(32×32)像素大小,外周填充2像素,用于卷積。
在第1層卷積(conv1)中,感受野大小為(5×5)像素,維數為32,步長為1像素。進而對卷積結果進行非線性變換,變換函數為取極大值變換,相當于1個非線性變換層(relu1,在圖5中略去),以加快收斂速度;然后,對非線性變換結果進行局部響應規范化[2],以提高網絡的泛化能力,可以認為是1個規范化層(norm1,在圖5中略去);最后,經池化層(pool1)取局部最大值,感受野大小為(3×3)像素,步長為2像素。
在第2層卷積(conv2)中,感受野大小為(5×5)像素,維數為64,步長為1像素,外周填充為2像素。同上,經非線性變換層(relu2)、規范化層(norm2)和池化層(pool2)后,取局部均值,感受野大小為(3×3)像素,步長為2像素。
在第3層卷積(conv3)中,感受野大小為(5×5)像素,維數為256,步長為1像素,外周填充為2像素。同上,后面是非線性變換層(relu3)以及規范化層(norm3)。接下來是池化層(pool3),取局部均值,感受野大小為(1×1)像素,步長為2像素。
在第4層卷積(conv4)中,感受野大小為(1×1)像素,維數為1 024,步長為1像素。同上,后面是非線性變換層(relu4)以及規范化層(norm3)。
在第1全連接層(ip1)中,實現內積運算,輸出維數為4 096。后接泄漏層(drop1,在圖5中略去),泄漏率為0.5,以更好地增加網絡的泛化能力。
最后是全連接層(ip2),輸出判斷結果,即判斷圖像塊是否為塞釘,是塞釘時輸出“1”,不是塞釘時輸出“0”。

以含塞釘的軌腰圖像為例,采用pCNN提取特征各中間結果如圖6所示。由圖6(f)可以看出:經采用SRP算法提取塞釘候選區及第1—第4卷積層和第1全連接層處理后,得到輸入圖像塊的特征圖具有稀疏性,可用于SVM分類。
pCNN提取的圖像塊具有4 096維特征,將其輸入SVM工具箱LIBSVM[29]進行分類。因樣本數較多,該SVM采用線性核分類。最后根據得到的分類結果判斷該圖像塊是否包含塞釘。
因為研究對象是鋼軌的軌腰圖像,無論成像條件還是分析目的都具有行業特殊性,所以在進行試驗測試和方法比較時,為保證自動檢測方法在行業內應用的有效性以及評價的客觀性,不會選擇國際通用的自然圖像目標檢測測試庫,如PASCAL VOC 2007/2012[30],MS COCO[31]。本文試驗代碼是構建在Ubuntu14.04與Caffe框架[32]下的,同時使用NVIDIA K4200 GPU。

圖6 pCNN特征提取圖示
自動檢測算法分為2個階段訓練,首先是對pCNN進行訓練,然后將該網絡ip1層提取的特征作為輸入,對分類器SVM進行訓練,具體說明如下。
對于pCNN訓練,通過大量挑選和剪裁,找出具有代表性的各類塞釘圖像塊6 000個,縮放為(32×32)像素,作為正樣本;同理,挑出不含塞釘的圖像塊6 000個,同樣縮放為(32×32)像素,作為負樣本,如圖7所示。為了使訓練得到的網絡更具有泛化性能,還挑選出驗證集,包括正樣本3 000個、負樣本3 000個。設置訓練參數如下:基礎學習率(base_lr)=0.01, 動量(momentum)=0.9, 權重衰減懲罰項(weight_decay)=0.004, 衰減系數(gamma)=0.1, 衰減步長(stepsize)=20 000, 最大迭代次數(max_iter)=150 000次。
采用上述訓練集提取的ip1層特征,用SVM進行訓練,設置為10重交叉驗證。采用線性核分類,懲罰因子C=2。
因為同一巡檢區段內的圖像大多數表現為無目標(無塞釘),且具有幾乎相同的紋理與光照,但不同區段間的圖像由于檢測時段、檢測條件、檢測環境不同而有所差異,所以在現有工作的基礎上(類Haar+Adaboost算法)[25],挑選有代表性的圖像作為測試集,能更加客觀、準確地反映算法的性能。本文挑選有代表性的236張圖像進行測試,部分有代表性的測試圖像及測試結果如圖8所示。
從圖8可以看出:圖8(a)為正常條件下無塞釘的軌腰圖像,檢測結果也為無塞釘(無定位框);圖8(b)為有銹跡等干擾情況下無塞釘軌腰圖像,檢測結果為無塞釘(無定位框);圖8(c)為正常條件下有塞釘軌腰圖像,檢測結果為有塞釘且準確定位(有定位框);圖8(d)為道岔區有鎖框、銹跡干擾情況下的有塞釘軌腰圖像,檢測結果為有塞釘且準確定位(有定位框);圖8(e)為塞釘頭超出圖像邊界情況下的有塞釘軌腰圖像,檢測結果為有塞釘且準確定位(有定位框);圖8(f)為光照不足且有銹跡、劃痕干擾情況下的有塞釘軌腰圖像,檢測結果為有塞釘且準確定位(有定位框);圖8(g)為塞釘尾部人工處理并標記后的有塞釘軌腰圖像,檢測結果為有塞釘且準確定位(有定位框);圖8(h)為模糊干擾情況下的有塞釘軌腰圖像,檢測結果為有塞釘且準確定位(有定位框)。
采用國際通用的定量評價指標,對本文自動檢測算法(SRP+pCNN+SVM)、文獻[26]顯著性檢測+本文卷積網絡算法(SR (文獻[26])+pCNN+SVM),LBP+SVM算法和類Haar+Adaboost算法[25]這4種方法進行比較,得到根據定量評價指標描繪出的4種算法的準確率—召回率(Precision-Recall)特性曲線[33],如圖9所示。
從圖9可以看出:本文算法表現的性能最優,其次是SR+pCNN+SVM算法,再次是類Haar+Adaboost算法,最后是LBP+SVM算法;通過本文算法(SRP+pCNN+SVM算法)與SR+pCNN+SVM算法的比較,說明本文算法在性能上比文獻[26]的SR算法在性能上有所提升,而這2種算法與其余2種算法比較,又說明pCNN在特征提取方面具有優勢,能進一步提升目標檢測性能。
傳統的人工智能方法已經在鐵路基礎設施檢測領域有所應用[34-37],深度學習是近年人工智能領域取得的突破性成果,本文針對鋼軌軌腰圖像的特點,將深度學習引入鐵路基礎設施檢測領域。基于深度學習的鐵道塞釘自動檢測算法包括如下幾個階段:首先借鑒顯著性檢測的思路,在目標檢測的區域選擇階段,用給出的SRP算法能更有效地提取出候選目標區域;其次,在目標檢測的特征提取階段,用設計的pCNN深度卷積神經網絡能更準確地提取相應的目標特征;最后由SVM進行分類,完成目標檢測功能。在各種成像環境和外界干擾下對采集到的軌腰圖像測試,并經對比試驗,驗證提出的基于深度學習的鐵道塞釘自動檢測算法表現得比目前實際使用的傳統算法更為優秀,且與深度學習在其他圖像分析領域的表現效果相一致。下一階段的目標是使用更為有效的編程技巧和性能更為強勁的硬件,進一步提升算法的計算速度。

圖9 采用不同算法得到測試集圖像的準確率—召回率曲線
[1]SILVER D, HUANG A, MADDISON C J, et al. Mastering the Game of Go with Deep Neural Networks and Tree Search [J]. Nature, 2016, 529(1):484-489.
[2]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet Classification with Deep Convolutional Neural Networks [J]. Advances in Neural Information Processing Systems, 2012, 25(2): 1097-1105.
[3]LI H, LIN Z, SHEN X, et al. A Convolutional Neural Network Cascade for Face Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition 2015. Boston: IEEE Computer Society, 2015: 5325-5334.
[4]RIBEIRO D, NASCIMENTO J C, BERNARDINO A, et al. Improving the Performance of Pedestrian Detectors Using Convolutional Learning [J]. Pattern Recognition, 2017, 67(1): 641-649.
[5]GAL J, LEMPITSKY V. Class-Specific Hough Forests for Object Detection[C]//In Proceedings IEEE Conference Computer Vision and Pattern Recognition 2009. Miami: IEEE Computer Society, 2009: 1022-1029.
[6]VIOLA P, JONES M. Robust Real-Time Face Detection [J]. International Journal of Computer Vision, 2004, 57(2):137-154.
[7]CHAVALI N, AGRAWAL H, MAHENDRU A, et al. Object-Proposal Evaluation Protocol is ‘Gameable’ [C] //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition 2015. Boston: IEEE Computer Society, 2015: 835-844.
[8]UIJLINGS J R R, SANDE van de K E A, GEVERS T, et al. Selective Search for Object Recognition [J]. International Journal of Computer Vision, 2013, 104(2):154-171.
[9]ZHU Gao, PORIKLI Fatih, LI Hongdong. Tracking Randomly Moving Objects on Edge Box Proposals [OL]. 2015. https://arxiv.org/pdf/1507.08085.pdf.
[10]NIXON M, AGUARDO A S. Feature Extraction and Image Processing [M]. 2nd ed. Amsterdam: Elsevier, 2010.
[11]DALAL N, TRIGGS B. Histograms of Oriented Gradients for Human Detection[C]//IEEE Conference on Computer Vision & Pattern Recognition 2005. San Diego: IEEE Computer Society, 2005: 886-893.
[12]OJALA T, PIETIKINEN M, MENPT, et al. Multiresolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7): 971-987.
[13]HIROMOTO M, SUGANO H, MIYAMOTO R, et al. Partially Parallel Architecture for AdaBoost-Based Detection with Haar-Like Features [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2009, 19(1): 41-52.
[14]ZHOU Huiyu, YUAN Yuan, SHI Chunmei, et al. Object Tracking Using SIFT Features and Mean Shift [J]. Computer Vision and Image Understanding, 2009, 113(3): 345-352.
[15]JIANG Jielin, ZHANG Lei, YANG Jian. Mixed Noise Removal by Weighted Encoding with Sparse Nonlocal Regularization [J]. IEEE Transactions on Image Processing, 2014, 23(6): 2651-2662.
[16]GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]// IEEE Conference on Computer Vision & Pattern Recognition 2014. Columbus: IEEE Computer Society, 2014: 580-587.
[17]GIRSHICK R. Fast R-CNN[C]//Proceedings of the International Conference on Computer Vision 2015. San Diego: IEEE Computer Society, 2015: 1440-1448.
[18]HE K, ZHANG X, REN S, et al. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[19]REN Shaoqing, HE Kaiming, GIRSHICK Ross, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]//Advances in Neural Information Processing Systems 2015. Montréal: Curran Associates Inc., 2015: 91-99.
[20]SUYKENS J A K, VANDEWALLE J. Least Squares Support Vector Machine Classifiers [J]. Neural Processing Letters, 1999, 9(3): 293-300.
[21]LIAW A, WIENER M. Classification and Regression by Random Forest [J]. R News, 2002, 2/3: 18-22.
[22]RATSCH G, ONODA T, MULLER K R. Soft Margins for AdaBoost [J]. Machine Learning, 2001, 42(3): 287-320.
[23]REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: Unified, Real-Time Object Detection[C] // IEEE Conference on Computer Vision & Pattern Recognition 2016. Las Vegas: IEEE Computer Society, 2016: 779-788.
[24]LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot MultiBox Detector [C] //European Conference on Computer Vision 2016. Amsterdam: Springer, 2016: 21-37.
[25]杜馨瑜. 基于計算機視覺技術的鐵道塞釘自動定位算法 [J]. 鐵道通信信號, 2016, 52(9): 68-72.
(DU Xinyu. Automatic Location Algorithms for Railway Plugs Based on Compute Vision Technology [J]. Railway Signaling & Communication, 2016, 52(9): 68-72. in Chinese)
[26]HOU Xiaodi, ZHANG Liqing. Saliency Detection: A Spectral Residual Approach[C]// IEEE Conference on Computer Vision and Pattern Recognition 2007. Minneapolis: IEEE Computer Society, 2007:1-8.
[27]ZHANG J, SCLAROFF S, LIN Z, et al. Unconstrained Salient Object Detection via Proposal Subset Optimization[C]//IEEE Conference on Computer Vision & Pattern Recognition 2016. Las Vegas: IEEE Computer Society, 2016: 5733-5742.
[28]HE Kaiming, SUN Jian. Convolutional Neural Networks at Constrained Time Cost[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition 2015. Boston: IEEE Computer Society, 2015: 5353-5360.
[29]CHANG C C, LIN C J. LIBSVM: a Library for Support Vector Machines [J]. ACM Transactions on Intelligent Systems and Technology, 2011, 2(3): 1-27.
[30]EVERINGHAM M, VAN G L, WILLIAMS C K I, et al. The Pascal Visual Object Classes (VOC) Challenge [J]. International Journal of Computer Vision, 2010, 88(2): 303-338.
[31]LIN T Y, MAIRE M, BELINGIE S, et al. Microsoft COCO: Common Objects in Context[C]//European Conference on Computer Vision 2014. Zurich: Springer, 2014: 740-755.
[32]JIA Yangqing, SHELHAMER Evan, DONAHUE Jeff, et al. Caffe: Convolutional Architecture for Fast Feature Embedding[C] //Proceedings of the 14th ACM International Conference on Multimedia 2014. Orlando: ACM New York, 2014: 675-678.
[33]DUDA R O, HART P E, STORK D G. Pattern Classification [M]. 2nd ed. Hoboken N J; Wiley, 2000.
[34]任盛偉, 李清勇, 許貴陽, 等. 魯棒實時鋼軌表面擦傷檢測算法研究[J]. 中國鐵道科學, 2011, 32(1): 25-29.
(REN Shengwei,LI Qingyong,XU Guiyang, et al. Research on Robust Fast Algorithm of Rail Surface Defect Detection [J]. China Railway Science, 2011, 32(1): 25-29. in Chinese)
[35]周威, 孫忠國, 任盛偉, 等. 基于多目立體視覺的接觸網幾何參數測量方法[J]. 中國鐵道科學, 2015, 36(5): 104-109.
(ZHOU Wei, SUN Zhongguo, REN Shengwei, et al. Measurement Method for Geometric Parameters of Overhead Contact Line Based on Multi-View Stereovision [J]. China Railway Science, 2015, 36(5): 104-109. in Chinese)
[36]李清勇, 章華燕, 任盛偉, 等. 基于鋼軌圖像頻域特征的鋼軌波磨檢測方法[J]. 中國鐵道科學, 2016, 37(1): 24-30.
(LI Qingyong, ZHANG Huayan, REN Shengwei, et al. Detection Method for Rail Corrugation Based on Rail Image Feature in Frequency Domain [J]. China Railway Science, 2016, 37(1): 24-30. in Chinese)
[37]杜馨瑜. 電務軌旁設備外觀巡檢圖像增強算法[J]. 中國鐵道科學, 2016, 37(6): 97-105.
(DU Xinyu. Algorithm for Appearance Inspection Image Enhancement of Trackside Communication and Signal Equipment [J]. China Railway Science, 2016, 37(6): 97-105. in Chinese)