APP下载

基于改进Canny算子的建筑裂缝边缘提取方法

2021-09-23张伟周利君夏坚

福建工程学院学报 2021年4期
关键词:高斯算子信噪比

张伟,周利君,夏坚

(1.福建省建筑科学研究院有限责任公司,福建 福州 350028;2.福建省绿色建筑技术重点实验室,福建 福州 350028;3.福州大学 土木工程学院,福建 福州 350108)

建筑裂缝是建筑物中常见的病害形式,能够直接反映建筑物的安全状况。显然,对建筑裂缝进行准确检测具有十分重要的社会效益和现实意义。目前,裂缝检测主要以人工检测为主,检测效率低下,不安全,识别精度低。近年来,随着计算机视觉技术的不断发展,众多学者将数字图像处理技术应用于裂缝的智能检测中,已取得了一定的研究成果[1]。

图像边缘信息是一种重要的图像特征信息,边缘检测方法研究是图像分析和识别领域的一个热点[2]。魏海斌[3]等比较了Roberts算子、Sobel算子、Prewitt算子的边缘检测效果,结果表明Roberts算子与理想图像的吻合度最高;张阳[4]等提出了一种自适应均值滤波并与LOG算子结合,进行边缘检测;宋人杰[5]等利用混合滤波代替高斯滤波,并且将线性边缘增强与Otsu算法相结合对Canny算子进行改进;胡文文[6]等利用Canny对量子图像进行检测,结果表明该方法对其边缘检测效果较好;商景辉[7]对Canny算子边缘检测进行了实验,结果表明当图片目标与背景对比不明显时,检测效果不太好。

然而,上述文献中的边缘检测方法对非线性噪声效果不太明显,且存在漏检边缘信息的情况。为此,本课题对传统的Canny算子进行了3方面改进:(1)利用中值滤波代替原有的高斯滤波;(2)采用Sobel算子八方向模板进行梯度计算;(3)使用Otsu法得到阈值,将改进的Canny算子应用于建筑裂缝图像边缘提取实验。

1 建筑裂缝图像预处理

建筑裂缝图像中可能会包含大量的噪声,如混凝土表面的污染痕迹、阳光的不均匀照射以及表面的纹理等,这些因素会影响边缘提取的效果。为此,需要对裂缝图像进行预处理。建筑裂缝图像预处理主要包括图像灰度化、图像增强、滤波等。图1为建筑裂缝图像预处理的流程。

图1 图像预处理流程Fig.1 Image preprocessing procedure

其中,图像灰度化是为了去除图像色彩在边缘提取中的干扰;建筑裂缝图像在经过模糊增强处理后,亮度更强,清晰度也得到了提升;采用高斯滤波能够有效去除裂缝图像中大部分噪声的干扰,使目标图像更清晰;图像分割能够将图像目标与背景按照某种规则分开来[8],得到所需要的目标图像。

由图像预处理以及图像分割得到的图像仍然存在不同程度的干扰,为了后续得到较好的边缘检测效果先对裂缝进行孤立点的去除。如图2所示为去除孤立点后的图像,只有黑色背景和白色裂缝两类,这样就将裂缝明显分离,有效提高了裂缝检测的准确性。

2 基于改进Canny算子的建筑裂缝图像边缘提取方法

边缘[3]是指在其周围像素灰度急剧变化的那些像素点的集合,它是图像的最基本特征。对边缘提取有利于后续对图像进行分析、识别、检测等。图像边缘提取常用的是基于Canny算子的边缘测。

2.1 基于传统Canny算子的边缘提取

传统Canny算子边缘提取的操作步骤如下[9]:

使用高斯平滑滤波器卷积降噪;均值为0的二维高斯函数为:

(1)

其中σ是标准差,影响高斯模板生成的关键参数,代表着数据的离散程度。

假设f(x,y)为大小是M×N的输入图像,g(x,y)为经过高斯滤波器后输出图像,则高斯滤波过程可以表示为:

(2)

其中,x=0,1,…,M-1,y=0,1,…,N-1,k,l是根据所选领域大小而确定的。

计算水平与垂直的梯度幅值与方向;该方法中使用一阶偏导的有限差分来计算梯度幅值与方向。对于函数图像f(x,y),计算如下:

方向梯度计算:

(3)

(4)

梯度幅值计算:

(5)

梯度方向计算:

(6)

对梯度幅值进行非极大值抑制,找出图像梯度中的局部极大值点;

使用双阈值检测和边缘连接。

传统Canny算子简单但也存在着一定的缺陷:(1)使用了高斯平滑滤波,但是该滤波的效果与标准差σ选取有关系,影响滤波的效果,且该滤波是线性滤波,对非线性噪声无用;(2)采用两个方向的一阶差分会损失一些信息;(3)双阈值检测采用人工定义阈值会带来一定的误差。

