基于灰度分析的路面裂缝图像分类算法研究*
2018-11-01马晓丽
马晓丽 陆 键
(同济大学道路与交通工程教育部重点实验室 上海 201804)
0 引 言
道路在经过一段时间的使用之后均会出现不同程度的损坏.基于图像的半自动化和自动化的技术提供了一致性、高检测速率和高准确性的路面裂缝检测算法[1].在基于图像的裂缝检测中,用高速车载摄像机获得路面的数字图像,并处理和分析路面破损的客观结果[2-4].
为了能够降低处理路面裂缝图像的工作量,本文的目标是自动将不含路面裂缝的完好图像与路面裂缝图像进行分离,从而筛选出不需进行下一步处理工作的完好图像(不含路面裂缝的图像).在路面裂缝自动检测领域已经提出了许多检测方法,这些方法大致可以分为两大类:①路面图像的预处理,包括去噪和增强等算法;②图像的分类算法,主要有基于阈值和边缘检测的分割算法.
图像预处理通过校正不均匀背景,检测非裂缝的特征,降低图像噪声,简化裂缝检测的过程[5].文献[3]提出了一种图像增强算法,将图像转换为标准化背景.Zou等[6]提出了一种四步测距的阴影去除算法,以消除路面阴影.Chanda等[7]利用形态学的相关基础知识来设计路面破损的检测算法,将多尺度的基础知识与数学形态学进行结合,该去噪增强算法具有一定的抵抗噪声的能力,但当路面破损图像中含有较多的随机噪声时,此方法并不能得到详细的路面裂缝信息.
在图像分类方面的研究中,Cheng等[8]等提出了阈值分割算法,该算法是以模糊集理论为基础,对图像进行滤波和差分处理,基于像素连续性的特征,连接路面图像中裂缝区域的像素得到预期的路面分割图像,但该算法效率较低.Jitprasithsir等[9]测试比较了四种常用的阈值分割算法:Ostu 阈值、regression法、松弛因子法、Kittler 法,得出的结论是Otsu法和Kittler 法对路面裂缝图像的分割效果较差,regression法具有较好的效果,但该方法需要进行人工干预来建立回归模型.唐磊[10]提出将图像进行预处理,然后将二维平面的路面图像转换到三维的立体空间上,通过寻找三维曲面中的谷点来检测裂缝,得到谷点之后将其映射到二维图像的平面中,从而对含有路面裂缝的图像进行识别,该方法因为转换映射过程中存在一定的误差,因此不适于检测路面的细微裂缝.在路面三维图像的研究中,彭博等[11-12]通过降低图像维度,根据深度验证和对称性检测将图像子块识别为裂缝种子,然后,根据深度和方向相似性连接裂缝片段,得到裂缝图像.
尽管目前对于路面裂缝图像的研究已有很多的成果,但如何高效、可靠、经济的对路面裂缝图像的分类研究仍然是至关重要的,因此本文以减少后续工作量为目标,提出了基于灰度分析的路面裂缝图像分类算法,从待检测图像中分离不含路面裂缝的图像.
1 图像预处理
在图像去噪和增强算法领域主要有中值滤波、均值滤波、基于偏微分方程的图像增强、掩膜增强算法[13].基于对路面裂缝图像的频域分析可知,裂缝集中分布在频谱中的高频部分,若想使路面图像中的裂缝区域更加明显,则需要增强高频成分,使得裂缝更易检测,因此本文设计了改进的图像掩膜增强算法.
(1)
式中:f(x,y)为待增强处理图像;F(x,y)为低通滤波后的图像.
G(x,y)=f(x,y)+K×F(x,y)
(2)
式中:G(x,y)为增强后的图像;K为修正因子.
偏微分方程算法和本文所设计的去噪增强算法均可以保留原始路面图像中细微裂缝的轮廓,但偏微分方程算法需进行多次迭代,处理路面图像所需要的时间较长,算法的效率较差.
图1为经去噪和增强算法处理之后图像的直方图分布,原始图像的直方图在灰度值较高的区域存在峰值,均值滤波和中值滤波的图像直方图与原始图像的分布基本一致;图1d)表示经偏微分方程算法处理后的图像灰度在200左右出现了第一个峰值,且较原始图像来说,其波峰较大;掩膜增强的直方图分布是对原始图像基本取反的结果,该算法改变了原始图像的灰度均值;本文设计的算法能够在没有改变图像灰度均值的前提下,拓宽路面图像的灰度范围,且可保留图像中细微裂缝的轮廓信息.
图1 算法结果的直方图分布
2 图像特征值的选择
2.1 图像局部灰度均值特征
图像的灰度均值反映的是图像的明暗程度,基于对图像灰度特征的分析可知,路面图像中的裂缝区域集中在图像低灰度分布区域,因此通过对图像进行局部灰度均值特征分析,寻求图像的分类特征,见图2.
设路面图像为a(i,j),则图像的灰度均值为
/(MN)
(3)
图2 分析对象
图3为子块图像灰度均值的分布图,由图3a)~b)可知,含有路面裂缝的子块图像灰度均值分布在180~255及45~80,而完好路面图像(不含裂缝的路面图像)分布在70~115.路面图像的灰度最大值与最小值的差值均在100以内,在完好路面图像与路面裂缝图像之间并无明显的特征性,因此该特征不能较好地对图像进行分类.
图3 子块图像灰度均值的分布
2.2 图像局部灰度方差特征
图像的灰度方差反映的是图像灰度的离散程度,对于路面裂缝图像,局部范围内的灰度方差具有较明显的差异,选用图像的局部灰度方差作为特征可识别不同类别子块图像灰度特征值之间的差别,从而对路面图像进行准确分类.
(4)
式中:p(r)=nrlnN,其中nr为r级灰度的像素数量.
图4为子块图像灰度方差的分布图,由图4可知,路面完好图像(不含路面裂缝的图像)和裂缝图像之间存在明显的分布界限,经过对样本的实验统计分析后,可以得出子块图像方差最值之间的差值小于阈值A时,可认为是路面完好图像,但若大于阈值A,则该图像被归为路面裂缝图像根据实验统计得到的累积方差分布图可粗略推导出阈值A的范围是900~1 100.
图4 子块图像灰度方差的分布
2.3 图像局部灰度熵特征
图像的熵表示的是一种特征的统计形式,反映了图像中平均信息量的多少,图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量.对256级灰度图像而言,每个像素的灰度值范围是0~255,因此像素灰度值的符号集为{0,1,2,…,255} ,令表示图像中灰度值为gi的像素个数为ki,则图像中灰度值为gi的像素出现的概率为
(5)
整幅图像的灰度熵值定义为
(6)
图5为子块图像灰度熵的分布图,由图5可知,含裂缝的路面子块图像的熵值分布在1~7,不含裂缝的路面子块图像的熵值分布范围较为集中,最大值与最小值之差不超过1.5,对于路面图像来说,图像的熵值反映的是该路面子块图像的灰度分布不均匀程度和复杂程度.
图5 子块图像灰度熵的分布
3 图像分类
3.1 数据获取
本文研究的路面图像是使用车载摄像机在自然采光的条件下对沥青路面进行捕获而得,在拍摄图像时,相机垂直于地面放置,并保持与路面恒定的高度,从而使得所拍摄图像的尺寸保持一致.该图像集包含15 000张图像,图像大小为4 096×1 306.通过线性插值的分割算法,将图像进行分块处理,每张路面图像可得到200个非重叠的301×48像素大小的子块路面图像.
3.2 对比实验结果
基于对路面图像的特征分析,选取图像的灰度作为分类特征.结合设计的BP神经网络,选取子块图像灰度方差的最值之差(max)、一幅路面图像中子块图像方差的最值之差超过阈值的子块图像数量(m)以及子块图像灰度熵的最值之差作为神经网络输入的特征值.选取600张图像集中的图像,其中包括300张路面裂缝图像,300张不含路面裂缝的完好图像对神经网络进行训练.
为检测该算法的有效性、可行性、高效性,本文选取了三个评价指标:误检率、漏检率、检测率.指标的选取宗旨是为了迎合实际的应用目的,本文研究的目的是对采集设备捕获的所有图像进行分类,且使得完好图像(不含路面裂缝的图像)中不会掺杂含路面裂缝的路面破损图像,即在保证误检率和漏检率较低的同时提高检测率,见图6.
图6 指标定义说明图
选取图像灰度作为分类特征,并与传统方差算法以及基于阈值的分割算法进行对比实验.传统基于方差思想的分类算法是选取图像整体的方差值、子块图像方差最小值、子块图像方差均值三个特征量对图像进行分类;基于阈值的算法是将图像利用OSTU算法进行分割,再对分割后的二值图像进行水平和垂直方向的投影,选取水平和垂直方向上投影值的和作为特征量对图像进行分类.
选取两个样本验证所设计算法的鲁棒性,样本1为路面裂缝图像占50%左右(共7 200张图像,其中3 499张路面裂缝图像),样本2为路面裂缝图像占1%左右(共7 200张图像,其中93张路面裂缝图像),见图7.
图7 算法对比图
测试结果表明:在样本1的测试条件下,阈值分割算法的检测率最低,漏检率最高,但其误检率低于传统方差算法;在样本2的测试条件下,传统方差算法的检测率最低,漏检率最高,但其误检率低于阈值分割算法;在两个样本的测试条件下,本文算法均具有最高的检测率,最低的漏检率与零误检率;从两个样本的测试结果中可以分析出阈值分割算法与传统方差算法具有不稳定性,其算法结果随着裂缝图像占样本总数百分比的不同而随之改变,但本文算法具有较好的鲁棒性,识别率高达98%,且在完好路面图像(不含路面裂缝的图像)中不会掺杂路面裂缝的图像.然而,本文的分类算法也存在一定的局限性.本文的算法无法识别路面裂缝的类型,但可以确保在完好图像(不含路面裂缝的图像)一类中,不会掺杂路面裂缝的图像,因此在后续工作中可直接将完好路面图像筛除,降低处理路面裂缝图像的工作量.
4 结 论
1) 基于已有的图像预处理算法的研究,设计了适用于本文研究的改进图像掩膜去噪增强算法,充分对比了中值滤波、均值滤波、偏微分方程、图像掩膜算法与本文算法的处理效果,结果表明本文算法与偏微分方程的算法均可保留图像中的细微裂缝信息,但偏微分方程的迭代次数较多,算法不能达到较高的处理效率.
2) 基于路面图像的灰度、边缘、频域分析的研究,采取路面图像的灰度作为分类特征.在路面裂缝图像的研究中,只需其中的路面裂缝的区域,对于一幅较复杂的路面图像,将其进行分块处理,充分利用图像裂缝区域的局部特征信息.在路面子块图像的灰度均值、方差以及熵特征的分析基础之上,选取子块图像的方差和熵作为神经网络的输入值,对路面图像进行分类,其检测率高达98%,且误检率为0.
3) 给定路面图像集,经过本文算法处理可自动将该图像集分成两个类别.研究的结果对于路面裂缝的精确化处理、路面裂缝的位置确定等具有一定的参考价值,且因在现实路面中,完好图像(不含路面裂缝的图像)的数量相对于需要进行后续处理的路面裂缝图像数量较多,本文算法可将完好图像筛选出,并保证其类别中不会含有路面裂缝的图像,因此其能极大降低后续的工作量.
4) 研究结论不能给出具体指标(如路面裂缝的类型、宽度、深度等),后期需对已经筛选出的路面裂缝图像进行更细化的研究,从而能够形成一套完整的路面图像自动分类与路面裂缝识别的系统.