摘 要:提出了一种改进的基于最大熵原理和Gabor滤波技术的织物疵点检测方法。采用多通道Gabor滤波算法,取模值特征为输出,利用最大熵分割模值图像,再进行图像融合,最后计算轮廓的周长和面积去除孤立点得到最终检测结果。利用OpenCV算法库,选取了四种具有代表的织物疵点图片进行验证,实验结果表明,该方法降低了计算复杂度、检测速度快、检测效果好、无须事先学习,适用于不同疵点类型的各种检测。
关键词:疵点检测;Gabor滤波器;最大熵;OpenCV
织物疵点检测是近年来国内外学者在图像领域的热门研究课题之一。本文在结合国内外相关参考文献[1-10]的基础上,针对从企业获取的疵点图像,利用最大熵原理和Gabor滤波器技术,提出了一种新的基于最大熵和Gabor滤波器的织物疵点检测方法。该方法首先对预处理后的图像采用两个Gabor滤波器分别进行水平和垂直方向滤波的模值图像,然后对模值图像分别利用最大熵阈值分割,再融合分割后的二值图像并进行形态学处理,最后通过计算轮廓面积和周长的方法去掉小的孤立点和描绘出最终疵点图像,从而获得疵点检测结果。实验表明,该方法能够很好地检测和分割出绝大多数疵点,而且速度快、效果好。
1 熵和Gabor滤波器原理
1.1 熵数学理论
熵是源于物理学的基本概念,由Shannon引入到信息论中。信息论中,熵是作为事件出现概率不确定性的量度,能有效地反映事件包含的信息。图像中,熵代表图像中信息量的大小,可以通过定义图像各个像素点分布情况定义图像的局部熵。
一幅M×N大小的图像,熵的定义为[11]:
从式(3)可以看出,Gabor滤波器是一个高斯包络函数所限定的正弦波平面波,即g(x,y)是由尺度参数σx和σy决定的高斯函数调制函数。
2 本文方法及算法
2.1 方法改进
在参考文献[3-10]中研究分析了基于Gabor滤波器的疵点检测,大致思路都是先采用不同的方法获取Gabor滤波参数从而选取Gabor滤波器组,然后分别对原始图像和疵点图像进行多尺度和多方向滤波,提取特征(均值和标准差),再计算差值图像后对图像进行层内、层间融合,最后通过某种准则进行阈值分割,最终得到图像疵点。而本文从降低算法复杂度,保证检测效果的基础上对以上方法进行了以下两点改进并提出了完整算法步骤。
(1)在Gabor滤波中引入最大熵
一幅不含疵点的织物图像,其纹理特征是确定的。当有疵点出现时,图像的纹理特征遭到破坏,其熵值相应地也会发生变化。由于疵点的灰度变化会引起局部熵值的极大变化,所以很容易检测出疵点的存在。
参考文献[6-7]分别对标准图像和疵点图像进行Gabor滤波后求均值和标准差,再通过均值求取偏差图像、通过标准差对偏差图像进行二值化,再融合,最后选定阈值对总融合后的标准图像和疵点图像的均值之差(差值图像)进行分割,从而得到疵点图像。在计算上,求标准差时涉及二维平方、除法以及开根号等操作,差值图像进行层内、层间融合时也涉及对图像像素点的多次平方操作,计算量大。而本文引用最大熵直接对Gabor滤波后模值图像进行二值化处理,只涉及一次乘法运算(如1.2节),降低了算法复杂度,减少了计算量。
另外,在参考文献[4,8,9]中都分析了疵点检测中熵的应用,采用的都是局部熵,涉及了阈值选择,牵涉到人的因素。本文采用最大熵作为准则,利用式(4)迭代,自动获取阈值,同时结合Gabor滤波,进行最大熵测试。以纬疵和勾丝为例,如图1所示的实验表明,本文提出的方法能获得很好的检测结果,能避免阈值等参数的主观经验选择,排除了人的因素,降低了算法复杂度。
(2)选模值图像作为Gabor滤波后的输出特性
基于二维Gabor变换所采用的核(Kernels)与哺乳动物视觉皮层简单细胞的二维感受野剖面(Profile)非常相似机理[3],Gabor分解可以看作是一个对方向和尺度敏感的有方向性的显微镜,从而用于织物纹理多层结构的检测。
关于Gabor滤波后的输出特征,在参考文献[3,10]中,采用的都是Gabor滤波后图像的实部,在其参数选择中,比较了实Gabor滤波器(RGF)和虚Gabor滤波器(IGF)对图像疵点的分辨率影响,得出在不同径向中心频率和方位角的组合下,RGF的分辨率都要远远好于IGF。本文算法中,以纬疵为例通过如图2所示的实验测试,证明选取Gabor滤波后图像的模值比选取实部对最大熵的应用具有更好的效果。
2.2 算法步骤
针对本文所获取的疵点图像,其纹理基本上是按经纬方向织成的,在对角方向上没有明显的纹理特性,同时考虑实时性、减少计算量,只采用水平和垂直两个方向进行滤波。即采用一个尺度两个方向的Gabor滤波器。具体算法如下:
(1)源图像获取
分别获取大小为M×N(本文为512×512)的某织物标准图像r(x,y)和含疵点图像t(x,y),并分别对其进行灰度化,将彩色图像转为灰度图像。
图4~图7中,(a)为标准灰度图像(疵点图像背景),(b)为疵点灰度图像,(c)、(d)分别为(b)经Gabor水平和垂直方向滤波后输出的模值图像,(e)、(f)为利用最大熵对(c)、(d)分别进行阈值分割后的疵点图像,(g)为(e)、(f)进行融合并经过形态学处理后的疵点图像,(h)为(g)孤立点处理后最终疵点轮廓图像。
鉴于织物疵点中对实时性的要求极高,本文提出的算法避开了传统方法的弊端,在疵点特征提取中只对水平和垂直两个方向进行Gabor滤波,并以模值图像作为输出,降低了图像特征的维数和计算的复杂度;然后提出用最大熵方法对模值图像进行阈值分割,再进行二值图像融合,降低了计算量,从而保证了实时性。本文对织物的多种疵点进行了检测,实验结果表明,本文的算法能将织物疵点从背景中较准确地分割出来,证明了该检测算法具有良好的检测效果。
参考文献
[1] KUMAR A. Computer vision based fabric defect detection: a survey[J]. IEEE Transactions on Industrial Electronics,2008,55(1):348-363.
[2] ROCKERY A. Automated fabric inspection: assessing the current state of the art[M]. Technical Specifications,2001.
[3] KUMAR A, PANG G K H. Defect detection in textured materials using Gabor filters[J]. IEEE Transactions on Industry Applications, 2002,38(2):425-440.
[4] Wang Dongyun,Niu Zhengguang. Improved method of fabric defects inspection based on local entropy[C], Control Conference, 2008.CCC.27th Chinese,2008:208-211.
[5] Liu Hao, Han Jiuqiang. Defect detection in textiles using optimal Gabor wavelet filter[C]. The Sixth World Congress on Intelligent Control and Automation, 2006:10005-10007.
[6] Chen Shuyue, Feng Jun, Zou Ling. Study of fabric defects detection through Gabor filter based on scale transformation[J]. Image Analysis and Signal Processing (IASP), 2010(9-11):97-99.
[7] 韩润萍,孙苏榕,姜玲.基于Gabor滤波器组的织物疵点检测方法[J].计算机工程与应用,2007,43(7):211-214.
[8] 卿湘运,段红,魏俊民.基于局部熵的织物疵点检测与识别的研究[J].纺织学报,2004,25(5):56-57.
[9] 沈雅芬,刘纯平,王朝晖.基于局部熵的CMOS摄像头疵点检测[J].计算机工程与应用,2009,45(20):71-73.
[10] 邹超,汪秉文,孙志刚.基于Gabor滤波器组的实时疵点图像分割[J].计算机工程与应用,2010,46(12):185-187.
[11] PUN T. Entropic thresholding: a new approach. computer vision[J]. Graphics and Image Processing,1981,16(3):210-239.
[12] BRADSKI G, KAEHLER A. Learning OpenCV[M]. 于任瑛,刘瑞祯译.南京:东南大学出版社,2009.