2.2 基于改进Canny的边缘提取

针对传统Canny算子的缺点,本研究提出了一种改进的Canny算子。具体改进措施为:

首先,使用非线性中值滤波代替高斯滤波。中值滤波是一种非线性滤波,其原理是将图像像素按照升序排列取其中间值。

其次,使用Sobel算子的8方向模板进行图像梯度计算。

Sobel算子能够增强图像的边缘,假设缝f(x,y)为一幅图像,则其定义式如下所示:

Sx=|f(x-1,y+1)+2f(x,y+1)+f(x+1,y+1)|-

|f(x-1,y-1)+2f(x,y-1)+f(x+1,y-1)|

(7)

Sy=|f(x+1,y-1)+2f(x+1,y)+f(x+1,y+1)|-

|f(x-1,y-1)+2f(x-1,y)+f(x-1,y+1)|

(8)

可以用模板表示为:

为了能够保留更多的边缘信息本文所采用的是Sobel算子的8模板形式,其可通过旋转扩展得到。

再使用Otsu法获得阈值来代替人工阈值的选择。

Otsu算法是一个经典的阈值分割算法,其计算流程如下:

统计图像中灰度总级数L,统计各灰度出现的次数ni;计算一个M×N图像的各级灰度出现的概率:

(9)

选择一个阈值T,将图像分为目标区域和背景区域, 计算目标区域,背景区域在图像中的概率Po,PB:

(10)

计算两类像素的均值μo,μB:

(11)

计算总体灰度均值:

μ=po×μo+pB×μB

(12)

计算两类像素的方差:

(13)

计算两类类间方差:

(14)

令T从0~L-1变化,重复(4)~(8)步,计算不同阈值下的类间方差,使得类间方差最大的那个T即为所求阈值。

具体的改进Canny算子处理流程如图3所示。

图3 改进Canny边缘提取流程Fig.3 Improved Canny edge extraction process

2.3 两种算法的提取效果对比

通过对两种方法得到的图片进行观察比较,人为判断两者的效果,如图4所示。

图4 传统Canny与改进Canny边缘检测对比Fig.4 Comparison of edge detection by the traditional Canny and that by the proposed Canny

从图4可以看出,传统的边缘提取得到的边缘有较多的“毛刺”,且边缘有一定的损失,而所提出的边缘检测得到的边缘较平滑,这幅图在视觉直观上可以看出本算法可以得到更好的提取效果。

人眼的分辨率有限,对于在视觉上对比不太明显的图片,直观上会看不出差异,因此进行了峰值信噪比(peak signal-to-noise ratio,PSNR)以及结构相似性(structural similarity,SSIM)的计算,从量化的角度来考虑两种边缘提取方法。

峰值信噪比是一种评价图像质量的客观标准,在图像中是指图像可能的最大值信号与背景噪声之间的比值。其计算公式如下:

(15)

(16)

其中,m、n为图像的行数、列数;I、J为两幅图像;i、j为图像的第i行、第j列。

结构相似性是一种衡量两幅图像相似性的指标,它是用均值作为亮度的估计,标准差作为对比度的估计,协方差作为结构相似程度的度量。其计算公式如下:

(17)

c1=(k1L)2

(18)

c2=(k2L)2

(19)

3 实例分析与验证

根据所提改进的Canny算子,基于MATLAB2018a平台编制了相应程序。对采集到的20张裂缝图像进行量化分析。表1给出了具有代表性的5张原始图像的传统Canny算子以及改进算子提取图像边缘特征对比结果。表2为全部20张峰值信噪比与结构相似性指标的计算表。

表1 图像对比

表2 峰值信噪比与结构相似性计算表

由峰值信噪比与结构相似性的公式可知,峰值信噪比与结构相似性越大说明边缘提取的效果越好。由表2的数据可知,所提出的改进Canny算子相对比传统Canny算子,两种统计指标值均略高,显然所提算法的边缘提取效果较好。

4 结论

对Canny算子进行了一定的改进,并在20张裂缝图片上进行验证分析,结果表明在预处理阶段进行图像分割与去除孤立点操作能够为后续边缘检测提供质量较好的图像有利于图像边缘的提取。利用改进后的Canny算子能够有效提取图像的边缘,且图像的峰值信噪比以及结构相似度均有一定程度的提高,可以得到了较完整清晰的图像边缘。清晰的图像边缘为进一步的图像分析与识别奠定了一定的基础,可以得到更为准确的裂缝长度与宽度的测量结果。并可以在图像的特征提取方面得到更有效的特征信息,为后续图像的识别分类提供一定的有利条件。

猜你喜欢

高斯算子信噪比
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
基于深度学习的无人机数据链信噪比估计算法
数学王子高斯
天才数学家——高斯
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
从自卑到自信 瑞恩·高斯林