基于视觉感知机制的织物疵点轮廓检测①
2022-01-06赵雪青
师 昕, 赵雪青
(西安工程大学 计算机科学学院, 西安 710048)
织物疵点检测是纺织品质量监控中一项最重要的工序, 织物疵点主要指纺织品在纺纱、织造、印染等过程中由于原材料质量、机械故障、工人疏漏等原因造成的表面瑕疵, 不仅对织物成品的质量造成负面影响, 同时会带来较大的经济损失[1].因此, 在坯布进行再加工之前, 需要进行严格的质量检测.然而, 现有的织物质量检测仍多依赖于人工作业, 不仅枯燥且重复性极强, 要求作业工人精力高度集中, 通过视觉发现织物疵点并进行修整和标注, 这种检测方法不仅耗时而且严重伤害工人的视觉[2,3], 面临日益上涨的人工成本, 已难以满足市场对高质量纺织品的需求.因此, 顺应工业4.0时代的发展要求, 纺织行业的智能化已成为不可避免的趋势, 其中使用机器视觉代替人工进行疵点检测,不仅可以提高检测效率和精度, 更能有效控制成本, 已成为众多纺织企业的迫切需求[4].
近年来, 随着计算机视觉、数字图像等信息技术的不断发展, 其在纺织品生产及质量控制上的应用也吸引众多国内外学者进行研究[5-7].通常, 数字化的织物疵点图像在空间域上可由灰度值矩阵表示, 疵点与背景的区别主要表现在灰度值无规律的突变, 在一定范围内可表示为织物图像的边缘[8].因此, 结合图像边缘检测技术进行织物疵点检测是非常有效的方法.常用的边缘检测方法有Canny、Sobel、Laplacian、Prewitt等方法, 其中, Canny因其检测精度高, 信噪比大等优点, 在织物疵点检测领域得到广泛应用[9].然而, 传统图像边缘检测过程中, 通常结合专家经验和视觉感知来界定图像边缘[10], 基于Canny的方法仅利用图像中的梯度值与梯度方向来确定边缘, 并未考虑视觉感知这一因素对边缘检测结果的影响, 因此, 使用基于Canny的方法检测出的织物疵点, 常与实际视觉检测的结果产生差异, 从而导致错检, 多检等问题[11].
本文受到人类视觉系统中视觉通路对图像边缘信息处理机理的启发, 提出一种基于视觉感知机制的自适应织物疵点轮廓检测方法.首先, 模拟视觉系统中视网膜感受野对视觉信息的处理机制构建织物疵点图像滤波模型, 该模型可在滤除织物疵点图像噪声信息的同时, 增强疵点信息的强度; 其次, 基于视觉通路初级视皮层(V1)区对视觉信息响应的方向选择性建立织物疵点图像边缘检测模型, 实现对织物疵点图像边缘信息的提取; 最后, 根据织物疵点图像的边缘检测结果,采用自适应阈值选择的方法[12], 对织物疵点边缘检测结果进行二次检测, 获得织物疵点的轮廓.
1 视觉信息处理机制
生物实验研究表明, 人类获取的视觉信息, 主要通过外界光刺激视网膜, 经视觉神经传导并最终在大脑视觉中枢进行加工和分析后获得的主观感觉[13].如图1所示, 视网膜和大脑皮层是视觉信息形成的最为重要的两个功能区, 其中, 视网膜负责感光成像, 且由于视网膜细胞感受野的存在, 对成像信息具有增强/抑制的功能[14].大脑皮层中与视觉有关的神经细胞群形成视觉中枢, 对经由视觉神经传导而来的信息进行整合加工, 进而形成完整的视觉认知, 其中, 对边缘信息的加工主要位于大脑皮层的初级视皮(V1)区域[15].
图1 视觉信息处理机制流程图
2 织物疵点检测模型
2.1 织物疵点图像预处理
针对织物疵点图像进行预处理, 模拟视觉系统中视网膜感受野对视觉信息的处理机制构建织物疵点图像滤波模型进行滤波, 同时, 针对滤波后的织物疵点图像采用图像增强的方法进行疵点增强.视网膜中的神经节细胞, 其感受野(单个细胞接收刺激的区域)在空间上的分布表现为同心圆结构[16,17].Rodieck[18]通过生物实验证明, 同心圆结构感受野的中心和周围区域具有拮抗性, 且均服从高斯分布, 但感受野中心区域的敏感度更高.根据感受野的反应敏感性, 可将其分为两类,中心兴奋-周围抑制型(on型)及中心抑制-周围兴奋型(off型), 由于中心区域和周围区域的响应强度与刺激时间有关, 基于以上生理学研究, 提出on型视网膜感受野模型如式(1)所示.
式中,Rc(t)和Rs(t)为根据生理学实验得到视网膜响应关于时间变化的函数[19], σc和 σs分别为感受野模型中心区域和周围区域的半径, 且 σc≈1/3×σs.Gσ(x)为高斯函数, 定义为式(2).
其中, σ为高斯函数的方差.off型视网膜感受野模型为on型视网膜感受野模型的相反数, 即Retinaoff(x)=-Retinaon(x).
图2所示为本文模拟视网膜感受野的生理学基础所提出的滤波器在不同时间取值下的频域示意图.明显地, 当时间取值合适(如t=30 ms)时, 该滤波器呈现出带通特性.因此, 使用式(1)定义的视网膜感受野模型对织物疵点图像进行带通滤波, 既可以滤除低频区域的噪声信息, 又可以增强位于高频区域的疵点边缘信息.
图2 视网膜感受野模型的频率域示意图
2.2 方向选择性边缘检测模型
相关生物生理学研究表明, 作为哺乳动物的视觉神经中枢, 初级视皮层V1区的神经元呈现出方向选择特性, 即单个神经元细胞仅对特定方向的边缘、轮廓信息有响应.此外, 视网膜细胞的输出沿特定方向排列决定初级视皮层V1区神经元的方向选择性[20].以上研究为符合人类视觉感知的轮廓检测方法[21]提供了生物学依据.
首先, 初级视皮层V1区的神经元细胞接收来自视网膜细胞的输出作为输入, 如式(3):
其中,Imageinput为灰度化和归一化后的织物疵点图像,Retinaδ(x,y)为式(1)定义的视网膜感受野模型,δ决定感受野极性为on型或off型.使用视网膜感受野模型对织物疵点图像进行卷积操作, 得到视网膜细胞的输出.
其次, 对空间上临近的若干个视网膜细胞的输出进行加权求和形成子单元的响应, 如式(4), 式(5)所示:
根据神经生理学对人眼视网膜特性的研究, 本文中设置d0=2,α=0.9为固定参数.
最后, V1区细胞的方向选择性由多个子单元沿特定方向排列而成, 定义为这些子单元的几何加权平均,如式(7), 式(8)所示:
其中, Sδi,σi,ρi,φi(x,y)为式(4)得到的若干个视网膜细胞加权求和形成的子单元响应, ωi定义为关于视网膜细胞相对于子单元中心的幅值 ρi的高斯函数,C为组成V1区细胞响应的多个子单元集合.当且仅当所有的子单元都被激活时, 这些子单元组成的初级视皮层V1区的细胞才被激活.
初级视皮层V1区细胞针对不同方向的选择性可以通过改变子单元位置参数得到, 模型中定义 ψ (C)为一系列不同方向角度对应的子单元位置参数集合.使用具有不同方向选择性的模型对输入的织物疵点图像进行处理, 即可以获得织物疵点图像在各个方向的边缘.最后, 使用最大化操作方法对各个方向的边缘图像进行合并, 如式(9):
为了尽可能排除干扰, 保留相对较明显的边缘信息, 对合并后的织物疵点边缘图像进行非极大值抑制,仅保留某边缘梯度方向上的局部最大值, 得到最终的织物疵点边缘响应图像.
2.3 织物疵点轮廓检测
通过边缘检测和非极大值抑制得到的织物疵点边缘图像, 采用阈值控制来滤除噪声及微小变化引起的伪边缘, 从而获得织物疵点的轮廓图像.本文使用Otsu法[22]对织物疵点的边缘图像进一步分割, 将取得最大类间方差时的分割值作为阈值, 对织物疵点边缘检测结果进行二次检测, 获得织物疵点的最终轮廓, 从而实现自适应的检测织物疵点检.其中, 类间方差定义如式(10):
其中, ω1,ω2分别为疵点像素和非疵点像素占比,μ1,μ2为疵点像素和非疵点像素平均边缘响应强度, μ为织物疵点边缘图像总平均强度, 定义如式(11)所示:
通过大量的实验对不同类型的织物疵点图像进行轮廓提取, 可以提取出较好的织物疵点轮廓信息时, 阈值约为77.
2.4 织物疵点检测算法及流程
本文提出的算法步骤如算法1所示.
算法1.基于视觉感知机制的织物疵点轮廓检测算法输入: 待检测织物疵点图像I(x, y), 大小为M×N输出: 织物轮廓图像J(x, y), 大小为M×N 1.对待检测的织物疵点图像I(x, y)进行灰度化和归一化;2.根据式(1)和式(3)对织物疵点图像进行带通滤波;images/BZ_330_594_2033_657_2062.png3.根据式(4)-式(8)生成由 定义的各个方向的织物疵点边缘图像;4.根据式(9)对各个方向上的织物疵点边缘图像进行合并;5.对第4步得到的织物疵点边缘图像进行非极大值抑制;
6.根据式(10)和式(11)进行自适应阈值选择, 二值化图像并得到最终的织物轮廓图像J(x, y).
3 实验分析
3.1 实验数据及评价指标
为验证本文算法的有效性与可行性, 本文选取TILDA[23]公开数据库中破洞、纱疵、油污、跳经4种典型的织物疵点图像进行验证, 其中每种类型的疵点图像各50张, 共200张.实验平台的硬件配置如下:Intel Core i5-8250U CPU 1.6 GHz; 内存 16 GB; SSD 512 GB; 操作系统Windows 10.程序基于Anaconda 4.3.30的软件平台的Python语言开发.
为进一步验证本文方法的有效性, 实验中采用基于不同阈值的Canny疵点检测方法[9]、基于小波变换的方法[24]及基于Gabor变换的方法[25]作为对比, 分别从主观感受和客观指标评价两个角度进行比较与分析.分别对200张疵点图像使用C/B比值指标进行测试并取每类疵点的C/B平均值见表1所示.C/B比值法, 是一种反应边缘线性连接程度的基于连通成分的评价方法, 其中C表示4连通成分数, B表示8连通成分数,n连通成分数定义为满足式(12)的集合S的个数,
表1 不同方法的C/B比值对比
其中,UImage表示织物疵点图像所有像素组成的集合,Nn(i)称为像素i的n邻域.文献[26]中提出, 通过数学归纳法证明可知, C/B比值越小时, 边缘线性连接程度越好, 提取出的边缘效果越好.
3.2 实验结果及分析
首先, 对不同方法的检测结果从主观感受角度进行定性分析.如图3所示, 为不同方法对破洞、纱疵、油污、跳经4类疵点的检测结果, 其中图3(a)为原始的织物疵点图像, 图3(b)为设置高阈值为0.3的Canny算法检测结果, 图3(c)为设置高阈值为0.7的Canny算法检测结果, 图3(d)为基于Gabor变换的检测结果, 图3(e)为基于小波变换的检测结果, 图3(f)为本文提出的方法得到的检测结果.针对破洞类疵点,Canny算法可以检测出其轮廓信息, 但是由于Canny算法中的双阈值控制部分选择的阈值不同, 较小阈值(0.3)如图3(b)所示, 虽可以保留更多边缘信息, 但同时会引入较多伪边缘, 而较大的阈值(0.7)如图3(c)所示, 在剔除掉伪边缘的同时也会误删部分真实轮廓信息.基于Gabor变换的检测方法, 如图3(d)所示, 虽可以准确定位破洞疵点轮廓, 但是由于Gabor滤波器的方向选择性由不同参数的排列组合决定, 最终检测结果由各个方向上的边缘融合而成, 因此会导致粗边缘的产生.基于小波变换的检测方法, 如图3(e)所示, 也可准确定位出疵点轮廓, 但是受到噪声影响较大.而本文提出的方法, 如图3(f)所示, 不仅可以准确定位出破洞疵点的完整轮廓, 而且受到噪声影响较小.针对纱疵类疵点, 4种方法的轮廓检测效果均差强人意, 主要原因可能由于原始疵点图像中, 疵点轮廓信息并不明显导致.针对跳经类疵点, Canny算法可检测出疵点在水平方向上的断裂信息, 但是整体的轮廓提取或受噪声影响较大(高阈值为0.3的Canny算法)或提取不完整(高阈值为0.7的Canny算法), 基于Gabor变换和小波变换的方法, 无法提取出跳经类疵点.本文提出的方法,可以完整提取出跳经类疵点在垂直方向上的轮廓, 但无法反映出水平方向上的断裂信息.针对油污类疵点,0.3阈值的Canny算法引入过多噪声, 0.7阈值的Canny算法轮廓定位不完整, 基于Gabor变换的方法会得到粗边缘, 而基于小波变换的方法, 无法提取出轮廓信息.本文提出的方法, 可以定位出油污轮廓, 且受噪声影响可忽略.
图3 不同方法针对破洞、纱疵、跳经及油污4种典型织物疵点类型的检测效果对比图
其次, 对不同检测方法取得的织物疵点轮廓图像进行C/B比值的计算, 表1为本文方法与对比方法的C/B比值数据表.由表1可知, 使用本文提出的织物疵点轮廓检测方法对破洞、纱疵、跳经和油污4类织物疵点图像进行疵点检测, 其检测结果的C/B比值均小于其他方法.具体地, 针对不同种类疵点, 本文方法的检测结果均得到最小的C/B比值.其余方法的C/B比值按照从大到小的顺序依次为, 高阈值为0.7的Canny算法, 高阈值为0.3的Canny算法, 基于Gabor变换的方法, 基于小波变换的方法, 这与主观感受分析结果较为符合.此外, 针对破洞、纱疵、跳经、油污这4类疵点, 本文方法的C/B比值相较于高阈值为0.7的Canny算法, 分别降低了38%、22%、15.8%和43%, 这说明本文提出的方法可以获得连接效果较好的轮廓线.
综上, 通过对实验结果的主观感受和客观指标C/B比值法进行分析可知, 使用本文提出的方法进行疵点检测, 不仅无需对参数进行手工设置即可自适应的完成整个检测流程, 而且可较为准确地提取出破洞类和油污类疵点的轮廓信息以及跳经类疵点在垂直方向上的轮廓信息, 且检测结果受到噪声的影响较小.
4 结论
本文提出一种基于视觉感知的自适应织物疵点检测方法, 对视觉通路中的视网膜具有的滤波功能及初级视觉皮层(V1)区细胞具有的方向选择性进行建模,实现织物疵点图像的边缘检测, 并通过自适应阈值控制, 对织物疵点边缘图像进行二次处理, 最终提取出织物疵点的轮廓.实验结果表明, 使用本文方法对含有疵点的织物图像进行检测, 尤其是对油污和破洞类疵点的检测效果较好, 跳经类疵点的检测效果次之, 对于纱疵类疵点, 虽然能够检测出该类型疵点的存在, 但是对其疵点轮廓区域的定位较差.其主要原因是由于纱疵类疵点的轮廓不显著, 难以准确定位, 下一步研究工作将针对纱疵类疵点的准确定位展开研究.