一种基于MaskR-CNN和双目相机的机器人目标定位和抓取方法与流程

专利查询15天前  7


一种基于mask r-cnn和双目相机的机器人目标定位和抓取方法
技术领域
1.本发明属于机器人技术领域,具体涉及一种基于mask r-cnn和双目相机的机器人目标定位和抓取方法。


背景技术:

2.机器人是一种仿生智能机器,一般具有移动能力、感知能力、动作能力和协调能力,机器人配置感知镜头和机械臂可以完成特定的识别任务和动作任务,可以对指定目标物体进行识别和抓取。当前常用的目标抓取方法是通过机器人携带的摄像机寻找目标,找到目标后通过模板匹配方法或者其他图像处理方法对目标物体进行提取,再通过机器人搭载的双目相机或者激光雷达计算目标物体相对摄像机的距离,最后控制机械臂抓取目标物体。
3.这类方法中,对目标物体的检测和测距分别使用不同的传感器进行处理,增加了设备要求和机器人负载量,在目标检测中,使用传统图像处理方法误差较大,不能精准确定目标物体边缘信息,同时处理过程速度较慢,使得机械臂动作产生延迟,难以满足实时抓取目标的需求。在目标测距中,针对背景信息复杂,噪声点过滤不完全,导致距离测量精度较差。


技术实现要素:

4.本发明的目的是针对现有的机器人在复杂环境下存在的目标检测误差大以及测距精度不高的技术问题,而提供的一种可实现机器人对目标物体的精确定位和抓取,能降低机器人机械臂抓取目标物体的失误率的方法。
5.一种基于mask r-cnn和双目相机的机器人目标定位和抓取方法,它包括以下步骤:
6.步骤1:进行相机的标定;
7.步骤2:进行目标的识别与分割;
8.步骤3:进行目标的定位;
9.步骤4:进行目标的位姿计算;
10.步骤5:进行目标的抓取;
11.在步骤2中,将双目相机采集的rgb图像作为输入图像送入预先训练好的卷积神经网络mask r-cnn模型中,通过模型输出图像中目标物体的检测框和mask,通过对目标物体进行像素点分割,提取目标区域,过滤背景干扰信息。
12.在步骤2中,目标识别与分割使用mask r-cnn模型对目标物体识别及分割,模型构建及识别步骤如下:
13.2-1)进行目标物体数据集的采集,根据需要抓取的目标物体类别,从不同的环境、不同的角度、不同的亮度、不同的姿态下对目标物体进行图像采集;
14.2-2)数据增强,由于可以获得的数据集样本较少,采用传统图像几何变换数据增强和利用gan进行生成式数据增强相结合的方法对数据集进行扩充。对于传统的图像几何变换方法,采用随机裁剪、水平翻转、图像倾斜、添加噪声、图像缩放的对采集的数据集通过亮度变换、添加噪声、剪切、旋转等操作扩充数据集;
15.2-3)进行目标数据集的标注,使用图像标注工具对采集的图像进行标注;
16.2-4)mask rcnn网络模型优化;
17.2-5)进行模型迁移学习训练,使用迁移学习方法,将自制好的数据集载入优化后的网络模型中,同时载入使用coco数据集预训练的模型,提高模型收敛,通过参数优化,对模型进行迭代训练,生成目标检测及分割模型;
18.2-6)对目标进行检测及分割,从双目相机拍摄的视频流中截取rgb图像传入mask r-cnn模型中,通过模型识别待抓取的目标物体类别及目标位置,对目标进行分割,输出目标的mask区域。
19.在步骤2-4)中,在进行mask r-cnn网络模型的优化时,采用以下步骤:
20.(1)进行特征提取网络的修改,通过减小网络层次提高目标识别的速度;
21.(2)进行rpn区域建议网络的修改,修改锚点尺寸,使模型集中在指定比例中计算,把超出原图尺寸的anchor boxes剔除,通过非极大值抑制(nms)方法进一步筛选得到感兴趣区域;
22.(3)进行损失函数的修改;mask r-cnn损失函数为
23.l=l
cls
+l
box
+l
mask

