APP下载

基于Kinect V2的筒子纱作业机器人视觉定位方法

2020-10-23金守峰尹加杰仝梦园

纺织高校基础科学学报 2020年3期
关键词:筒子质心轮廓

李 毅,金守峰,尹加杰,仝梦园,陈 阳

(西安工程大学 机电工程学院/西安市现代智能纺织装备重点实验室,陕西 西安 710048)

0 引 言

目前,筒子纱的抓取、转运及包装已经广泛采用工业机器人来代替人工操作,降低了工人的劳动强度,提升了工作效率[1]。但是传统工业机器人的操作多以示教编程为主,缺乏对筒子纱的感知,导致工业机器人在作业过程中智能化和柔性化水平较低[2]。随着机器视觉技术软、硬件的快速发展,将机器视觉与工业机器人相结合,提高了机器人的感知功能[3-5]。机械视觉技术广泛应用于农业机械领域[6-8],引导采摘机器人完成采摘动作。在工业机器人抓取方面,朱良针对简单目标工件的定位,提出了一种较为准确高效的工件矢量数据获取方法,但缺少对复杂结构工件的研究[9];伍锡如等构建了深度神经网络模型识别目标,得到目标的位置坐标和类别,实现了工业机器人的分拣[10];范荻等结合SURF算法、快速视网膜特征点、汉明距离以及仿射变换等相关技术,解决了因为背景复杂、零件形状多样而导致识别和定位精度低的问题,但在识别过程中需要手动提取特征,算法的鲁棒性不高[11]。伴随着Kinect及相关技术[12]的发展,杨长辉等基于卷积神经网络和Kinect V2构建了采摘机器人的识别定位系统,所采用的YOLO V3目标检测模型检测速度快,背景误检率低,但在识别物体的位置时精准性较差[13];徐胜勇利用油菜的RGB-D图像,通过ICP算法获取油菜的完整点云,从而实现油菜植株上单个角果的空间定位,但在点云相配时需要提前知道相匹配点云间的角度,不符合实际工作环境下的要求[14];任秉银等利用将固定于系统全局上的Kinect V2传感器以及机械臂上的移动相机,获取大目标点云和小目标图像,完成混杂场景中小目标的自主分拣,但整个系统算法过于复杂,且成本较高[15]。

视觉系统能准确识别定位筒子纱目标,是筒子纱抓取机器人完成抓取任务的关键。基于以上研究思想,本文提出建立基于Kinect V2的机器人视觉定位系统,利用Kinect V2传感器获得筒子纱的二维图像和深度信息的特性。通过构建二维图像与深度信息的转换模型,确定筒子纱的空间位置,实现了机器人对筒子纱目标的快速识别及精确定位。

1 机器人视觉定位系统

筒子纱是通过络筒机上纱线卷绕而形成的圆锥形或圆柱形产品,表面为致密的纱线,依靠机器人的末端执行器对其进行作业。根据筒子纱的结构特点和作业要求,设计了如图1所示的基于Kinect V2的机器人视觉定位系统。

该系统由机器人和末端执行器构成筒子纱抓取的执行装置。选用上银RA605关节式6自由度机械臂作为本体,末端执行器为XEG-64型二指电动夹爪。Kinect V2传感器作为视觉感知元件,由RGB彩色摄像头、红外摄像头和红外投影仪构成,为筒子纱二维图像和深度图像的采集装置:以30帧/秒获取1 920×1 080分辨率的RGB图像和512×424分辨率的深度图像,如图2所示。机器人与Kinect V2构成了Eye-to-Hand系统。主控计算机作为机器人的上位机,通过图像分析算法获取筒子纱的三维信息,同时通过TCP/IP网络与机械臂的控制柜实现通信,引导机器人完成作业。

(a) RGB图像 (b) 深度图像图 2 筒子纱目标原始图像Fig.2 Original image of bobbin yarn target

2 边缘轮廓特征提取

2.1 筒子纱图像分割

