APP下载

基于偏振度特征图的水下裂缝图像分割算法

2022-04-07王张帆侯一兴张学武

计算机与现代化 2022年3期
关键词:像素点像素裂缝

邹 杰,宋 轲,王张帆,侯一兴,张学武

(河海大学物联网工程学院,江苏 常州 213022)

0 引 言

水下结构物如水库大坝、航道闸口、桥梁柱基、河流涵洞的水下部分在长期服役过程中,均可能出现不同程度的缺陷、损伤,这极大地降低了水利工程设施的安全性、完整性和使役性[1-2],因此对水下结构物进行缺陷检测、修复以保证其安全运行具有重要意义[3]。图像分割是确定裂缝区域的重要前提,分割算法的准确性会直接影响目标识别结果。

现有的光学图像分割方法主要是根据亮度、颜色和细节纹理等特征进行区域分割。范新南等[4]提出了一种基于劳伦茨信息值的水下大坝裂缝检测算法,该算法以劳伦茨信息值为判定标准去除无裂缝的连通域,使用大津法(Otsu)[5]完成图像分割,最后从全景角度进行K-means聚类[6]分析确定裂缝目标区域,兼顾了局部和全局特征。Bhattacharyya等[7]提出了一种基于改进遗传算法的FCM图像分割算法,解决了FCM早期收敛到局部最优解的问题[8]。孔显等[9]提出了一种基于非归一化直方图的GrabCut图像分割算法[10],通过改变能量函数和构图方式,在处理背景较复杂的图像分割中,提高了时间效率和分割精度。

对于水下结构物而言,表面的青苔、贝壳等附着物形成的凹陷,与裂缝缺陷在颜色、纹理等方面具有极高的相似性,因此当凹陷距离裂缝较近时,上述图像分割算法极易引起分割误判。

为解决水下图像分割误判难题,本文加入偏振信息,提出一种基于偏振度特征图[11-12]的裂缝分割算法,以超像素块为单元进行偏振度特征图提取,利用偏振度设定区域生长规则,以种子区域为基础进行区域生长合并,最后根据图像深度图确定裂缝区域,以解决因凹陷引起的分割误判问题。实验结果表明该算法能有效地解决水下图像裂缝分割时出现的分割误判问题,分割算法的灵敏度和特异性较好,裂缝分割的准确度高,裂缝分割结果的特异性和准确度指标均能达到0.9以上,高于现有算法。

1 基于超像素块的偏振度特征图提取

1.1 超像素块预处理

超像素分割以像素的颜色、纹理、亮度等物理特征的相似程度作为像素点集聚标准,形成多个不规则的超像素块[13]。相比于原有图像,利用超像素块来表达图像,极大地降低了图像分割处理时的计算量,常用于图像分割的预处理阶段。图像分割领域中应用较为广泛的是SLIC(Simple Linear Iterative Clustering)算法[14],该算法以颜色相似程度和空间距离为特征标准进行迭代计算,形成规则的超像素块。该算法具有较好的物体边缘保存度,且计算速度较快,故选择SLIC算法进行预处理。首先构造特征向量,将RGB图像转为GLE-Lab空间图像[15],组合各像素点对应的(L,a,b)值和像素坐标(x,y)构造五维向量[L,a,b,x,y],作为像素点的特征向量,然后进行区域中心初始化和修正,修正后进行标记,再更新区域中心,迭代计算。根据SLIC算法进行超像素块的预处理,如图1所示,为水下裂缝区域的原图,超像素块预处理的结果如图2所示。

图2 超像素块预处理结果

1.2 偏振度特征图的提取

为了消除裂缝区域周围的附着物凹陷对裂缝分割的影响,以超像素块为基本单元,在各单元内提取特征,形成特征图。

