基于机器视觉的运动目标识别与定位

2022-12-11 09:42赵佳冉张爱华姜超群蒋群李建军
智能计算机与应用 2022年11期
关键词:形状坐标系像素

赵佳冉,张爱华,姜超群,蒋群,李建军

(1 中原工学院 电子信息学院,郑州 450007;2 新郑市恒凯电子科技有限公司,郑州 450007)

0 引言

机器视觉技术和数字图像理论的快速发展,使得目标识别与分拣技术日渐成熟,且性能持续提升。在工业生产领域应用机器视觉技术[1]和图像识别原理实现工业智能分拣。该类方法具有较强的灵活性和适应能力,使工业生产速度得到很大提升,同时减少了人力资源的消耗[2-6]。

张大为等人[3]基于机器视觉设计了可实现不同运行速度下的物料抓取的机器人自动上料系统。徐青青[4]利用智能分拣系统能够实现不同物体识别分类并获取位姿,但均存在算法不易移植的问题。彭杰等人[5]对不同位姿下的铝件和有机玻璃通过条形码进行分拣,但应用场景受限。王诗宇等人[6]利用并联机械手机器人和康耐视相机搭建智能分拣系统,克服光照因素影响的同时解决因为环境改变程序不适应问题,成本较高。

针对以上问题,设计了基于机器人视觉的运动物体形状识别与定位方案,该方案可应用于实验教学,所以成本较低、应用场景广泛且算法易于移植。

1 目标物体识别分拣系统

物体识别分拣系统主要由传送模块、机器视觉模块、运动控制模块和抓取模块四部分组成。对此可做流程阐述如下。

传送模块负责运动目标物体的运动数据;机器视觉模块对采集到的图像做预处理,物体轮廓提取判断物体形状、获取物体重心坐标,为实现物体分拣提供必要信息;运动控制模块在调控X轴、Y轴移动的同时,控制Z轴运动到目标物体坐标进行吸取;抓取模块负责物体的吸放操作。

图1 系统工作流程Fig.1 System workflow

2 相机标定

由于相机镜头透镜的存在,使得光线投影到成像平面的过程中会产生畸变,此时就需要对相机进行标定。通过标定,获取相机的内参矩阵和外参矩阵,得到相机坐标系在世界坐标中的位置信息。相机坐标系与世界坐标系的关系[7]可表示为:

其中,R表示该相机的旋转矩阵;T表示偏移向量;矩阵 [Xw YwZw1]T表示空间点在世界坐标系下的向量;[Xc Yc Zc1]T表示空间点在相机坐标系下的向量。

将相机坐标系(Xc,Yc,Zc)转换至理想投影平面坐标系(Xu,Yu),可表示为:

其中,f为摄像头焦距。由理想投影平面坐标系(xu,yu)到实际的投影平面坐标系(x,y)之间的转换关系为:

其中,k1,k2为径向畸变系数;p1,p2为切向畸变系数;r为点距成像中心的距离。

实际投影平面坐标(x,y)和相机图像坐标(u,v)的线性转换关系可分别表示为:

其中,(u0,v0)为基准坐标,表示图像的中心坐标;Δx和Δy分别表示坐标轴中水平和垂直方向相邻的2 个像素之间的距离(mm/pixel);fx和fy表示单个像素的焦距。结合式(1)、式(4)~(5)可得到具体的表达式为:

4.乡镇级社会保险费征收机构。按照全区统一规划,乡镇设置劳动保障事务所或劳动保障服务中心,主要提供社会保险相关服务。

其中,s表示比例因子。

由此就可以得到图像中像素坐标系和世界坐标系的对应关系式。

3 图像处理

3.1 图像预处理

图像预处理是物体形状识别中不可或缺的一步,实际图像采集时,外部环境干扰较大,为了消除无关信息的影响,需要对图像进行预处理。本文采用高斯滤波方法对图像进行滤波。利用二进制阈值分割方法中的Otsu 算法[8]将物体和背景分离,增强物体形状识别可靠性。

Otsu 算法在实际图像分割中是最佳的阈值选取算法,该算法计算简单且不受图像亮度和对比度的影响,能将物体和背景更好地分离出来,使后期的物体形状识别更加准确。

其它类型的阈值分割算法是用户自定义阈值,而Otsu 阈值类型通过大津算法,自动获取合适阈值进行Binary 二值化,所以该方法更适合应用在工程实践中。图2 是利用Otsu 阈值分割方法对目标物体分割后的图,可以看出该方法可以很好地分离出物体和背景。

图2 Otsu 阈值分割Fig.2 Otsu threshold segmentation