24.其中,l
cls
为分类损失函数,l
box
为检测损失函数,l
mask
为分割损失函数,在l
mask
中加入边界损失函数,利用距离损失对分割的位置、形状和连续性进行正则化,使其更加接近目标边界;l
mask-edge
优化后的损失函数为
[0025][0026]
其中,l
edge
为边界损失函数,y表示标注的目标边缘,表示预测边界,α是权重系数,b为分割结果的边界,m
dist
为对ground-truth分割边界的距离变换。
[0027]
在步骤1中,进行相机的标定以通过二维的图像信息来获取三维空间位置信息;具体包括以下步骤:
[0028]
1-1)进行标定板制作;
[0029]
1-2)进行图像的采集,改变标定板相对摄像机的位置和角度,使用待标定的摄像机从不同角度、不同位置、不同姿态,拍摄标定板多张照片;
[0030]
1-3)进行标定板角点的检测,得到标定板角点的像素坐标值,根据已知的棋盘格大小和世界坐标系原点,计算标定板角点的物理坐标值;
[0031]
1-4)进行相机内部参数和外部参数的求解。
[0032]
在步骤3中,在进行目标定位时,将双目相机采集的depth图像和rgb图像对齐,计算rgb图像中的目标mask区域像素点在depth图像中距离双目相机的红外镜头的平均距离,从而得到目标物体相对相机的距离。同时通过双目相机测距原理,测量目标的宽度,判断机械臂抓取器张合宽度是否可以抓取目标物体。
[0033]
在步骤3中,具体包括以下步骤:
[0034]
3-1)获取rgb图像和depth图像;
[0035]
3-2)将depth图像和rgb图像对齐,使得rgb图像中的像素点与depth图像目标点一一对应;
[0036]
3-3)对目标图像背景信息进行过滤,根据步骤2-4)输出的目标物体的mask区域对图像背景区域进行过滤;
[0037]
3-4)计算目标距离,计算目标物体mask区域内的像素点到双目相机的距离,通过计算像素点距离的平均值为目标物体到相机的距离。
[0038]
3-5)计算目标宽度,计算mask区域边缘像素对应depth图像中目标物体边缘的最大宽度为目标物体的宽度。通过计算的宽度值判断目标是否在机械臂抓取范围内。
[0039]
在步骤4中,要实现对目标物体的抓取,需要将目标物体在摄像机坐标系下位姿转换为目标物体在机械臂基座坐标系下的位姿。这个过程通过手眼标定实现,手眼标定利用九点标定法进行标定,可确定摄像机坐标系和机器人基坐标系间的坐标转换关系,从而计算得出目标工件相对机器人基坐标系的位置,引导机器人实现抓取。
[0040]
在步骤5中,驱动机器人到达目标所在区域,调整机器人与目标物体之间的距离,使目标物体在机械臂末端的夹取器可捕获范围内,通过机器人逆运动学求解各关节角姿态,最后通过控制机械臂各关节转动角度实现目标物体的抓取。
[0041]
与现有技术相比,本发明具有如下技术效果:
[0042]
1)机器人通过双目相机同时采集目标物体的rgb图像和depth图像,通过对rgb图像和depth图像同时处理实现了机器人机械臂对目标物体的定位和抓取;
[0043]
2)目标物体识别与分割中,提出了一种基于改进的maskr-cnn目标识别与分割方法,通过修改模型的特征提取网络、区域建议网络以及损失函数提高了目标识别的速度与精度。
[0044]
3)目标定位中提出双目相机融合深度学习算法是目标定位方法,实现对目标物体的自动识别和像素级分割,通过掩膜分割过滤背景噪声信息,结合depth图像计算mask区域内的像素点距离信息,提高了目标定位的精度,为后续机械臂的精准抓取提高了准确度。
附图说明
[0045]
下面结合附图和实施例对本发明作进一步说明:
[0046]
图1为本发明的流程图;
[0047]
图2为本发明中mask r-cnn模型构建的方法流程图;
[0048]
图3为本发明中基于深度相机的目标测距方法的流程图。
具体实施方式
[0049]
如图1所示,一种基于mask r-cnn和双目相机的机器人目标定位和抓取方法流程图,具体包含以下步骤:
[0050]
步骤1,相机标定。要通过二维的图像信息来获取三维空间位置信息,前提要先知道视觉模型的一些内部参数,而要获得这些参数,就需要对相机进行标定获得内外参数,本发明使用张正友标定法对双目相机进行标定。使用张正友标定法可直接得到摄像机的内参和外参。如下式所示
[0051][0052]
其中,a为摄像机的内参矩阵,r为外参的旋转矩阵,t为平移向量,α=f/dx,β=f/dy,f是焦距,dx、dy分别是像素的宽和高;γ代表像素点在x,y方向尺度上的偏差,(u0,v0)为基准点。
[0053]
步骤2,目标识别与分割。本发明使用realsense d435i结构光相机作为机器人的视觉感知相机,使用realsense d435i同时采集rgb图像和depth图像,将rgb图像输入预先训练好的卷积神经网络mask r-cnn模型中,通过模型输出图像中目标物体的位置,并对目标物体进行像素点分割,提取目标区域。本发明提供的一种mask r-cnn模型构建方法流程如图2所示。
[0054]
步骤3,目标定位。将depth图像和rgb图像对齐,计算rgb图像中的目标mask区域像素点在depth图像中距离双目相机的红外镜头的平均距离,从而得到目标物体的距离。基于realsense双目相机的目标定位方法流程如图3所示。
[0055]
步骤4,目标位姿计算。要知道目标物体相对于机械臂的坐标位置,首先需要将机器人坐标系和目标物体坐标系进行转换。以机器人机械臂的臂肩为坐标原点建立空间坐标系,将目标物体在以相机为原点的坐标系中的坐标值转换到该坐标系中的坐标值。利用九点标定法进行手眼标定,确定摄像机坐标系和机器人基坐标系间的坐标转换关系,从而计算得出目标工件相对机器人基坐标系的位置。
[0056]
步骤5,目标抓取。移动机器人到达目标所在区域,调整机器人与目标物体之间的距离,使目标物体在机械臂末端的夹取器可捕获范围内,通过各连杆坐标系的齐次变换矩阵,可以描述每个连杆之间的相互关系或相对于基参考坐标系的位姿关系。实施方案中采用眼在手系统,通过完成对应的手眼标定,获得相机坐标系到机械臂末端执行器坐标系的转换矩阵,通过机器人逆运动学求解各关节角姿态,最后通过控制ur机械臂各关节转动角度实现目标物体的抓取。
[0057]
在步骤2中,mask r-cnn模型构建及检测具体包含以下步骤:
[0058]
步骤2.1,进行目标物体数据集的采集,根据需要抓取的目标物体类别,从不同的环境、不同的角度、不同的亮度、不同的姿态下对目标物体进行图像采集;
[0059]
步骤2.2,数据增强,由于可以获得的数据集样本较少,采用传统图像几何变换数据增强和利用gan进行生成式数据增强相结合的方法对数据集进行扩充。对于传统的图像几何变换方法,采用随机裁剪、水平翻转、图像倾斜、添加噪声、图像缩放的对采集的数据集通过亮度变换、添加噪声、剪切、旋转等操作扩充数据集;
[0060]
步骤2.3,目标数据集标注,使用图像标注工具labelime对采集的图像进行标注,标注的目的是使用有监督训练提高模型对目标物体检测的精度。
[0061]
步骤2.4,mask r-cnn网络模型优化,(1)特征提取网络改用resnet50,因为机器人携带的双目相机距离目标物体较近,物体较为清晰,不需要深层的特征提取网络提取特征,通过减小网络层次提高目标识别的速度;(2)rpn区域推荐网络修改,anchor boxes大小采用32
×
32、64
×
64、128
×
128、256
×
256、512
×
512,能够适应更多形状的目标物品识别,长宽比修改为1:1、1:2、1:3,考虑机械爪的张合大小,结合抓取的目标物体大多是直立物品,
为了更好的贴切目标比例,修改锚点尺寸,使模型集中在这3个比例中计算,这样可以减少过多的计算量,节省训练、测试内存。然后把超出原图尺寸的anchor boxes剔除,再通过非极大值抑制(nms)方法进一步筛选得到感兴趣区域;(3)损失函数修改。为了进一步提升分割掩模精度,提出在掩模分支中加入边缘损失的方法,使分割结果的边缘更加精确。mask r-cnn损失函数为
[0062]
l=l
cls
+l
box
+l
mask

