朱娜莹 金惠兰
摘要工业生产中利用机器代替人工进行上下物料,需要对物料进行定位。本文首先利用MATLAB软件处理深度图数据将螺母与背景相互分割,其次,对分割后图像进行分层处理,最后,利用螺母定位模型逐层求得螺母数与坐标。
关键词Roberts算法分层处理螺母定位
中图分类号:TP391.41 文献标识码:A
0引言
机器人视觉系统是根据拍摄到的图像信息进行对螺母的位置确定。模型具体步骤如下:
1深度图像二值化
根据材料所给深度图数据与深度图对背景与目标物体进行分割。具体步骤:(1)利用深度图中颜色与高度的换算关系,运用MATLAB软件处理题目所给深度图数据,结合所给的深度图信息将背景层与螺母分割,得到螺母图像。(2)为了进一步得到图像上螺母的信息,需要将图片二值化处理。即让图片上的像素点各值只为0或255,让整张图只显示出黑白两种颜色。图像的二值化处理可使用MATLAB自带的im2bw函数,该函数具有通过设定亮度阈值将图像转化为二值图像的功能。函数调用格式如下:
c=im2bw(k1,200/255)
2图像边缘检测
根据二值化形态学运算将含有目标物体信息的区域从图像中提取出来。此处用Roberts算法处理边缘检测。因为经过Roberts 算子处理过得图像的边缘曲线不是很平滑,因此,使用Roberts 算子检测出来的边缘曲线需要做进一步细化处理,细化处理的计算公式如下:
其中是输入图像,是输出图像。数字图像中Roberts算子的卷积模板如表1所示
表1:Roberts 算子的卷积模板
3最小二乘法拟合圆
机器人定位模型最终的目的是定位目标物体,而定位的方法就是对处理后图像进行圆的拟合,以求得圆的半径和圆心,最后凭此来确定圆的位置。此处用最小二乘法进行平面圆的拟合。
假设理想圆心坐标为(x0,y0),圆半径为R,测点直角坐标为(Xi,Yi)
(1)
令
圆心坐标为
(2)
把带入可得圆的半径
(3)
由式(2)、(3)可以得到螺母圆心和半径。
4具體操作
(1)根据已获得的深度图数据利用MATLAB软件还原数据图像:
(2)分割出螺母信息图:
从上图可见由于叠放状态下,螺母之间的相互遮挡,导致螺母信息无法准确识别,因此,需要分层处理深度数据,先将位于不同高度的螺母图像利用深度数据的不同分离出2层不同的图层,上层螺母的深度取值范围是29mm-35mm,下层螺母的深度取值范围是37.5mm以上时最大限度的保留本层信息。然后,逐步定位上下层的螺母。
(3)对第一层螺母的定位:
首先,利用MATLAB软件分割第一层螺母信息,其次,进行二值化、边缘化、最小二乘法拟合圆。可得到一层螺母共6个,中心坐标:(46.67,-13.30),(19.25,-8.45),(32.41,-3.64),(18.22,4.51),(30.53,10.66),(44.61,10.32)。单位:mm.
对第二层螺母进行同样的操作可得到第二层螺母定位信息。螺母个数为1,中心坐标为(39.20,-4.82)。
5结论
利用分层处理的方法可以定位叠放螺母的位置,但在定位过程中发现倾斜螺母信息无法准确读取。另外,还可能发生由于拍摄中偶然误差而导致的深度图数据残缺和在收集深度图数据时,常伴随大量误差配点问题需要进一步改进。
作者简介:通讯作者:金惠兰,女,(1969-),讲师,天津农学院 基础科学学院,硕士研究生,研究方向:拓扑空间。
参考文献
[1]李睿,耿璐,程武山.基于机器视觉的螺母定位系统[J].机床与液压,2013.
[2]张俊.基于视觉定位的自动上下料机械手系统研究[D].石家庄:石家庄铁道大学,2012.
[3]吴凯.用最小二乘法拟合圆应用于隧道钢模台车尺寸检查[J].四川水泥,2014.