对于偏振图像,直接测得的图像偏振度包含水体散射产生的散射光偏振度和水下结构物表面物体反射产生的目标偏振度,对于水下成像场景而言,水体等散射介质的散射光偏振度几乎处处相等,但是附着物凹陷区域和平整区域,与实际裂缝区域的偏振度相比,具有明显差异。考虑直接对目标偏振度进行求解的计算量较大,故根据成像场景将散射光偏振度取值为一常数值m,在实验中,本文所使用的水下数据集图像的散射光偏振度常数m为0.25。散射光偏振度常数越大,表示背景区域对光的干扰就越大。选择将超像素块区域内的图像偏振度和散射光偏振度常数之间的方差作为该区域的偏振度特征,计算公式可表示为:

(1)

其中,ci表示第i个超像素块bi的特征,P(x,y)表示图像偏振度,m表示估算所得的散射光偏振度常数,N表示超像素块区域内的像素点个数。

超像素块的偏振度特征图如图3所示,由图可知,利用偏振度特征表示超像素区域明显增大了裂缝区域与附着物区域的特征差异,便于后续的裂缝分割操作。

图3 超像素块特征图

2 基于特征图区域生长的裂缝分割

2.1 区域生长

在获得偏振度特征图的基础上,利用区域生长算法[16]对偏振度特征相似的超像素块进行区域合并,进一步形成连通域,其实现步骤表述如下:

1)选取种子区域。对超像素块的偏振度特征进行大小排序,选取当前偏振度特征值最大的超像素块作为种子区域。

2)定义区域生长准则。对于相邻2个超像素块,以生长系数C表示区域相似性,其计算公式可表示为:

(2)

其中,σ和μ分别表示2个超像素块组成的新区域的目标偏振度方差和图像偏振度均值,N1i和N2i表示超像素块区域内的像素点个数。

3)设定区域生长阈值。定义区域生长的阈值T,当生长系数满足以下条件时完成区域合并:

C≤T

(3)

区域生长阈值T的计算公式可表示为:

(4)

其中,c1i和c2i分别表示选定的2个超像素块的偏振度特征,λ表示图像区域的纹理粗糙程度,一般取值为0.5~1.0。

4)以邻域法从种子区域开始进行区域生长合并,直到不存在符合条件的区域。

5)更新种子区域,选取剩余超像素块中偏振度特征值最大的区域作为种子点,重复上述步骤进行区域生长,直至图像中再无种子区域。

利用区域生长算法对超像素块完成区域合并之后,对图像进行二值化处理得到黑白图像。图像二值化过程中,需在像素区域内选取适当的二值化阈值,使得到的二值化图像能够较好地反映图像整体和局部特征,此处选择稳定性较好的Niblack方法[5]。其核心思想为:在计算像素点的阈值时,通过计算以该像素点为中心、范围为N×N的邻域内像素点方差和灰度平均值来确定阈值,计算公式可以表示为:

(5)

其中,T(x,y)表示像素点(x,y)处的二值化阈值,s(x,y)和m(x,y)分别表示邻域内像素点的方差和灰度平均值,k表示修正系数,此处取值为0.25。图像二值化处理的输出结果如图4所示。

由图4可知,通过区域生长算法将超像素块合并成为多个连通区域,各连通区域之间相互独立、边界明显,不足之处是出现了个别较小的区域空洞。

图4 图像二值化处理结果

2.2 裂缝区域确定

二值化图像中有着多个连通区域,根据估算的图像深度图,初步确定裂缝区域轮廓。利用复原后图像的暗通道图像估算图像深度图[17],计算公式可表示为:

(6)

其中,Id(x,y)表示图像深度值。将二值化图像的各连通域投影到估算得到的深度图中,计算相应区域内的均值,均值最小区域则为裂缝所在区域,可表示为:

(7)

其中,bi表示第i个连通域,Ni表示此连通域内的像素点总数,B表示裂缝所在的区域。裂缝区域分割的结果如图5所示。

图5 裂缝区域分割结果

2.3 裂缝区域像素填充

