基于布谷鸟搜索的路面裂缝图像检测算法*
2019-08-15程玉柱李赵春
程玉柱, 李赵春, 余 伟
(1.南京林业大学 机械电子工程学院,江苏 南京 210037; 2.南京林业大学 汽车与交通工程学院,江苏 南京 210037)
0 引 言
中国的公路交通快速发展,公路里程数急剧增长,对道路行车的安全性、舒适性和经济性要求提高,势必加大路面养护管理、路面性能评价与预测、路面材料与结构设计等工作。传统上靠人工检测或半自动检测,工作量大、效率低,越来越不适应大里程道路养护管理。开发路面病害自动检测系统具有重要意义[1,2]。路面裂缝是路面常见病害之一,利用机器视觉与图像处理技术,构建自动路面裂缝检测系统是当前国内外研究热点之一。裂缝的类型较多,且受杂物、油污、阴影及光照等因素影响,实现快速、稳定、准确路面裂缝检测一直是个难题。目前还没有统一的分割与识别算法[3]。
裂缝图像识别系统主要包括3个部分:图像预处理、图像分割、特征提取与分类[4,5]。而图像预处理包括:灰度变换、图像去噪、图像增强等环节。道路裂缝图像检测算法按需选用以上部分环节,如灰度变换、去噪、图像分割等组成。灰度图像主要采用三原色(RGB)独立通道或者Rgb2gray函数实现;图像去噪在空域和频域展开,如均值滤波、中值滤波、维纳滤波和傅立叶变换、小波变换等;图像分割主要有阈值分割,以Otsu最为典型,边缘检测、区域增长与融合等。
全变差(total variation,TV)滤波利用偏微分方程迭代对图像进行去噪处理,可用于各种类型的噪声中[6,7]。K均值算法是无监督分类中的一种自适应搜索聚类算法,通过反复迭代寻找K个最佳聚类中心,把全部样本划分为K类,使得全部样本到类中心欧氏聚类之和最小[8]。布谷鸟搜索(cuckoo search,CS)算法是一种新的群体智能算法,是对布谷鸟寄生育鸟行为以及鸟类和果蝇莱维飞行的模拟。此算法具有简单、参数少、易于实现等优点,且性能接近标准的粒子群优化算法[9,10]。
利用布谷鸟搜索与K均值算法各自优点,本文针对路面裂缝图像,提出了一种基于TV滤波与改进的布谷鸟搜索路面裂缝检测算法,采用V分量、TV滤波、布谷鸟搜索分割等方法实现路面裂缝目标提取。试验结果表明,此算法有效。
1 数学模型
1.1 算法流程图
首先输入路面裂缝彩色RGB图像,然后经过HSV转换,得到V分量灰度图像。对灰度图进行TV滤波器去噪,滤波后利用直方图计算图像的初始聚类中心,将其作为搜索域约束进行布谷鸟算法计算,最后利用K均值算法计算新的聚类中心,得到最优图像分割阈值,实现道路裂缝目标提取。
1.2 TV模型
1.3 CS
算法基本原理是:自定义目标函数f(X),设置种群规模、问题维数、最大发现概率P和最大迭代次数等参数;选择适应度函数并计算每个鸟窝位置的目标函数值,得到当前的最优值;并用式(3)对鸟窝的位置和状态进行更新
式中xi为不同时刻的鸟窝位置,β为步长控制量,由搜索空间大小决定,S(ρ)为随机搜索路径的随机数,服从对称莱维稳定分布,计算方法为
S(ρ)~s-ρ,1<ρ≪3
(4)
1.4 K均值
1)二均值聚类,令K=2,通过图像直方图的两峰值,得到C0与C1,分别为裂缝目标和背景的初始化中心。
2)计算灰度图像所有像素值与初始聚类中心的几何距离,并以最短聚类判别类属性
Distanceij=abs(uj-Ci),i=1,2;j=1,2,…,N
(5)
式中Distanceij为类间距离,uj为灰度值,N为图像像素数目。
3)计算新的目标和背景聚类中心
4)迭代至聚类中心无变化得到分割阈值,否则,跳转步骤(2);分割阈值为
道路表面有多种病害,由于钢筋混凝土材料特性,裂缝是比较常见的病害。因此,可采用数码相机或手机进行路面裂缝采集,得到道路裂缝彩图。图1为路面裂缝RGB彩色原图。彩图经HSV变换、TV滤波处理、直方图峰值、布谷鸟搜索、K—均值聚类等步骤得到道路裂缝检测结果。
图1 道路裂缝彩图
2.1 灰度化
彩图灰度化可以降低要处理的数据量,传统上MATLAB通过自有的灰度化函数Rgb2hsv进行灰度化,且V分量可以降低光照变化对采集到的图像质量的影响。图2为图1对应的V分量灰度图。
图2 Rgb2hsv灰度图
2.2 灰度图TV滤波
对图2进行TV滤波处理,得到滤波结果,如图3所示。TV滤波算法很好地去除了大部分噪声,为图像分割奠定了良好的基础。
图3 TV滤波
2.3 直方图峰值
为得到初始聚类中心,对图像直方图进行统计。如图4所示,图4(a)为粗裂缝直方图,像素值低的像素数目较多;图4(b)为细裂缝直方图,低像素值的像素数较少。设定初始聚类中心范围,0 图4 图像直方图 算法流程为: 1)初始化鸟窝规模、最大迭代次数、设定鸟窝位置搜索范围等参数。 2)利用初始搜索范围合理设定初始聚类中心,将其结果设定为一个初始解,其他鸟窝位置初始解在设定域内随机产生。 3)根据式(5)计算各像素到初始聚类中心的距离,并将其作为鸟窝位置的目标函数适应值。 4)根据式(3)、式(4),更新鸟巢位置,并对位置进行限幅处理,按照目标函数(4)重新计算各位置的目标函数值,根据式(6)更新聚类中心。 5)对每个鸟窝位置,比较当前评价函数值和其历史最好的适应值,保存最优解;比较群体所有鸟窝位置的适应度值与全局历史最好值的大小,将最优解作为当前全局历史最好适应值。 6)满足停止条件,输出结果,否则继续搜寻。最后根据式(7)计算分割阈值,进行图像分割。 利用改进的布谷鸟—K均值算法对图3进行图像分割,得到图5,能检测出粗裂缝和细裂缝。 图5 道路裂缝目标检测 为了准确评价道路裂缝图像检测效果,通过比较Otsu算法(图6)与布谷鸟—K均值分割算法(图5),定性分析算法优缺点。图6(a)为粗裂缝V分量灰度图Otsu图像分割二值图;图6(b)为粗裂缝V分量TV去噪灰度图Otsu图像分割二值图;图6(c)为细裂缝V分量灰度图Otsu图像分割二值图;图6(d)为细裂缝V分量TV去噪灰度图Otsu图像分割二值图。 图6 Otsu分割结果 从图6看出,Otsu对粗裂缝分割效果优于细裂缝,原因在于图4(a)比图4(b)具有更好的双峰性;TV滤波的图像分割效果好于未滤波的分割效果,粗裂缝图像表现更明显,说明TV滤波起到了较好的去噪效果。本文分割结果(图5)优于Otsu算法(图6),对于细裂缝图像而言,分割效果提升幅度较大。 综上所述,提出的算法具有道路裂缝检测能力。HSV灰度化算法能够减低光照变化的影响,为后续的分割与检测奠定了基础。通过TV算法去除图中残存的噪声,并通过分裂Bregman求解;布谷鸟—K均值算法能够分割出道路裂缝目标,克服直方图双峰特性不明显的缺点,性能优于Otsu。 1)布谷鸟搜索—K均值算法能有效地实现路面裂缝图像分割,为路面裂缝病害检测提供一个可行方案,能克服图像直方图双峰分布不理想的缺点。 2)试验结果表明:TV滤波算法用于道路裂缝灰度图去噪是可行的,能够有效去除一些高频噪声,并采用分裂Bregman算法提高计算速度。 3)融合布谷鸟搜索与K均值算法可以实现路面裂缝目标检测。但在初始化的鸟窝规模、迭代次数、鸟窝位置搜索范围等参数的自适应选择方面需要进一步研究。2.4 CS-K均值算法
3 结果分析
4 结 论