Otsu 阈值类型通过大津算法,自动获取合适的阈值进行Binary 二值化[9]。Otsu 算法原理为:令{0,1,2,……,L -1} 表示一幅大小为M ×N像素的数字图像中的L个不同的灰度级,用ni表示灰度级为i的像素数。图像中的像素总数为MN=归一化直方图具有分量pi=ni/MN,选择一个阈值T,并用其把输入图像阈值化处理为2 类:C0和C1。这里,C0由图像中灰度值在[0,T]范围内的所有像素组成,C1由灰度值在[T +1,L -1]范围内所有像素组成。由P0(T)、P1(T)、μ0(T)、μ1(T)和σ20(T)、σ21(T)分别表示2 类的累计概率、平均灰度和方差,各值间的关系列出公式见如下:

3.2 形状识别

图像特征提取采用了多边形逼近的方法,获取目标基本轮廓。多边形逼近主要应用approxPolyDP多边形拟合函数识别物体形状,该函数采用道格拉斯-普客算法(Douglas-Peucker)实现拟合函数的运算[10]。

算法应用步骤为:首先,做目标曲线的一条弦,假设目标曲线的首点为A,尾点为B,首尾相接得到一条直线AB,将该直线视为目标曲线的弦。然后寻找目标曲线与弦间的最大距离点C,使曲线和弦之间的最大距离为d,将d与预先设置好的阈值进行比较,若小于指定阈值,则这一段直线可近似为目标曲线,此段曲线处理完毕。如果距离d大于阈值,则用点C将线段分为AC和BC两段,继续上述操作,直到所有曲线处理结束。在本文中通过分别定义输出的多边形点集,将其作为多边形的边长,由此确定多边形的形状,形状示意如图3 所示。

图3 Douglas-Peucker 逼近曲线示意图Fig.3 Schematic diagram of Douglas-Peucker approximation curve

3.3 运动目标定位

利用灰度重心法计算物体的重心[11]来定位运动目标位置。其重心坐标通过求图像的矩的方法得到,如果将图像的像素记为密度函数f(x,y),对像素点求期望即为图像的原点矩。原点矩的公式为:

其中,mpq表示图像中所有像素的总和,每个像素的x,y都要和相应的比例因子xp,yq相乘。

由于图形的一阶矩是与图形的形状有关的,因此在本方案中采用一阶矩的方法求取物体的重心,重心的求取公式为:

其中,m00表示图像上所有非零区域,处理轮廓的长度为:

三角形重心位置如图4 所示,可通过上述一阶矩的运算求解得到。采用相似方法可求解其它图形的重心坐标。

图4 三角形重心示意图Fig.4 Center of gravity of the triangle

4 系统实验验证

为了验证算法的有效性,通过搭建的智能分拣装置对运动目标进行抓取实验。

当获取运动物体的传送带位置信息后,对运动控制模块发送信号,驱动三轴桁架机械臂运动到指定位置对物体进行吸取。

上位机界面如图5 所示,左框为摄像机采集到的原图,右框显示结果为物体形状和此时重心位置坐标,同时可通过速度窗口设置传送带传送速度。抓取实物图如图6 所示。

图5 系统上位机界面Fig.5 Upper computer interface of the system

图6 目标物体抓取图Fig.6 Grasping diagram of target objects

通过程序调试进行多次实验,物体的识别成功率在速度为20 mm/s 时见表1,30 mm/s 时见表2。

表1 速度为20 mm/s 识别成功率Tab.1 Recognition success rate at a speed of 20 mm/s

表2 速度为30 mm/s 识别成功率Tab.2 Recognition success rate at a speed of 30 mm/s

从表1、表2 可以看出,不同形状物体抓取成功率不同,随着传送速度的提升,物体抓取成功率开始下降。

5 结束语

本文利用.NET Framework 作为实验装置的开发平台,在VS2015 环境下,使用C#语言作为程序开发语言,采用EmguCV 中的算法库对运动物体进行识别。利用Otsu 阈值分割算法自动获取合适阈值,结合轮廓逼近方法获取目标物体形状,实现目标物体识别。通过摄像机坐标和传送带坐标之间的转换关系,确定运动物体重心坐标的运动轨迹,实现目标物体定位,最终实现分拣。

本系统主要是实验室演示装置,实验中因为对光源处进行遮光处理,排除外界光照影响,在实际工业应用时可能会出现因受到外界光照影响导致物体识别错误的情况,所以在实际应用中由于光照产生物体误检仍亟待进一步深入研究。

猜你喜欢
形状坐标系像素
像素前线之“幻影”2000
独立坐标系椭球变换与坐标换算
“像素”仙人掌
你的形状
解密坐标系中的平移变换
坐标系背后的故事
ÉVOLUTIONDIGAE Style de vie tactile
火眼金睛
高像素不是全部
极坐标系下移动机器人的点镇定