图6 裂缝区域填充效果

在进行区域生长处理时,往往会对图像造成过分割,形成散乱分布的区域空洞,使分割出来的裂缝区域不完整。为提高裂缝分割区域的完整性,对初步确定的裂缝区域进行填充处理。在图像中以超像素块为基本单位,若重叠的连通域内有确定的裂缝区域,便对该区域进行全填充处理。填充后的效果如图6所示,经填充后的裂缝区域轮廓连续,完整性更好。

3 算法设计

基于偏振度特征图的水下裂缝分割算法的流程如图7所示。首先对图像进行超像素分割预处理,提取偏振度特征图,然后利用偏振度设定区域生长规则和生长阈值,以种子区域为基础进行区域生长合并,并对图像进行二值化处理,最后根据图像深度图确定裂缝区域,并对裂缝区域进行像素填充,完成裂缝分割。

图7 算法流程

4 实验分析

实验选取3种应用广泛的图像分割算法,与本文算法的图像分割效果进行对比,从主观评价和客观分析2个方面进行比较。本次实验在Matlab R2018b软件和OpenCV2.4.13+VS2013平台上进行。

4.1 主观评价

传统的图像分割方法主要有基于阈值的分割方法、基于聚类的分割方法、基于边缘的分割方法和基于区域的分割方法,选择基于最大类间方差的Otsu、分离前景背景的GrabCut和C均值聚类的FCM这3种算法作为对比。下面本文对于3种不同情况裂缝的原图,用不同算法处理得到的结果进行分析,图8中框出的区域为容易分割误判的附着物区域。

当实验图像中有明显的附着物凹陷区域时,各算法的分割效果如图8中第1列所示。传统图像分割算法均出现分割误判,但本文算法将裂缝区域和凹陷区域独立开来,且裂缝区域与背景区域无连通,后续能够通过图像深度图正确识别裂缝区域,消除分割误判。

当测试图像中的裂缝区域边界较为清晰时,各算法的分割效果如图8中第2列所示。Otsu算法和FCM算法并未将裂缝区域完整分割,裂缝边缘不连续;GrabCut算法的分割效果略优于前两者,但并未实现裂缝区域的完整独立分割,同背景区域仍有连通;相比之下,本文算法分割出的裂缝区域完整且封闭独立。

当测试图像中存在附着物凹陷区域但裂缝区域边界清晰时,各算法的分割效果如图8中第3列所示。由于裂缝区域与凹陷区域距离较近,3种对比算法均出现分割误判情况,将裂缝右侧的附着物凹陷一并识别为裂缝区域。本文算法成功消除干扰,分割出的裂缝区域封闭完整、轮廓连续。

通过观察图8的分割效果可知,Otsu算法和FCM算法都是针对全局图像进行分割,其分割效果受图像色彩和亮度因素的影响较大,因此应用于此类型图像进行图像分割时取得效果较差。GrabCut算法针对图像的前景和背景差异进行分割,对于亮度不均匀的情况具有较好的抗性,但是分割后的区域较散乱,区域边界轮廓不连续,且出现较多的星点区域。对比而言,本文算法在该场景下的分割效果较好,能够消除凹陷区域引起的分割误判,将各区域独立分割出来,且区域轮廓清晰连续。

综上所述,本文提出的图像分割算法能够较为准确地分割裂缝区域,分割出来的区域完整封闭,区域边界具有较好的连续性,能够较好地解决因环境干扰引起的分割误判问题。

(a) 原图

(b) Otsu算法

(c) FCM算法

(d) GrabCut算法

(e) 本文算法图8 图像分割算法效果对比

4.2 客观评价

为进一步科学评估该算法的图像分割效果,以测试图像中的人工标注裂缝区域为标准值,通过计算灵敏度Se(Sensitivity)、特异性Sp(Specificity)和Dice系数3个参数来量化表示各个算法分割结果中裂缝区域与标准值的差距,并对比了算法耗时,以此几项参数为标准客观评价各算法的优劣。