在对获取的原始筒子纱RGB图像进行图像增强、滤波后,根据筒子纱表面纹理的特点,采用K-means聚类算法[16-17]进行分割。以距离作为相似性的评价指标,将样本中的n个数据对象划分成k(k

2.2 筒子纱轮廓特征提取

由于分割后的筒子纱区域轮廓受到噪声的干扰,易产生伪边缘点。为了提高边缘检测精度,在聚类分割的基础上采用形态学算法[18-19],利用结构元素提取筒子纱边缘轮廓特征。形态学结构元素的尺度大小会影响到目标边缘检测的精度:小尺度结构元素能够很好地检测到目标边缘的细节且边缘定位精确,但去噪能力差;大尺度结构元素抑制噪声的能力强,但是在检测过程中会丢失边缘的细节部分。

假设f(m,n)表示输入图像,g为结构元素,根据筒子纱分割区域存在噪声点、边缘不平及空洞等问题,构建形态学多尺度迭代滤波器

ψ(f)=(f∘g1·g2)·g1∘g2

(1)

式中:∘表示灰度开运算;·表示灰度闭运算。

构建5种结构元素g1~g5作筒子纱轮廓特征提取,分别为

多尺度边缘检测算子为

(2)

式中:n为尺度参数;⊕和Θ分别表示膨胀和腐蚀操作。建立多尺度边缘融合模型Gfn,

(3)

式中:ui为各个尺度边缘检测图像进行融合时的加权系数。

通过构造的5个结构元素,对筒子纱区域进行形态学运算,在n=1~5尺度间对筒子纱的边缘进行处理,利用实体加权融合提取筒子纱的轮廓信息。处理后的筒子纱区域如图3(a)所示,消除了筒子纱区域的空洞和周围的孤立点,筒子纱的边缘平滑;筒子纱的边缘轮廓提取如图3(b)所示,轮廓信息完整,消除了伪边缘点的影响。

(a) 目标区域

(b) 轮廓边缘提取图 3 筒子纱目标轮廓特征提取Fig.3 Contour feature extraction of bobbin yarn targets

3 三维定位

3.1 筒子纱质心的二维坐标

在获取筒子纱边缘信息的基础上,利用图像矩获取筒子纱在二维图像中的位置。图像矩表征了图像区域的几何特征,具有旋转、平移、尺度不变等特点。设筒子纱图像的密度函数为f(i,j),则图像的几何矩为

(4)

式中:m×n表示图像的分辨率;p+q为几何矩的阶数。

通过一阶几何矩与零阶几何矩的比值构建的筒子纱的质心二维坐标为

(5)

(6)

式中:M10和M01为一阶矩;M00为零阶矩。

根据图像矩的方法对图3(b)中的筒子纱质心坐标进行二维定位,并将其映射到图2(a)的原始RGB图中,以(x,y)=(·,·)表示质心的二维坐标值,结果如图4所示。

图 4 目标质心

3.2 二维图像与深度图像对齐

由图4可知,筒子纱的质心坐标即为其像素坐标,表征了筒子纱在图像中的位置,而不是实际空间下的位置。由于Kinect相机所采集的深度图像中保存有深度信息,可将深度图像与二维图像相融合,调用Kinect for Windows SDK中的映射函数实现彩色图像与深度图像的对齐,如图5所示。通过计算彩色图像和深度图像间的映射关系,建立与之对应的像素点间的索引关系,从而找到彩色图像上目标质心点在深度图像中所对应的深度值。

图 5 RGB图像与深度图像对齐

3.3 筒子纱质心的三维空间坐标

由于图像的度量单位为像素,而实际尺寸为物理单位(mm),因此需要将图像中特征点的像素坐标转换为三维空间坐标。已知筒子纱质心点在图像坐标中的像素坐标,在二维图像对齐到深度图像后,根据Kinect相机成像原理,将筒子纱图像的质心点转换为三维坐标,即

(7)

式中:(Xd,Yd,Zd)为目标点对应的三维空间坐标;(xi,yi)为目标质心点在深度图像中对应的像素坐标;z为(xi,yi)对应的深度值;cx、cy、fx和fy分别为红外相机标定得到的内参数。

4 实验分析

4.1 Kinect V2的标定

在将筒子纱质心的二维图像坐标转换为三维空间坐标的计算过程中,需要利用RGB相机和深度相机的内参数以及二者间的关系参数。因此,分别对Kinect V2传感器上的RGB摄像头和红外摄像头进行参数标定。张氏标定法[20-21]具有使用简单、精度高、鲁棒性好等特点,故用该标定法对Kinect V2传感器的2个摄像头进行标定。

通过Matlab的Camera Calibration Toolbox对2个摄像头进行标定后,得到相机内参数,如表1所示。相机与标定板间的位置关系如图6所示。

表1 相机标定参数

(a) 彩色相机 (b) 深度相机图 6 标定板与相机位置关系Fig.6 The position relationship between calibration plate and camera

实验过程中,Kinect V2中RGB摄像头与红外摄像头的光心在同一水平线,二者光心距在45 mm。根据彩色相机和深度相机内参数以及两相机对应的彩色和红外标定图像的外参数,可以得到彩色相机到深度相机间的旋转和平移关系,分别用旋转矩阵H和平移向量T表示,即

T=[45.815 7 1.587 9 0.198 0]

4.2 数据分析

为验证本文方法的可行性,分别采集了独立和堆叠2种不同放置情况的筒子纱图像,通过本文算法对图像中的筒子纱目标进行识别定位处理,得到筒子纱轮廓边缘及二维质心坐标,如图7所示。

由于Kinect V2光轴垂直于视场平面,因此水平放置的筒子纱轮廓近似梯形,竖直放置的筒子纱轮廓近似椭圆形。

(a) 独立状态 (b) 堆叠状态图 7 不同位置形态筒子纱的识别定位Fig.7 Identification and positioning of bobbin yarns in different position

通过本文算法对独立放置的筒子纱目标进行处理,得到清晰完整的筒子纱轮廓边缘信息及质心(*),如图7(a)所示。对于堆叠状态的筒子纱目标,由于目标间存在遮挡现象,最上层的目标可以得到完整的边缘轮廓,而下层被遮挡的目标只能获取目标部分轮廓,并得到筒子纱的质心(*),如图7(b)所示。

结合标定参数,将筒子纱轮廓质心的二维图像坐标通过彩色图像对齐到深度图像,并进行坐标转换,得到不同位置状态的筒子纱质心点的深度值及三维空间下的坐标值,如表2所示。

从表2可知,实验得到的筒子纱质心定位坐标与实际测量坐标值存在着一定误差。误差产生的原因主要包括:在进行相机标定时由于畸变系数过小而忽略了相机的畸变;Kinect V2自身精度的限制以及实际测量坐标存在的误差。其中独立放置的筒子纱目标定位坐标与实际测量误差较小,而堆叠状态的筒子纱由于目标间存在遮挡,导致被遮挡的目标无法获取到完整的轮廓,因此其质心定位坐标误差相对较大。但是,总体误差在4 mm以内,能够满足筒子纱在机器人抓取系统中对视觉定位的要求。

表 2 实验目标三维坐标数据

将传统目标识别定位算法(文献[8])和基于深度学习识别定位方法(文献[14])与本文算法进行了目标定位误差比较,实验结果如表3所示。

表 3 实验结果对比

根据表3可知,相较于传统算法和基于深度学习的目标识别定位算法,本文算法在目标定位上误差小、精度相对较高,且算法更加简捷。

5 结 论

1) 以Kinect V2作为视觉传感器,构建具有视觉感知的筒子纱抓取机器人视觉系统,使机器人具有视觉感知的能力,能够准确识别筒子纱并对其质心精准定位。

2) 利用K-means聚类算法融合多尺度形态学的方法,完成了对筒子纱轮廓边缘的提取,得到清晰、完整的筒子纱边缘轮廓。依据低阶几何矩和坐标转换得到的目标质心坐标精度高,且算法简捷、稳定性好。

3) 采用张氏标定法对Kinect V2的内外参数进行标定,得到筒子纱质心三维空间位置。其误差控制在4 mm以内,满足系统要求。

猜你喜欢

筒子质心轮廓
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
基于机器视觉的筒子纱密度在线检测系统
筒子纱包装自动配重方法研究
OPENCV轮廓识别研究与实践
香鼠筒子、豆鼠皮 清代皇室贵族的皮草嗜好与毛皮消费
基于实时轮廓误差估算的数控系统轮廓控制
高速公路主动发光轮廓标应用方案设计探讨
基于局部权重k-近质心近邻算法
一种海洋测高卫星质心在轨估计算法