基于视觉的印刷品缺陷检测技术
2017-09-12徐足骋袁锁中王从庆张小正
徐足骋,周 鑫,袁锁中,王从庆,张小正
(南京航空航天大学 自动控制系, 南京 211106)
基于视觉的印刷品缺陷检测技术
徐足骋,周 鑫,袁锁中,王从庆,张小正
(南京航空航天大学 自动控制系, 南京 211106)
为满足印刷品缺陷检测的准确度需求,设计了一种基于计算机视觉的分布式检测系统。该系统主要包括图像采集模块、图像处理模块、输入输出模块。研究了图像预处理、特征提取、图像配准、图像匹配和缺陷检测的相关算法。实验数据表明:该系统和采用的图像算法能精确计算缺陷的各项特征参数并判断类型,达到了印刷品缺陷检测的要求。
计算机视觉;分布式系统;印刷缺陷;图像处理
当今科学技术日新月异,知识的更新瞬息万变,印刷产品已然成为生活中不可或缺的部分[1]。然而,因为印刷技术相对落后且存在外在干扰,印刷产品一般会带有些许缺陷,常见的情况为色彩畸变、飞墨、划痕、刀丝、脏版等[2]。为了保证印刷品质量,除了要控制整个印刷工艺流程外,还要做好印后质检工作,严格把关印刷品质量,及时去掉不合格品。
传统的印刷检测主要是采用人工质检的方式,借助静止的画面和随机抽样的方法在一定程度上控制产品质量,但在实际应用中会有很大的问题。人工检测具有很大的不确定性,需要依赖工人的主观判断,很难保证印刷的准确性和一致性,同时人工检测效率低下,成本高。
进入21世纪,工业相机和多用途工业计算机得到了普遍运用,计算机视觉技术也因此不断进步,为促进全自动缺陷检测打下了坚实的基础[3]。基于计算机视觉的检测技术是借助相机采集对象的图像并使用计算机分析处理图像信息来完成质量检测。这既加快了检测速率,增加了缺陷识别的准确性和一致性,又减少了企业的生产费用[4]。本文基于计算机视觉设计了一套印刷缺陷检测系统,同时探究了印刷缺陷的检测方法[5]。
1 印刷缺陷分析和检测系统的整体结构
1.1 常见的印刷缺陷
实现印刷品的在线检测主要是希望能提早发现产品缺陷,发出报警信号并提供缺陷相关信息,增加企业生产合格率。首先,有必要对印刷缺陷进行分类。印刷中存在的缺陷主要包括窜墨、划痕、漏印、色彩畸变、缺印、模糊、重影等[6],可以被归为块状、线状、离散点状。其中:块状缺陷一般为封闭区域,形状和大小不尽相同;线状缺陷往往是封闭的直线,宽度、颜色、方向都有不同的可能;离散点状缺陷则是一些零散的像素点。常见的印刷缺陷分类见表1。
表1 印刷缺陷分类
1.2 检测系统的整体结构
该检测系统主要包含图像采集模块、图像处理模块、输入输出模块[7]。检测系统的整体结构如图1所示。
图1 检测系统的整体结构
图像采集模块由线性光源、线阵相机、光学镜头、采集卡、支架组成。该模块主要用来采集印刷图像,并传送给图像处理模块。
图像处理模块采用了分布式结构,将一台工业计算机看作服务器,另一台工业计算机看作客户端。借助路由器和局域网,服务器和客户端之间能进行网络通讯和数据传输。其中:服务器的作用是配置检测参数、显示客户端采集的图像、在数据库中保存缺陷信息;客户端的作用是接收服务器的检测参数、在线采集印刷图像、进行一系列的图像算法处理、将图像和缺陷信息发送给服务器。
输入输出模块由人机控制台、信号指示灯、编码器组成。该模块的作用是对其他2个模块发出控制信号、接收人为指令、发出报警信号[8]。
2 检测系统的整体方案设计
印刷品有无缺陷是相对模板来说的,印刷缺陷表现在视觉效果上与模板并不一致。基于计算机视觉的检测系统的工作流程是:首先,挑选一幅不含缺陷的标准图像进行预处理和特征提取,作为模板保存;然后,采集印刷图像进行预处理,与模板配准实现两幅图像在空间上对齐;再做匹配操作,得到缺陷二值图像;最后,提取各个缺陷,计算相关特征参数并分类。检测系统的工作流程如图2。
图2 检测系统的工作流程
2.1 图像预处理
采集印刷图像的过程中可能受到照明不足、相机抖动的影响,引发亮度偏低、细节模糊的问题,不利于后面的操作。因此,首先对印刷图像进行预处理,主要包含图像灰值化、图像对比度增强和图像锐化。
在线采集得到的印刷图像是24位彩色图像,直接操作不仅会消耗大量的内存空间,而且算法运行时间也会很长。因此,不适合在实时性要求很高的在线检测系统中应用,通常先把彩色图像转化为灰度图像,具体步骤如下:
1) 取每个像素点的RGB分量;
2) 计算加权灰度值0.3×B+0.59×G+0.11×R;
3) 把每个像素点的RGB分量替换为灰度值。
彩色图像和灰度图像分别见图3(a)(b)。
图3 图像灰值化
现代生产线印刷速度非常快,即便是在照明充分的情况下,依然会出现亮度偏低的问题,见图3(a)。在灰度直方图中像素点集中在低灰度区,图像亮度整体偏低,当照明不佳时情况更显著。因此,对印刷图像进行对比度增强的要求是扩大低灰度区域,而缩小高灰度区域,并且增大整体亮度。灰度变换包括线性灰度变换和非线性灰度变换,其中线性灰度变换又分为线性变换和分段线性变换。前者主要用于处理曝光不足或曝光过度的图像,增加图像细节的分辨率;后者的功能主要是对感兴趣灰度区间进行突出,对不感兴趣灰度区间进行抑止。非线性变换主要包括指数变换、对数变换以及其他非线性变换。根据上面的分析,只有分段线性变换能够满足要求,因此本文采用了三段式线性变换,公式如下:
(1)
其中:f(x,y)和g(x,y)分别表示原图像和结果图像;a、b、c、d参数用来调整曲线位置和形状。经过多次的实验比对,确定了a、b、c、d的最佳组合,分别为35、150、20、250。线性灰度变换的结果如图4,其中(a)是原图像,(b)是结果图像,(c)、(d)分别是(a)(b)的灰度直方图。通过比较图4(c)和(d)能发现:线性灰度变换拉伸了低灰度区域,压缩了高灰度区域。因此,结果图像对比度更高,灰度区间更大、更亮,有利于后面的处理。
印刷图像经过灰度变换以后,对比度显著增强,但由于采集过程中不良因素的影响,出现了细节模糊的现象。为便于后面的特征提取,先借助图像锐化,使图像的边缘、轮廓和细节变得清晰[9]。图像锐化一般包括梯度锐化和拉普拉斯锐化,其中梯度锐化效果较好,但是对噪声比较敏感,计算代价较高;而拉普拉斯锐化计算简单,实时性好。因此,本文采用了拉普拉斯算子实现锐化,算法主要思想是遍历图像中的像素点,根据上下左右4个像素点的灰度值确定其锐化后的灰度值,其计算公式为
result=5×current-left-right-up-down
(2)
经过锐化操作后的图像见图5。
图5 图像锐化
2.2 图像特征提取
经过图像预处理之后需要进行特征的选择和提取,这会在很大程度上决定配准的速度和准确度。考虑印刷图像中比较丰富和清楚的特征,挑选了下面两种作为配准的依据:
1) 线状特征:主要是图像中的边缘和轮廓;
2) 灰度分布特征:主要包含灰度平均值、灰度标准差、灰度直方图等。
线状特征中最常用的是边缘特征。边缘检测算法的数学基础是导数,计算获得的梯度方向可以用来表示灰度变化的方向,常用的算子有Robert算子、Sobel算子、Prewitt算子、Gauss-Laplace算子[10]。这些利用微分的算子都会使用很多乘法操作,运算代价很高。相较之下,利用灰度形态学不仅运算速度快、实时性强,而且不会像微分算法那样对噪声敏感,故本文借助灰度形态学中的腐蚀来提取边缘特征。设f(x,y)表示原图像,e(x,y) 表示用3×3的结构元素对f(x,y)进行腐蚀后的图像,那么采用腐蚀提取边缘特征可用f(x,y)-e(x,y)表示。如果对整幅图像进行边缘提取,则需要大量的运算,所以为了降低运算量,只对边缘特征最密集的一块局部区域进行提取,密集程度用边缘像素点数与局部区域总像素点数的比值表征。经过多次实验比对,选择局部区域的大小为100×100,线状特征的提取结果见图6,其包含的边缘像素点个数是3 054。
图6 线状特征
如本文所述,灰度分布特征主要包括灰度平均值、灰度标准差、灰度直方图等。这些特征直接和图像像素灰度值相关,假如图像尺寸偏大,那么配准时需要大量地搜索,可以使用局部灰度特征代替全局灰度特征来减少搜索量。印刷图像中不同局部区域有不同的灰度分布,所以利用灰度平均值和灰度标准差来提取局部特征。对于一块M×N的局部区域,图像的灰度平均值可以表示为
(3)
图像的灰度标准差可以表示为
(4)
灰度分布的特征区域应当是灰度值有明显变化的部分,如果特征区域是一块单一的背景,那么在配准的时候就无法找到对应的区域。通过比较局部区域的灰度标准差和一个标准差阈值,就能确定合适的灰度分布特征区域。选择局部区域的大小为150×150,灰度分布特征的提取结果如图7所示,其灰度平均值为116.24,灰度标准差为61.04。
图7 灰度特征
2.3 图像配准
图像配准是依照模板图像的特征在被检测图像中搜索对应的区域,并纠正错位和偏移。前文已提取了模板图像的线状特征和灰度分布特征,接下来需要确定的就是相似性测度,用来判断区域间的相似程度。
线状特征中的特征像素点数远小于局部区域的总像素点数,因此可以采用常用的互相关相似性测度,计算量并不大,能满足系统实时性的要求,测度函数计算公式如下:
(5)
其中:r(x,y)是被检测图像中一块M×N的局部区域;t(x,y)是模板图像中一块M×N的特征区域。将不同的局部区域与特征区域进行互相关计算,通过比较互相关值的大小就能确定2块区域的相似程度。
用灰度分布特征作为配准特征实际上是需要操作特征区域中的每一个像素点,假如使用互相关相似性测度,那么计算量会非常大。因此,针对灰度分布特征,本文设计了一种双向差影法来计算相似性测度,测度函数是计算双向差影图像的非零像素点个数。与互相关相似性测度相比,该方法计算简单,实时性更强,更适合于灰度分布特征。差影是一种代数运算,即对图像的对应像素点进行相减的操作。当进行差影运算时,不允许出现负的像素值,所以将差影分为正差和负差。双向差影方法的思想是将正差和负差相结合,其具体过程是:先对模板图像和被检测图像分别作正差和负差操作,再直接使正差和负差图像相加达到合并效果。用t(x,y)表示模板图像中一块M×N的特征区域,r(x,y)表示被检测图像中一块M×N的局部区域,p(x,y)表示正差图像,n(x,y)表示负差图像[11],根据t(x,y)和r(x,y)的大小关系,正差和负差可分别表示为:
p(x,y)=t(x,y)-r(x,y)
(6)
n(x,y)=r(x,y)-t(x,y)
(7)
双向差影图像m(x,y)可表示为
m(x,y)=p(x,y)+n(x,y)
(8)
t(x,y)和r(x,y)越相似,则m(x,y)中非零像素点个数就越少,通过比较不同m(x,y)中非零像素点个数,就能找到与特征区域最相似的局部区域。
在进行图像配准时,要花许多时间计算相似性测度,所以选择适当的搜索空间对算法速度的影响大,能够有效降低计算量。印刷在线检测系统中实现的帧同步可以保证相邻两帧图像的位置误差在正负4个像素之内,因此本文确定的搜索空间为被检测图像中对应模板图像特征区域的一个小的邻域,设计了一种基于局部区域的图像配准算法。设特征区域大小为M×N,则搜索空间为(M+8)×(N+8)。具体的搜索配准过程如下:
1) 初始位置的选择:用t(x,y)表示模板图像中一块M×N的特征区域,r(x,y)表示被检测图像中一块M×N的局部区域,t(x,y)首先放置在r(x,y)中对应区域的邻域左上角。
2) 搜索顺序:t(x,y)在r(x,y)上以从左到右,从上到下,先行后列的顺序滑动。
3) 搜索策略:基于整个搜索空间做全局搜索,搜索步长为1个像素点。
4) 配准经过:根据不同特征的相似性测度函数,计算找到t(x,y)在r(x,y)上最相似的区域,即找出与线状特征具有最大互相关值的区域,找出和灰度分布特征的差影图像具有最少非零像素点个数的区域。然后计算这些配准区域与模板图像中对应特征区域的偏移量。最后对被检测图像进行偏移矫正,实现配准。
2.4 图像匹配
在图像配准以后,模板图像与被检测图像的各种特征能对应起来,还要继续提取缺陷像素点,即找出模板图像与被检测图像之间的不同。常见的图像匹配方法主要有相关法和差影法。相关法的准确度较高,但计算时间长,实时性差,不适合用于在线系统。相比之下,差影法计算速度快,实时性非常好,但是依赖于配准的准确度,适合于不存在大畸变的图像之间的匹配。由于模板图像和被检测图像都来自同一条印刷生产线,在形状和图案上没有很大的差别,同时考虑在线系统的检测速度,因此本研究采用差影法来实现匹配。
缺陷根据灰度值的大小可以分为明缺陷和暗缺陷。明缺陷是指其灰度值比背景灰度值大的缺陷;暗缺陷是指其灰度值比背景灰度值小的缺陷。提取缺陷像素点时,假如仅使用正差或负差操作,那么只能获得明缺陷或暗缺陷,所以本文使用了上文提到的将正差和负差相结合的双向差影方法。该方法能有效克服传统差影法只能提取明缺陷或暗缺陷的缺点。算法思路:先对模板图像和被检测图像分别作正差和负差操作,再直接使正差和负差图像相加,然后找出差异大于设定阈值的区域,该区域即为缺陷区域。图8为图像匹配的一个示例。
图8 图像匹配示例
2.5 缺陷提取与特征分析
在将缺陷图像提供给用户之前,还要判断缺陷类型和计算特征参数。计算机本身无法识别缺陷,需要由人来提供评判标准。通过图像匹配获得的仅是对单独缺陷像素点的描述,需要进一步搜索和提取缺陷。这是一个区域分割的问题,常用的方法主要包括区域增长算法、种子填充算法等,这2种方法都比较复杂,运算时间较长。本文采用的是一种扫描行种子填充算法,和传统的种子填充算法相比,不需要将种子点周围所有未被处理的点压入堆栈,只要把每个水平像素段的起点压入堆栈,这样既节省了堆栈空间,又提高了算法效率。该算法的具体步骤如下:
1) 新建一个空的堆栈用来存放种子点,先将起始种子点(x,y)压入堆栈。
2) 不断取出堆栈顶元素作为当前扫描行的种子点(x,y),直到堆栈为空。
3) 从种子点(x,y)出发,沿当前行分别向左、右2个方向扫描,直到边界。分别标记区段的左、右端点横坐标为left和right。
4) 分别检查与当前扫描行相邻的y-1和y+1两行在区间[left,right]中的像素,从left开始向right方向扫描,若存在非边界且未被标记的像素点,则找出这些相邻像素点中最右边的一个,并将其作为新的种子点压入堆栈,然后返回第2步。
经过缺陷提取可以获得完整的每个缺陷,需要进一步计算各种特征参数来确定缺陷的种类和性质。设(xi,yi),(xj,yj)为缺陷中相距最远的像素点坐标。根据上文对缺陷的比较和分析,挑选了下面6个特征参数:
1) 缺陷面积S,可以用缺陷像素点个数表示,通过设置一个阈值,可以区分块状缺陷和离散点缺陷。
2) 缺陷面积和长度比为S/L,其中L的计算公式为
(9)
通过设置一个阈值,可以区分块状缺陷和线状缺陷。
3) 缺陷面积和高度比为S/H,其中高度H是指y方向上的长度,计算公式为
(10)
对于大面积的块状缺陷,如果S/H与印版宽度一致,则该缺陷可能是换卷缺陷,否则可能是脏版缺陷。
(11)
其用来区分块状缺陷中的飞墨和漏白缺陷,前者灰度值较低,接近0,后者则接近255。
5) 缺陷分布的长度方向与水平方向的夹角β的计算公式为
(12)
该夹角可用来区分纵向的刀丝与窜墨2种缺陷与其他的线状缺陷。
6) 缺陷宽度W,其计算公式为
(13)
该参数可以用来区分刀丝和窜墨,前者通常宽度很小,而后者宽度则相对大一些。
本文目前只是对常见的印刷缺陷作区分,并没有涉及其他具体的缺陷,特征参数描述见表2。
通过计算上述的特征参数,就可以确定缺陷的类型和相关性质,实现印刷品表面的缺陷检测。
表2 缺陷特征参数描述
3 仿真实验
利用大量的印刷缺陷图像对本研究的算法进行验证。下面选取几幅典型的缺陷图像作进一步说明(见图9),缺陷检测情况见表3。
图9 缺陷图像
从表3中的数据可以看出:所选图像中的各缺陷类型和特征都能被分析出来,与人眼观察的结果相同。同时,为了避免随机性的影响,又对总计110幅印刷图像进行了检测,实验结果如表4所示。
表3 缺陷分析
从表4中的数据可以看出:对于总共110幅印刷图像,正确检测概率是96.4%;漏检概率是0.9%;虚假检测概率是2.7%,正确检测的概率较高,表明本文所设计的缺陷检测方法具有可行性。
4 结束语
针对印刷缺陷检测这一问题,本文研究了基于计算机视觉的运动图像实时处理算法与理论,设计了一种基于服务器/客户端模式的分布式检测系统。实验结果表明:本文设计的检测系统能满足印刷过程中检测精度的要求,采用的图像方法也能正确地分析缺陷的类型和各项特征。
[1] 张耀五.印刷业是高新技术产业[J].印刷杂志,2009(4):26-28.
[2] 刘颖.基于VC++的印刷品在线缺陷检测系统[D].哈尔滨:哈尔滨工业大学,2009.
[3] 张小军.票据字符识别方法与应用的研究[D].武汉:华中科技大学,2006.
[4] 边绍辉.用于啤酒瓶视觉检测的实时图像处理器的设计与开发[D].杭州:浙江大学,2004.
[5] 任玲辉.基于图像处理的印刷机故障特征提取及实验研究[D].西安:西安理工大学,2013.
[6] 尚会超.印刷图像在线检测的算法研究与系统实现[D].武汉:华中科技大学,2006.
[7] 陈海松.基于计算机视觉的封装精度检测系统的设计与研究[D].哈尔滨:哈尔滨理工大学,2006.
[8] 王秀丽.基于机器视觉的印刷品全画面缺陷检测系统的研究[D].汕头:汕头大学,2011.
[9] 马彩青.基于图像处理的PCB缺陷检测系统的设计与研究[D].成都:西南交通大学,2009.
[10]李文兵.基于小波变换的图像边缘检测算法研究[D].长春:长春理工大学,2011.
[11]宋雪兵.基于图像处理的印刷品缺陷检测方法研究[D].广州:广东工业大学,2009.
(责任编辑 林 芳)
Research on the Technology of Detecting Printing Defects Based on Computer Vision
XU Zucheng, ZHOU Xin, YUAN Suozhong, WANG Congqing, ZHANG Xiaozheng
(Department of Automatic Control, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)
According to the accuracy requirement of detecting printing defects, this paper designed a distributed detection system based on computer vision. This system was mainly composed of image acquisition module, image processing module, input and output module. At the same time, this paper studied some related algorithms of image prepossessing, feature extraction, image registration, image matching and defect detection. The experiment results clearly show that this system and those image algorithms adopted can accurately calculate various characteristic parameters and determine types of different defects and can meet the requirement of the inspection of printing flaws.
computer vision; distributed system; printing defect; image processing
2017-03-26 基金项目:国家自然科学基金资助项目(61273050,61573185)
徐足骋(1993—),男,江苏苏州人,硕士研究生,主要从事图像处理研究,E-mail:1214948639@qq.com。
徐足骋,周鑫,袁锁中,等.基于视觉的印刷品缺陷检测技术[J].重庆理工大学学报(自然科学),2017(8):150-157.
format:XU Zucheng, ZHOU Xin, YUAN Suozhong,et al.Research on the Technology of Detecting Printing Defects Based on Computer Vision[J].Journal of Chongqing University of Technology(Natural Science),2017(8):150-157.
10.3969/j.issn.1674-8425(z).2017.08.025
TP18
A
1674-8425(2017)08-0150-08