曹冬梅,郭 壮,李东波
(1.钟山职业技术学院工业与信息化学院,江苏 南京 210049) (2.南京理工大学机械工程学院,江苏 南京 210094)
相比于传统机械系统,智能视觉在准确性、速度和精度方面具有巨大的优势。随着视觉技术得到长足的发展,智能化的视觉系统在众多领域得到了广泛应用[1]。目前,对于种类和数量很少的产品,尚可人工完成分辨和定位等工作,但是对于种类复杂、数量庞大的产品,就需要智能系统的帮助。本文所述的条烟智能视觉系统具有运行准确性高、兼容性强等特点,是烟草生产系统未来发展的方向,因此需要进行条烟分类识别与定位方面的技术研究。
目前全阈值法、局部阈值法和适应阈值法是图像分割中的常用算法[2]。阈值方法具有局限性,往往只适应一种或者一类图像,所以方法的选择成为条烟图像处理的重中之重。在本文的研究对象中,条烟灰度值与背景灰度值之间有着巨大的差异,所以选择全阈值法将优于其他两种方法,其可以快速地分割背景,将图像二值化。通过合理设定阈值T的大小,对图像阈值进行处理,关系式如下:
(1)
式中:gx,y为分割的阈值;fx,y为图像域。
处理完成后1表示条烟像素,0表示背景像素,然后利用Halcon灰度值工具箱,迅速得到全阈值下不同形状的条烟的分布图,如图1所示。
图1 不同品牌条烟灰度直方图
分割完成后,将所有灰度值为1的部分连通,同时标记相同的记号,对于灰度值为0的部分同样联通,也标记相同的记号,通过目前较为成熟的像素点顺序标记和行程标记的方法进行图像连通性分析。
本文采用顺序标记的方法对条烟图像进行连通分析,过程分为两步:首先扫描各个像素点,进行标记处理;随后通过二次扫描合并重复标记的像素点和不同编号的像素点[3]。
对于条烟表面的缺失部分,如孔洞,采用像素填充的方法,先使用fill_up算法进行像素填充,然后利用selet_shape_std算法将条烟所在区域选择出来。图2中右侧的图为图像预处理后提取得到的条烟区域。
图2 图像预处理后条烟区域
所谓边缘检测,即是找出图像的局部突变区域。常见的突变为灰度值突变、颜色突变和纹理突变,通过边缘检测找出图形的局部区域与其他区域之间、像素目标之间以及条烟与背景之间的突变特征和位置[4],突变将导致信号的高频化,与噪声信号融为一体,即边缘追踪的结果为边缘特征与噪声的混合结果[5],所以,条烟边缘检测是本文的重中之重。本系统中的边缘检测方法为一阶、二阶导数法。灰度值的求导如图3所示,通过导数求解找出极大值和零点的位置。本系统中条烟边缘检测通过滤波、增强、检测、定位4个步骤完成。
经过预处理之后的条烟图像为条烟的位置区域(包含方向),通过gen_contour_region_xld算法将图像区域转化为条烟的轮廓线,如图4中的白色线条即为转化之后的条烟轮廓。
图3 图像灰度变化及导数
图4 条烟区域及其XLD轮廓
本系统采用匹配模板的定位功能来确定条烟在图像坐标系中的位置,其中包括坐标、旋转角度、缩放比等参数。为了提高图像处理算法的效率,本文采用图像金字塔法,通过缩小图像尺寸达到快速运行的目的,其原理如图5所示。
图5 图像金字塔原理
首先提取经过预处理的条烟图像的特征区域,为选择模板做准备,或者以此来创建模板,此外还可以利用CAD软件提前绘制模板,模板的参数主要为层数、角度、角度最小值、极性对比度等;其次根据所获取的条烟图像的定位以及与其相匹配的模板找出最佳模板,参数设置包含匹配系数、数目、重叠度、比例和分度值等;最后将模板去除,释放内存。表1是对模板匹配主要算法的介绍。
表1 模板匹配主要算法
条烟定位与匹配情况如图6所示,其中条烟的位置坐标和偏置角度可以动态显示。
图6 条烟定位结果
机器学习可以理解为应用计算机对数据进行建模,其本质是一种统计方法,主要应用在模式识别、聚类分析、回归分析、密度函数估计、人工神经网络等方面[6-7]。
根据图像的特征将图像处理结果分类,可以分为灰度值、直方图、纹理等,其中特征包括面积、长度、圆度、紧密度等。
灰度共生矩阵表示图片像素的概率密度的联合分布,不仅反映相邻区域的灰度值变化,也反映方向和幅度的变化以及像素点之间的位置分布[7]。本系统采用能量、相关性、对比度、熵、均值、方差、各向异性等纹理特征对条烟分类,流程如图7所示。
对20种不同品牌条烟进行分类识别的主要流程如下:
1)创建分类器,从均值、相关性、对比度等特征入手,对样本进行训练,其维度设置为7维,对不同种类品牌的条烟设置样本,分类个数为20;
2)提取上述20种不同品牌条烟的分类特征,将训练样本构成不同的类;
图7 分类识别流程
3)读取其他位置条烟的图像特征,分类器自动识别不同条烟。
图8为经训练样本学习之后,对图像的分类识别结果。
图8 条烟分类结果
经过支持向量机训练模型测试,识别率达到99.8%,误差小于0.2%,识别速度达到9条/min,检测结果较好。
在烟草行业的实际测试中,通过增加样本数量,对条烟的分类识别率可达99.97%以上,误检率小于0.03%,检测速度可达8~10条/min,图案偏移量为1mm,检测效果良好,检测精度见表2。
表2 检测精度
本文主要研究条烟的分类识别与定位,测试结果表明对烟草行业效果良好,但是在实际应用中,某些场合的检测速度仍然达不到生产的要求,还需要对各个算法进行优化,以满足生产需求。