劉孟軻,吳洋 ,王遜
(1.四川大學(xué)計算機學(xué)院,成都610065;2.四川大學(xué)視覺合成圖形圖像技術(shù)國防重點學(xué)科實驗室,成都610065)
基于卷積神經(jīng)網(wǎng)絡(luò)的軌道表面缺陷檢測技術(shù)實現(xiàn)
劉孟軻1,2,吳洋1,2,王遜1
(1.四川大學(xué)計算機學(xué)院,成都610065;2.四川大學(xué)視覺合成圖形圖像技術(shù)國防重點學(xué)科實驗室,成都610065)
利用計算機視覺技術(shù),通過采用基于線陣CCD相機的圖像采集系統(tǒng),能夠?qū)崿F(xiàn)軌道信息的完整采集,實現(xiàn)對鐵路軌道缺陷的檢測。然而,目前國內(nèi)大部分缺陷識別技術(shù)還不成熟,對于缺陷數(shù)據(jù)的自動化識別仍很困難,很大程度仍然依靠高度熟練的技術(shù)工人或者采用進口檢測系統(tǒng)。因此,為滿足發(fā)展需求,針對有效的軌道表面缺陷識別檢測方法進行研究,提出基于卷積神經(jīng)網(wǎng)絡(luò)的算法,實現(xiàn)對軌道表面缺陷的識別。以圓形、條形兩種缺陷類型數(shù)據(jù)作為研究對象,驗證對軌道表面缺陷的識別檢測準確度。
列車的運行安全一直是鐵路交通運營中關(guān)系到經(jīng)濟發(fā)展和人身安全的重大問題,而作為列車載體的軌道,則是安全的基礎(chǔ)平臺。隨著我國高速鐵路的持續(xù)建設(shè)和既有鐵路線路的提速,軌道缺陷檢測有效時間不斷減少,同時鋼軌使用負荷不斷增加,鐵路交通迅速發(fā)展的同時也正面臨著日益凸顯的安全問題。重視對鋼軌損傷和缺陷的檢測分析,及時發(fā)現(xiàn)軌道存在的缺陷,不僅是延長鋼軌使用壽命的必要措施,更是確保鐵路交通安全的重要手段。因此,采用基于計算機技術(shù)的軌道自動檢測系統(tǒng)能夠迅速高效檢測軌道缺陷,正在逐步取代人工檢查,成為鐵路養(yǎng)護更有效、更經(jīng)濟的手段。
早在20世紀20年代,美國Sperry Rail Service公司就已經(jīng)開始研究基于磁感應(yīng)和超聲波的軌道缺陷檢測技術(shù)。從20世紀70年代末期開始,發(fā)達國家開始將圖像處理和分析技術(shù)應(yīng)用于軌道缺陷檢測。近年來,隨著機器視覺技術(shù)等的發(fā)展,軌道缺陷檢測得以迅速發(fā)展。美、德、日等發(fā)達國家已經(jīng)研發(fā)了基于圖像處理的新型軌道缺陷檢測系統(tǒng)。美國Ensco公司研制的MATLAB軌道檢測車運用數(shù)字濾波、光電等技術(shù),能夠檢測軌道斷面缺陷。德國Atlas Eletronik公司研發(fā)的光電式軌道檢測車Railab,通過檢測窗口對軌道圖像進行檢測,從而判斷軌道損傷情況。相比而言,國內(nèi)對于軌道缺陷檢測的研究起步較晚,主要是由一些相關(guān)高校和專業(yè)開展預(yù)研性的實驗和軟硬件設(shè)計,并沒有形成應(yīng)用型產(chǎn)品?,F(xiàn)實中絕大多數(shù)軌道檢測還是依賴人工實地檢測,少數(shù)通過拍攝線路視頻,然后人工分析視頻圖像進行檢測。
基于圖像的軌道缺陷檢測領(lǐng)域,采用基于線陣CCD相機的圖像采集系統(tǒng),可以在高速運動狀態(tài)下獲取軌道表面的清晰圖像。對輸入的軌道圖像信息進行預(yù)處理,通過圖像濾波去除圖像信息中的噪聲,增強圖像細節(jié)內(nèi)容,然后對預(yù)處理后的軌道圖像進行區(qū)域提取,將軌道表面部分、扣件部分等進行提取定位,最后采用相應(yīng)的算法可以實現(xiàn)對提取的目標區(qū)域的軌道缺陷進行判斷識別。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡稱CNN),是一種特殊的多層神經(jīng)網(wǎng)絡(luò)模型,是模式識別分類領(lǐng)域近年發(fā)展起來并引起廣泛重視的一種高效識別方法。20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經(jīng)元時發(fā)現(xiàn)其獨特的網(wǎng)絡(luò)結(jié)構(gòu)可以有效地降低反饋神經(jīng)網(wǎng)絡(luò)的復(fù)雜性,繼而提出了卷積神經(jīng)網(wǎng)絡(luò)。在圖像理解領(lǐng)域,由于該網(wǎng)絡(luò)避免了對圖像的復(fù)雜前期預(yù)處理,可以直接輸入原始圖像,同時它的稀疏連接和權(quán)值共享的網(wǎng)絡(luò)結(jié)構(gòu)進一步降低了神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度,因而得到了更為廣泛的應(yīng)用。
CNN主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。由于CNN的特征檢測層通過訓(xùn)練數(shù)據(jù)進行學(xué)習(xí),所以在使用CNN時,避免了顯示的特征抽取,而隱式地從訓(xùn)練數(shù)據(jù)中進行學(xué)習(xí);再者由于同一特征映射面上的神經(jīng)元權(quán)值相同,所以網(wǎng)絡(luò)可以并行學(xué)習(xí),這也是卷積網(wǎng)絡(luò)相對于神經(jīng)元彼此相連網(wǎng)絡(luò)的一大優(yōu)勢。卷積神經(jīng)網(wǎng)絡(luò)以其局部權(quán)值共享的特殊結(jié)構(gòu)在語音識別和圖像處理方面有著獨特的優(yōu)越性,其布局更接近于實際的生物神經(jīng)網(wǎng)絡(luò),權(quán)值共享降低了網(wǎng)絡(luò)的復(fù)雜性,特別是多維輸入向量的圖像可以直接輸入網(wǎng)絡(luò)這一特點避免了特征提取和分類過程中數(shù)據(jù)重建的復(fù)雜度。
CNN是在BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上的改進,兩者的共同點是,都采用了前向傳播計算輸出值,反向傳播調(diào)整權(quán)值和偏置。其最大的不同點在于,CNN中相鄰層之間的神經(jīng)單元是部分連接而非全連接,CNN有三個重要的思想架構(gòu):
一是局部區(qū)域感知,能夠發(fā)現(xiàn)數(shù)據(jù)的一些局部特征,對圖像上的像素點相互關(guān)系有進一步的分析挖掘。二是權(quán)值共享,CNN中每一層的每一個特征映射上的所有神經(jīng)元共用一個權(quán)值,權(quán)值通常代表了一個特征,在CNN中也叫卷積核。權(quán)值共享減少了需要訓(xùn)練的樣本數(shù)量,使得訓(xùn)練得出的模型具有更強的泛化能力。三是空間或時間上的采樣,其目的是混淆特征的具體位置,我們不需要知道特征在圖像中的具體位置,減少了特征定位的工作,這樣使得CNN能夠?qū)ψ冃魏团で斓膱D像有比較好的識別效果。
CNN的基本結(jié)構(gòu)包括兩層,其一為特征提取層,每個神經(jīng)元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其他特征間的位置關(guān)系也隨之確定下來;其二是特征映射層,網(wǎng)絡(luò)的每個計算層由多個特征映射組成,每個特征映射是一個平面,平面上所有神經(jīng)元的權(quán)值相等。特征映射結(jié)構(gòu)采用影響函數(shù)核小的sigmoid函數(shù)作為卷積網(wǎng)絡(luò)的激活函數(shù),使得特征映射具有位移不變性。此外,由于一個映射面上的神經(jīng)元共享權(quán)值,因而減少了網(wǎng)絡(luò)自由參數(shù)的個數(shù)。卷積神經(jīng)網(wǎng)絡(luò)中的每一個卷積層都緊跟著一個用來求局部平均與二次提取的采樣層,這種特有的兩次特征提取結(jié)構(gòu)減小了特征分辨率。一個典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是LeNet5,其結(jié)構(gòu)示意圖如圖1所示。
實驗使用開源的Caffe(Convolutional Architecture for Fast Feature)框架,以C++作為核心語言,Caffe的優(yōu)點是上手快、速度快、模塊化,接口開放性良好,易于快速構(gòu)建所需的CNN模型。
在圖像處理方面,使用了開源的OpenCV函數(shù)庫,OpenCV以其開放性和強大的功能以及良好的兼容性,應(yīng)用范圍廣泛,在基于圖像的人臉識別、目標檢測、目標跟蹤方面都有不可替代的作用。
圖1 LeNet5結(jié)構(gòu)示意圖
采用固定于軌道檢測車底部,位于單根鐵軌正上方的基于線陣CCD的高速高幀率相機拍攝軌道表面的動態(tài)視頻,然后逐幀抓取圖像,組成所需的數(shù)據(jù)集。原始圖像如圖2所示。
圖2 拍攝原始圖像樣例
本實驗中,共選取了20081張如圖2所示的原始圖像作為對象,對所有圖像進行裁剪縮放預(yù)處理,去除了枕木、道碴等背景元素,得到軌道表面圖像,統(tǒng)一設(shè)置為180×50像素大小。
按鋼軌表面缺陷的特征來分類,可以將其分為兩類:裂紋和疤痕。本文主要從特征提取的角度,對裂紋和疤痕的檢測識別進行研究并實現(xiàn)檢測分類。裂紋缺陷形狀比較細長,類似于條狀矩形,文中稱為條形缺陷;疤痕缺陷類似于圓形,長寬比相差不大,文中稱為圓形缺陷。本文按照《鐵路工務(wù)技術(shù)手冊》標準將所有軌道表面圖像數(shù)據(jù)手工分為3類(無缺陷、圓形缺陷、條形缺陷),如圖3所示。由于存在的缺陷樣本比較有限,還應(yīng)對數(shù)據(jù)樣本進行擴充,主要采用隨意變換缺陷框位置、平移或翻轉(zhuǎn)缺陷區(qū)域等方法。使3類樣本數(shù)量基本一致,其中無缺陷樣本約8000張,圓形缺陷樣本和條形缺陷樣本各約6000張。
圖3 軌道表面圖像分類樣例
(1)訓(xùn)練網(wǎng)絡(luò)設(shè)置
本文所使用的CNN模型采用2層卷積神經(jīng)網(wǎng)絡(luò),2層子采樣,2層全連接,為提高樣本訓(xùn)練效率,激活函數(shù)使用relu函數(shù)。包含缺陷的樣本圖片從卷積層經(jīng)過濾波器提取特征后,得到一定數(shù)量的特征圖,再將特征圖輸入子采樣層進行最大池化采樣操作,使特征圖泛化,加入激活函數(shù)使函數(shù)變得非線性。重復(fù)以上操作,得到處理后的特征圖,然后與全連接層進行連接,計算處理結(jié)果與標定值得差異,使用反向傳播算法自頂而下地再次更新學(xué)習(xí)率和權(quán)值等網(wǎng)絡(luò)參數(shù)。對于需要測試的圖像,則經(jīng)過Softmax分類器可識別得到分類結(jié)果。在每個類中,我們保留10%的樣本進行測試,剩下90%的樣本用于訓(xùn)練。可視化網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 可視化網(wǎng)絡(luò)結(jié)構(gòu)圖
(2)網(wǎng)絡(luò)各層配置實現(xiàn)
在以上算法流程的基礎(chǔ)上,該網(wǎng)絡(luò)各層的配置實現(xiàn)如下。
卷積層的配置實現(xiàn),以第一層為例,進行如下配置:layer{
name:"conv1"
type:"Convolution"
bottom:"data"
top:"conv1"
param{
lr_mult:1
}
param{
lr_mult:2
}
convolution_param{
num_output:32#卷積和的個數(shù)是32
pad:0
kernel_size:5#卷積核的大小是5*5
stride:1#卷積步長是1
weight_filler{
type:"gaussian"#使用gaussian算法初始化權(quán)值
std:0.0001
}
bias_filler{#偏置初始化為常數(shù),0
type:"constant"
}
}
}
子采樣層及激活函數(shù)的配置實現(xiàn),以第一層為例,進行如下配置:
layer{
name:"pool1"
type:"Pooling"
bottom:"conv1"
top:"pool1"
pooling_param{
pool:MAX #采用最大池化
kernel_size:2 #下采樣的核大小是2*2
stride:2 #下采樣步長是2
}
}
layer{
name:"relu1"
type:"ReLU"#采用relu函數(shù)作為激活函數(shù)
bottom:"pool1"
top:"pool1"
}
全連接層的配置實現(xiàn),以第一層為例,進行如下配置:
layer{
name:"ip1"
type:"InnerProduct"
bottom:"pool2"
top:"ip1"
param{
lr_mult:1
}
param{
lr_mult:2
}
inner_product_param{
num_output:64#輸出為64,第二層全連接輸出為3
weight_filler{
type:"gaussian"
std:0.1
}
bias_filler{
type:"constant"
}
}
}
(3)訓(xùn)練參數(shù)設(shè)置
本CNN網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練參數(shù)設(shè)置如下:
net:"D:/test/train/train_project.prototxt"#網(wǎng)絡(luò)配置文件
test_iter:80#測試迭代總次數(shù)
test_interval:50000 #測試間隔
base_lr:0.00005#學(xué)習(xí)率選擇
lr_policy:"inv"#學(xué)習(xí)率的調(diào)整策略
weight_decay:0.01#權(quán)重
stepsize:200000#學(xué)習(xí)率變化步長
power:0.75#懲罰系數(shù)
gamma:0.5
#gamma值
display:1000#打印迭代間隔
max_iter:5000000 #最大訓(xùn)練迭代次數(shù)
momentum:0.5
snapshot:50000
snapshot_prefix:"D:/test/train/model_3/train_3_class"#模型數(shù)據(jù)保存位置
solver_mode:GPU#訓(xùn)練方式使用GPU
為測試CNN算法對軌道表面缺陷檢測的準確率,首先定義以下幾個參考指標來評估該算法:
召回率:正確檢測出缺陷數(shù)量占測試集所有缺陷總數(shù)的比例。反映出算法尋找缺陷的能力。
精確度:在所有檢測出的缺陷中,正確檢測到的缺陷所占比例,反映出檢測的準確性。
漏檢率:沒有定位出的缺陷的數(shù)量占總?cè)毕輸?shù)量的比例。
本文挑選了帶有圓形缺陷和條形缺陷的樣本圖片各50張作為測試集。在經(jīng)過訓(xùn)練的CNN模型中,對這100張圖片缺陷檢測的準確率進行計算,結(jié)果表1所示。
表1 檢測結(jié)果
實驗結(jié)果表明,該算法能夠比較準確地識別出軌道表面存在的缺陷并進行分類,缺陷綜合檢測精度能夠達到70%以上,對圓形缺陷的檢測精度能夠達到83.72%,具有較好的檢測效果,但仍存在部分誤檢漏檢情況。經(jīng)分析,檢測召回率和精確度不夠高的原因主要有以下四方面:
(1)手工分類標準不一。前期在對訓(xùn)練樣本進行手工分類時,判斷的標準容易受到主觀因素的影響,導(dǎo)致各類缺陷樣本的特征性參差不齊,從而在訓(xùn)練分類器時容易產(chǎn)生誤差。
(2)用于訓(xùn)練的缺陷樣本多樣性不強。盡管對樣本數(shù)量進行了擴充,但擴充方式還比較單一,無法保證缺陷樣本的多樣性。特別是對條形缺陷的識別檢測,因缺陷形狀、方向、長度等因素的干擾較大,檢測精確度受影響更大。
(3)較小的CNN模型限制了分類檢測性能。為縮短樣本訓(xùn)練時間,本文采用的CNN模型只使用了2層卷積、2層子采樣和2層全連接,如果構(gòu)建更大型的CNN網(wǎng)絡(luò)模型必將在訓(xùn)練效果上更優(yōu)異,但同時也意味著更長的計算時間。
(4)圖像采集系統(tǒng)對圖像的質(zhì)量控制有待提高。固定于軌檢車上的相機在高速情況下采集的圖像,在光照、噪聲、抖動和扭曲變形等因素影響下會從計算機視覺的角度不可避免地誤導(dǎo)檢測。
本文在國內(nèi)外軌道檢測領(lǐng)域的發(fā)展及現(xiàn)狀基礎(chǔ)上,提出基于深度學(xué)習(xí)的方法來檢測軌道表面的缺陷并分類,通過對卷積神經(jīng)網(wǎng)絡(luò)的算法進行數(shù)學(xué)推導(dǎo),構(gòu)建對應(yīng)的網(wǎng)絡(luò)模型,使用數(shù)字圖像處理技術(shù)及深度學(xué)習(xí)框架實現(xiàn)了對軌道表面缺陷的檢測及分類。但是,在實際運用當(dāng)中,仍有一些因素沒有作深入考慮和研究,下一步需要解決和優(yōu)化的研究方向主要有以下幾點:
(1)基于線陣CCD相機的軌道表面圖像采集系統(tǒng)還需解決高速環(huán)境下拍攝中遇到的幀率、噪聲等影響。
(2)對軌道表面缺陷的分類還比較簡單粗略,對軌道表面的具體缺陷、污漬、附著物等還沒有進行區(qū)分。下一步可以繼續(xù)運用神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的方法深化分類。
(3)卷積神經(jīng)網(wǎng)絡(luò)模型還有待完善,如何構(gòu)建一個更成熟的卷積神經(jīng)網(wǎng)絡(luò)模型,進一步提高檢測精確度,同時減少計算時間,滿足實用化需求,是一個值得深入挖掘的方向。
[1]Sperry Rail Service,http://www.sperryrail.com/story.php,2017.02.06.
[2]趙國堂編.軌檢車技術(shù)現(xiàn)狀與發(fā)展[M].北京:中國鐵道出版社,2001.
[3]王午生,許玉德,鄭其昌.鐵道與城市交通[M].同濟大學(xué)出版社,2000.
[4]Rafael.C.Gonzalez,Richard.E.Woods,等.數(shù)字圖像處理的MATLAB實現(xiàn)[M].清華大學(xué)出版社,2013.
[5]鐵道工務(wù)局.鐵路工務(wù)技術(shù)手冊:軌道[S].北京:中國鐵道出版社,2000.
[6]劉澤,王嵬,王平.鋼軌表面缺陷檢測機器視覺系統(tǒng)的設(shè)計[J].電子測量與儀器學(xué)報,2010,24(11):1012-1017.
[7]官鑫,趙智雅,高曉蓉.圖像處理技術(shù)在鋼軌表面缺陷檢測和分類中的應(yīng)用[J].鐵路計算機應(yīng)用,2009,18(6):27-30.
[8]Krizhevsky A,Sutskever I,Hinton G E.Imagenet Classiflcation with Deep Convolutional Neural Networks.In:Proceedings of Advances in Neural Information Processing Systems 25.Lake Tahoe,Nevada,USA:Curran Associates,Inc.,2012,1097-1105.
[9]Hubel D H,Wiesel T N.Receptive Fields and Functional Architecture of Monkey Striate Cortex[J].The Journal of Physiology,1968,195(1):215-243.
[10]LeCun Y,Bottou L,Bengio Y,et al.Gradient-Based Learning Applied to Document Recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[11]Bouvrie J.Notes on Convolutional Neural Networks[J].Neural Nets,2006.
劉孟軻(1985-),男,四川會理人,在讀碩士研究生,研究方向為圖形圖像處理、計算機網(wǎng)絡(luò)
2017-07-04
2017-09-28
Convolutional Neural Network;Track Surface;Defect Inspection;Subsampling;BP Neural Network
Implementation of Track Surface Defect Inspection Based on Convolutional Neural Network
LIU Meng-ke1,2,WU Yang1,2,WANG Xun1
(1.College of Computer Science,Chengdu Sichuan 610065;2.State Key Laboratory of Fundamental Science on Synthetic Vision,Sichuan University,Chengdu 610065)
Based on computer vision technology,with the image acquisition system based on linear CCD camera,the comprehensive track information can be collected to lay the foundation for defects detection and location,thereby achieving the inspection of railway track defects.While the most current domestic defect recognition technology has not been refined,and there are setbacks automatic identification of statistics which largely relies on skilled workers or imported detection systems.With this regard,conducts research on the effective method in track surface defects recognition and detection to meet the demand in railway development,and successfully proposes an algorithm based on convolution?al neural network to achieve the recognition of the track surface defects.What’s more,the accuracy of the identification of orbital surface defects is verified by researching circular and strip,the two types of defects statistics.
卷積神經(jīng)網(wǎng)絡(luò);軌道表面;缺陷檢測;子采樣;BP神經(jīng)網(wǎng)絡(luò)
1007-1423(2017)29-0065-05
10.3969/j.issn.1007-1423.2017.29.016