APP下载

沥青路面裂缝检测技术改进研究

2019-06-18王伟陈新轩韩敏

科技资讯 2019年8期

王伟 陈新轩 韩敏

摘  要:该文立足于解决沥青路面裂缝识别,基于OpenCV函数库,对该函数库中Canny算子进行改进,将原始Canny算子高斯平滑滤波器,改进为选择滤波器。改进后的识别算法,不仅能消除原始图像中附带的高斯噪声,还能消除椒盐(脉冲)噪声。基于改进后的算法进行实验,结果显示,经过算法改进后,路面裂缝识别更加精准。

关键词:路面裂缝识别  OpenCV  选择滤波器

中图分类号:TP274                                 文献标识码:A                         文章编号:1672-3791(2019)03(b)-0055-02

沥青路面裂缝是一种早期沥青路面病害,如不及时处理,会降低路面防水性能,导致大量路面水下渗至路基,破坏路基稳定层结构,降低路基承载能力,引发路基失稳造成更大程度的路面病害。因此,对于路面裂缝,应当及时修补处理。当前,路面修补主要依靠工人操作机械灌缝,工作效率低,灌缝质量取决于操作人员经验。若要实现自动路面裂缝修补,最关键的一步,是要能正确识别路面裂缝,并根据路面裂缝生成引导路径,从而能够引导机械自动完成路面裂缝的修补工作。当前,机器视觉技术发展迅速,利用机器视觉解决以上问题可行性极高。该文基于OpenCV,针对原始Canny算子进行改进,提高路面裂缝检测的效率和准确度。

1  利用原始Canny算子检测路面裂缝时的缺陷

OpenCV是图像识别领域广泛使用的图像处理函数库,使用OpenCV提供的库函数,可以极大地提升开发速度,降低开发难度。沥青路面裂缝的检测,本质上是提取裂缝边缘的过程,OpenCV对于边缘提取,有许多成熟的函数,其中,Canny算子就是被广泛使用的边缘提取函数。但是,在应用中发现,OpenCV自带的原始Canny算子,对图像的预处理,使用的是高斯平滑滤波器,虽能一定程度上抑制图像噪声,但是对于诸如椒盐噪声在内的其他噪声,降噪效果不能达到预期,同时,由于该滤波器的局限性,在图像处理中,往往会将某些冲击噪声识别为待检测边缘。另一方面,在利用Sobel计算坐标方向时,对噪声敏感度过高,这也使得该方法很容易将非噪声信号识别为噪声,从而丢失细节信息。

2  Canny算子改进

针对原始Canny算子的缺陷,高斯平滑滤波器能较好地消除高斯噪声和均值噪声,但对椒盐噪声等就显得无能为力。如果考虑使用中值滤波器,虽能消除高斯平滑滤波不能处理的椒盐噪声,且不会对图像带来过多的模糊效果,但对高斯噪声却处理欠佳。此时,如果能有一种选择滤波器,根据图像不同位置的特点,运用不同滤波器处理图像,就能得到较好的效果。此时,我们可以考虑,设计一种选择滤波器,选择性地处理输入图像中的噪声。

选择滤波器原理:对于输入的图像,通过椒盐噪声检测器检测输入图像受到椒盐噪声影响的区域,对此类区域利用中值滤波器消除噪声,其余部分利用中值滤波器滤除。经过上述步骤滤波后,再将它们的结果叠加。对于椒盐噪声的检测,这里有两个基准。

(1)灰度范围基准。

假设图像灰度范围为[Lmin,Lmax],若图像中,某一像素灰度值在此区间之外,则该像素很可能受到椒盐噪声的影响。

(2)局部像素对比基准。

对于输入图像,含有椒盐噪声的像素点,灰度值为图像灰度范围的兩个极端。考虑每个像素点的8个临域,若该像素周边像素与其存在极大的灰度差别,则该像素受脉冲噪声的影响很大,判别依据为下式。

式中,假设位于处的像素的临域为N,属于该临域的像素为f(s,t),Tv用来判断目标像素与周边像素灰度值差别是否足够大,Tn代表百分比阈值。这里,我们使用两个准则来判定,是因为如果仅使用灰度范围基准,可能将原本正常的像素点也判定为是受到了脉冲噪声干扰的像素点。而如果仅仅使用局部像素对比基准来判定,则可能将边缘像素判定为受脉冲噪声污染的像素点。因此,如果将两者结合使用,就能避免以上问题。

当输入图像同时包含高斯噪声和脉冲噪声时,可将输入图像中的像素点一分为二,其中第一部分为受到高斯噪声影响的像素,第二部分为受到脉冲信号影响的像素点。因为根据灰度范围基准,含有脉冲噪声(椒盐噪声)的像素的灰度值取到图像灰度范围的两端极值,因而此像素点高斯噪声可以忽略不计。为消除脉冲噪声的影响,可在该像素周边取样,即通过该像素周边未受影响像素的灰度信息和位置信息,通过差值计算,计算出该像素点的理论值,从而以新值代替旧值,消除脉冲噪声影响。对于另外一部分的像素点,高斯噪声可利用维纳滤波的方法消除。最后将两部分像素叠加,生成新消除噪声后的图像,供后续步骤继续使用。

3  实验及分析

该文实验环境为MacOS10.14+OpenCV3.4+Python3.6,将原始Canny算子降噪算法部分做上文所述改进后,对路面裂缝进行识别。改进前后识别结果如图1、图2、图3所示。通过对比实验结果可以看出,改进前识别准确度较低,周边噪声也被识别为裂缝标出,只有周边平滑的图像,裂缝边缘识别才比较准确;改进Canny算子,可以更精确地识别出裂缝的边缘,周边噪声对于识别结果的影响不大。

4  结语

该文针对OpenCV库中Canny算子图像噪声处理部分进行改进,将原始高斯平滑滤波器改进为选择滤波器,能够将原始图片中噪声进行更好的处理。通过实验验证,改进后的Canny算子,对比改进之前,对于输入的路面裂缝图像信号,能够精准识别裂缝区域,排除噪声信号的影响。

参考文献

[1] 周慧媛,邱书波,刘海英,等.基于对比度受限自适应直方图多种路面裂缝检测与识别[J].齐鲁工业大学学报,2018,32(5):27-31.

[2] 豆晓瑜.基于多尺度分析的沥青路面裂缝自动检测技术研究[D].长安大学,2010.

[3] 徐欢,李振璧,姜媛媛,等.基于OpenCV和改进Canny算子的路面裂缝检测[J].计算机工程与设计,2014,35(12):4254-4258.

[4] 吴成茂,胡伟,王辉.小波自适应阈值和双边滤波的图像去噪[J].西安邮电大学学报,2013,18(4):5-8.

[5] 段锁林,殷聪聪,李大伟.改进的自适应Canny边缘检测算法[J].计算机工程与设计,2018,39(6):1645-1652.