灵敏度Se和特异性Sp分别表示裂缝标准值区域中被分割为裂缝的像素占比和背景标准值区域中被分割为背景的像素占比[18-19]。灵敏度和特异性的计算公式可以表示为:

(8)

(9)

其中,TP(True Positive)表示算法分割的裂缝区域与裂缝标准值区域的重叠像素量,FN(False Negative)表示算法分割的背景与裂缝标准值区域的重叠像素量,TN(True Negative)表示算法分割的背景与背景标准值区域的重叠像素量,FP(False Positive)表示算法分割的裂缝区域与背景标准值区域的重叠像素量。

Dice系数表示分割出来的裂缝区域与裂缝标准值区域的重叠程度[20-21],Dice系数越高,表明裂缝目标分割的准确度越高,其计算公式可以表示为:

(10)

不同算法的处理耗时如图9所示,随着待处理图像的像素值增加,Otsu的算法耗时一直维持在较低水平,本文算法的在处理高像素值图像时的速度远优于FCM和GrabCut算法[22]。

图9 算法耗时对比

各类算法图像分割结果的相关评价指标计算结果如表1所示,表中加粗数据为该组指标最佳值。根据表1中的数据可以发现,其中Otsu算法和FCM算法的灵敏度指标优于另外2种算法,这表明标注的裂缝区域中绝大部分区域被分割为裂缝,极少部分被误分割为背景[23]。但利用超像素块的图像分割处理,处理过程中对区域边缘特征变化的敏感度较高,使得裂缝分割区域的边界完整但小于实际区域,因此本文算法的灵敏度表现略低于其他算法。Otsu算法和FCM算法的特异性和Dice系数都较低,这是由于图像的亮度值较低,非裂缝区域与裂缝区域的差距较小,此2类算法将大片非裂缝区域误分割为裂缝区域,导致这2项参数值偏低。GrabCut算法的特异性和Dice系数略优于前2种算法,该算法对于裂缝区域的分割较为准确,但裂缝区域边界连续性较差。本文算法利用偏振度表示超像素块特征,裂缝区域和非裂缝区域的特征差异明显,因此裂缝分割结果的特异性和准确度能达到0.9以上,远远高于其他算法的指标结果。

表1 各图像分割算法评价指标

本文选取了200张左右水下裂缝的图像,对用不同算法处理得到的结果进行分析,如图10所示,本文算法的灵敏度表现略低于其他算法,但是在特异性和准确度指标上表现更佳。综合比较而言,本文所提算法具有较好的灵敏度和特异性,裂缝分割的准确度高,能够满足高浑浊度水下图像的图像分割要求。

图10 各图像分割算法综合对比

5 结束语

为实现水下结构物的表面裂缝分割,本文提出了一种基于偏振度特征图的裂缝分割算法。首先,根据SLIC算法对图像进行预处理,提取偏振度特征图,然后利用区域生长算法进行区域合并,根据图像深度图计算确定裂缝区域,完成裂缝分割,最后根据特征图投影的重叠区域进行像素填充,提高裂缝区域的完整性。实验结果表明,该算法能够有效解决水下图像裂缝分割时出现的分割误判问题,分割算法的灵敏度和特异性较好,裂缝分割的准确度较高。为满足缺陷检测的实时性要求,下一步研究方向将是在保证图像处理质量的前提下提高算法速度,实现对实时视频图像的快速处理。

猜你喜欢

像素点像素裂缝
像素前线之“幻影”2000
图像二值化处理硬件加速引擎的设计
碳酸盐岩裂缝描述七大难点
基于局部相似性的特征匹配筛选算法
“像素”仙人掌
基于像素点筛选的舰船湍流尾迹检测算法
地球的裂缝
基于canvas的前端数据加密
高像素不是全部
生命必须有裂缝,阳光才能照进来