2. 上海密特印制有限公司, 上海 200331
2. Shanghai Mite Speciality and Precision Printing Co. Ltd., Shanghai 200331, China
近年来随着中国经济的不断发展, 走出国门的人逐年以百万级数量增长, 而护照作为国人在国外的唯一有效身份证件, 也越来越多地被人所拥有和重视. 因而, 护照质量对于生产商以及使用者都非常重要, 对于生产商而言是产品的品质和口碑, 对于使用者而言则是当护照被查验时的真伪以及通行的便利. 目前, 护照制作过程中的质量查验主要是通过手工检查和计算机视觉自动化查验相结合的方式进行. 由于传统的质量控制是通过有经验的专业人员来完成的, 但是手工检查除了速度慢, 还需要占用大量的人力、物力资源和场地资源[1], 因此, 作为自动检查方法的计算机视觉系统在没有上述不利因素的情况下, 在护照产品的质量控制中变得越来越重要.
计算机视觉系统在许多领域具有广泛的实用价值和意义. 例如, 利用线阵相机基于小波变换检测提取金属类产品质量缺陷的控制测试系统[2]; 在食品加工过程中对食材的外观品质检测[3]; 在塑料包装生产中的智能缺陷检测[4]. 然而, 特别是护照生产质量控制过程中的计算机视觉系统的相关研究极为少见.
护照本制作的品质, 主要体现在印刷方面, 常见的质量缺陷主要有漏印、飞墨、污点、字符局部或全部漏印、起皱褶、条纹、刀丝、套印不准、糊版、脏版、墨色过浅或过重等[5]. 其中与背景底纹相近色彩的脏版缺陷是比较难以识别的, 而这种脏版缺陷又可能随机出现在护照的每一页中, 对护照本整体造成比较严重的影响. 要检测这类质量缺陷, 主要困难在于其蹭脏的颜色和图像背景纹理接近, 一般通过使用常用算法来检测会造成大量漏废. 鉴于该质量缺陷的方向, 形状和位置, 可以按照线段的特征对该缺陷进行捕获. 目前线段检测的主要方法有: 线段检测分割算法[6]; 或者是基于亥姆霍兹原理, 无参数的数字图像直线段检测[7]; 以及基于霍夫变换的直线改进型检测[8–10]; 还有基于动态事件视觉传感器的线段检测等[11]. 根据脏版缺陷的特点, 在图像上呈现的效果较为模糊, 简单的线段检测方法可能无法有效获取全部缺陷.
本文的目的: 1) 准备护照印刷样本并构建图像处理平台; 2) 获取样本图像, 并运用适当的线段检测算法和改进的模板匹配[12]方法来分析脏版缺陷; 3) 运用多尺度分析被检测的样本结果; 4) 验证该方法的可行性.
1 图像获取及预处理 1.1 计算机视觉系统和护照图像获取本文提到的计算机视觉系统[13]被装载在北京大恒图像视觉有限公司的护照质量检测机上, 并采用Chromasense®线性阵列相机[14]检测护照产品. C#被用于计算机视觉系统的软件开发环境, 核心检测算法[15]源于HALCON[16]. HALCON是一套由数千个独立功能和底层数据管理核心组成的图像处理库. 它包含“过滤”, “颜色和几何”, “数学变换”, “形态分析”, “校准”, “分类和识别”[17], “形状搜索”[18]和 “图像计算”等算法功能.
如上所述, 现有的检测系统是基于HALCON的算法库和大恒公司的机器. 计算机视觉检测系统的示意图如图1所示.
护照按顺序传输到图像采集单元, 线性阵列相机拍摄图像, 并将图像数据发送到服务器进行分析. 护照质量检测设备的实际图如图2所示.
该护照质量检测设备的运行速度为5000(本/张)/时. 相机的分辨率为4096像素. 此外, 设置像素行之间的中心到中心间距为3像素, 并具有大于50dB的动态范围. 相机的主要参数如表1所示.
从检测系统收集而来的样本标准图像如图3(a)所示. 该图为护照24–25页的一个中张样本, 从整张图像上来看, 上下两个图像是完全一致的. 根据护照图像质量的要求为: 印刷后的产品色泽清晰, 颜色之间没有串色和混色, 票面整洁等.
在前文的介绍中大致提到了会在护照票面上产生的脏版缺陷. 这种脏版缺陷通常呈现为线性, 并且垂直于样本的上下两个底部边缘, 同时脏版缺陷主要集中产生在图像的中间区域, 延伸到图像的两个边缘. 而形成脏版缺陷的原理是油墨溢流辊导致印刷过程中的产品染色. 由于脏版缺陷的形成是印刷色彩堆叠, 而油墨的颜色又与底纹的颜色一致, 因此在采集速度较快、算法较为简单的条件下难以直接识别这类缺陷.
脏版缺陷的两个典型图像如图3(b)(c)所示, 用肉眼即可看见. 在样本中间位置分别有棕色和蓝色的线条, 其中这两个缺陷都扩展到图像的上部和下部.
1.2 预处理在使用线段检测分割算法之前, 需要对采集到的图像进行预处理, 来满足算法的要求. 因此, 我们将原始图像转换为P5型的PGM文件, 作为便携式灰色地图文件格式. 转换为灰度图后, RGB通道上的每个像素的值表示为单通道的亮度, 即为灰度值, 其范围为0~255. 使用Matlab进行图像转换的结果如图4所示.
2 方法和分析 2.1 线段检测分割算法
LSD (Line Segment Detector)是一种线段检测分割算法, 能够在线性的时间内得出亚像素级精度的检测结果. 其目标是对图像中局部的直线轮廓进行检测, 其中包括两个重要因素即: 梯度和水平线. 线段检测分割算法要求原始图像只允许以灰度图像格式作为输入, 输出则是分割的直线. 图像的一般处理过程如下.
(1)图像尺度变换[19]
线段检测分割算法首先要对图像进行尺度变换, 用于减弱乃至消除图像中出现的锯齿效应, 通过高斯降采样来实现图像的缩放, 高斯核的标准差计算为
(2) 梯度计算
梯度计算是在2×2的模板上进行,
${f_x}(x,y) = \frac{{u(x + 1,y + 1) + u(x + 1,y) - u(x,y) - u(x,y + 1)}}{2}$ | (1) |
${f_y}(x,y) = \frac{{u(x + 1,y + 1) + u(x,y + 1) - u(x,y) - u(x + 1,y)}}{2}$ | (2) |
因而, 水平线的角度则通过
(3) 梯度排序
梯度排序的处理对最终结果具有特定的影响. 此外, 梯度排序是一种伪排序, 伪排序的原理基于在最短时间内进行以最大梯度的像素为基点展开, 用于对像素进行有序分类和完成相关操作.
(4) 梯度阈值
设定梯度阈值
(5) 区域生长[20]
区域的初始角度为
(6) 矩形评估
分割处理的直线对应一个矩阵, 矩阵中心分别为
其余经过NFA(误报数量) 计算和对齐点密度设置, 即可完成图像处理过程.
2.2 模板匹配经过线段检测分割算法处理后, 得到只含有脏版缺陷信息的直线分割图, 在指定区域的垂直向量用于匹配线性分割模板中是否存在垂直矢量. 利用图中相关区域的垂直线分量, 与标准图像的直线分割图进行比对, 对是否含有垂直线段交叠进行判断, 若没有交叠的, 即为需要检测的脏版缺陷.
垂直线段匹配流程如下, 二值化图像如图5所示.
(1) 通过线段检测分割算法创建基于标准图像的模板.
(2) 通过线段检测分割算法获取可能含有缺陷的样本图像.
(3) 根据传统印刷的相关经验, 将在两条线之间的区域(见图5)设定为检测区域.
(4) 将样本与检验范围上的线段模板进行匹配.
2.3 多尺度分析根据线段检测分割算法和模板匹配的特点, 我们可以通过调整图像的尺度来提高线段检测分割算法的执行效率, 与此同时也就提升模板匹配的成功率. 在多尺度的条件下, 我们所分析的模板和样本结果如图所示. 我们尝试为每个模板和样本共设置9个尺度. 最终的结果表明, 图像放大的尺度越大, 相应的噪声信号和干扰就越大.
我们可以通过放大和缩小图像尺度来找到用于检测这些缺陷的最佳比例值. 样本(图7(a)和图8(a))由于尺度过小而完全不可检测. 同样地, 由于噪声和干扰的影响, 无法同时有效检测出两张样本的缺陷图像(图7(i)和图8(h)). 此外, 图8(i)中的脏版缺陷和背景图案之间存在重叠, 导致无法正确地识别该缺陷. 从图7(b)至图7(h)以及图8(b)至图8(g), 在这些尺度下, 我们可以检测样本的所有脏版缺陷. 而根据后续模板匹配的结果, 所选用的图像尺度越大, 其模板匹配的成功率越低, 因为噪声信号和干扰随着图像尺度变大而增加, 从而无法有效地判断这线线段到底是否为脏版缺陷. 因此, 为了确保检测的准确性, 还要考虑合适的图像尺度, 来提高线段模板匹配的成功率.
上述匹配模板的总结如下:
(1) 在图7(a)和图8(a)中, 因没有检测到脏版缺陷而导致模板匹配失败.
(2) 由于噪声和干扰信号很大, 图7(i)和图8(h)被低效检测, 该因素导致模板匹配失败.
(3) 图7(i)和图8(h)的尺度是我们可以接受的图像尺度的近似最大值, 因为在图8(i)的情况下, 背景图案和脏版缺陷几乎不能区分.
(4) 图7(b)至图7(h)以及图8(b)至图8(g)能够正常匹配, 同时也可以正确地检测到这些脏版缺陷.
根据线段检测和模板匹配的测试结果, 可以获得转换尺度对这些图像缺陷处理的影响. 具体结果列于表2.
通过多尺度分析, 我们可以发现这种脏版缺陷的尺度范围, 其中超限尺度不可用于检测该缺陷. 因此, 我们可以使用上述结果来粗略地确定线段检测分割算法的图像尺度要求.
3 结果与讨论 3.1 结果按照上述结果和分析, 选择图3(a)作为标准图像, 将该图预处理和分割线段处理作为模板匹配对象. 通过将图像的尺度和角度公差调整到适当的值, 来提高线段检测分割算法的效率.
(1) 设置缩放尺度为0.05, 图像将缩小到原始图像的5%大小, 确保缺陷的特征突出而不受背景图文影响.
(2) 设置角容忍度为60°, 由于缺陷特征为宽线条的垂直状墨迹, 因此需要更大的角度来连成一直线确保缺陷的检出.
通过上述算法, 基于14个样本的结果如下所示:
线段检测分割算法可以检测大多数样本的脏版缺陷, 因为检测区域中的垂直矢量表示图像的缺陷, 如图9中的圆圈所示. 通过采用改进的线段检测分割算法与模板匹配组合的方法, 可以测量出14张样本中的11张缺陷图像, 成功率达到78.57%.
3.2 讨论
在这个小样本集中, 有三个样本根据上述缩放尺度和角度公差无法检测. 我们将分别讨论其失败原因:
(1) 在图10(b)中, 经二值化处理后样本图像上的缺陷特征几乎不可见. 可想而知, 样本的检测结果并不理想. 根据经验, 是样本图像在预处理过程中出现了问题. 这个因素导致该缺陷的灰度值与周围几乎相同, 无法正确检出.
(2) 在图11中, 我们可以发现样本图像的部分缺陷可以被检测到. 通过分析PGM图像(图11(a)和图11(c)), 该缺陷的灰度值与周围背景图文相比具有较微弱的变化, 导致梯度方向的判断不完整. 如果缩放尺度和角度容差仍然为原先设定的数值, 则无法达到我们预期所要的效果. 通过调整这些参数的值, 虽然可以恢复出缺陷的相关线段, 但却要为此付出噪音信号和干扰同时提升的代价, 这样会导致这种脏版缺陷的线段模板匹配遇到问题.
在这些情况下, 线段检测分割算法的多尺度分析并不能完全检测出所有的脏版缺陷, 这意味着这种改进方法仍然有一些限制. 该方法要求脏版缺陷与周围背景图文的色彩具有较为明显的对比, 同时脏版缺陷出现的位置尽量不能与背景图文中类似的垂直矢量图像位置重叠. 满足相关要求, 并带有缺陷的样本图像, 可以通过上述算法和模板匹配来精确检测, 而那些不具有匹配条件的样本则会产生一定的漏检率. 在这样的情况下, 可能不仅要考虑使用灰度图像预处理的方法, 还需要在多色彩通道上使用相关匹配的方法来检测这类脏版缺陷.
4 总结在本文中, 我们关注了护照生产过程中有关质量控制的一些问题, 并描述了一种会在印刷过程中产生的脏版缺陷的情况. 我们提出了一种改进的线段检测分割算法和相应的线段模板匹配方法, 用来检测护照中这类质量的缺陷. 通过总结, 该方法分为三个步骤: 首先, 准备护照印刷样本, 并通过计算机视觉检查系统来获取样本图像. 其次, 通过灰度图像预处理, 采用基于线段检测分割算法和线段模板匹配的改进方法来实现, 并对该方法运用了图像多尺度缩放的结果分析. 最后, 根据检测结果, 我们分析图像检测失败的原因, 并提出可能的优化方法和方向. 通过实验表明, 线段检测分割算法和线段模板匹配的改进方法是检测护照中脏版缺陷的一种可行方法. 此外, 恰好与背景图文重叠的脏版缺陷的检测问题则需要进一步的研究.
[1] |
植赐佳. 基于机器视觉的印刷品缺陷自动检测系统[硕士学位论文]. 广州: 广东工业大学, 2011.
|
[2] |
Batischev VI, Kuzmin MI, Pischukhin A, et al. System of computer vision for cold-rolled metal quality control. International Review of Automatic Control, 2016, 9(4): 259-263. |
[3] |
Aimonino DR, Gay P, Comba L. Application of Computer Vision for quality control in frozen mixed berries production: Colour calibration issues. Journal of Agricultural Engineering, 2013, 44(2S): e54. |
[4] |
Prasetyawan Y, Kurniati N, Ariansyah R. Intelligent inspection system cell design using computer vision system to develop quality control system (Case Study: PT. BERLINA, Tbk.). Proceedings of the 9th Asia Pasific Industrial Engineering & Management Systems Conference. Bali, Indonesia. 2008. 1844–1853.
|
[5] |
尚会超. 印刷图像在线检测的算法研究与系统实现[博士学位论文]. 武汉: 华中科技大学, 2006.
|
[6] |
von Gioi RG, Jakubowicz J, Morel JM, et al. LSD: A line segment detector. Image Processing on Line, 2012, 2(4): 35-55. |
[7] |
von Gioi RG, Jakubowicz J, Morel JM, et al. On straight line segment detection. Journal of Mathematical Imaging and Vision, 2008, 32(3): 313-347. DOI:10.1007/s10851-008-0102-5 |
[8] |
赵洪亮. 基于Hough变换改进的直线检测与定位. 激光与红外, 2009, 39(9): 1009-1011. |
[9] |
陈洪波. Hough变换及改进算法与线段检测[硕士学位论文]. 广州: 广西师范大学, 2004.
|
[10] |
朱芳芳, 顾宏斌, 孙瑾. 一种改进的Hough变换直线检测算法. 计算机技术与发展, 2009, 19(5): 19-22. |
[11] |
Brändli C, Strubel J, Keller S, et al. ELiSeD-An event-based line segment detector. Proceedings of the 2nd International Conference on Event-Based Control, Communication, and Signal Processing (EBCCSP). Krakow, Poland. 2016. 1–7.
|
[12] |
Schmid C, Zisserman A. Automatic line matching across views. Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition. Washington, DC, USA. 1997. 666.
|
[13] |
Galambos C. Computer vision system: EP, EP1746528. [2007–01-24].
|
[14] |
Baird RK, Turcheck Jr SP, Martin JP. High resolution camera sensor having a linear pixel array: US, US 5157486A. [1992-10-20].
|
[15] |
Cichocki A, Amari SI. Adaptive blind signal and image processing: Learning algorithms and applications. New York: John Wiley & Sons, Inc., 2002.
|
[16] |
Eckstein W, Steger C. The Halcon vision system: An example for flexible software architecture. Proceedings of 3rd Japanese Conference on Practical Applications of Real-Time Image Processing. 1999. 18–23.
|
[17] |
Han BA, Xiang HY, Li Z, et al. Defects detection of sheet metal parts based on HALCON and region morphology. Applied Mechanics and Materials, 2013, 365–366: 729-732. |
[18] |
Xu XB, Zhang XM, Han JQ, et al. HALCON application for shape-based matching. Proceedings of the 3rd IEEE Conference on Industrial Electronics and Applications. Singapore. 2008. 2431–2434.
|
[19] |
Harasimiuk M. Image scaling: US, US 6825857B2. [2004-11-30].
|
[20] |
Zhu SC, Yuille A. Region competition: Unifying snakes, region growing, and Bayes/MDL for multiband image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1996, 18(9): 884-900. DOI:10.1109/34.537343 |