趙珊珊, 何 寧
(1.北京聯(lián)合大學(xué) 北京市信息服務(wù)工程重點實驗室,北京 100101; 2.北京聯(lián)合大學(xué) 智慧城市學(xué)院,北京 100101)
基于卷積神經(jīng)網(wǎng)絡(luò)的路面裂縫檢測*
趙珊珊1, 何 寧2
(1.北京聯(lián)合大學(xué)北京市信息服務(wù)工程重點實驗室,北京100101;2.北京聯(lián)合大學(xué)智慧城市學(xué)院,北京100101)
對路面圖像塊預(yù)標記,根據(jù)預(yù)標記結(jié)果對路面圖像進行強度歸一化預(yù)處理,在保留裂縫信息的同時,減少背景光照不均的影響。將預(yù)處理后的路面圖像輸入卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型實現(xiàn)路面圖像裂縫的檢測。由于路面裂縫分布復(fù)雜,在訓(xùn)練網(wǎng)絡(luò)時,使用不同尺度和不同角度的路面圖像進行模型訓(xùn)練,使得網(wǎng)絡(luò)能夠檢測不同裂縫形狀。實驗結(jié)果顯示:裂縫檢測結(jié)果較好。
圖像處理; 公路裂縫; 卷積神經(jīng)網(wǎng)絡(luò); 檢測
傳統(tǒng)的人工巡檢方式顯然已經(jīng)不能滿足巨大的公路路面巡檢需求,目前,很多計算機視覺技術(shù)實現(xiàn)檢測裂縫。文獻[1]提出了基于多偏微分方程融合的增強算法檢測路面裂縫,該方法中梯度門限等重要參數(shù)不固定,只能處理同一條件下的路面圖像。文獻[2]將灰度去噪模型、空間濾波去噪模型等模型串聯(lián)起來,構(gòu)成了一個多級去噪模型,當多種噪聲混雜在一起時,裂縫檢測的效果不明顯。文獻[3]提出了改進的基于動態(tài)規(guī)劃的算法檢測裂縫,算法執(zhí)行速度快但是準確率較低。文獻[4]使用Gabor濾波器檢測裂縫,其對簡單的路面裂縫檢測效果良好,對于分布復(fù)雜的裂縫檢測結(jié)果斷裂嚴重。文獻[5]使用4層的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN))實現(xiàn)了裂縫檢測,準確率為87 %,精度有待提高。文獻[6]提出了一種新的區(qū)域增長算法檢測裂縫,其對于紋理細小且分散的路面裂縫檢測結(jié)果不好。為了提高裂縫檢測的準確率,本文提出了基于CNN[7,8]檢測路面圖像的裂縫。
對預(yù)標記后的路面圖像進行強度歸一化和像素飽和化預(yù)處理以減少光照不均等的影響。將2 400像素×3 150像素的路面圖像劃分為16行、21列的150像素×150像素圖像塊,計算每個圖像塊的均值和標準差,因此,每幅路面圖像均有16×21的均值矩陣Mm和標準差矩陣STDm。
1.1 預(yù)標記
對Mm矩陣分別做縱向和橫向掃描查找包含裂縫像素的圖像塊,預(yù)標記的目的是將包含裂縫像素的圖像塊標記為‘1’,不包含裂縫像素的圖像塊標記為‘0’。首先對Mm縱向掃描,預(yù)標記方法為
mean(Bvj))]∧[(Av(i,j)[1]-Av(i,j)[2])>0]
(1)
(2)
縱向掃描后,水平掃描以類似的方式進行,Av和Bv分別由Ah和Bh替代,預(yù)標記方法如下
mean(Bhi))]∧[(Ah(i,j)[1]-Ah(i,j)[2])>0]
(3)
Bhi=[0;std(Ah(i,2));…;std(Ah(i,20));0]
(4)
1.2 強度歸一化
強度歸一化主要是為了去除路面光照不均。首先計算每幅圖像不包含裂縫像素圖像塊的平均像素強度值的平均值bilimg。根據(jù)bilimg值,可以為每一幅圖像計算出一個與Mm均值矩陣同維的歸一化常數(shù)矩陣Mnc。
對于標記為‘0’的圖像塊,對應(yīng)的歸一化常數(shù)矩陣Mnc元素用式(5)計算
(5)
對于預(yù)標記為‘1’的圖像塊,其對應(yīng)的Mnc計算如下
(6)
式中k(0)為圖像塊(i,j)的鄰域標記為‘0’的圖像塊的數(shù)量和。從3×3鄰域(此時式(6)中a=b=1)開始搜索標記為‘0’的圖像塊直至找到標記為‘0’的圖像塊。該方法對圖像塊的像素強度值改變較小,可防止預(yù)標記為‘1’區(qū)域的像素強度的劇烈變化,丟失可能包含裂縫像素的區(qū)域。由圖1可以看出,強度歸一化方法在有效減少背景光照不均的同時保留了裂縫像素。
圖1 強度歸一化
2.1 網(wǎng)絡(luò)結(jié)構(gòu)
本文的CNN結(jié)構(gòu)與VGGNet不同的是:該網(wǎng)絡(luò)的卷積層conv1_1,conv2_2,conv3_3,conv4_3連接到了最后的卷積層。該網(wǎng)絡(luò)不存在VGGNet的第5個卷積層,第5個池化層和全連接層,因為第5個卷積層和第5個池化層會生成小且模糊的特征圖,影響最終檢測效果。全連接層的耗時較長,因此,去掉全連接能夠大幅減少訓(xùn)練和測試的內(nèi)存與時間耗費。最終網(wǎng)絡(luò)結(jié)構(gòu)共有4個階段,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 路面裂縫檢測網(wǎng)絡(luò)框架
對每個中間層輸出的錯誤反向傳播路徑如右圖虛線所示。中間輸出越來越小,因此,感受尺寸變的越來越大。最終網(wǎng)絡(luò)可以通過權(quán)重融合實現(xiàn)多尺度和多層次輸出。
2.2 CNN的訓(xùn)練
向前傳播階段,取樣本集的一個樣本S,將X輸入網(wǎng)絡(luò)計算相應(yīng)的預(yù)測輸出Op;向后傳播階段,計算實際輸出Op與相應(yīng)的理想輸出Yn的差,按極小誤差方法反向傳播進行權(quán)矩陣的調(diào)整。CNN訓(xùn)練步驟:
1)由采集到的裂縫圖像和圖像對應(yīng)的ground truth圖像作為訓(xùn)練組輸入網(wǎng)絡(luò)。
2)設(shè)置網(wǎng)絡(luò)權(quán)重和偏置為接近于0的隨機值,并將精度控制的參數(shù)學(xué)習率α設(shè)置為0.001。
3)從訓(xùn)練數(shù)據(jù)中取1個樣本S加至網(wǎng)絡(luò),再計算其目標輸出向量d。
4)根據(jù)式(7),計算中間層輸出向量y
(7)
式中Wjk為j層到k層網(wǎng)絡(luò)需要學(xué)習的權(quán)重;h為輸入到k層的特征圖;θ為偏置項。
5)根據(jù)式(8),計算輸出向量與目標向量在中間層輸出的誤差
(8)
式中αm為調(diào)節(jié)系數(shù),用來控制每個獨立的中間層(即side-output1~side-output4)在融合層所占的權(quán)重;lside為中間層圖像(例如side-output1)的損失函數(shù);W為所有標準的網(wǎng)絡(luò)層參數(shù);每一層的權(quán)重表示為w=[w(l),…,w(M)]。
由于邊緣像素點和非邊緣像素點的分布差別大,故邊緣像素點和非邊緣像素點對邊緣檢測貢獻不同。因此,引入像素級的類平衡權(quán)重β保證正負樣本的損失平衡,最終預(yù)測的邊緣圖與ground truth之間的類平衡交叉熵損失函數(shù)如式(9)所示
(9)
6)根據(jù)式(10)計算輸出向量中各個中間層預(yù)測結(jié)果之和
(10)
式中h為對中間層進行融合的權(quán)重,h=[h1,…,hM]。
7)根據(jù)式(11)計算最后融合層的輸出向量與目標向量的輸出誤差
Lfuse(W,w,h)=Dist(Y,fuse)
(11)
式中Dist(·,·)為融合預(yù)測圖fuse與ground truth標簽圖Y之間的距離,通過使用交叉熵損失函數(shù)計算損失值大小。
8)根據(jù)式(12),利用標準(反向傳播)隨機梯度下降最小化目標函數(shù)
L(W,w,h)*=argmin(Lside(S,Y,W,w)+
Lfuse(W,w,h))
(12)
式中Lside(S,Y,W,w)為每個中間層的損失;Lfuse(W,w,h)為最終的預(yù)測圖與ground truth標簽圖的損失。
9)根據(jù)式(13)和式(14)不斷更新權(quán)值和偏置項,實現(xiàn)網(wǎng)絡(luò)模型的優(yōu)化
(13)
(14)
本文基于Caffe框架構(gòu)建裂縫圖像檢測網(wǎng)絡(luò)。實驗環(huán)境為3.5 GHz主頻,32 G RAM的CPU,一塊NVIDIA Tesla K40 GPU,其板載12 GB GDDR5 384—bit顯存,顯存帶寬288 GB/s,顯存頻率6 GHz。數(shù)據(jù)集為3 000張大小為2 400像素×3 150像素的路面圖像。在訓(xùn)練網(wǎng)絡(luò)模型時,對輸入圖像0.8,1.2,1.5比例尺縮放,同時對圖像進行0°,90°,270°三個角度的旋轉(zhuǎn),訓(xùn)練集擴大到為36 000張。對于裂縫檢測結(jié)果,使用精密召回(precision recall,PR)曲線對其進行評估。
3.1 CNN參數(shù)
表1 網(wǎng)絡(luò)參數(shù)
3.2 不同裂縫檢測方法結(jié)果對比
本文方法與文獻[4]、文獻[9]路面裂縫檢測結(jié)果進行比較。對于裂縫明顯的路面圖像,CNN的裂縫檢測結(jié)果明顯優(yōu)于傳統(tǒng)方法。為了進一步驗證本文方法檢測路面裂縫的優(yōu)勢,將對低對比度且分布復(fù)雜的路面圖像做裂縫檢測,實驗結(jié)果如圖3所示。
圖3 不同方法裂縫檢測結(jié)果
圖3(a)~圖3(d)為4幅路面原圖像,圖3(a)裂縫細小復(fù)雜,圖3(b)~圖3(d)為雨后低對比度且裂縫分布復(fù)雜的路面圖像。圖3(e)~圖3(h)為原圖裂縫的ground truth,圖3(i)~圖3(l)為文獻[4]中Gabor濾波波長為20,方差為4時裂縫檢測的結(jié)果。圖3(m)~圖3(p)為文獻[9]中Otsu閾值方法實現(xiàn)裂縫檢測。圖3(q)~圖3(t)為本文方法的檢測結(jié)果。由圖3可以看出:Gabor濾波檢測出的裂縫斷裂嚴重,整體檢測效果較差。Otsu閾值方法檢測出的裂縫邊緣有斷裂但整體較清晰。本文方法的檢測結(jié)果裂縫連接較好且清晰,能檢測出細小裂縫。
針對圖3中不同裂縫檢測方法,用PR曲線圖對實驗結(jié)果進行驗證,結(jié)果如圖4所示,CNN對裂縫檢測的整體質(zhì)量指標值均高于其他4種方法,檢測效果最佳。其中,F(xiàn)m為準確率和召回率的加權(quán)調(diào)和平均,即
圖4 PR曲線
對采集的原始公路裂縫圖像,利用CNN能夠較好地提取裂縫并且裂縫邊緣保持了很好的連接性,為后續(xù)對裂縫進行分析,如裂縫類型劃分和裂縫嚴重程度的計算提供了很好的檢測方法。由于路面圖像情況復(fù)雜,如易受到車道線,陰井蓋等雜物的影響,在未來的研究中,將在去除雜物對裂縫檢測的影響進行研究,以提高路面裂縫檢測的精度以及實用性。
[1] 唐 磊,趙春霞,王鴻南,等.路面圖像增強的多偏微分方程融合法[J].中國圖象圖形學(xué)報,2008,13(9):1661-1666.
[2] 王興建,秦國鋒,趙慧麗.基于多級去噪模型的路面裂縫檢測方法[J].計算機應(yīng)用,2010,30(6):1606-1609.
[3] Huang Yuchun,Tsai Yichang.Enhanced pavement distress segmentation algorithm using dynamic programming and connected component analysis[J].Transportation Research Record Journal of the Transportation Research Board,2011,2225:89-98.
[4] Salman Muhammad,Mathavan Senthan,Kamal K,et al.Pavement crack detection using the gabor filter[C]∥International IEEE Conference on Intelligent Transportation Systems,2013:2039-2044.
[5] Zhang Lei,Yang Fan,Zhang Yimin D.Road crack detection using deep convolutional neural network[C]∥IEEE International Conference on Image Processing,2016.
[6] Zhang Dejin,Li Qingquan,Chen Ying,et al.An efficient and reliable coarse-to-fine approach for asphalt pavement crack detec-tion[J].Image and Vision Computing,2016,5(8):130-146.
[7] Xie Saining,Tu Zhuowen.Holistically-nested edge detection[C]∥Proceedings of the IEEE International Conference on Computer Vision,2015:1395-1403.
[8] Simonyan Karen,Zisserman Andrew.Very deep convolutional networks for large-scale image recognition[C]∥Computer Science,2015:19-29.
[9] 郭全民,張海先.基于圖像處理技術(shù)的混凝土路面裂縫檢測方法[J].傳感器與微系統(tǒng),2013,32(4):61-64.
RoadsurfacecrackdetectionbasedonCNN*
ZHAO Shan-shan1, HE Ning2
(1.BeijingKeyLaboratoryofInformationServicesEngineering,BeijingUnionUniversity,Beijing100101,China;2CollegeofIntellectualizedCity,BeijingUnionUniversity,Beijing100101,China)
Road surface crack detection method based on convolutional neural network(CNN)is proposed.Intensity normalization preprocessing on road surface image according to pre-labeled result,which can reduce the influence caused by the un-illumination background and the white pixel.The CNN is used to realize the crack detection.Use different scales and angles of road image for model training to improve the ability to detect small and scattered road crack.The experimental result shows that this method is effective.
image processing; highway crack; convolutional neural network(CNN); detection
10.13873/J.1000—9787(2017)11—0135—04
TP 391
A
1000—9787(2017)11—0135—04
2017—09—08
國家自然科學(xué)基金資助項目(61370138, 61572077, U1301251)
趙珊珊(1990-),女,碩士研究生,主要研究方向為數(shù)字圖像處理。
何 寧(1970-),女,通訊作者,博士,教授,主要從事數(shù)字圖像處理、計算機圖像學(xué)相關(guān)研究工作,E—mail:xxthening@buu.edu.cn。