[0063]
在mask r-cnn的分割任务中,l
cls
为分类损失函数,l
box
为检测损失函数,l
mask
为平均二值交叉熵损失函数,在分割任务中的不足是依赖于区域信息,从而忽视了边界的预测,使在最后的分割结果上对边界分割准确度不高,对于后续使用目标的mask区域计算目标的距离精度不高,通过在l
mask
中加入边界损失函数,利用距离损失对分割的位置、形状和连续性进行正则化,使其更加接近目标边界。l
mask-edge
优化后的损失函数为
[0064][0065]
其中,l
edge
为边界损失函数,y表示标注的目标边缘,表示预测边界,α是权重系数,b为分割结果的边界,m
dist
对ground-truth分割边界的距离变换。
[0066]
步骤2.5,进行模型迁移学习训练,使用迁移学习方法,将自制好的数据集载入优化后的网络模型中,同时载入使用coco数据集预训练的模型,提高模型收敛,通过参数优化,对模型进行迭代训练,生成目标检测及分割模型;
[0067]
步骤2.6,对目标进行检测及分割,从realsense d435i双目相机拍摄的视频流中截取rgb图像传入mask r-cnn模型中,通过模型识别待抓取的目标物体类别及目标位置,对目标进行分割,输出目标的mask区域。
[0068]
在步骤3,基于realsensed435i双目深度相机的目标定位具体包含以下步骤:
[0069]
步骤3.1,从realsensed435i相机获取rgb图像和depth图像。
[0070]
步骤3.2,将depth图像和rgb图像对齐,使得rgb图像中的像素点与depth图像目标点一一对应。
[0071]
步骤3.3,目标图像背景信息过滤,根据步骤2.6输出的目标物体的mask区域对图像背景区域进行过滤。
[0072]
步骤3.4,计算目标距离,计算目标物体mask区域内的像素点到双目相机的距离,通过计算像素点距离的平均值为目标物体到相机的距离。
[0073]
步骤3.5,计算目标宽度,计算mask区域边缘像素对应depth图像中目标物体边缘的最大宽度为目标物体的宽度。通过计算的宽度值判断目标是否在机械臂抓取范围内。

