赵珊珊, 何 宁
(1.北京联合大学 北京市信息服务工程重点实验室,北京 100101; 2.北京联合大学 智慧城市学院,北京 100101)
基于卷积神经网络的路面裂缝检测*
赵珊珊1, 何 宁2
(1.北京联合大学北京市信息服务工程重点实验室,北京100101;2.北京联合大学智慧城市学院,北京100101)
对路面图像块预标记,根据预标记结果对路面图像进行强度归一化预处理,在保留裂缝信息的同时,减少背景光照不均的影响。将预处理后的路面图像输入卷积神经网络(CNN)模型实现路面图像裂缝的检测。由于路面裂缝分布复杂,在训练网络时,使用不同尺度和不同角度的路面图像进行模型训练,使得网络能够检测不同裂缝形状。实验结果显示:裂缝检测结果较好。
图像处理; 公路裂缝; 卷积神经网络; 检测
传统的人工巡检方式显然已经不能满足巨大的公路路面巡检需求,目前,很多计算机视觉技术实现检测裂缝。文献[1]提出了基于多偏微分方程融合的增强算法检测路面裂缝,该方法中梯度门限等重要参数不固定,只能处理同一条件下的路面图像。文献[2]将灰度去噪模型、空间滤波去噪模型等模型串联起来,构成了一个多级去噪模型,当多种噪声混杂在一起时,裂缝检测的效果不明显。文献[3]提出了改进的基于动态规划的算法检测裂缝,算法执行速度快但是准确率较低。文献[4]使用Gabor滤波器检测裂缝,其对简单的路面裂缝检测效果良好,对于分布复杂的裂缝检测结果断裂严重。文献[5]使用4层的卷积神经网络(convolutional neural network,CNN))实现了裂缝检测,准确率为87 %,精度有待提高。文献[6]提出了一种新的区域增长算法检测裂缝,其对于纹理细小且分散的路面裂缝检测结果不好。为了提高裂缝检测的准确率,本文提出了基于CNN[7,8]检测路面图像的裂缝。
对预标记后的路面图像进行强度归一化和像素饱和化预处理以减少光照不均等的影响。将2 400像素×3 150像素的路面图像划分为16行、21列的150像素×150像素图像块,计算每个图像块的均值和标准差,因此,每幅路面图像均有16×21的均值矩阵Mm和标准差矩阵STDm。
1.1 预标记
对Mm矩阵分别做纵向和横向扫描查找包含裂缝像素的图像块,预标记的目的是将包含裂缝像素的图像块标记为‘1’,不包含裂缝像素的图像块标记为‘0’。首先对Mm纵向扫描,预标记方法为
mean(Bvj))]∧[(Av(i,j)[1]-Av(i,j)[2])>0]
(1)
(2)
纵向扫描后,水平扫描以类似的方式进行,Av和Bv分别由Ah和Bh替代,预标记方法如下
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。根据bilimg值,可以为每一幅图像计算出一个与Mm均值矩阵同维的归一化常数矩阵Mnc。
对于标记为‘0’的图像块,对应的归一化常数矩阵Mnc元素用式(5)计算
(5)
对于预标记为‘1’的图像块,其对应的Mnc计算如下
(6)
式中k(0)为图像块(i,j)的邻域标记为‘0’的图像块的数量和。从3×3邻域(此时式(6)中a=b=1)开始搜索标记为‘0’的图像块直至找到标记为‘0’的图像块。该方法对图像块的像素强度值改变较小,可防止预标记为‘1’区域的像素强度的剧烈变化,丢失可能包含裂缝像素的区域。由图1可以看出,强度归一化方法在有效减少背景光照不均的同时保留了裂缝像素。
图1 强度归一化
2.1 网络结构
本文的CNN结构与VGGNet不同的是:该网络的卷积层conv1_1,conv2_2,conv3_3,conv4_3连接到了最后的卷积层。该网络不存在VGGNet的第5个卷积层,第5个池化层和全连接层,因为第5个卷积层和第5个池化层会生成小且模糊的特征图,影响最终检测效果。全连接层的耗时较长,因此,去掉全连接能够大幅减少训练和测试的内存与时间耗费。最终网络结构共有4个阶段,网络结构如图2所示。
图2 路面裂缝检测网络框架
对每个中间层输出的错误反向传播路径如右图虚线所示。中间输出越来越小,因此,感受尺寸变的越来越大。最终网络可以通过权重融合实现多尺度和多层次输出。
2.2 CNN的训练
向前传播阶段,取样本集的一个样本S,将X输入网络计算相应的预测输出Op;向后传播阶段,计算实际输出Op与相应的理想输出Yn的差,按极小误差方法反向传播进行权矩阵的调整。CNN训练步骤:
1)由采集到的裂缝图像和图像对应的ground truth图像作为训练组输入网络。
2)设置网络权重和偏置为接近于0的随机值,并将精度控制的参数学习率α设置为0.001。
3)从训练数据中取1个样本S加至网络,再计算其目标输出向量d。
4)根据式(7),计算中间层输出向量y
(7)
式中Wjk为j层到k层网络需要学习的权重;h为输入到k层的特征图;θ为偏置项。
5)根据式(8),计算输出向量与目标向量在中间层输出的误差
(8)
式中αm为调节系数,用来控制每个独立的中间层(即side-output1~side-output4)在融合层所占的权重;lside为中间层图像(例如side-output1)的损失函数;W为所有标准的网络层参数;每一层的权重表示为w=[w(l),…,w(M)]。
由于边缘像素点和非边缘像素点的分布差别大,故边缘像素点和非边缘像素点对边缘检测贡献不同。因此,引入像素级的类平衡权重β保证正负样本的损失平衡,最终预测的边缘图与ground truth之间的类平衡交叉熵损失函数如式(9)所示
(9)
6)根据式(10)计算输出向量中各个中间层预测结果之和
(10)
式中h为对中间层进行融合的权重,h=[h1,…,hM]。
7)根据式(11)计算最后融合层的输出向量与目标向量的输出误差
Lfuse(W,w,h)=Dist(Y,fuse)
(11)
式中Dist(·,·)为融合预测图fuse与ground truth标签图Y之间的距离,通过使用交叉熵损失函数计算损失值大小。
8)根据式(12),利用标准(反向传播)随机梯度下降最小化目标函数
L(W,w,h)*=argmin(Lside(S,Y,W,w)+
Lfuse(W,w,h))
(12)
式中Lside(S,Y,W,w)为每个中间层的损失;Lfuse(W,w,h)为最终的预测图与ground truth标签图的损失。
9)根据式(13)和式(14)不断更新权值和偏置项,实现网络模型的优化
(13)
(14)
本文基于Caffe框架构建裂缝图像检测网络。实验环境为3.5 GHz主频,32 G RAM的CPU,一块NVIDIA Tesla K40 GPU,其板载12 GB GDDR5 384—bit显存,显存带宽288 GB/s,显存频率6 GHz。数据集为3 000张大小为2 400像素×3 150像素的路面图像。在训练网络模型时,对输入图像0.8,1.2,1.5比例尺缩放,同时对图像进行0°,90°,270°三个角度的旋转,训练集扩大到为36 000张。对于裂缝检测结果,使用精密召回(precision recall,PR)曲线对其进行评估。
3.1 CNN参数
表1 网络参数
3.2 不同裂缝检测方法结果对比
本文方法与文献[4]、文献[9]路面裂缝检测结果进行比较。对于裂缝明显的路面图像,CNN的裂缝检测结果明显优于传统方法。为了进一步验证本文方法检测路面裂缝的优势,将对低对比度且分布复杂的路面图像做裂缝检测,实验结果如图3所示。
图3 不同方法裂缝检测结果
图3(a)~图3(d)为4幅路面原图像,图3(a)裂缝细小复杂,图3(b)~图3(d)为雨后低对比度且裂缝分布复杂的路面图像。图3(e)~图3(h)为原图裂缝的ground truth,图3(i)~图3(l)为文献[4]中Gabor滤波波长为20,方差为4时裂缝检测的结果。图3(m)~图3(p)为文献[9]中Otsu阈值方法实现裂缝检测。图3(q)~图3(t)为本文方法的检测结果。由图3可以看出:Gabor滤波检测出的裂缝断裂严重,整体检测效果较差。Otsu阈值方法检测出的裂缝边缘有断裂但整体较清晰。本文方法的检测结果裂缝连接较好且清晰,能检测出细小裂缝。
针对图3中不同裂缝检测方法,用PR曲线图对实验结果进行验证,结果如图4所示,CNN对裂缝检测的整体质量指标值均高于其他4种方法,检测效果最佳。其中,Fm为准确率和召回率的加权调和平均,即
图4 PR曲线
对采集的原始公路裂缝图像,利用CNN能够较好地提取裂缝并且裂缝边缘保持了很好的连接性,为后续对裂缝进行分析,如裂缝类型划分和裂缝严重程度的计算提供了很好的检测方法。由于路面图像情况复杂,如易受到车道线,阴井盖等杂物的影响,在未来的研究中,将在去除杂物对裂缝检测的影响进行研究,以提高路面裂缝检测的精度以及实用性。
[1] 唐 磊,赵春霞,王鸿南,等.路面图像增强的多偏微分方程融合法[J].中国图象图形学报,2008,13(9):1661-1666.
[2] 王兴建,秦国锋,赵慧丽.基于多级去噪模型的路面裂缝检测方法[J].计算机应用,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] 郭全民,张海先.基于图像处理技术的混凝土路面裂缝检测方法[J].传感器与微系统,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
国家自然科学基金资助项目(61370138, 61572077, U1301251)
赵珊珊(1990-),女,硕士研究生,主要研究方向为数字图像处理。
何 宁(1970-),女,通讯作者,博士,教授,主要从事数字图像处理、计算机图像学相关研究工作,E—mail:xxthening@buu.edu.cn。