钱月晶
(浙江工贸职业技术学院 信息传媒分院,浙江温州 325003)
人们的日常生活离不开各种各样的织物类产品,比如衣物、床单等。随着生活水平的提高,人们对这些产品的质量要求也越来越高。衡量织物类产品质量好坏的一个重要指标就是织物的抗磨损性能,即织物表面的起毛和起球的程度。传统的评价织物起球程度的方法是样照比对法,即安排专门的测试人员将待检测的织物与标准的样照进行对比,根据测试人员的主观判断来决定待测织物的起球程度。对于同一个待测的织物样品,不同的测试人员可能得出不同的检测结果,因此,客观准确地对织物起球程度进行自动评价是近年来比较热门的研究课题。
文献[1]次将图像处理的方法用于客观评价织物起球程度,该文采用近切向光源照射样本来获取毛球与织物背景对比较为明显的图像,然后采用两个不同的阈值对该图像进行二值化处理,最后将该二值化图像与标准样照的二值化图像进行比较来得出最后的评级结果。采用图像处理和分析的方法来客观评价织物起球程度也是近年来较为流行和实用的一类方法,比如周圆圆等提出利用傅里叶频谱分析和增强的OTSU局部阈值法对织物表面的毛球进行提取和分析[2],Eldessouki等提出将计算机视觉和软计算系统相结合用于织物表面毛球分析的方法[3],Technikova 等提出了基于梯度场的图案面料起球评价方法[4],Caijuan Ren 等提出了基于Hough 变换和Gabor 滤波的织物起球等级评判方法[5],Chin-Ling Lee 等提出了基于模糊小脑模型清晰度控制器(Fuzzy CMAC)的针织物起球分类方法[6]。这些方法大致分为四个步骤[7]:织物表面图像的获取、毛球检测和分割、毛球特征提取、毛球等级评定和分类。
毛球检测和分割的过程就是从复杂的织物背景中将毛球提取出来。精确地对毛球进行分割是准确对织物的起球程度进行评估的关键一步。常用的分割方法有[8]:基于阈值的方法,基于边缘的方法,基于区域的方法,基于小波的方法,基于遗传算法的方法,基于人工神经网络的方法,基于主动轮廓模型的方法以及基于聚类的方法等等。文献[1]采用基于阈值的方法来对样本图像进行二值化处理,从而获得毛球分割后的图像。这种方法简单可行,但是对样本图像要求较高,即获取的样本图像需要毛球与背景有较为明显的区别。为了解决这个问题,可以通过对原始图像进行一些预处理操作来增强毛球和背景的对比度,常用的方法有:对原始图像进行去噪和边缘增强处理[9],对原始图像的背景采用形态学的方法进行膨胀和腐蚀处理[10],对原始图像的纹理采用傅里叶变换的方法[11]或小波变换的方法[12]进行剔除等等。
文献[2]利用傅里叶变换技术在频域滤除织物的纹理结构,然后采用增强的OTSU 局部阈值法来对织物表面的毛球进行分割,进而提取毛球的特征用于对织物的起球程度进行自动评级。但是在光照不均匀或者强度不够时,织物表面的毛球的像素值与织物纹理的像素值非常接近,诸如OTSU 法之类的阈值分割法就不能获得满意的分割效果。为了解决该问题,本文结合毛球的局部特性,提出了基于最大稳定极值区域的毛球分割方法。该方法可以描述为:首先,对于样本图像的每一个通道,在傅里叶变换域内利用频谱滤波的方法对毛球进行粗分割,并对粗分割的结果采用直方图均衡化的方法进行增强;其次,利用MSER算法提取增强后的图像的极小值区域,并利用形态学的方法剔除那些明显不是毛球的小区域,以此得到毛球的精分割结果;最后对样本图像的三个通道的检测结果进行“或”操作,得到最终的毛球区域。实验结果显示,在二维OTSU 分割法无法准确分割出毛球区域的情况下,基于最大稳定极值区域的方法能有效地对织物表面的毛球进行分割,具有一定的实用性。
最大稳定极值区域(Maximally stable extremal regions,MSER)的概念是Matas[13]在2004 年提出的。基于最稳定极值区域的方法不用对图像进行平滑处理,具有多尺度检测功能,相比传统的阈值方法具有更好的稳定性、更高的计算效率、更强的抗噪能力,已经广泛应用于图像配准[14]、车牌识别[15]、道路障碍物检测[16]、图像特征提取与检测[17]等领域。
最大稳定极值区域的基本思想可以描述为[18]:对于一幅灰度图像,假定其灰度值范围为[0,1,…,255]。对于每一个阈值t=0,1…255,都对应一幅阈值分割图像It,其中高于阈值的像素被设置成白色像素,低于阈值的像素被设置成黑像素。所有的图像It构成一个序列图像It=0:255,在这个序列图像中,我们可以发现,对于某些特定的区域,在一个很大的阈值范围内,其结构(即二值化结果)非常稳定,这些特定的区域就是最大稳定极值区域。图1是经过预处理的织物毛球图像在阈值从5开始,以5 为步长变化到25 的分割结果。图中可以看到,在阈值从10到20的变化过程中,黑色区域的分割结果的差别不是非常明显,这些变化不明显的区域即为最大稳定极值区域,也就是毛球区域。
图1 不同阈值的分割结果
文献[2]和文献[19]采用傅里叶变换获取织物图像的频谱图,再对频谱图中的峰点及其周围区域进行适当的处理后来获取织物表面的纹理结构。本文采用该方法来剔除织物图像的纹理结构,进而得到织物图像的粗分割结果,具体实现步骤如下[2]:
(1)对输入图像进行对数拉伸:
其中c是一个常数,本文设置为1。
(2)计算待测图像的频谱;
(3)设定一个阈值thr,根据频谱幅值的大小与阈值的关系来滤除代表织物纹理的频率信号;
(4)恢复频谱中心点周围半径为r 的区域R内的代表毛球的频率信号,其中r大小的确定参阅第4节粗分割所述;
(5)傅里叶反变换得到分割结果。
(6)对分割结果进行对比度拉伸,得到最终的粗分割结果:
其中m是图像均值,e是控制曲线斜率的参数,本文设置为2。
采用基于频域滤波的方法对织物毛球粗分割后,毛球区域仍然不是十分明显,也无法对毛球的大小、数量等信息做出准确的估计,因此需要在粗分割的基础上进一步进行精分割。基于极小值区域检测的织物毛球精分割的算法实现步骤如下:
(1)对粗分割结果采用直方图均衡化进行增强:
其中,sk是直方图均衡化的输出灰度级,rk是输入灰度级,nj是第j 个灰度级像素的总个数,N是所有像素的总个数;
(2)增强后的图像的所有像素点进行排序,并采用并查集算法(union-find algorithm)计算并更新连通分量结构和连通分量面积;
(3)对所有的连通区域R1,R2…Rn,其中第一个区域是后一个区域的子区域,即Ri∈Ri+1,用公式(8)计算连通分量面积的变化率,进而获取最大稳定极小值区域。
开运算是态学中的一个重要运算,是由膨胀和腐蚀组合而成的复运算。开运算可以去掉图像上细小的突出部分,断开狭窄的连接。
经过形态学开运算得到的毛球区域与实际毛球区域会存在一定的偏差,这是由于光照的影响,实际检测出来的应该是毛球阴影的区域,为了得到真实的毛球区域,需要对检测区域进行校正。本文将检测区域分别沿x轴和y轴平移一定的距离,并剔除边界的一些误检区域,以此来完成对区域的修正。
为了验证该分割方法的准确性,在Pentium 3.2 GHz,内存16GB 的PC 上 利用MATLAB-R2014a 软件进行实验。实验对毛球区域较为明显的样本进行毛球区域的分割,以此来验证本文提出方法的准确性。包含图像预处理、粗分割、精分割、形态学处理、结果对比等五个环节,实验的测试图片如图2a和图2b。
图2 (a)测试图1;(b)测试图2
当图像的傅里叶谱的范围过高时,会导致频谱中低亮度值的可视细节丢失,通过对数变换可以避免这个问题。图3a 和图3b 分别是图2a 的原始灰度图像和进行对数变换后的灰度图像。对比变换前后图片可以看到,经过对数变换后的图片的纹理更清晰,也更有利于后面的进一步处理。
图3 (a)对数变换前的图像;(b)对数变换后的图像
开运算是形态学中的一个重要粗分割过程,公式(4)中用于恢复毛球频率信号的半径r 的确定步骤如下:
(1)对于功率谱图Sp的每一个像素点p(i,j),计算以该像素点为中心,大小为21×21的窗口内的功率谱对应的最大值,如果该窗口最大值等于该像素点的值,则该像素点是Sp的一个局部最大值点;
(2)以功率谱图最大像素值的80%为阈值对所有局部最大值点进行进一步取舍,仅保留对应像素点的像素值大于该阈值的局部最大值点;
(3)计算除功率谱中心点以外的所有局部最大值点与功率谱中心点的距离,取其中的最小值作为半径r;
图4a 和4b 分别是图2a 的灰度图得到的粗分割图和对比度拉伸后的粗分割图:
图4 (a)未经过对比度拉伸处理的粗分割结果;(b)经过对比度拉伸处理后的粗分割结果图
由图4 可以看出,经过对比度拉伸后的粗分割图中的毛球区域比未经过处理的粗分割图的毛球区域更为明显,因此有必要对粗分割图进行对比度拉伸变换的处理。
开运算时形态学中的一个重要实验精分割过程中,分别采用二维OSTU 方法和最大稳定极值区域方法对毛球粗分割后的图像进行精分割,图5a 和5b 分别是图2a 和图2b 的两种方法的精分割结果图,左边为采用极小值区域检测的分割方法,右边为采用二维OTSU方法的分割结果。
图5 (a)采用极小值区域检测分割方法的精分割结果;(b)采用二维OTSU分割方法的精分割结果
由结果可知,基于二维OTSU 的方法不能将毛球从织物表面合理分割出来,这是由于毛球与织物过于相似,在很大一个的基于像素值的阈值范围内,毛球与织物表面都具有很接近的像素值,因此,传统的基于像素值的单一阈值分割方法也就不能获得满意的分割效果。基于最大稳定极值区域的方法是基于毛球的局部特征性,不依靠单一的阈值,能获得较好的分割效果。
采用极小值区域检测方法得到的精分割图像中存在很多细小的区域,这些区域明显的不属于毛球区域,需要对这些区域进行剔除。另外,由于光照的影响,检测的区域实际为球阴影的区域,有必要对毛球区域进行修正。图6a 和6b 分别是图2a 和2b单通道的最终检测效果图。
图6 (a)测试图1对应的形态学处理后的分割结果图;(b)测试图2对应的形态学处理后的分割结果图
实际的样本为RGB三通道的彩色图,为了提高检测精度,实验对三个通道分别进行检测,并对检测后的结果采取“或”操作来确定最终的毛球区域。为了进一步验证基于最大稳定极值区域的分割方法的有效性,实验将样本中的毛球区域与原始图片融合在一起进行视觉比对,比利用检测准确率和漏检率来衡量该方法的准确性。其中检测准确率Det_Ratio和漏检率Loss_Ratio分别定义为:
检测结果与人工标注结果的对比如图7 所示,其中圆圈包含的区域代表人工标注的毛球区域,检测准确率和漏检率如表1所示:
图7 (a)测试图1对应的检测结果与人工标注对比图;(b)测试图2对应的检测结果与人工标注对比图
结果表明,本文提出的基于最大稳定极值区域的方法能将大部分的毛球区域准确分割出来。图2b的检测效果明显优于图2a的检测效果,主要是因为图2b 中的毛球区域更为明显,而图2a 中有大量的起毛而非起球区域,所以导致误检和漏检较多。
表1 毛球分割结果统计
对于获取的织物图像,织物毛球的灰度值与织物纹理的灰度值非常接近,传统的基于阈值的分割方法难以获得满意的分割效果。本文首先采用对数变换对图像进行预处理,并通过频谱分析对织物进行粗分割,再利用最大稳定极值区域检测算子对经过对比度拉伸后的粗分割结果进行精分割,最后对三个通道的检测结果进行“或”操作来获取最终的毛球区域。实验结果表明,该方法能够准确将织物表面的毛球区域进行分割,具有一定的实用性和参考价值,能够进一步将其用于基于机器视觉的织物起毛起球等级评价系统。