一种基于单目视觉的反光零件位姿估计方法

文档序号:30390068发布日期:2022-06-11 14:13阅读:129来源:国知局
一种基于单目视觉的反光零件位姿估计方法

1.本发明涉及视觉检测技术领域,特别涉及一种基于单目视觉的反光零件位姿估计方法。


背景技术:

2.金属零件广泛应用于很多产品。为了能够让计算机识别并定位金属零件对许多机器人应用来说是一个必备的能力,例如抓取、装配以及质量检测。然而,金属零件的无纹理属性给传统的位姿估计方法带来了很大挑战,因为传统的视觉方法过度依赖于可靠的视觉特征。观察到的反光金属零件的外表很大程度上取决于光照条件以及周围物体。光照方位的细小变化,相同特征的反光零件也会呈现物体表面颜色很大的变化。除此以外,零件自身或者周围的零件也会对物体产生额外的奇异性。更进一步的说,堆叠零件的部分遮挡也应该被考虑进去。许多位姿估计方法需要通过主动投影编码模式来获取深度信息,但这种方式对反光零件无效因为这种投影的模式可能会产生误导性的反射或者甚至测不出来。因此,能够直接只依赖颜色信息就能算出位姿的方法很重要。深度学习的方法很稳定,但是实现这些方法需要大量的训练数据,并且需要大量的手动标注数据工作。为了克服这个限制,很有必要利用仿真数据来进行训练,并且标注数据能够自动完成。研究从单张图片中获取物体位姿是一个很重要的话题。一般方法会指定一个刚体以及一组配对点从二维图像上的配对点以及它对应的三维点。在这个领域,有很多方法以及被提出。这种类型的问题通常成为pnp。这种方法的缺点是不能处理无纹理物体。
3.hinterstoisser等人第一次利用量化的颜色梯度和表面法向量特征来估计无纹理物体的位姿。hodan等人提出基于模板匹配的方法。zhang等人通过使用边缘信息来估计物体位姿。wohlhart等人利用网络来提取特征。kehl等人提出利用基于ssd网络架构的ssd-6d来预测物体位姿。tekin等人使用架构来预测2d坐标最终还原物体位姿。
4.当前主流的物体检测方法依赖于卷积神经网络。然而,为了让网络训练效果较好,需要大量有标记的训练数据。采集数据通常需要花费大量时间。因此很多人想用仿真数据集。但是仿真数据方法一般没法生成真实摄像头产生的效果。仿真数据和真实数据的差距很大。nvidia提出了通过区域随机化和真实感数据来缩小仿真数据和真实数据之间的差距。但是这个方法不能很好的建模高反光零件。许多现在的位姿检测方法使用监督学习技术。但是标注数据集需要大量的劳动力并且标注的数据的精准度很难保证。像素级的标注一般用labelme来进行手动标注。easylabel是一个半自动化的标注工具来提取精确的物体掩码。据我们所知,目前没有数据集是自动标注的。获取标注信息的真值不是个容易的工作。对于大多数目标分类或者目标检测的任务,真值标注一般都是人手动完成。为了能够更好的对物体位姿估计进行研究,大规模的带有标注数据的数据集是很有必要的。
5.在关键点方面的数据集里面,一个比较出名的数据集是pascal3d+。设计了一个matlab工具来标注物体的关键点。在pascal3d标注过程中,先加载一个物体的cad模型,然后在图像上标注模型对应的关键点。但是人工标注关键点误差较大。
6.目前的单目位姿估计的数据集要么采集现实数据,但工作量大,要么仿真数据,但不能很好的展现反光属性。在数据标注方面,一般采用手动或者半自动标注,精度很难保证,且工作量大。


技术实现要素:

7.本发明提供一种基于单目视觉的反光零件位姿估计方法,旨在解决现有反光零件位姿估计过程精度很难保证,且工作量大的问题。
8.本发明提供一种基于单目视觉的反光零件位姿估计方法,包括以下步骤:
9.s1.建立仿真数据集,仿真数据集中的每个图片包含多个反光零件,每个反光零件都标注有掩码和关键点,通过仿真数据集训练卷积神经网络,得到物体检测网络和关键点检测网络;
10.s2.通过物体检测网络检测出目标物体;
11.s3.对目标物体上的感兴趣区域,通过关键点检测网络来预测语义关键点的坐标,并在仿真图中自动标注关键点;
12.s4.根据预测的关键点坐标以及关键点的三维信息,估算目标物体的位姿信息。
13.作为本发明的进一步改进,所述步骤s1中仿真数据包含灯光变化、背景变化、反光属性的情况。
14.作为本发明的进一步改进,所述步骤s1中仿真数据使用仿真软件通过将反光零件的cad模型放入有物理限制的虚拟三维背景场景中,背景场景用真实场景来着色,cad模型被放置在不同的位置和方位上。
15.作为本发明的进一步改进,所述步骤s1中,掩码标注使用blender生成没有任何背景的图像,且反光零件模型被设置成非金属属性的材料,二值化每个零件,找到每个零件的轮廓并填充。
16.作为本发明的进一步改进,所述步骤s1中,数据集包含各种不同场景的图片,使用从实际场景中拍得的图片作为背景,然后产生各种不同背景的仿真图片,以获得不同的带关键点标记的训练图片。
17.作为本发明的进一步改进,所述步骤s3中,语义关键点的坐标的预测包括通过一张图片,一个关键点检测网络回归出该图片中各关键点的置信度图,关键点的位姿为该置信度图的最大值的坐标。
18.作为本发明的进一步改进,所述置信度图是固定尺寸的i*j*k维的立方体,k代表的事关键点的数目,在训练时,标记的基准值是每个关键点被放置在有固定方差的利用高斯分布置信度图,使用均方误差来惩罚预测的置信度图与仿真的置信度图之间的差距。
19.作为本发明的进一步改进,所述步骤s3中仿真图的生成包括:
20.单独生成无任何背景且对应零件的png图片格式图,并把png图片分成4个通道:rgb通道和alpha通道,用alpha通道来确认是否像素是该物体的,从而得到物体的边界框。
21.作为本发明的进一步改进,所述步骤s3中选择关键点时,选择代表该物体特征的关键点:对于平的表面,选择离散沿着边缘的点作为语义关键点;对于曲面或者对称的反光金属零件,选择沿着骨架离散的点作为语义关键点。
22.作为本发明的进一步改进,所述步骤s4还包括:对于预测关键点坐标的位姿误差,
通过pnp结合ransac来剔除外点。
23.本发明的有益效果是:本发明通过卷积神经网络进行物体的检测,在物体检测方面有很好的效果;建立仿真数据集来更加精确地进行物体位姿估计,保证了精度;关键点标注过程自动运行来避免过于累人的手动操作,减少了工作量。
附图说明
24.图1是本发明一种基于单目视觉的反光零件位姿估计方法的工作流程图;
25.图2是本发明中自动标注的过程图;
26.图3是本发明中不同金属零件选择不同关键点的示意图;
27.图4是本发明中不同背景场景与cad模型结合的仿真图;
28.图5是本发明中获得目标物体位姿的过程图。
具体实施方式
29.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
30.如图1所示,本发明的一种基于单目视觉的反光零件位姿估计方法,包括以下步骤:
31.s1.建立仿真数据集,仿真数据集中的每个图片包含多个反光零件,每个反光零件都标注有掩码和关键点,通过仿真数据集训练卷积神经网络,得到物体检测网络和关键点检测网络;
32.s2.通过物体检测网络检测出目标物体;
33.s3.对目标物体上的感兴趣区域,通过关键点检测网络来预测语义关键点的坐标,并在仿真图中自动标注关键点;
34.s4.根据预测的关键点坐标以及关键点的三维信息,估算目标物体的位姿信息。
35.先进行检测出目标物体,然后对感兴趣的区域,通过关键点检测网络来预测语义关键点的坐标。这两个阶段的卷积网络都是使用同一数据集来进行训练的。最后,根据预测的关键点的坐标以及关键点的三维信息,物体的位姿信息能够被估算出来。
36.用于检测物体的卷积神经网络是一个现成的神经网络mask-rcnn,该网络在物体检测方面有很好的效果。利用blender开源三维图形图像软件来自动生成仿真数据作为训练数据。
37.标注图像中目标物体的掩码需要大量的人力,因此提出了一种新的自动标注掩码的方法。自动标注的图如图2所示。
38.语义关键点估计方法是基于受利用关键点来预测人的位姿的方法。在系统中,一个高分辨率的卷积神经网络被用来预测金属零件的关键点。也让关键点标注过程自动运行来避免过于累人的手动操作。为了更加精确的物体位姿估计,建立了数据集。数据集中的每个图片包含多个金属零件,每个金属零件都标注有掩码和关键点。
39.目标物体上被预测的关键点可用来估计物体位姿。为了处理由于预测的关键点的坐标的误差,使用pnp结合ransac来剔除外点,以保证位姿的准确性。
40.物体检测(object detection):
41.因为很难用传统方法分割反光无纹理,使用深度学习网络mask-rcnn来实现它。mask-rcnn扩展了faster-rcnn模型来实现物体实例分割的。使用resnet50作为骨干的网络来提取特征。对于物体检测网络,使用仿真数据集来进行训练。使用仿真数据集可以避免训练在特定分布的数据集中过拟合。仿真数据应该包含各种情况:灯光变化、背景变化、反光属性。这些情况都可以在仿真软件中模拟出来。仿真数据是使用仿真软件通过将cad模型放入有物理限制的虚拟三维背景场景中。背景用真实场景来着色,此cad模型被放置在不同的位置和方位上。这些设置如图1所示。
42.在生成了目标检测的数据集之后,找到了一种像素级的自动标注的方法。对于数据集,自动掩码标注的主要的思想是使用blender来生成没有任何背景的图像,且模型被设置成非金属属性的材料比如塑料,二值化每个零件,然后找到每个零件的轮廓并填充它,填充的即为掩码。负有挑战的方面是找到每个金属零件的轮廓。因为工业零件在不同光照跟位置下,颜色不同。因此直接检测轮廓是困难的。如果模型的属性被设置为塑料的,那么即使光照变化,外表也是会相对稳定的。在产生了不同颜色的cad模型之后,可以找到每个实例的轮廓。
43.语义关键点检测(sementic keypoints detection):
44.图1展示了卷积网络架构的概貌。给一张图片,一个空间卷积网络将回归出该图的各关键点的置信度图。该置信度图池化为单个关键点的单置信度图。关键点的位姿置信度图的最大值的坐标。该网络被训练用来回归金属零件关节点的位姿。然而,不是直接回归关键点的位置。回归关节点的置信度图,每个关键点一张置信度图。置信度图是固定尺寸的i*j*k维的立方体。k代表的事关键点的数目。在训练时,标记的基准值是每个关键点被放置在有固定方差的利用高斯分布置信度图。使用l2 loss均方误差来惩罚预测的置信度图与仿真的置信度图之间的差距。
45.表示训练示例为{x,y},y表示关键点的坐标。给出训练数据n={x,y}以及卷积回归变量φ,训练目标变成了估计网络权重λ,如公式(1)。
[0046][0047]
其中,公式是以yk和σ为中心的高斯分布。
[0048]
受用于人体位姿估计的hrnet网络架构启发,我们使用该网络作为检测器来检测反光零件的语义关键点。hrnet在整个过程保持高分辨率。该网络并行的连接了从高到低分辨率的卷积网络。该模块是从高分辨率到低分辨率以及从低分辨率到高分辨率。局部和全局信息都可以获得并且组合在一起来确定点的位置。物体关键点的坐标是用置信度图表示的。
[0049]
使用的置信度图来描述关键点,如图2所示。人很难精确地标注物体的关键点,所以提出在仿真图中自动标注关键点。
[0050]
当产生仿真图时,可以单独生成无任何背景的对应零件的png图片格式的图。把png图片分成4个通道:rgb通道和alpha通道。因为该图片为无背景的图片,因为可用alpha通道来确认是否像素是该物体的,从而得到物体的边界框。
[0051]
如图3所示,当选择关键点的时候,应该选择一些可以代表该物体特征的关键点。
不同的金属零件选择不同的关键点。对于平的表面,我选择离散的沿着边缘的点作为关键点。对于曲面或者对称的金属零件,选择沿着骨架的离散的点作为语义关键点。
[0052]
如图4所示,数据集包含各种不同场景的图片。使用从实际场景中拍得的图片作为背景,然后产生各种不同背景的仿真图片。通过这种方式,可以获得不同的带关键点标记的训练图片。blender虚拟摄像头的内参可以被设置。以一种金属零件为例,通过此过程可以获得带有关键点坐标的训练图。
[0053]
姿势估计(pose estimation)
[0054]
如图5所示,对于无纹理的金属零件,它们的cad模型可以很容易在机械设计软件中获得。根据cad模型,可以获得三维关键点以及他们投影的二维关键点。三维模型是已知的,三维模型上的关键点的坐标也是已知的。图像中对应的关键点的二维坐标可以通过hrnet神经网络得到。但一些预测的关键点位姿误差较大。为了解决这个问题,采用pnp结合ransac来剔除外点,最终获得目标物体的位姿。
[0055]
物体检测表现(object detection performance)
[0056]
在目标物体检测部分,使用blender来生成20k张图片,每个图片包含了一些金属零件。所有的图片有不同的背景。mask-rcnn是用来检测物体的网络。使用仿真图片和标注的标签来作为训练数据。检测结果显示在图中的第二行。使用仿真数据来进行训练,并且用实际图片来进行测试。训练了resnet-50-fpn模型来分享rpn和mask-rcnn特征。mask-rcnn很快就能训练好。用resnet-50-fpn训练金属零件数据集需要32小时。网络基本骨干是resnet和fpn,深度是50,每一个批量的尺寸是16张图片。使用pytorch深度学习网络框架来训练模型,参数是351.1mb。
[0057]
语义关键点检测表现(semantic keypoints detection performance)
[0058]
设定金属零件检测框的长宽比为4:3。然后从图片中截取出该框所在位置的图片。
[0059]
在圆柱金属模型上选择了47个关键点,并将这些三维关键点投影到二维图像上,用卷积网络来进行训练和测试。在这个部分,有大概20000张不同物体位姿的图片。一个随机的90%和10%的拆开可用来关键点的训练和测试。预测目标物体关键点的顺序由目标检测的置信度来决定。更好的检测置信度表明了更好的被检测出来。
[0060]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1