姚明海,潘海飞,王宪保
(浙江工业大学 信息工程学院,浙江 杭州 310023)
基于全局和局部显著性的织物疵点检测
姚明海,潘海飞,王宪保
(浙江工业大学 信息工程学院,浙江 杭州 310023)
针对织物疵点检测过程中疵点种类繁多、大小差异和受织物本身纹理干扰等特点,提出了一种全局显著性和局部显著性相结合的织物疵点检测方法.首先对图像进行稀疏表示,然后计算系数矩阵的增量编码长度,根据增量编码长度量得到局部显著图,再利用频率调谐法计算全局显著图,接着将这两类显著图相融合得到综合显著图,最后,通过自适应阈值分割法求得二值化图像.实验证明:该算法的检测效率高,并具有较强的抗干扰能力.
疵点检测;频率调谐;显著性;稀疏编码
随着面料的生产速度变得更快,快速缺陷检测成为织物质量控制系统的一个重要步骤.传统的织物检测主要是通过人工来实现,效率低且受主观因素影响大,严重限制了高质量的织物生产速度.因此,基于机器视觉的织物疵点检测方法逐渐成为现在的研究热点,现有的织物检测方法主要有频域法、统计法和模型法等.统计法[1]利用一定空间内灰度值的统计特征来描述该纹理.频域法[2]将织物图像变换到频域,频域形式充分体现了纹理的周期性,检测目标主要针对具有均匀纹理的织物图像.模型法[3]假定纹理是某种模型下的一个样本.这些方法虽然都可以检测织物疵点,但是往往只针对于某几种特定的缺陷,且背景比较简单,纹理单一.由于不同纹理的织物在生产过程中出现的疵点特征复杂多变,这些方法使用时计算复杂,缺乏灵活性.
近年来,视觉注意机制引起了广泛关注,在物体识别[4]、缺陷检测[5]和目标跟踪[6]领域都有相应的应用.显著性是一种常用的视觉注意机制方法,已经有很多显著性检测方法被提出,可以大致将其分为局部性模型和全局性模型.全局性模型,例如频率调谐法[7],对图像的边缘或噪声等高频部分表现敏感,使得目标边界轮廓更好的凸显,而目标内部结构往往被忽略.但全局显著性往往对局部特征不明感.局部性模型,例如Itti模型,通过特征的稀有性[8]寻找显著性区域.但局部显著性往往忽略了全局关系及结构.因此笔者将全局显著性和局部显著性相结合,提出了一种将全局显著性和局部显著性相结合的织物疵点检测新方法,全局显著性部分,分别计算图像整体均值分量和高斯平滑后的的均值分量,从两者的差值得到全局显著图,计算速度快且能得到良好的边界;局部显著性部分,在图像稀疏分解的基础上,利用增量编码长度来对图像块能量再分配,改变系数矩阵的权值,得到最优的系数矩阵,进而求得局部显著性.然后将二者融和成最终的显著图,通过自适应阀值准确分割出疵点区域.
采用Hou[9]提出的基于增量编码长度的算法来计算织物图像的显著性.首先对图像稀疏表示,利用系数矩阵的熵来计算增量编码长度,然后利用增量编码长度来对图像块能量再分配,改变系数矩阵的权值,得到最优的系数矩阵,最后通过计算图像块和该周围图像块相似程度来确定局部显著性.具体操作如下.
1.1 词典学习和稀疏表示
通过字典学习,可以对原始训练样本更好的表示.给定一组样本Y=(y1,y2,…),词典学习计算式为
(1)
式中:‖‖0,‖‖2分别为0范数和2范数;λ为正则化参数;αi表示训练样本yi在词典D下的稀疏表示.字典学习常用的方法有线字典学习算法和K-SVD算法.
已知图像的过完备词典D,x∈Rm为图像的向量,则对于x的稀疏表示w的求解式为
(2)
这是一个NP-Hard问题,不易求解.然而,根据最近的研究,当w足够稀疏,上述问题就可以通过最小化l1范数来近似求解,即
(3)
式中λ为常系数.这是一个线性退化Lasso问题,常用求解方法有正交匹配追踪算法和匹配追踪算法.
1.2 增量编码长度
已经有研究得到了视觉系统的编码和表达来评估大脑皮层的能量变化情况.即用增量编码长度来对编码能量再分配,获得更加有效的稀疏编码,将增量编码长度用于显著性分类,可以更加有效的突出显著性物体,得到更好的显著图.
活跃度反映采样序列的响应水平,记第i个特征的活跃度为pi,对于给定的图像矩阵X=[x1,x2,…,xk,…],xk代表向量化图像块,pi计算式为
(4)
(5)
活跃度的改变同时会引起熵的改变,即
(6)
则增量编码长度为
(7)
1.3 能量再分配
(8)
令所有图像块的加权编码稀疏T=[g1w1,g1w2,…,giwi,…],ti=giwi.则局部像素块的显著度的计算式为
Slocal(i)=‖ti‖0‖xi-Dti‖1
(9)
式中Slocal(i)为像素块i的显著性.
从频率域的角度对图像进行分析建模.设wlc为低频切断值,whc为高频切断值.为了使得显著物体高亮显示,wlc应该尽量低一些,为了得到更好的显著物体边界,whc应该尽量高一些.此外,为了消除噪声,图像纹理的干扰,图像的最高频率应当舍弃掉.选取DoG滤波器为带通滤波器,即
G(x,y,σ1)-G(x,y,σ2)
(10)
式中:σ1,σ2分别为高斯函数的标准偏差(σ1>σ2).
(11)
当N≥0,FN可以用两个高斯函数的差来表示,K=ρN决定FN带宽.K=ρN越大,包含更多的频率信息.当N=∞时,G(x,y,ρNσ)相当于对整个图像的平均.因此每个像素的显著度计算式为
Sglobal(x,y)=‖Iμ-Iwhc(x,y)‖2
(12)
式中:Iwhc(x,y)为原图高斯平滑后像素点在的图像中的颜色特征;Iμ为图像的平均颜色特征.
得到了全局显著图Sglobal和局部显著图Slocal后,为了得到更有效的显著图,将将它们融合为一个显著图.首先,分别对其做归一化处理:
N(S)=[S-min(S)]/[max(S)-min(S)]
(13)
式中:max(S),min(S)分别为显著图中的最大值和最小值.
其次,为有效保留全局和局部显著性两种特征的缺陷目标,采用乘法融合显著图,得
S=N(Sglobal)×N(Slocal)
(14)
(15)
实验在IntelCorei7-3770M3.4GHz,内存8GB的CPU平台上,利用matlab软件完成.织物样本选自TILDA公共库和生产线拍摄的图片,随机选择200 张不同织物结构的样本图像进行实验,其中100 张无瑕疵,100 张有瑕疵,包含12 种瑕疵(抽丝、错维、断疵、经缩、破洞、毛边、毛球、边撑疵、黑斑、条干、拖边和油经).图1为部分织物疵点图,图1(a~e)分别为抽丝、黑斑、错维、破洞和边撑疵图像.
图1 织物疵点图Fig.1 Fabric defect map
为了提高运算速度,首先将原织物图像压缩到原图像的十分之一.在局部显著性计算时,输入图像块重叠率为50%,大小为8×8.词典的学习用K-SVD算法,迭代次数为1 000,调和系数为0.15,词典大小为400,参数λ取0.18,高斯平滑模板大小为3×3.
图2分别为图1各疵点图像对应的显著图,图3分别为图2阈值分割后的二值化图像.可以看出笔者算法有效地实现了疵点和背景的分离.
图2 织物疵点显著性图Fig.2 Fabric defect saliency map
图3 织物疵点二值化图Fig.3 Fabric defect bnarization map
图4为织物疵点检测二值化对比图.其中图4(a)为待检测织物图像,图4(b)为用全局显著性方法得到的检测结果,图像显示,许多纹理当作缺陷被检测出来;图4(c)为用局部显著性方法得到的检测结果,有效的抑制了自身纹理的干扰,但是不能很好的检测缺陷的外轮廓;图4(d)为用全局和局部显著性融合方法得到的检测结果,可以看出综合显著图有效的去除了自身纹理的干扰,更多的保留了缺陷的特征.
图4 织物疵点检测二值化对比图Fig.4 Fabric defect Binarization contrast map
张洪涛和计时鸣提出了一种基于小波变换与局部熵相结合的织物疵点检测方法.分别计算待测织物和正常织物图像的熵,根据熵的差值的绝对值大小来判别该图像是否存在疵点,该算法计算量小,但是在复杂的织物纹理背景下,检测效果不佳.吴哲和刘孝星提出一种共生矩阵算法,共生矩阵属于高阶统计量,能刻画不同纹理间的差别,从灰度共生矩阵中提出纹理特征,计算灰度共生矩阵中的熵、相关性、对比度、差异性和逆差矩,并据此判别是否存在缺陷.但共生矩阵维数大,计算时间长,且检测率不高.对比实验结果如表1所示.
表1 不同织物疵点检测方法实验结果对比
Table 1 Comparing the experimental results of different fabric defect detection method
检测方法检测时间/ms检测率/%误检率/%笔者算法62.4945小波变换53.6888共生矩阵1442.7935
表1中,检测时间是指疵点检测算法的平均时间,检测率是指准确检出疵点的图片数量与所有瑕疵图片数量比例,误检率是指误报有瑕疵的图片的数量与所有检测图片数量的比例.笔者算法在检测时间和检测率都比共生矩阵法有优势,小波变换法虽然计算时间较快,但检测率较低,误检率较高.
提出了一种将全局显著性和局部显著性相结合的织物疵点检测新方法.局部显著性部分,在图像稀疏分解的基础上,利用增量编码长度来对图像块能量再分配,改变系数矩阵的权值,得到最优的系数矩阵,进而求得局部显著性.全局显著性部分,分别计算图像整体均值分量和高斯平滑后的的均值分量,从两者的差值得到全局显著图,计算速度快且能得到良好的边界.然后将二者融和成最终的显著图.与传统算法相比,检测效率和检测精度均有一定改进,并具有较强的鲁棒性.此外,该方法具有一定的通用性,对算法稍微改进,也可以用在其他缺陷检测中.
[1] 吴哲,刘孝星,郑力新,等.基于灰度共生矩阵特征图像的织物疵点检测方法[J].微型机与应用,2015,34(21):47-49.
[2] 顾菁,薛云灿,张龙,等.基于小波变换与局部熵的织物疵点检测方法[J].微处理机,2015(5):69-75.
[3] 朱俊岭,汪军,张孝南,等.基于AR模型的机织物线状疵点研究[J].纺织学报,2012,33(8):50-54.
[4] 鲍官军,荀一,戚力勇,等.机器视觉在黄瓜采摘机器人中的应用研究[J].浙江工业大学学报,2010,38(1):114-118.
[5] 张洪涛,计时鸣.基于改进的BP神经网络钢板表面缺陷分类算法研究[J].浙江工业大学学报,2010,38(4):388-390.
[6] 滕游,董辉,俞立.基于DSP的运动目标检测与跟踪系统设计[J].浙江工业大学学报,2009,37(6):607-609.
[7] ACHANTA R, HEMAMI S, ESTRADA F, et al. Frequency-tuned salient region detection[C]//Proceedings of 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshop.Miami:IEEE Computer Society,2009:1597-1604.
[8] 樊强,齐春.基于全局和局部短期稀疏表示的显著性检测[J].计算机科学,2014,41(10):80-83.
[9] HOU X D, ZHANG L. Dynamic visual attention: searching for coding length increments[C]//Advances in Neural Information Processing Systems.Vancouver:MIT Press,2008:681-688.
Fabric defect detection based on local saliency and global saliency
YAO Minghai, PAN Haifei, WANG Xianbao
(College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China)
Aiming at the problems, such as a wide range of defects, different defect sizes and fabric texture interferences in the process of fabric defect detection, this paper proposes a new fabric defect detection method combining the local saliency and global saliency. Firstly, the image is represented as sparse matrix and the incremental encoding length of the coefficient matrix is computed. The local saliency can be measured by the Incremental Coding Length(ICL). Then the frequency tuning method is used to calculate the global saliency map. These two kinds of saliency maps are combined to obtain the final saliency map. Finally, the adaptive threshold segmentation method is used to achieve binary image. Experiment shows that the proposed algorithm can efficiently detect defects with shorter time and has strong anti-jamming ability.
defect detection; frequency tuned; saliency detection; sparse coding
(责任编辑:陈石平)
2016-03-05
姚明海(1963—),男,浙江嘉善人,教授,研究方向为模式识别和智能控制,E-mail:ymh@zjut.edu.cn.
TP391.9
A
1006-4303(2017)01-0019-04