基于机器视觉的阀口袋定位方法的研究
2022-06-28李雪梅崔菲菲朱召阳
李雪梅,李 喆,崔菲菲,朱召阳,王 剑
(桂林电子科技大学 机电工程学院,桂林 541004)
0 引言
在包装工程领域,阀口袋被广泛运用于各类粉状或柔性物品的包装[1]。传统的阀口袋包装环境粉尘及噪音极大,而操作模式主要是人工对阀口袋进行位置定位,然后进行包装加工。这种方式的定位精度较低、生产效率低下,并且不利于人体的健康。当前机器视觉发展较快,机器视觉主要是利用计算机和相机来模拟人的视觉功能,从工作环境当中提取图像信息,然后对其进行分析和控制[2]。将机器视觉技术应用到阀口袋的定位上,相当于替代了工人的双眼,使工人远离不良环境,同时对实现阀口袋自动化包装,提高生产效率及精度有着极大的意义。基于此,本文提出一种基于机器视觉的阀口袋定位方法,通过对阀口袋进行机器视觉处理,分析阀口袋轮廓特征。利用图像几何学处理,计算出阀口袋的特征点位置信息。经过试验,验证本定位方法的准确性,满足阀口袋在自动化包装生产中的定位精度要求。
1 相机标定
在对阀口袋定位中,为了确定阀口袋在世界坐标中的位置信息,必须对相机进行标定以及对镜头进行畸变校正。采用OpenCV视觉库对相机进行标定,OpenCV是一个基于BSD许可的跨平台开源视觉函数库,其包含丰富的计算机视觉处理算法和高级数学计算函数[3]。
小孔成像模型是视觉定位中常用的模型,是一种经典的内参线性标定模型[4],目前在机器视觉中运用的相当广泛,如图1所示。Oc是相机光轴中心点,z轴沿光轴方向。相机的实际平面上∏′2分布着感光元件,经过光电信号转换,得到景物的实际图像,在∏′2平面内的实像的方向进行转换,得到等效成像平面∏2。在光轴中心点Oc建立相机坐标系(OcXcYcZc),在∏2等效平面中心点建立图像坐标系(Oxy),在左下角建立像素坐标(Opuv),∏1在景物平面建立世界坐标系(OwXwYwZw)。以视场范围的平面为世界坐标系,水平方向为X轴方向,竖直方向为Y轴方向,垂直平面的方向为Z轴方向。外参数模型描述的是世界坐标在相机坐标中的描述,四个坐标之间满足下列关系:
图1 小孔成像模型
相机标定的方法有大致分为两种:一种是传统标定物的方法,另一种是自标定方法。传统标定物的标定方法需要借助标定参照物,有张友正标定法[5]和直线线性变化法[6]。而自标定法是利用相机自身参数之间的约束关系,不需要外界任何参照物,但标定精度差、鲁棒性弱[7]。采用OpenCV视觉库中的相机标定算法,其方法与传统标定物的方法类似。镜头径向畸变方程和切向畸变方程:
其中,δx与δy是非线性畸变值;k1、k2、k3为径向畸变;p1、p2为切向畸变。
采用罗技C270i相机,在畸变校正过程中,需要拍摄摆放角度较大的标定板,并且拍摄的图片不宜过少(20张左右)如图2所示,这样可以使内参和畸变系数的计算更加准确。通过对九宫格进行检测,提取出角点位置。然后对角点进行计算,得到了摄像机的内参参数、畸变校正参数、旋转矩阵及平移矩阵。输入相机内参参数和畸变参数得到校正图像,内参参数如表1所示,相机畸变校正参数如表2所示。
表2 相机畸变校正参数
图2 标定板图
表1 相机内参参数
其中,fx、fy为X、Y方向的尺度因子;Cx、Cy是图像坐标系原点在像素坐标系下的坐标。
旋转矩阵:
平移矩阵:
2 图像处理
由于原始图像中包含大量无关元素,需要将一些不利因素去除。在机器视觉中,图像是一个像素矩阵,图像处理是对输入的图像进行矩阵变换,从而改善图像信息,明晰图像特征。
2.1 图像分割
由于阀口袋的面积较大,而相机的视场较小。因此在对阀口袋进行处理之前需对图像进行分割。图像分割是将图像中所关注的区域和其他无关部分进行分离并提取出来,使得图像更易于分析[8]。根据阀口袋特征,选取阀口位置为ROI(region of interest)区域,沿阀口边缘进行垂直分割。利用在OpenCV中分割图像函数,分割原始图像,缩小ROI区域,聚焦兴趣区域,提高图像处理速度。
相机拍摄的原始图像为RGB图像。RGB图像是一种不均匀的颜色空间,每种颜色都由三原色构成[9]。RGB图像容易受到光强的影响,对于同一种颜色,在不同的光强情况下,很难测出较为精确的三个RGB数值来表示,因此不适用于图像处理。而HSV(Hue,Saturation,Value)是根据颜色的直观特性创建的一种颜色空间[10],能够非常直观地表达颜色的色调、饱和程度和明暗程度,方便根据颜色进行分割。将图像由RGB转为HSV,如图3(a)所示。为了增强图像对比度,凸显目标区域,将图像通道分离,对各通道进行直方图均衡化,然后合并通道,如图3(b)所示。
图3
阈值分割,即突出图像中某个特定的颜色区域,对其从周围环境中分离出目标,一般有两种方式[11]:
1)突出阈值分割对象颜色,使其明显与其他颜色区域分离。
2)隐匿无关的颜色,映射为黑色或者白色。
针对阀口袋的特点,选取封条边作为阈值分割对象。在环形LED灯的照射下,进行阈值分割。通过多次对比试验,确定阀口袋封条边最佳颜色阈值如表3所示阈值区间,如图3(c)所示从转化出的图像可见阀口袋封条边与其余部分有着明显区分,颜色阈值方程:
表3 封条边阈值表
2.2 图像优化及轮廓提取
图像优化包含图像形态学和图像滤波。图像形态学是图像处理中应用最广泛的技术,由于阈值处理后会产生一些较小的噪点以及空洞,采用形态学变化处理,能够消除多余噪点提高图像的完整度,增强图像效果。设置算子大小(5,5),常用的算子结构分为MORPH_CROSS交叉型结构元、MORPH_ELLIPSE椭圆结构元以及MORPH_RECT矩形结构元。相对于交叉型结构元与椭圆结构元,矩形结构元由于运行次数少且矩形排列更加适用于规则形状,即选择5×5的矩形结构元算子进行图像形态学操作。在形态学处理过程中使用开运算MORPH_OPEN与闭运算MORPH_CLOSE对图形进行混合处理。开运算能够在不改变图像原有面积大小的基础上进行平滑边界,消除亮度较高的细小空洞区域。闭运算能够消除背景中的暗点噪声,填充纤细空洞区域,连接相邻的图块。将开闭运算混合运算能够实现同时消除明、暗区域,连接相邻的相似图块,在此过程中不会发生图像的位移变化。
图像滤波的作用是保留图像特征,在图像中一般含有各类噪声,图像噪声会严重影响图像的质量。滤波处理通过对图像的噪声进行抑制,从而提高后续图像处理和边缘检测的有效性[12]。常见的滤波算法有中值滤波,高斯滤波,均值滤波,双边滤波等,分别有不同的滤波效果和适用场合。根据实际效果对比,双边滤波[13]、均值滤波对于图像的噪声进行简易的处理,并不能保留图像的细节信息,中值滤波和高斯滤波在处理时保留了图像边缘的细节,对噪声处理也更加有效。而高斯滤波对边缘信息保留的更加细致[14],有利于边缘检测,所以选择高斯滤波进行图像滤波,如图4(a)所示。高斯滤波是一种线性平滑滤波,通过对其他像素值进行加权平均计算得到[15]。通过实际效果对比设定内核Size大小(3,3),高斯滤波计算方程:
其中,σ为高斯分布标准差,代表数据离散程度。
经过滤波后的到的图像基本可以清晰地获取封边条的图像信息。但在实际试验时,为了避免环境光照变化,会引起封边条表面高光反光的现象,或者是封边条凹凸不平造成表面出现大块暗黑区域,从而影响后续处理。因此为了减小干扰,还需要对图像进行边缘检测,提取轮廓信息,以满足后续定位要求。
边缘为图像中灰度发生急剧变化的区域边界,边缘点能够给出目标轮廓的位置[16]。利用OpenCV视觉函数库对滤波后图像进行检索并绘制轮廓,如图4(b)所示。
图4
3 特征信息提取
根据阀口袋封条边的图像信息,采用角点检测对其进行特征点提取。在视觉定位中角点检测被广泛运用,角点通常被定义为两条边缘的交点[17]。角点检测分为Shi Tomasi算法和Harris[18]算法。采用Shi Tomasi角点检测,相较于Harris角点检测,Shi Tomasi算法通过寻找最小特征值的最大值来寻找其中特征明显的角点,准确率更高。如图4(c)所示。
分析阀口袋轮廓特征选取相应角点为基准点,为了获取更为精细的角点坐标,提高精确度,对角点坐标进一步精确化处理。设定邻域大小,提取到相匹配的三个角点坐标点像素坐标。通过相机标定参数转换,即可以得到相应点的世界坐标。
针对阀口袋包装加工的要求,需确定特征点坐标。利用图像几何学中三点确定一个圆,即可通过平面上三点坐标构建一个圆并确定该圆圆心,设定该圆心(X,Y)就为阀口袋的特征位置点。根据
经过相应的简化:
由于阀口袋放置在平面上,Z轴方向保持不变。将水平方向定为基准轴,基准斜率K为0,利用阀口袋前端直线上提取的两角点坐标(x1,y1)、(x2,y2)可以确定阀口袋的位姿状态,斜率方程为:
4 实验及分析
基于Visual Studio 2019平台、OpenCV3.4.7视觉函数库,对定位程序进行编写调试,连续运行该程序15次,记录特征点坐标值及位姿斜率的结果。如表4所示,根据准则(拉依达准则)来判定重复定位精度测试结果好坏。X、Y两个方向的重复定位精度分别为0.3675mm、2.6717mm,斜率K的重复定位精度为0.0038。其中Y方向相对于X方向的定位精度偏低,主要是由于在图像分割时边缘会锯齿化,会对靠近阀口处的角点的Y轴坐标产生一些影响。根据阀口袋的尺寸公差数值(2mm~4mm)以及后续自动化包装的定位要求,该定位方法能够满足精度要求。
表4 特征点位置坐标及位姿重复精度测试
5 结语
文中详细阐述了基于机器视觉的阀口袋定位方法,通过相机标定、图像处理、图像几何学等操作,实现了提取到阀口袋特征位置坐标及位姿状态。目前,国内阀口袋包装加工的自动化定位设备落后,工作环境恶劣。该定位方法能够满足当前的精度要求,有效的解决了生产环境对人体的危害,对后续实现阀口袋自动化包装具有重要的研究意义。