确定物体姿态的方法和系统转让专利

申请号 : CN201110422168.8

文献号 : CN102589525B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·拉姆阿里加姆A·维拉拉哈瓦恩田口裕一C·O·图兹尔N·施罗菲

申请人 : 三菱电机株式会社

摘要 :

本发明涉及确定物体姿态的方法和系统。通过利用照相机获取物体的多组图像来确定物体的姿态,其中物体在表面上布置有螺纹,使得该物体的局部区域大致呈现球面,其中照相机针对每一组图像都处于不同的视点,并且其中在从不同的方向照亮场景的同时获取各组中的各个图像。从各个图像中提取一组特征,其中所述特征对应于具有朝向照相机的法线的弯曲区域上的点。针对各个图像,将参数形状拟合至所述点,其中直线位于结合了照相机中心和物体的轴的平面上。然后,向参数形状应用几何约束,以确定物体的姿态。

权利要求 :

1.一种用于确定物体姿态的方法,其中所述姿态是物体的位置和朝向,其中所述物体是镜面的,该方法包括以下步骤:利用照相机获取所述物体的多组图像,其中所述物体具有弯曲区域,其中所述弯曲区域的曲度是 其中r是所述弯曲区域在特定点处的半径,并且D是所述弯曲区域的中心与所述照相机之间的距离,并且其中所述照相机针对各组图像处于不同的视点,并且其中在从不同方向照亮场景的同时获取各组中的各个图像;

从各图像提取一组特征,其中所述特征对应于所述弯曲区域上的法线朝向所述照相机的特定点;

针对各个图像,将参数形状拟合至所述特定点;以及对所述参数形状应用几何约束,以确定所述物体的姿态。

2.根据权利要求1所述的方法,其中所述照相机布置在机器人的臂上,并且该方法还包括根据所述姿态抓取所述物体的步骤。

3.根据权利要求1所述的方法,其中所述照相机具有围绕镜头布置的一组点光源。

4.根据权利要求3所述的方法,其中照明来自所述一组点光源,并且各组图像包括利用环境光获取的环境图像,并且该方法还包括以下步骤:从所述组中的各个其它图像中减去所述环境图像;

在所述减去步骤之后确定最小照明图像;以及

由所述最小照明图像确定比值图像以检测镜面。

5.根据权利要求1所述的方法,其中所述物体被放置在具有多个相同物体的箱子中。

6.根据权利要求1所述的方法,其中所述特定点处的曲率K是K=1/r,其中r是半径。

7.根据权利要求6所述的方法,其中所述曲率是高斯曲率,并且是主曲率的乘积k1k2。

8.根据权利要求1所述的方法,其中所述物体是螺钉,并且所述弯曲区域对应于圆锥螺旋形螺纹。

9.根据权利要求1所述的方法,其中所述物体是螺栓,并且所述弯曲区域对应于螺旋状螺纹。

10.根据权利要求1所述的方法,其中所述参数形状是直线,并且所述直线位于接合所述照相机的中心和所述物体的轴的平面上。

11.根据权利要求1所述的方法,其中所述拟合利用随机抽样一致性方法的变型。

12.根据权利要求1所述的方法,其中所述几何约束是由以直线相交的三个平面的相关性产生的秩2约束,并且所述几何约束用于确定所述物体的姿态。

13.一种用于确定物体姿态的系统,其中所述姿态是物体的位置和朝向,其中所述物体是镜面的,该系统包括:照相机,其用于获取所述物体的多组图像,其中所述物体具有弯曲区域,其中所述弯曲区域的曲度是 其中r是所述弯曲区域在特定点的半径,并且D是所述弯曲区域的中心与所述照相机之间的距离,并且其中所述照相机针对各组图像处于不同的视点,并且其中在从不同的方向照亮场景的同时获取各组中的各个图像;

提取装置,其用于从各个图像提取一组特征,其中所述特征对应于所述弯曲区域上的法线朝向所述照相机的特定点;

拟合装置,其针对各个图像将参数形状拟合至所述特定点;以及几何约束应用装置,其用于对所述参数形状应用几何约束,以确定所述物体的姿态。

