基于匹配点变形估计的布标缺陷检测算法
2021-11-02高国刚李文峰冯东海贡军民
宋 强,高国刚,李文峰,冯东海,贡军民
(1.中国石油大学(北京)克拉玛依校区 工学院,新疆 克拉玛依 834000; 2.中恒永创(北京)科技有限公司,北京 100089; 3.新疆石油管理局工程技术公司,新疆 克拉玛依 834000)
布标作为服装、鞋帽、箱包、床上用品、玩具等产品的标识,是衡量产品质量的重要指标之一[1]。受生产环境、生产工艺和生产设备影响,布标经常产生漏印、多印、飞墨、划痕、污渍等各种缺陷,次品布标如果流入市场,会给企业带来声誉和经济损失。随着印染技术的不断发展,布标的印刷速度与内容复杂度越来越高。传统布标质量检测主要采用人工看样、定样方式,借助静止画面和随机抽样方法控制产品质量。人工检测具有很大的主观性和不确定性,容易造成漏检和错检,对于一些细小布标缺陷,人工检测效率低下,无法满足高速印刷需要[2]。随着机器视觉和图像处理技术的不断进步,布标质量检测正向自动化、智能化方向发展。利用高速、高分辨率摄像机采集生产线的布标图像,对待检测图像进行图像处理与分析,利用模板匹配等方法实现布标缺陷的自动检测[3-4]。以色列AVT公司,日本FUTEC、KEYENCE公司,德国BST、VMT公司,加拿大ADEPT、DALSA公司,以及我国凌云光子、北京大恒图像、武汉三维光之洋、北京中恒永创、渭南科赛等公司,均研制适于不同印刷品标签的缺陷自动检测系统。布标产品受材质所限,刚度较低,受力不均时容易产生大面积的不均匀变形,影响缺陷检测的准确率。如何消除布标不均匀变形对图像分析的影响,是布标自动化检测面临的重要挑战。
光流定义为时变图像中像素运动的瞬时速度。图像中所有像素的2D瞬时速度场构成光流矢量场,其中2D速度矢量是空间运动物体3D速度矢量在成像平面的投影[5]。光流矢量场包含空间物体的运动信息,是空间运动场在图像平面的投影表达,反映图像各像素的灰度变化趋势。光流分析是机器视觉的重要研究方法,广泛应用于目标识别跟踪、机器人导航以及三维形状复原等[6-7]。光流矢量场在理想情况下近似于空间运动场,如果将布标不均匀变形等价为待检测布标图像相对于布标模板图像的相对运动,通过光流分析可得到2幅图像的相对运动,即待检测布标图像相对于布标模板图像的变形量[8-10]。本文通过光流分析,建立布标模板图像与待检测布标图像匹配点的相对光流矢量场,光流矢量场体现待检测布标图像相对于模板图像的运动速度,反映待检测布标受张力作用引起的形变。通过逆变换可消除待检测布标形变,将待检测布标图像与模板图像置于相同检测条件下,通过模板匹配即可实现待检测布标的缺陷检测。
1 算法描述
设在t时刻,图像(x,y)处的灰度值为I(x,y,t),在(t+Δt)时刻,该点运动到新的位置(x+Δx,y+Δy),灰度值为I(x+Δx,y+Δy,t+Δt)。在小位移条件下,根据图像灰度恒常性假设(假设1),图像灰度值沿运动轨迹保持不变,即:
I(>x,y,t)=I(>x+Δx,y+Δy,t+Δt)
(1)
设u和v分别为该像素点光流矢量沿x和y方向的分量,u=dx/dt,v=dy/dt,将式(1)用泰勒公式展开,得到:
(2)
其中ε代表二阶及以上的高阶项,可忽略不计,则有:
(3)
式(3)两边同除dt,由于Δt→0,则:
(4)
式(4)可表示为:
Ixu+Iyv+It=0
(5)
式(5)是光流基本约束方程。Ix、Iy和It分别为参考点像素灰度值沿x、y、t3个方向的偏导数,均可由图像数据求得。式(5)的矢量形式为:
I·U+It=0
(6)
在小位移条件下,提出梯度恒常性假设(假设2):一定范围内的灰度梯度在相邻图像序列中不变。式(4)两边分别对x和y求偏导:
(7)
在小位移条件下,提出运动一致性假设(假设3):一定范围内的像素点具有相同的速度,即
(8)
建立关于u、v的能量函数,该函数具有凸性,反映图像数据在3个先验假设约束下的总误差见式(9),使E(u,v)最小的(u,v)值即为图像的光流矢量。
(9)
(10)
计算E(u,v)的最小值等价于求解其Euler-Lagrange方程。令F(>u,v)=(>Ixu+Iyv+It)2+(>Ixxu+Ixyv+Ixt)2+(>Ixyu+Iyyv+Iyt)2+|2u|2+|2v|2,因函数F(u,v)中不含自变量ux和uy,且|2u|2和|2v|2均为偶函数,计算∂F/∂u,则:
(11)
(12)
利用差分计算二阶微分:
(13)
根据式(6),Laplace算子可写为:
f(>x-1)+f(>y+1)+f(>y-1)-4f(>x,y)
(14)
因此,式(12)可变换为:
(15)
整理式(15)可得:
(16)
(17)
式(17)可利用高斯-赛德尔(Gauss-Seidel)迭代法求解最小的(u,v)值,具体过程为:
①迭代初始值u0=0,v0=0;
③根据检测速度要求,设置最大迭代次数,达到后终止迭代。
2 检测实例
计算图像所有像素点的光流矢量会加大系统运算量,影响布标实际检测速度。本文采用多匹配点检测思路,即在模板图像和待检测图像中生成一一对应的匹配点,通过计算各匹配点的光流矢量表征模板图像和待检测图像间的变形程度。匹配点的生成方式主要有特征点方式、随机点方式和均布点方式。
特征点生成方式:图像中的特征点能够较好体现图像边缘等灰度突变特征,可作为模板匹配的匹配点,而且较少数量的特征点也能校正图像变形。但是图像特征点易受噪声干扰,即使对同一图像进行特征点提取,也很难保证提取的特征点是同一点。提取特征点比较耗时,很难应用于在线检测。
随机点生成方式:随机点的生成方法最简单,在实时性上具有较大优势。但随机点生成方式不能保证匹配点的一致性,不适合作为匹配候选点。
均布点生成方式:均布点的生成方式比较简单,在时间上也具有优势,而且能够保证生成点的一致性,是本文选择的匹配点生成方法,如图1所示。
图1 利用均布点生成方式确定匹配点
利用本文提出的光流算法,建立布标模板图像与待检测布标图像匹配点的相对光流矢量场。图2为布标图像某局部区域的光流矢量场,可以看出,左图较模板图像对应区域有向左的运动,右图较模板图像对应区域有向左下的运动,并且右图的运动矢量相对较小。
图2 待检测图像局部区域的光流矢量场
通过光流分析获取布标模板图像与待检测布标图像各匹配点的相对光流矢量,利用逆变换对待检测布标图像进行相应的运动矢量补偿,使得待检测布标图像与布标模板图像之间无运动变形,通过模板匹配即可检测布标缺陷,如图3所示。
图3 布标漏印缺陷检测示例
3 结束语
布标检测正由传统人工检测方式发展为基于机器视觉的全自动检测方式。布标产品在检测过程中受张力作用容易产生不均匀变形,使得被检测图像与模板图像处于不同成像条件,采用传统模板匹配算法容易误检与漏检。本文将光流矢量场分析引入布标缺陷自动检测,用布标模板图像与待检测布标图像匹配点的相对光流矢量场反映待检测布标相对于模板的变形。通过逆变换对待检测布标图像进行运动矢量补偿,消除待检测布标形变对模板匹配算法的影响。服装布标自动检测实例表明,本文算法有效克服布标变形影响,能检测出传统模板匹配算法无法识别的漏印缺陷。