黎彪,刁燕
(四川大学机械工程学院,成都610065)
图像分割是图像处理中的一个关键步骤[1-3],通过合理的区域或边缘划分为后续的特征提取、场景识别等提供了重要信息,在机器人视觉[4]、生物医学[5-8]、通信[9-10]、公共交通[11]等领域都有着广泛的应用。
图像分割主要有阈值分割、区域分割、边缘分割和直方图方法。标记分水岭是一种区域分割中的区域生长方法,计算简单,对于连通目标具有较好的分割结果,分割获得封闭区域对于图像分析有着重要意义。但标记分水岭对标记和被分割图像敏感,选择不同的标记和被分割图像,往往会产生不同的结果[12-13]。
对此,一些学者提出了改进标记和被分割图像[14-15],然后使用标记分水岭变换的图像分割方法。高丽等人[16]提出对梯度低频部分进行极小值标记,使用原始图像的梯度图作为被分割对象进行分水岭变换,有效抑制了过分割现象。Ghoshal 等人[17]提出距离变换的标记分水岭方法。Svenson S[18]基于距离变换和模糊距离变换提出细胞图像的分割方法,较好分离出粘连物体。王伏增[19]提出对形态学梯度进行开闭重建滤波[20],然后采用扩展变换和强制极小值技术得到标记,使用根据标记修改后梯度图像进行分水岭变换,对MRI 图像有较好的分割精度。这些方法对于单一前景图像都能获得较好的分割结果,但对复杂图像仍存在过分割问题。近几年,随着人工智能的兴起,人们发现使用卷积神经网络进行图像分割可以获得非常好的效果,但复杂神经网络模型在低配置硬件上的运行速度并不快,不能很好满足实时性要求。
本文提出一种利用Canny 边缘检测算法[21]和形态学运算获取标记,将原始图像作为被分割图像,进行标记分水岭变换的图像分割方法,能实时对复杂图像进行有效分割。
Canny 算法是一个经典的多级边缘检测算法,在现在的研究和工业中仍被广泛使用。Canny 通过变分法依据最优边缘准则寻找最优边缘检测函数,获得的边缘检测结果相比其他方法更为准确、误差更小[22]。用f表示原始图像,C 表示边缘检测函数,t1表示Canny 算法的第一个阈值,3t1表示第二个阈值,ec表示检测结果,则有:
Canny 算法能够准确检测到图像中的边缘,对于单一前景图像检测的边缘正是我们需要的,但对于复杂图像,即图像中对象种类较多、没有前背景区分、存在细密纹理,Canny 算法检测到的许多边缘并不是我们需要的。
为了描述形态学操作,先定义集合的反射和平移操作。集合B 的反射表示为[23],定义为:
集合B 平移z 表示为Bz,定义为:
用B 表示结构元,A 表示被运算集合,B 对A 进行形态学膨胀定义为:
B 对A 进行形态学腐蚀定义为:
图像中有着细密纹理的物体时,使用Canny 算法会检测出密集的边缘线。为了消除这种影响,先使用形态学膨胀操作将细密边缘连接为整体,此时会将原本稀疏的边缘线也膨胀,因此再通过形态学腐蚀操作还原原本良好的边缘线。将处理后的边缘图像取反,得到非纹理标记。用m1表示得到的标记,则有:
~(·)表示取反操作,对于二值图像就是0 和1 值互换,n1和n2表示使用结构元B 连续进行形态学运算的次数,为了避免完全腐蚀掉边缘线,要求n1>n2,可取n2=n1-1。
非纹理标记中不包含对细密纹理物体的标记,若是需要更为细致的图像分割,则需要添加相应的标记。通过形态学膨胀操作连接细密纹理物体,然后通过过度的形态学腐蚀操作,腐蚀掉图像中原本良好的边缘线,余下的便是密集边缘所在物体的区域标记。用m2表示得到的标记,则有:
为了保证原本稀疏的边缘线能够腐蚀掉,要求n3 图1 标记获取过程示例 标记获取的示例如图1。图1(a)是使用Canny 边缘检测算法得到的边缘线,图中黑色为背景,白色为边缘线,左边是无纹理物体检测到的边缘线,右边是细密纹理物体的边缘。图1(b)中白色区域是得到的非纹理物体标记,滤除了细密边缘对象。图1(c)中白色区域是得到的细密纹理物体标记,图1(d)中白色区域是最后获得的标记图像,用m 表示,有: 将标记图像和原始图像传入标记分水岭变换函数中,就可得到分割结果。用M 表示标记分水岭变换,s表示分割结果,即: 如果需要进一步减少分割区域,可以去除面积小于原始图像0.015%的分割区域,得到最后的分割结果。可设置其余百分比。非边缘去除的一种方法是,对分割后的边缘图像取反腐蚀后,对面积小于百分比的区域不标记,其余正常标记,再次应用标记分水岭,获得最后分割结果。非边缘去除会增加时间成本。 所提出的分割方法在有不同对象的复杂灰度图像上进行测试。基于距离变换的标记分水岭方法是Ghoshal 等人[17]提出的一种前景和背景标记的分水岭分割方法,对于图像有较好的分割效果。将本文所提出的分割方法的结果与Ghosha 方法分割结果进行比较。在Intel Core i7-2820QM CPU@2.30GHz 主机上OpenCV 环境下进行实验。 分别采用具有不同分割难度的rice、passageway 和interior 图像进行实验。rice 图像中米粒与背景边界分明,容易分割;passageway 图像中对象增加,且部分边界灰度相近,不易分割;interior 图像中有较多不同对象,尽可能分割出不同对象具有难度。实验结果如图2、3和4 所示。每个图显示原始图像、文献[17]算法结果以及本文提出方法产生的分割结果。图中本文提出方法分割结果是没有进行非边缘去除的结果,实验时在前面第1 和2 节参数如表1 所示,interior 图像没有进行细密纹理标记。 表1 实验图像的本文方法参数 图2(b)中文献[17]方法分割结果,背景被分成了几个区域,右下角的米粒没有分割出来,图2(c)中本文提出方法结果,背景是整体,每颗米粒分割边界清晰。 图2 rice图像分割结果 图3 (b)中文献[17]方法分割结果,通道地面上有多余分割区域,与墙壁边界没有分割出来,消防柜分割不完整,图3(c)中本文提出方法结果,墙壁与地面边界部分分割,消防柜分割出来。 图3 passageway图像分割结果 图4 (b)中文献[17]方法分割结果,分割出桌子和门的大致轮廓,图4(c)中本文提出方法分割结果,左下角的地面、椅子、上方的天花板、墙壁、门、左上方墙角、柜子都有完整轮廓。 图4 interior图像分割结果 图像处理时间如表2 所示,在rice 和passageway图像上本文方法处理时间更短,在interior 图像上文献[17]处理时间短3 毫秒。两者处理时间在同一个数量级。 表2 处理时间比较(单位:毫秒) 图5 是图2(c)的分割结果按照第3 节的方法再进行非边缘去除后的分割结果,从图中可以看出,图2(c)中由噪声造成的短小轮廓被去除,用时46 毫秒。虽然时间成本增加,但图像分割效果也进一步改善了。从前面的实验中可以看出,本文提出分割方法相比传统基于距离变换的标记分水岭方法,运算速度相近,分割效果更好。 图5 rice图像分割后进一步处理结果 本文提出一种基于标记分水岭的图像分割方法。该方法使用Canny 算法检测边缘,并通过数学形态学获得非纹理标记和细密纹理标记,再进行标记分水岭分割得到分割结果。实验结果表明,提出方法能够产生封闭连续的边缘,有效降低了图像的过分割和欠分割,在单一前景图像和拥有复杂对象图像中都能获得清晰的轮廓。分割时,形态学运算次数依赖于图像大小和图像中对象纹理密度,其自适应取值需要进一步的探讨。3 标记分水岭和非边缘去除
4 实验结果
5 结语