14.根据权利要求13所述的系统,其中所述物体被放置在具有多个相同物体的箱子中。

15.根据权利要求13所述的系统,该系统还包括:机器人的臂,其中所述照相机被布置在所述臂上;以及抓取装置,其用于根据所述姿态抓取所述物体。

说明书 :

确定物体姿态的方法和系统

技术领域

[0001] 本发明总体上涉及对物体姿态的确定,并且更具体地,涉及镜面的、大体呈圆柱形并具有如螺钉和螺栓上的螺纹的物体。

背景技术

[0002] 计算机视觉系统和方法常常用于如由工业机器人执行的自动化组装任务。然而,在许多工业环境中普遍存在的小而发亮或镜面化的物体仍对计算机视觉应用提出巨大挑战。具有像镜子那样透明或半透明表面的物体具有经常被作为噪声源对待的材料特性,并且传统的技术试图抑制噪声。这意味着由于难以抑制这些材料,传统的计算机视觉技术而不能处理高度镜面化或明显呈半透明化的物体。
[0003] 计算机视觉已经被应用于从箱中拾取零件,其中主要问题是确定物体在具有很多相同物体的箱中的姿态。如本文中所定义的,6D姿态是物体的3D位置和3D朝向。由于工业部件的金属表面的镜面反射以及很多相同物体在杂乱的箱中的遮蔽,计算机视觉系统的开发具有很大挑战。
[0004] 基于模型的姿态估计确定3D模型与2D图像的对应性。但是,对于具有无定形表面的工业部件来说,很难获得3D-2D点对应。当多个相同的物体在箱中彼此重叠并出现遮蔽时,这种情况特别严重。
[0005] 物体轮廓提供了关于物体形状和姿态的丰富信息。已知多种轮廓匹配方法。然而,对于镜面物体来说,由于物体在图像中不具有它们自身的外观,相反,这些物体反射周围的环境,因此在杂乱的箱中获得轮廓信息是困难的。
[0006] 距离传感器被广泛用于姿态估计问题。距离数据可以用于生成和校验如线缆的柔性工业部件的物体位置和形状。然而,在存在镜面化的情况下,距离传感器不能生成精确的深度图,并且与基于照相机的解决方案相比更昂贵。
[0007] 有源照明模式可以大大地帮助计算机视觉方法。例如,可以将利用变化的照明条件观察到的斑点的亮度用于估计表面斑点的朝向,并然后将它们与3D模型进行匹配。
[0008] 如上所述,在机器视觉方法中,镜面通常被作为噪声源对待。大多数方法识别镜面并将它们作为噪声移除。
[0009] 针对高度镜面化和像镜子那样的表面的一种图像不变方法利用了表面法线在零曲率的区域处不改变的事实。对于大多数工业物体来说,由于物体通常由多个平面和一些角部组成,并且在这些角部和结合部存在着关于这些物体的独特信息,因此这个方法并不是非常实际的特征。

发明内容

[0010] 本发明的实施方式提供了一种用于从2D图像识别3D物体和它们的6D姿态的方法和系统。该方法和系统可以用于计算机视觉辅助机器人组装。具体地说,所述物体高度镜面化或如镜子那样。
[0011] 如果照明源移动,则镜面高光移动与表面曲率成反比的距离。这使得能够提取这些区域并利用这些区域作为物体特征。
[0012] 使用多闪光照相机(MFC)作为移动照明源。当获得了来自多个视点的图像时,可以进行三角测量并获得物体的6D姿态。在具有抓取臂的机器人系统中,可以针对杂乱的箱子中的发亮螺钉或螺栓执行自动化检测和姿态估计,分别获得小于0.5mm和0.8°的位置误差和朝向误差。
[0013] 在示例应用中,物体是杂乱的箱子中的小金属螺钉。这些螺钉形成了在多个制造工艺中使用的最基本的物体。每年制造的螺纹螺钉比其他任何机器部件都多。
[0014] 在传统的组装线中,螺钉被以已知姿态放置在部件容器中,并且由机器人抓取器来操纵这些螺钉。该操作需要如送料器的针对每一种螺钉类型专门设计的硬件,或者手动地执行。
[0015] 大多数螺钉是金属的并且发亮,因此传统的机器视觉方法不能容易地处理螺钉。此外,由于杂乱和遮蔽,对箱子中的螺钉进行姿态估计是非常有挑战性的问题。利用我们的方法,可以从杂乱的箱子的图像中提取出物体的镜面特征。通过匹配多个图像中的同一个螺钉的特征来估计该螺钉的姿态。这种匹配特别困难,因为整个箱子包括了很多处于各种姿态的相同螺钉。为了解决这个问题,利用来自以一条直线相交的三个平面的相关性的秩为2的约束,以建立用于姿态估计的对应性和三角测量。

