技术文章
小包烟包装质量机器视觉检测关键技术研究
日期:2015-05-28
来源:三姆森科技
摘要:针对烟草企业对小包烟包装质量精密检测的需要,提出基于机器视觉的检测系列关键技术,包括了小包烟图像采集装置、基于快速Hough的小包边缘快速提取算法、基于灰度共生矩(GLGM)参数快速在线判别算法、基于支持向量机(SVMs)的包装缺陷识别等。该关键技术不仅适应在线快速包装质量检测,而且能准确判断缺陷类型。实验证明该关键技术具有实用可靠等优点,可应用到小包烟生产现场。 烟草企业中成品烟包装质量是关系到香烟质量的重要因素,对包装质量的检测是控制香烟质量的关键环节之一。 香烟外包装质量检测分为小包检测和条包检测。小包检测是指在卷包生产线上,成品烟制成后的检测,主要针对生产过程中小包烟出现的边缘翘起、包装缺损、斑点和脱封等缺陷进行检测;条包检测指小包封装成条后,可能出现的错牙、内包装外露和包装破损等。 小包烟封装成条后,无法再对小包烟进行检测,因此小包精密检测是控制香烟质量的前提条件和关键所在。小包检测的特点和总体要求是: (1)小包在卷包线上,运行速度较快; (2)检测实时性要求高; (3)要求对小包烟的5个面检测; (4)对出现包装质量问题的小包烟进行分析,确定缺陷类型,以确定发生缺陷的环节。 国内外学者对小包检测进行了相关的研究,并取得了一些成果。但这些技术尚未涉及精密检测,不能给出包装缺陷的种类。随着烟草企业之间的竞争日趋激烈,精密小包检测具有重要的工程应用价值。本文就小包机器视觉精密检测展开研究,提出了系列关键技术。
1 检测系统构建
基于机器视觉的检测系统,需要对传输带上的小包除底面外的5个面进行图像采集和处理,对检测到包装缺陷的小包进行剔除。系统构建系统见图1。
图1 小包检测系统构成简图
系统由采集单元、剔除单元、D/A转换器和中心计算机组成。小包烟在传输带上通过采集单元,采集单元每次对1个小包进行图像采集,采集信号进入中心计算机进行处理,当发现有包装缺陷的小包时,计算机发出信号,通过D/A转换,在剔除单元里引发动作器将该小包剔除。 图像采集单元是系统的重要部分。其内部结构简图见图2。
图2 小包检测系统图像采集单元
图像采集单元由采集箱体、CCD阵列、光源构成。CCD阵列由1~5#CCD构成,分别完成对小包不同面的采集。1/2#CCD为面阵CCD,完成对小包左右立侧面的检测,3#为线阵CCD,完成对顶面的检测,4/5#为线阵CCD,完成对前后面的检测。 在运动中采集图像,线阵CCD效果较好。3~5#CCD采用线阵CCD,通过编码器控制开始和结束采集的时间,能得到小包前后及顶面的图像。 由于采集箱体需要出口和进口满足装带小包的传送带通过,因此1/3#CCD不能安装在侧面的正向,需要和小包的中心线有一定的夹角,这种安装方式需要面阵CCD成像。当小包运行到某个位置时,此时1#CCD视野的景深范围恰好能使得小包左侧面能完全成像,根据理论和实验分析,当小包运行到采集单元距离进口为全长的1/4时和3/4时,3#CCD和1#CCD能清晰成像。虽然面阵CCD的运动成像效果较线阵CCD差,但由于小包的中轴线和1/3#CCD的中心线存在一定的夹角,使得小包远离CCD共轭面的速度为小包运行速度的分量,这样只要选择适当景深的镜头并控制曝光时间,就可以得到清晰的图像。 从采集器采集的过程可知,完成对整个小包的采集过程,每个CCD的拍摄方式和成像时间不同。对于不同种类的小包,完成采集过程需要的参数为小包运行速度及小包各项几何尺寸。
2 检测流程的图像处理关键技术
2.1 检测流程 小包精密检测要求较高的实时性和准确性。经过封装后小包的包装质量较好,且出现缺陷的概率较低。由于采集参数确定后,每个小包的成像特点较为稳定。因此,小包检测流程可分为实时检测和精密检测2个过程。实时检测采用快速算法进行检定,当出现包装缺陷时再进行精密检测。采集图像后需要确定图像中小包的边缘,通过边缘确定小包的图像,对图像中各个感兴趣区(ROI)进行判别,若发现有可疑区域,进入精密检测环节检定,确定缺陷并由剔除机构进行剔除。整个流程见图3。
图3 小包检测处理流程图
小包检测中的关键图像处理技术为:边缘检测、小包ROI区域确定、阈值判断及缺陷模式识别。
2.2 小包边缘检测 为了确定小包包装是否存在缺陷,必须事先确定整个小包图像位置。由于确定了采集参数,因此在对某种小包的成像基本保持不变。但由于采集时像素抖动、采集时刻的微小差异等因素,每次每个CCD成像不可能完全保持一致,因此每次必须采用边缘搜索算法确定小包的边缘。由于可能的边缘总在某个已知矩形内出现,可以利用快速Housh变换搜索到该矩形内的小包边缘。 快速Hough变换的原理是:矩形区域里面的像素点坐标为(x[sub]i[/sub],y[sub]i[/sub]),确定边缘线的一个已知点p0,其坐标为(x[sub]0[/sub],y[sub]0[/sub])。通过p[sub]0[/sub]的直线斜率为k,则矩形内任意点与已知点p0。连线的斜率ki为: k[sub]i[/sub]=(yi[sub]0[/sub])/(x[sub]i[/sub]-x[sub]0[/sub]) (1) 将斜率值ki映射到一组累积器B(m[sub]i[/sub])上。由于在同一条直线上的ki相同且为最大值,因此如果候选矩形内有直线时,累积器将会出现局部或者全局最大值。选择全局最大值就能确定为矩形内的边缘直线,而局部最大值可能是缺陷或者其他干扰线段。
2.3 小包ROI区域及阈值确定 每个CCD采集到的图像为24Bit的灰度图,为小包烟的每个侧面。若小包上包装质量出现缺陷,则必然导致图像的特征上出现异常。常用的缺陷判断算法为图像二次相减,通过对标准模板进行比对来判断。由于小包烟的薄膜包装印记每次不同,采集时光照的差异等情况,图像相减可能造成错判。 考虑到检测的柔度和精确性,采用ROI区域内的灰度共生矩(GLCM)参数来判断是否存在缺陷。选择GLCM中参数中的能量参数E熵参数S、对比度参数C和反差分参数I作为比较的参数。每个面中ROI区域确定的原则是:根据被检测面的特征,选择全部面,或面中一个或几个特殊矩形区域作为ROI区域,如小包顶面较小,可选择整个面;小包正面,可选择封口处和中文字符处等。图4~5为实测到小包正面和顶面的ROI。
图4 小包烟正面ROI
图5 小包烟顶面ROI
选择ROI是为了减少计算复杂度,提高实时性。在实际检测过程中,ROI的选择可以根据企业对小包检测的具体标准和实际出现缺陷的区域的概率大小选择。 确定ROI后,需要对ROI中4个参数的平均水平进行计算,确定阈值。最终确定的阈值为E[sub]m[/sub]、S[sub]m[/sub]、C[sub]m[/sub]和Im。 得到阈值后,对每次检测到的5个面的4个参数进行快速判别,判别的方法是采用欧几里德距离判断。实际上,当发生缺陷时,某个GLCM参数发生变化,由于参数之间的关联性,必要导致其他参数发生变化,采用4维欧氏距离判断,可以放大缺陷信息而快速判断。设E、S、C和I为实测值,则判断公式为: 上式中F为判别值,E、S、C和I为计算出GLMC阐述。当F超过某个值后,就认为该小包存在缺陷,进行缺陷模式识别并剔除。 采用GLCM参数方法可减少由于光照等因素造成的错判断,且计算复杂度低,快速判断准确性高。
3 基于SVMs缺陷模式识别
SVMs是1995年由Vapnik等人提出一种机器学习算法,该算法是一种统计学习理论(Statistical Learning Theory,SLT)。SLT是在传统统计学基础上发展起来的具有坚实基础的机器学习方法,是目前针对小样本统计估计和预测学习的最佳理论,它从理论上系统地研究了经验最小化原理成立的条件,有限样本下经验风险与佳理论,它从理论上系统地研究了经验最小化原理成立的条件,有限样本下经验风险与期望风险的关系,以及如何利用这些理论找到新的学习原则和方法等问题。由于缺陷和GLCM参数之间的关系复杂,不可能由某个或几个参数变化来得到缺陷种类。本文采用基于SVMs方法进行缺陷模式识别。 图像灰度的高阶特征反映了缺陷的微小细节、图像成像的曝光特性和噪声干扰等特性。特征向量除了选择前面4个灰度共生矩参数外,还选择了基于变换域的高阶局部特征参数。本文选择DCT滤波器特征参数。DCT来自于切比雪夫多项式,因此DCT是一种正交变换,它克服了离散傅立叶变换(DFT)运算量大且出现复数项的缺点。 DCT变换的系数矩阵f(m,n)为: 公式中W为ROI像素值大小,取矩形的宽。I[sub]w[/sub](x,y)为ROI里面的像素点灰度值。取系数矩阵的前3阶项形成的3×3模板处理后作为特征向量,加上4个GLCM参数,共构成7维待检测特征向量进行缺陷识别。由于缺陷检测实时性要求不高,而且在系统的空闲时间进行处理,因此不会影响整个系统的实时性。 由于SVMs只能处理两类两分问题,针对多类多分的模式识别,已有的方法可以分为3种:修改判别方法、修正决策函数和组合应用SVMs。前面2种方法较为复杂,不适合工程上的检测,本文采用分级SVMs方法进行模式识别。 分级SVMs方式是每次只对两类进行识别,对分成的子类再进行SVMs分类。这样对于n个缺陷,需要构建n-1个SVMs分类器。本文确定的小包缺陷共有6种,分别是包装破损、缺盖、封条脱落、露白、反包、包装错位。因此共需要构建5个SVMs分类器。分类器构建的方法目前有:1对1、1对余、有向无环图等。本文采用了基于分类二叉树方式对缺陷进行多类SVMs识别。 在SVMs结构的二叉树结构上,采用了聚类方法进行确定。具体构建的流程为: (1)对已知的6类训练样本,这些样本处于同样的特征空间,计算每类样本的类中心点,计算方法可采用类内平均连接规则; (2)对每类中心点的距离,用欧氏距离进行判定,按照类间间距大小确定类序列T[sub]i[/sub]=(T[sub]1[/sub],T[sub]2[/sub]…,T[sub]6[/sub]); (3)根据Ti构建SVMs分类二叉树结构,将每次训练的负样本作为下一级SVMs的正样本,这样训练样本数量依次减少,直到得到SVM[sub]5[/sub]。 (4)按照SVM[sub]1[/sub]到SVM[sub]5[/sub]就构成了判断SVMs二叉树的多分类器。 本文按照这种分类方法,分类顺序为:封条脱落、缺盖、露白、反包、包装错位、包装破损。分类流程图见图6。 [align=center] 图6 多分类缺陷 SVM[sub]5[/sub] 二叉树图[/align] 对每个疑似的ROI区,都可以从图6构建的二叉树进行判别,判别总是从第一个缺陷开始,直到判断出缺陷类型。由于SVMs不存在拒分,因此采用SVMs总能得到分类结果。
4 实验分析
根据以上的分析,搭建了小包烟包装质量精密检测的实验系统。实验条件和某烟草企业的卷包线的允参数完全一致。实验模拟了全部缺陷每种30个样本进行训练。从生产现场获取实际包装缺陷的小包烟进行测试,测试发现,对有缺陷的小包能100%发现;对没有缺陷的小包,有1%的误判。通过调整F值,该误判率可减少到企业认为合理的要求,其能保证没有漏判。包装缺陷模式识别方面,正确率分别为:封条脱落95%,缺盖100%,露白93%,反包90%,包装错位87%,包装破损70%。由于包装破损缺陷外延较大,内涵较小,造成了其特征向量难以正确描述,故正确率较低。
5 结 语
研究了小包烟包装质量精密检测关键技术,设计了图像采集器,提出基于GLCM的快速在线检测方案,并利用SVMs对包装缺陷进行模式识别。实验结果发现,该关键技术具适应性好,分类效果理想等优点,可应用到卷包现场的小包烟包装质量精密检测。
1 检测系统构建
基于机器视觉的检测系统,需要对传输带上的小包除底面外的5个面进行图像采集和处理,对检测到包装缺陷的小包进行剔除。系统构建系统见图1。
图1 小包检测系统构成简图
系统由采集单元、剔除单元、D/A转换器和中心计算机组成。小包烟在传输带上通过采集单元,采集单元每次对1个小包进行图像采集,采集信号进入中心计算机进行处理,当发现有包装缺陷的小包时,计算机发出信号,通过D/A转换,在剔除单元里引发动作器将该小包剔除。 图像采集单元是系统的重要部分。其内部结构简图见图2。
图2 小包检测系统图像采集单元
图像采集单元由采集箱体、CCD阵列、光源构成。CCD阵列由1~5#CCD构成,分别完成对小包不同面的采集。1/2#CCD为面阵CCD,完成对小包左右立侧面的检测,3#为线阵CCD,完成对顶面的检测,4/5#为线阵CCD,完成对前后面的检测。 在运动中采集图像,线阵CCD效果较好。3~5#CCD采用线阵CCD,通过编码器控制开始和结束采集的时间,能得到小包前后及顶面的图像。 由于采集箱体需要出口和进口满足装带小包的传送带通过,因此1/3#CCD不能安装在侧面的正向,需要和小包的中心线有一定的夹角,这种安装方式需要面阵CCD成像。当小包运行到某个位置时,此时1#CCD视野的景深范围恰好能使得小包左侧面能完全成像,根据理论和实验分析,当小包运行到采集单元距离进口为全长的1/4时和3/4时,3#CCD和1#CCD能清晰成像。虽然面阵CCD的运动成像效果较线阵CCD差,但由于小包的中轴线和1/3#CCD的中心线存在一定的夹角,使得小包远离CCD共轭面的速度为小包运行速度的分量,这样只要选择适当景深的镜头并控制曝光时间,就可以得到清晰的图像。 从采集器采集的过程可知,完成对整个小包的采集过程,每个CCD的拍摄方式和成像时间不同。对于不同种类的小包,完成采集过程需要的参数为小包运行速度及小包各项几何尺寸。
2 检测流程的图像处理关键技术
2.1 检测流程 小包精密检测要求较高的实时性和准确性。经过封装后小包的包装质量较好,且出现缺陷的概率较低。由于采集参数确定后,每个小包的成像特点较为稳定。因此,小包检测流程可分为实时检测和精密检测2个过程。实时检测采用快速算法进行检定,当出现包装缺陷时再进行精密检测。采集图像后需要确定图像中小包的边缘,通过边缘确定小包的图像,对图像中各个感兴趣区(ROI)进行判别,若发现有可疑区域,进入精密检测环节检定,确定缺陷并由剔除机构进行剔除。整个流程见图3。
图3 小包检测处理流程图
小包检测中的关键图像处理技术为:边缘检测、小包ROI区域确定、阈值判断及缺陷模式识别。
2.2 小包边缘检测 为了确定小包包装是否存在缺陷,必须事先确定整个小包图像位置。由于确定了采集参数,因此在对某种小包的成像基本保持不变。但由于采集时像素抖动、采集时刻的微小差异等因素,每次每个CCD成像不可能完全保持一致,因此每次必须采用边缘搜索算法确定小包的边缘。由于可能的边缘总在某个已知矩形内出现,可以利用快速Housh变换搜索到该矩形内的小包边缘。 快速Hough变换的原理是:矩形区域里面的像素点坐标为(x[sub]i[/sub],y[sub]i[/sub]),确定边缘线的一个已知点p0,其坐标为(x[sub]0[/sub],y[sub]0[/sub])。通过p[sub]0[/sub]的直线斜率为k,则矩形内任意点与已知点p0。连线的斜率ki为: k[sub]i[/sub]=(yi[sub]0[/sub])/(x[sub]i[/sub]-x[sub]0[/sub]) (1) 将斜率值ki映射到一组累积器B(m[sub]i[/sub])上。由于在同一条直线上的ki相同且为最大值,因此如果候选矩形内有直线时,累积器将会出现局部或者全局最大值。选择全局最大值就能确定为矩形内的边缘直线,而局部最大值可能是缺陷或者其他干扰线段。
2.3 小包ROI区域及阈值确定 每个CCD采集到的图像为24Bit的灰度图,为小包烟的每个侧面。若小包上包装质量出现缺陷,则必然导致图像的特征上出现异常。常用的缺陷判断算法为图像二次相减,通过对标准模板进行比对来判断。由于小包烟的薄膜包装印记每次不同,采集时光照的差异等情况,图像相减可能造成错判。 考虑到检测的柔度和精确性,采用ROI区域内的灰度共生矩(GLCM)参数来判断是否存在缺陷。选择GLCM中参数中的能量参数E熵参数S、对比度参数C和反差分参数I作为比较的参数。每个面中ROI区域确定的原则是:根据被检测面的特征,选择全部面,或面中一个或几个特殊矩形区域作为ROI区域,如小包顶面较小,可选择整个面;小包正面,可选择封口处和中文字符处等。图4~5为实测到小包正面和顶面的ROI。
图4 小包烟正面ROI
图5 小包烟顶面ROI
选择ROI是为了减少计算复杂度,提高实时性。在实际检测过程中,ROI的选择可以根据企业对小包检测的具体标准和实际出现缺陷的区域的概率大小选择。 确定ROI后,需要对ROI中4个参数的平均水平进行计算,确定阈值。最终确定的阈值为E[sub]m[/sub]、S[sub]m[/sub]、C[sub]m[/sub]和Im。 得到阈值后,对每次检测到的5个面的4个参数进行快速判别,判别的方法是采用欧几里德距离判断。实际上,当发生缺陷时,某个GLCM参数发生变化,由于参数之间的关联性,必要导致其他参数发生变化,采用4维欧氏距离判断,可以放大缺陷信息而快速判断。设E、S、C和I为实测值,则判断公式为: 上式中F为判别值,E、S、C和I为计算出GLMC阐述。当F超过某个值后,就认为该小包存在缺陷,进行缺陷模式识别并剔除。 采用GLCM参数方法可减少由于光照等因素造成的错判断,且计算复杂度低,快速判断准确性高。
3 基于SVMs缺陷模式识别
SVMs是1995年由Vapnik等人提出一种机器学习算法,该算法是一种统计学习理论(Statistical Learning Theory,SLT)。SLT是在传统统计学基础上发展起来的具有坚实基础的机器学习方法,是目前针对小样本统计估计和预测学习的最佳理论,它从理论上系统地研究了经验最小化原理成立的条件,有限样本下经验风险与佳理论,它从理论上系统地研究了经验最小化原理成立的条件,有限样本下经验风险与期望风险的关系,以及如何利用这些理论找到新的学习原则和方法等问题。由于缺陷和GLCM参数之间的关系复杂,不可能由某个或几个参数变化来得到缺陷种类。本文采用基于SVMs方法进行缺陷模式识别。 图像灰度的高阶特征反映了缺陷的微小细节、图像成像的曝光特性和噪声干扰等特性。特征向量除了选择前面4个灰度共生矩参数外,还选择了基于变换域的高阶局部特征参数。本文选择DCT滤波器特征参数。DCT来自于切比雪夫多项式,因此DCT是一种正交变换,它克服了离散傅立叶变换(DFT)运算量大且出现复数项的缺点。 DCT变换的系数矩阵f(m,n)为: 公式中W为ROI像素值大小,取矩形的宽。I[sub]w[/sub](x,y)为ROI里面的像素点灰度值。取系数矩阵的前3阶项形成的3×3模板处理后作为特征向量,加上4个GLCM参数,共构成7维待检测特征向量进行缺陷识别。由于缺陷检测实时性要求不高,而且在系统的空闲时间进行处理,因此不会影响整个系统的实时性。 由于SVMs只能处理两类两分问题,针对多类多分的模式识别,已有的方法可以分为3种:修改判别方法、修正决策函数和组合应用SVMs。前面2种方法较为复杂,不适合工程上的检测,本文采用分级SVMs方法进行模式识别。 分级SVMs方式是每次只对两类进行识别,对分成的子类再进行SVMs分类。这样对于n个缺陷,需要构建n-1个SVMs分类器。本文确定的小包缺陷共有6种,分别是包装破损、缺盖、封条脱落、露白、反包、包装错位。因此共需要构建5个SVMs分类器。分类器构建的方法目前有:1对1、1对余、有向无环图等。本文采用了基于分类二叉树方式对缺陷进行多类SVMs识别。 在SVMs结构的二叉树结构上,采用了聚类方法进行确定。具体构建的流程为: (1)对已知的6类训练样本,这些样本处于同样的特征空间,计算每类样本的类中心点,计算方法可采用类内平均连接规则; (2)对每类中心点的距离,用欧氏距离进行判定,按照类间间距大小确定类序列T[sub]i[/sub]=(T[sub]1[/sub],T[sub]2[/sub]…,T[sub]6[/sub]); (3)根据Ti构建SVMs分类二叉树结构,将每次训练的负样本作为下一级SVMs的正样本,这样训练样本数量依次减少,直到得到SVM[sub]5[/sub]。 (4)按照SVM[sub]1[/sub]到SVM[sub]5[/sub]就构成了判断SVMs二叉树的多分类器。 本文按照这种分类方法,分类顺序为:封条脱落、缺盖、露白、反包、包装错位、包装破损。分类流程图见图6。 [align=center] 图6 多分类缺陷 SVM[sub]5[/sub] 二叉树图[/align] 对每个疑似的ROI区,都可以从图6构建的二叉树进行判别,判别总是从第一个缺陷开始,直到判断出缺陷类型。由于SVMs不存在拒分,因此采用SVMs总能得到分类结果。
4 实验分析
根据以上的分析,搭建了小包烟包装质量精密检测的实验系统。实验条件和某烟草企业的卷包线的允参数完全一致。实验模拟了全部缺陷每种30个样本进行训练。从生产现场获取实际包装缺陷的小包烟进行测试,测试发现,对有缺陷的小包能100%发现;对没有缺陷的小包,有1%的误判。通过调整F值,该误判率可减少到企业认为合理的要求,其能保证没有漏判。包装缺陷模式识别方面,正确率分别为:封条脱落95%,缺盖100%,露白93%,反包90%,包装错位87%,包装破损70%。由于包装破损缺陷外延较大,内涵较小,造成了其特征向量难以正确描述,故正确率较低。
5 结 语
研究了小包烟包装质量精密检测关键技术,设计了图像采集器,提出基于GLCM的快速在线检测方案,并利用SVMs对包装缺陷进行模式识别。实验结果发现,该关键技术具适应性好,分类效果理想等优点,可应用到卷包现场的小包烟包装质量精密检测。