技术特征:
1.一种基于mask r-cnn和双目相机的机器人目标定位和抓取方法,其特征在于,它包括以下步骤:步骤1:进行相机的标定;步骤2:进行目标的识别与分割;步骤3:进行目标的定位;步骤4:进行目标的位姿计算;步骤5:进行目标的抓取;在步骤2中,将双目结构光相机采集的rgb图像作为输入图像送入预先训练好的卷积神经网络mask r-cnn模型中,通过模型输出图像中目标物体的检测框和mask,通过对目标物体进行像素点分割,提取目标区域,过滤背景干扰信息。2.根据权利要求1所述的方法,其特征在于,在步骤2中,目标识别与分割使用mask r-cnn模型对目标物体识别与分割,模型构建及识别步骤如下:2-1)进行目标物体数据集的采集,根据需要抓取的目标物体类别,从不同的环境、不同的角度、不同的亮度、不同的姿态下对目标物体进行数据集采集;2-2)数据增强,采用传统图像几何变换数据增强和利用gan进行生成式数据增强相结合的方法对数据集进行扩充,对于传统的图像几何变换方法,采用随机裁剪、水平翻转、图像倾斜、添加噪声、图像缩放的对采集的数据集通过亮度变换、添加噪声、剪切、旋转等操作扩充数据集;2-3)进行目标数据集的标注,使用图像标注工具对采集的图像进行标注;2-4)进行mask r-cnn网络模型的优化;2-5)进行模型迁移学习训练,使用迁移学习方法,将自制好的数据集载入优化后的网络模型中,同时载入使用coco数据集预训练的模型,提高模型收敛,通过参数优化,对模型进行迭代训练,生成目标识别及分割模型;2-6)对目标进行识别与分割,从双目相机拍摄的视频流中截取rgb图像传入mask r-cnn模型中,通过模型识别待抓取的目标物体类别及目标位置,对目标进行分割,输出目标的mask区域。3.根据权利要求2所述的方法,其特征在于,在步骤2-4)中,在进行mask r-cnn网络模型的优化时,采用以下步骤:(1)进行特征提取网络的修改,通过减小网络层次提高目标识别的速度;(2)进行rpn区域建议网络的修改,修改锚点尺寸,使模型集中在指定比例中计算,把超出原图尺寸的anchor boxes剔除,通过非极大值抑制(nms)方法进一步筛选得到感兴趣区域;(3)进行损失函数的修改;mask r-cnn损失函数为l=l
cls
+l
box
+l
mask
,其中,l
cls
为分类损失函数,l
box
为检测损失函数,l
mask
为分割损失函数,在l
mask
中加入边界损失函数,利用距离损失对分割的位置、形状和连续性进行正则化,使其更加接近目标边界;l
mask-edge
优化后的损失函数为
其中,l
edge
为边界损失函数,y表示标注的目标边缘,表示预测边界,α是权重系数,b为分割结果的边界,m
dist
为对ground-truth分割边界的距离变换。4.根据权利要求1所述的方法,其特征在于,在步骤1中,进行相机的标定以通过二维的图像信息来获取三维空间位置信息,具体包括以下步骤:1-1)进行标定板制作;1-2)进行图像的采集,改变标定板相对摄像机的位置和角度,使用待标定的摄像机从不同角度、不同位置、不同姿态,拍摄标定板多张照片;1-3)进行标定板角点的检测,得到标定板角点的像素坐标值,根据已知的棋盘格大小和世界坐标系原点,计算标定板角点的物理坐标值;1-4)进行相机内部参数和外部参数的求解。5.根据权利要求1所述的方法,其特征在于,在步骤3中,将双目相机采集的depth图像和rgb图像对齐,计算rgb图像中的目标mask区域像素点在depth图像中距离双目相机的红外镜头的平均距离,从而得到目标物体的距离,通过计算mask区域边缘像素对应depth图像中目标物体边缘的最大宽度为目标物体的宽度,计算的宽度值判断目标是否在机械臂夹取范围内。6.根据权利要求5所述的方法,其特征在于,在步骤3中,具体包括以下步骤:4-1)获取rgb图像和depth图像;4-2)将depth图像和rgb图像对齐,使得rgb图像中的像素点与depth图像目标点一一对应;4-3)对目标图像背景信息进行过滤,根据步骤2-4)输出的目标物体的mask区域对图像背景区域进行过滤;4-4)计算目标距离,计算目标物体mask区域内的像素点到双目相机的红外镜头之间的距离,求距离的平均值为目标物体到相机镜头的距离;4-5)计算目标宽度,计算mask区域边缘像素对应depth图像中目标物体边缘的最大宽度为目标物体的宽度,通过计算的宽度值判断目标是否在机械臂抓取范围内。7.根据权利要求1所述的方法,其特征在于,在步骤4中,在进行目标位姿计算时,使用手眼标定法,以机器人机械臂的臂肩为坐标原点建立空间坐标系,将目标物体在以相机为原点的坐标系中的坐标值转换到该坐标系中的坐标值,其中手眼标定利用九点标定法进行标定,可确定摄像机坐标系和机器人末端坐标系的转换关系。8.根据权利要求1所述的方法,其特征在于,在步骤5中,驱动机器人到达目标所在区域,调整机器人与目标物体之间的距离,使目标物体在机械臂末端的夹取器可捕获范围内,通过机器人逆运动学求解各关节角姿态,最后通过控制机械臂各关节转动角度实现目标物体的抓取。

技术总结
一种基于Mask R-CNN和双目相机的机器人目标定位和抓取方法,它包括以下步骤:步骤1:进行相机的标定;步骤2:进行目标的识别与分割;步骤3:进行目标的定位;步骤4:进行目标的位姿计算;步骤5:进行目标的抓取;在步骤2中,将双目相机采集的RGB图像送入预先训练好的卷积神经网络Mask R-CNN模型中,通过模型输出图像中目标物体的位置和Mask。在步骤3中,将相机采集的RGB图像和DEPTH图像对齐,通过计算目标物体Mask区域内的像素点到双目相机之间的平均距离为目标物体到相机的距离。在步骤4中,通过机器人手眼标定将像素坐标和深度信息转换到机器人基坐标系下,通过机器人逆运动学求解各关节角姿态,驱动机器人运动完成抓取搬运任务。务。务。


技术研发人员:周登科 史凯特 汤鹏 于傲 郑开元 张亚平 李哲
受保护的技术使用者:中国长江三峡集团有限公司
技术研发日:2021.11.19
技术公布日:2022/3/7

最新回复(0)