附图说明

[0016] 图1是依据本发明实施方式的用于确定物体姿态的系统的示意图;
[0017] 图2是根据本发明实施方式的用于确定物体姿态的方法的流程图;
[0018] 图3是根据本发明实施方式的从圆柱形物体反射的线的分析的示意图;
[0019] 图4A至图4B是比较高曲率区域和低曲率区域处的镜面高光区的示意图;
[0020] 图4C是根据本发明实施方式的具有局部球面区域的螺栓的示意图;
[0021] 图4D是根据本发明实施方式的螺纹的一部分的横截面图;以及
[0022] 图5是根据本发明实施方式的位于结合了照相机的投影中心和螺钉的轴的平面上的检测到的镜面线段的示意图。

具体实施方式

[0023] 图1示出了根据本发明实施方式用的于确定物体姿态的系统100和方法200。具体地,物体是被放置在具有很多相同螺钉的箱子105中的金属螺钉或螺栓102。例如,该箱子包含大约二百个25mm的M4螺钉,参见ISO68-1和ISO261。
[0024] 我们使用六轴工业机器人臂110,在该机器人臂上安装有多闪光照相机120。MFC具有围绕镜头布置的多个点光源,并且在利用各个光源照亮场景的同时获取图像,参见美国专利7,738,725,此处以引用的方式并入本文中。
[0025] 利用棋盘模式来内部地和外部地校准MFC。执行抓取器与照相机的校准,使得机器人臂可以使用抓取器来与物体交互并抓取物体。
[0026] 图2示出了方法200的步骤。该方法可以在包括现有技术已知的存储器和/或输入/输出接口的处理器中执行。我们针对N个照明源中的每一个并且多视点地获取210箱子的图像,并提取220镜面特征。图2示出了我们的方法200的概述。
[0027] 我们在多视点的图像中识别230与同一个螺钉相对应的线,并通过重构250螺钉的3D轴来估计螺钉的姿态。然后,抓取器利用估计出的姿态抓取240螺钉,并执行随后的组装任务。
[0028] 镜面特征提取
[0029] 反射分析
[0030] 图3示意性地示出了对照相机120和光源301的分析。点P被设置在任意一维曲线C上。使r为密切圆在点P处的半径。则P处的曲率K是:
[0031] K=1/r (1)
[0032] 考虑点P处的ε球形邻域。如果ε足够小,则为了分析的目的假定该邻域中的曲率是恒定的。考虑以密切圆O的圆心为原点的二维坐标轴,Y轴穿过P,并且X轴与T正交。该ε球形在A和B处与曲线C相交,其中
[0033]
[0034] 现在,考虑Y轴上从照相机朝向A的射线。照相机中心在(0,y0)处,y0>>ε。这意味着可以将来自照相机中心的射线视为与y轴302平行,如图3所示。该射线在A处以角度θ与法线对向,并与法线成角度θ反射。
[0035] 对称分析适用于点B。这表明,如果将光源布置在[-2θ 2θ]的锥体中的任何地方,则照相机接收来自该ε邻域的镜面反射。对于固定的锥体[-2θ 2θ]来说,通过假定照相机距离得远,ε邻域的尺寸与所述点的曲率成反比,ε=(2/k)sin(θ/2)。
[0036] 随着曲率增大,在所述点的小邻域中,反射可见,见图4A。相反,当曲率几乎平坦时,也就是曲率接近零时,在所述点的邻域中,反射不可见,见图4B。下面,将描述利用上述事实来检测物体的高曲率区域上的特征点的方法。该分析假定镜面反射。当考虑高光波瓣(specular lobe)时,射线锥体可以增加额外的2σ,其中σ是高光波瓣的宽度。
[0037] 可以将该分析扩展至二维表面S。主曲率被定义为在给定点处沿各个方向测量的曲率的最小值和最大值。表面的高斯曲率K是主曲率的乘积,如下:
[0038] K=k1k2 (3)
[0039] 同样,对于二维表面来说,随着所述点处的高斯曲率增大,在所述点的较小邻域中,反射可见。主曲率必须大,以观察小邻域中的反射。例如,具有小半径的球面是具有对于该球面上的所有点来说都很大的两个主曲率(k1=k2=1/r)的表面。因此,在小的邻域中,反射可见。相反,圆柱形物体上的点的高斯曲率是零,这是因为表面仅在一个方向上弯曲。因此,在最接近的邻域中,反射可能不可见。
[0040] 基于MFC的特征提取
[0041] 特征提取过程确定镜面上具有大高斯曲率的点,其在两个方向上具有弯曲(即,沿着两个主曲率),其中法线朝向照相机。尽管第二个要求好像是限制,但实际上高曲率区域跨越大量的表面法线。这些特征为下面描述的3D重构和姿态估计提供了充分的信息。
[0042] MFC是基于有源照明的照相机,其包括围绕照相机以圆形布置的八个点光源(LED)。当围绕照相机的不同LED闪光时,表面上的镜面高光区根据局部曲率而移动。从上面的分析中,可以清楚地知道,对于具有高表面曲率的全部点来说,镜面高亮区保持在非常局部的邻域中。
[0043] 我们利用这个提示来检测与物体上具有朝向照相机的法线的高曲率区域相对应的像素。这些像素充当物体的3D形状和该物体相对于照相机的姿态所特有的特征。
[0044] 镜面特征提取过程的步骤如下。获取与八个闪光相对应的八个图像。针对三个视点重复该步骤。还获取了没有闪光的一个图像。然后,从每一个闪光图像中减去没有闪光的环境图像,以消除环境照明的影响。因此,存在总共25个图像(3×8)+1。
[0045] 在减去环境光之后,在第i个LED的闪光时间过程中,获取图像Ii。使用图像Ii中每一个像素处的最小强度来构建最小照明图像Imin(x,y)=miniIi(x,y)。该最小照明图像类似于表面反照率。因为所考虑的表面高度镜面化并且镜面高光区在图像上移动,因此对于全部镜面区域来说,最小照明图像都看起来都较暗。
[0046] 确定减去环境光的图像与最小照明图像的比值图像,RIi=Ii/Imin。在理想情况下,非高光区中的比值保持接近于1。而具有镜面高光区的区域中的比值远远大于1。采用该信息来检测各闪光图像中的高光区(镜面)。
[0047] 如上所述,在变化的闪光位置的情况下,高曲率区域处的镜面高光区保持在小的邻域中,如图4A所示。而高亮区在低曲率(平坦)区域中移动很大的量,如图4B所示。
[0048] 选择ε邻域,并确定在ε邻域中观察到镜面高光区的闪光图像的数量。对于与高曲率区域相对应的像素,镜面高光区保持在ε邻域中,因此在全部MFC图像中都在该ε邻域中观察到镜面高光区。
[0049] 对于对应于低曲率区域的像素,镜面高光区移动到ε邻域外部,因此在ε邻域中观察到镜面高光区的图像的数量小于八个。由于针对最小图像的归一化,自动地过滤与Lambertian表面相对应的像素。
[0050] 姿态估计
[0051] 螺钉或螺栓上的镜面特征
[0052] 螺钉和螺栓通常是形状大致为圆柱形的物体。如这里定义的,大致的圆柱形包括圆锥形物体以及满足以下条件的任何物体,即,物体的圆直径基本上小于其长度并且物体关于其轴对称。
[0053] 如上所述,与物体的轴垂直的方向上的曲率高,在与轴平行的方向上小。这使物体的高斯曲率小。现在考虑在表面上增加螺纹的效应。
[0054] 螺纹
[0055] 螺纹通常被近似为螺旋(或圆锥螺旋线),向物体主体上的全部点提供高曲度,即使位于与轴几乎平行的方向上的点也如此。这确保了镜面高光区与照明方向无关地在ε邻域中可见。如上所述地提取镜面特征。
[0056] 因此,螺纹的效应是以高曲度或表面法线的高变化率使螺钉或螺栓的局部区域呈现为大致的球面420。在图4C中示出该现象。例如,如果180°的曲率在图像中50至10个像素处可见,则曲度大,如果曲率延展超过100个像素,则曲度小。
[0057] 图4D还例示了螺纹的小横截面部分的这种效应,其中k1和k2是主曲率,并且区域420呈现为球面。
[0058] 如图1所示,螺钉的形状大致为圆柱形。如上所述,根据我们对圆柱形物体的定义,圆柱形物体包括圆锥形物体。位于圆柱体表面上的线501表示检测到的镜面特征。值π表示由具有照相机C1和C2的中心的这些线形成的线。在具有朝照相机定向的法线的高曲率区域上检测到镜面特征。以螺旋来近似螺钉形状,螺旋上朝向照相机的点沿直线布置。此外,该直线位于结合了照相机的中心和螺钉的轴的平面上。
[0059] 例如,如果曲度 则表面高度弯曲,其中r是特定点处弯曲区域的半径,并且D是弯曲区域的中心和照相机之间的距离。
[0060] 以线段来表示螺钉上的镜面特征。对于参数形状拟合,利用公知的“随机抽样一致性”(RANSAC)方法的变形。RANSAC是用于从一组包含局外值(outlier)的观测数据来估计模型的参数的迭代方法。该方法是不确定的,并基于迭代次数以一定概率产生合理的结果。
[0061] RANSAC方法首先选择点的小子集和这些点的方向,RANSAC方法初始假定多种直线。通过由在少量剩余的点中满足直线方程并形成连续结构的一组点来提供对直线的支持,并形成连续的结构。保留保持具有最大支持的线段,并利用缩小减小的组集来重复该过程迭代程序,直至提供支持的点太少为止。RANSAC方法为每一线段提供局内值(inlier)。然后我们利用对局内值点的最小平方估计评估来改善每一线段。
[0062] 姿态估计
[0063] 为了估计螺钉的姿态,重构与螺钉的轴相对应的3D线,该3D线唯一地确定螺钉的位置和朝向(姿态)。从多个照相机视点来确定镜面特征。如上所述,检测到的镜面线段位于结合了第i个照相机的投影中心和螺钉的轴的平面πi上,如图5所示。这些平面的相交提供了对与螺钉的轴相对应的3D线的重构。
[0064] 利用三个视点的3D线重构
[0065] 3D参数线和该3D参数线在多视点地获取的图像中的相应投影之间的对应性是公知的。向线(参数形状)应用几何约束来确定与在三个视点上的同一个螺钉相对应的线,并重构3D线。
[0066] 线投影的几何形状
[0067] 考虑3维空间中的直线L,在三个视点中将其成像。使li作为L在视点i中的投影,并且使Pi作为视点i的投影矩阵。利用该投影矩阵,可以将图像点反投影至穿过世界坐标系中的照相机中心的射线。该直线在图像面中的两个端点可以被反投影为单独的射线。另选地,图像线li的反投影对应于视点i中的平面作为πi
[0068] πi≡AiX+BiY+CiZ+Di=0 (4)
[0069] 其中,A至D是任意常量。
[0070] 确定对应性
[0071] 由于在箱中存在多个螺钉,因此需要从不同的视点识别与同一个螺钉相对应的线。利用三个任意面通常不在一条线处相交的特性.来获得对应性。几何相交约束由以下要求表示,即,由三个面的系数定义的4×3矩阵
[0072]
[0073] 将具有秩2。如果方程(5)的四个3×3子矩阵的行列式是零,则满足该几何约束。实际上,由于图像测量中(甚至是对应的线的测量)的噪声,这些子矩阵的行列式也不是零,但很小。因此,将对于每三个一组的线的四个行列式值的和确定为对应性成本,并选择最小成本。
[0074] 3D线的重构
[0075] 在确定与同一个螺钉相对应的三条线之后,确定通过该螺钉的轴的3D线。3D的直线方程为:
[0076] X=X0+λX1, (6)
[0077] 其中X0是该线上的点,并且X1是该线的方向。如果可能,线的方向被确定为垂直于全部平面法线。这可以通过求解AX1=0获得。通过与矩阵A的最小奇异值相对应的右奇异向量给出最小平方的最优解。选择X0作为最靠近三个平面的点。该点可以经由AX0=-b的最小平方求解找到。
[0078] 退化结构
[0079] 如果两个平面接近于平行,则无论其它面如何,方程(5)中的矩阵的秩接近2,导致难以确定对应性。因此,通过检查两个平面的法线之间的角度来忽视这种平面对。这主要在螺钉的轴与两个照相机位置之间的平移对准时出现。如果随机选择三个照相机视点,则照相机对之间的全部三个平移方向变成退化方向。为避免这种情况,在直线上移动照相机,使得仅存在单个退化方向。此外,改变该运动方向,以在随后的拾取过程中以变化的姿态来处理螺钉。
[0080] 利用两个视点的3D线重构
[0081] 由于来自两个视点的两个非退化平面总是在线上相交,因此利用两个视点来确定对应性通常很难。然而,如果假定3D线位于世界坐标系中某一平面附近,则可以确定对应性。
[0082] 因此,与两个视平面一起使用Z=Z0平面,并且如在三个视点的情况相同的方式确定对应性成本。该成本支持位置Z接近Z0,并且角度接近水平的螺钉。在确定对应性之后,将3D线重构为两个视平面的相交,而不利用Z=Z0平面。
[0083] 姿态估计
[0084] 在利用方程(6)重构3D线之后,通过反投影各视点中的2D线的端点来确定与螺钉相对应的线段,并且确定反投影的观测光线和重构的3D线之间的交点。通过比较重构线段的长度与螺钉的物理长度,进一步验证重构的线段。将线段的中心点选择为3D抓取位置。
[0085] 最后,确定与螺钉头相对应的线段的端点。首先确定全部视点中的最大图像,简单而言就是确定八个图像中像素级最大值。螺钉头是相比较螺钉主体具有相对低曲率的平滑区域。因此,螺钉头上的镜面高亮区域在较大的邻域中移动,与螺钉尾部相比,交替的闪光在最大图像中产生更亮的斑点。
[0086] 本发明的效果
[0087] 本发明可以用于确定镜面物体的姿态。高镜面物体中的高曲率区域产生在很大程度上与照明源的位置无关的镜面反射,可以将此用作物体检测和姿态估计的独特特征。
[0088] 利用不昂贵的多闪光照相机来可靠地检测这种镜面特征。利用螺钉作为示例部件,并针对利用三角测量的姿态估计开发出基于两个视点和三个视点的方法。实施该方法针对工业机器人实施,并具有3D姿态估计的非常高的位置和角度精度。
[0089] 并不将镜面处理为噪声,而是将镜面处理为能够并确实增强检测镜面物体、识别镜面物体和与镜面物体交互的特征。对于镜面物体上的高曲率区域,这导致了非常一致且鲁棒的特征,这些特征可以用于可靠地执行机器视觉任务。
[0090] 由于物体中的高曲率区域具有跨越大角度范围的法线,因此不管照明位置如何,这些区域几乎总是产生镜面反射。对这些镜面反射的方向的检测用于指示物体表面上具有非常高的曲率的区域。
[0091] 多闪光照相机的使用有助于对这些镜面特征的检测和提取。这些高曲率区域为工业物体提供独特的特征,这些特征可以用于物体检测,识别和姿态估计。
[0092] 尽管已经以优选实施方式为例描述了本发明,但是可以理解,在本发明的精神和范围内,可以进行多种其他改变和修改。因此,所附权利要求的目的是涵盖落入本发明的真实精神和范围中的所有这种变形和修改。