CN113496525A - 通过2d相机的3d姿态估计 - Google Patents
通过2d相机的3d姿态估计 Download PDFInfo
- Publication number
- CN113496525A CN113496525A CN202110357289.2A CN202110357289A CN113496525A CN 113496525 A CN113496525 A CN 113496525A CN 202110357289 A CN202110357289 A CN 202110357289A CN 113496525 A CN113496525 A CN 113496525A
- Authority
- CN
- China
- Prior art keywords
- image
- pose
- training
- feature point
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/77—Determining position or orientation of objects or cameras using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种用于使用来自2D相机的2D图像和基于学习的神经网络来获得对象的3D姿态的系统和方法。神经网络从2D图像提取对象上的多个特征,并且生成为所提取的多个特征中的每一个生成热图,其通过颜色表示来标识对象上的特征点的位置的概率。该方法提供包括来自2D图像上的各个热图的各个特征点的特征点图像,并且通过比较特征点图像和对象的3D虚拟CAD模型来估计对象的3D姿态。
Description
技术领域
本公开总体上涉及一种用于使用2D相机获得对象的3D姿态的系统和方法,并且更具体地,涉及一种用于使用2D相机和基于学习的神经网络获得对象的3D姿态的系统和方法,其中该系统和方法具有用于机器人控制的特定应用。
背景技术
机器人执行包括拾取和放置操作的多个任务,其中机器人拾取对象并将对象从一个位置(例如传送带)移动到另一位置(例如收集箱),其中对象的位置和取向,称为对象的3D姿态,略微不同。因此,为了使机器人有效地拾取对象,机器人通常需要知道对象的3D姿态。为此目的确定对象的3D姿态的各种技术使用实时获得对象的3D图像的3D相机,其中3D图像识别到相机的视场中的许多点的距离测量,其被发送到机器人控制器。这些技术可使用结构化光构建场景的3D地图,然后通过识别对象的3D特征来搜索地图中的对象。使用3D照相机来确定用于机器人应用的对象的3D姿态已经被证明是有效的。然而,3D相机是昂贵的设备,并且通常比预期运行得更慢。
本领域已知的为机器人应用获得对象的3D姿态的一种技术采用2D相机。该技术拍摄场景的单个2D彩色图像,并使用全卷积架构来处理该图像。一种算法将图像划分成包括S×S个单元的2D网格并识别单元中的对象。该算法在图像中的每个对象周围投影边界框,并且预测该框的八个角的2D位置。然而,用于预测边界框的角的这种技术具有准确度的限制和对遮挡的低鲁棒性。
上面提到的用于确定对象的3D姿态的一些过程采用人工智能(AI),人工智能是计算机科学的一部分,其采用允许软件应用从其环境学习并从其作出决策以实现特定结果的算法。机器学习是AI的一部分,机器学习采用软件应用,该软件应用通过以迭代方式分析大量原始输入数据,以从数据中提取模式并允许软件应用学习执行任务而无需被专门编程来执行该任务,从而获取其自身知识。深度学习是一种特定类型的机器学习,其通过将特定的真实世界环境表示为日益复杂的概念的层次结构来提供更强的学习性能。
深度学习通常采用包括执行非线性处理的若干层神经网络的软件结构,其中每个连续层接收来自前一层的输出。通常,这些层包括接收来自传感器的原始数据的输入层、从数据中提取抽象特征的多个隐藏层、以及基于来自隐藏层的特征提取来识别特定事物的输出层。神经网络包括神经元或节点,每个神经元或节点具有"权重",该权重乘以节点的输入以获得某物是否正确的概率。更具体地说,每个节点具有一个权重,该权重是一个浮点数,该浮点数与该节点的输入相乘,以生成该节点的输出,该输出是该输入的某一比例。通过使神经网络在监督处理下分析一组已知数据,并通过最小化成本函数以允许网络获得正确输出的最高概率,来初始"训练"或设置权重。
深度学习神经网络经常被用来提供图像特征提取和变换,以用于图像中的对象的视觉检测和分类,其中视频或图像流可以由网络分析以识别和分类对象并且通过该过程进行学习以更好地分辨对象。因此,在这些类型的网络中,系统可以使用相同的处理配置来检测某些对象,并且基于算法如何学习识别对象来对这些对象进行不同的分类。
发明内容
以下讨论公开并描述了用于使用来自2D相机的2D图像和基于学习的神经网络来获得对象的3D姿态的系统和方法。神经网络从2D图像提取对象上的多个特征,并且为各个提取的特征中的每一个生成热图,其通过颜色表示来标识对象上的特征点的位置的概率。该方法提供包括来自2D图像上的多个热图的多个特征点的特征点图像,并且通过将特征点图像与对象的3D虚拟CAD模型进行比较来估计对象的3D姿态。
结合附图,从以下描述和所附权利要求,本公开的附加特征将变得显而易见。
附图说明
图1是包括机器人的机器人系统的示意图,该机器人从传送带拾取对象并将它们放置在料箱中,其中该系统采用用于拍摄对象的2D图像的2D相机和用于使用2D图像计算对象的3D姿态的控制器;
图2是示出了使用2D相机从对象获得数据集以训练神经网络的过程的流程图;
图3是包括多个节点的神经网络的示意图,每个节点具有可调整的权重;
图4是示出了用于使用已训练的神经网络的基于学习的神经网络过程的流程图,该过程使用对象的2D图像和神经网络来估计对象的3D姿态;
图5是描述透视n点(PnP)过程的示意图,该过程用于在图4所示的过程中确定对象的3D姿态估计;
图6是使用多个照相机以对对象成像的相机系统的示意图;
图7是用于使用多个2D相机来估计对象的3D姿态的系统的框图;
图8是描述PnP过程的示意图,该过程用于在图7所示的系统中估计对象的3D姿态估计;以及
图9是示出用于预测对象上的特征点的矢量场估计过程的流程图。
具体实施方式
本公开的实施例的涉及采用基于学习的神经网络的用于使用2D相机获得对象的3D姿态的系统和方法的以下讨论,本质上仅是示例性的,并且决不旨在限制本发明或其应用或使用。例如,该系统和方法具有用于确定由机器人抓取的对象的位置和取向的应用。然而,该系统和方法可以具有其他应用。
图1是机器人系统10的示意图,机器人系统10包括从传送带16拾取对象14并将它们放置在收集箱18中的机器人12。系统10意在表示可以从这里的讨论中受益的任何类型的机器人系统,其中机器人12可以是适合于该目的任何机器人。当对象14在传送带16上向下移动时,每个对象14在传送带16上相对于其它对象14具有不同的取向和位置。为了使机器人12有效地抓持和拾取对象14,需要能够在抓持对象14之前以适当位置和取向将末端执行器20放置在机器人12上。为了实现这一点,系统10包括相对于对象14设置在期望位置处的2D相机22,其向控制机器人12以移动末端执行器20的机器人控制器24提供2D图像。如下面将详细讨论的,机器人控制器24采用算法将来自相机22的2D图像转换成对象14的3D姿态,以便正确地引导末端执行器20。
如将要讨论的,为了使控制器24准确地确定对象14的3D姿态,在一个实施例中,在控制器24中运行的提取对象特征的算法和软件中采用基于学习的神经网络,其中神经网络需要用从代表性对象获得的数据来训练。图2是流程图30,其示出了使用2D相机40从与系统10中的对象14相同的对象32获得将用于训练神经网络的图像数据的过程。对象32被放置在具有适当数量的标记36的标记板34上,并且测量由线38表示的标记34和对象32之间的偏移距离,所述标记36具有特殊的可检测设计,其将被用于标识对象32的真实或实际位置,其中在板34上仅示出一个标记36。
相机40以不同的角度提供标记板34的一个或多个2D图像42,这里是四个图像。然后,该过程对图像42执行投影,以确定由坐标框架44标识的各个标记36中的一个的旋转和位置。然后,该算法将先前测量的标记36和对象32之间的偏移加到标记36的旋转和位置上,以确定对象32的旋转和位置。一旦确定了对象32的真实位置,就可以使用已知的特征点提取过程来计算对象32上的诸如拐角之类的特征点46的位置,其中需要最少四个特征点。采用例如高斯分布过程的算法查看在图像42中标识的每个特征点46并且生成该点46的"热图"48,其中每个热图48通过颜色强度来标识对象32的各个特征点中的一个存在于某个位置的概率。例如,图像42中的在其中特征点被认为存在的位置,诸如在区域50,将被分配某种颜色,诸如红色,并且随着特征点存在于远离区域50的位置处的概率降低,诸如在区域52中颜色变为例如蓝色。
然后,由2D图像42提供的数据和由图30中所示的过程生成的相应热图48被用来使用已知的AI训练方案来训练神经网络,所述AI训练方案然后将在系统10中用来识别对象14的3D姿态。图3是包括多个节点62的神经网络60的示意图,每个节点具有可调整的权重W,其中网络60旨在一般地表示本文所讨论的神经网络。神经网络60包括从2D图像接收单独像素数据的输入层64、识别2D图像的像素数据中的特征的多个残余块层66和68以及多个卷积层70,其中卷积层70中的每个节点62提供热图。注意,卷积层70和残余块层66和68是在深度学习领域中使用的标准模块。这些类型的卷积层由多个滤波卷积核组成,所述滤波卷积核对图像或先前卷积层的输入执行卷积操作,使得可从该输入中提取边缘、纹理或轮廓信息。残余块层是包含两个具有跳过连接的卷积层的结构,其中第二卷积层的输出被添加到第一卷积层的输入以用作块输出。
图4是流程图80,示出了在控制器24中运行的算法,该算法根据由照相机22拍摄的对象14的2D图像82,采用基于学习的神经网络78使用已训练的神经网络来估计对象14的3D姿态。图像82被提供给输入层84和多个连续的残余块层86和88,其包括在控制器24中的AI软件中运行的神经网络78中的前馈回路,该AI软件使用滤波过程提供图像82中的对象14上的可能的特征点的特征提取,例如梯度、边缘、轮廓等。包括所提取的特征的图像被提供给神经网络78中的多个连续卷积层90,其将从所提取的特征获得的可能特征点限定为一系列热图92,每个特征点一个热图,热图基于热图92中的颜色示出该特征点在对象14上存在的可能性。使用对象14的图像82来生成图像94,其包括来自所有热图92的所有特征点的多个特征点96,其中基于每个特征点96的热图92的颜色给该特征点分配置信度值,并且其中不使用置信度值不高于特定阈值的那些特征点96。
然后,在姿态估计处理器98中,将图像94与具有相同特征点的对象14的标称或虚拟3D CAD模型进行比较,以提供对象14的估计的3D姿态100。用于将图像94与CAD模型进行比较的一种合适的算法在本领域中称为透视n点(PnP)。一般来说,PnP过程在给定世界坐标系中的对象的一组n个3D点及其在来自相机的图像中的对应2D投影的情况下估计对象相对于经校准相机的姿势。姿态包括由对象相对于相机坐标系的旋转(滚动、俯仰和偏航)和3D平移组成的六个自由度(DOF)。
图5是在该示例中如何实现PnP过程以获得对象14的3D姿态的示意图104。该示意图104示出了在真正或真实位置处的表示对象14的3D对象106。对象106由表示相机22的相机112观察,并在2D图像平面110上投影为2D对象图像108,其中对象图像108表示图像94,并且其中图像108上的点102是神经网络78预测的表示点96的特征点。示意图104还示出了对象14的在与特征点96相同位置处具有特征点132的虚拟3D CAD模型114,其被随机放置在相机112前面并且在2D图像平面110上被投影为还包括所投影的特征点118的2D模型图像116。CAD模型114在相机112前面旋转和平移,该相机旋转和平移模型图像116,以试图最小化模型图像116上的每个特征点118和对象图像108上的相应特征点102之间的距离,即,对准图像116和108。一旦模型图像116与对象图像108尽可能最佳地对准,CAD模型114相对于相机112的姿态就是对象14的估计的3D姿态100。
对于图像108和116之间的各个对应特征点中的一个,该分析由等式(1)描述,其中等式(1)用于图像108和116的所有特征点。
其中,Vi是CAD模型114上的各个特征点132中的一个,νi是模型图像116中的相应投影特征点102,αi是对象图像108上的各个特征点102中的一个,R是CAD模型114相对于相机112的旋转,T是CAD模型114相对于相机112的平移,符号'是矢量转置,并且是指具有索引i的任何特征点。通过用优化解算器求解方程(1),可以计算最优的旋转和平移,从而提供对象14的3D姿态100的估计。
采用基于学习的神经网络估计对象14的3D姿态的上述过程提供了很高的准确性。然而,可以进行改进。例如,对象14在图像平面110上的2D投影在与相机112的光学z轴正交的x或y轴上的小像素误差导致z轴上的相对大的误差,这可能显著地产生对象位置不确定性并降低3D姿态估计性能。因此,本公开还提出一种3D姿势估计过程,其通过使用多个相机来减少z轴不确定性。
图6是包括相对于x、y和z坐标框架定向的第一相机122和第二相机124的相机系统120的示意图,其中z轴沿着相机122和124的光轴。示出了不确定区域126,其描述了来自相机122的图像能够估计对象14的位置的准确度限制,并且示出了不确定区域128,其描述了来自相机124的图像能够估计对象14的位置的准确度限制。如图所示,相机122和124在x和y轴上都是高度准确的,但是在z轴上的准确度是有限的,其中所有轴上的准确度取决于相机122或124与被成像的对象14之间的距离。然而,通过融合由相机122和124两者提供的3D姿态估计,估计对象14在z轴上的3D姿态的准确度被显著提高,如不确定区域130所示。换句话说,对于该示意图,相机122和124中的一个的z轴是另一相机122和124的x轴,使得估计过程的一般不确定性是x轴方向上的不确定性。
在该非限制性实施例中,相机122和124被定向成使得相机122和124的光轴彼此正交,并且具有从相机122或124到对象14的最佳距离,以提供最小不确定性区域130。然而,真实系统可能受限于相机122和124可以相对于彼此以z轴定位以及相机122或124与对象14之间的距离,以及可能导致非正交光轴和其他限制的其他限制因素,诸如照明、所使用的相机的类型等。在那些系统中,可能需要采用两个以上相机以将不确定性区域的大小减小到更接近于最小不确定性区域130。
图7是用于使用2D相机122和124以及上述类型的基于学习的神经网络来估计对象14的3D姿态的系统140的框图。以它们各自的角度,相机122提供对象14的2D图像142和相机124提供对象14的2D图像144。图像142被提供给处理器146和图像144被提供给处理器148,处理器146和148分别生成从它们的角度看类似于图像94的特征点图像150和152,其中处理器146和148使用例如输入层84、多个连续残余块层86和88、和多个连续卷积层90来生成热图,这些热图然后被用于以上述方式生成图像150和152。图像150和152在姿态估计块154中被融合,该姿态估计块生成比单个相机22所能提供的更准确的对象14的估计3D姿态156,其中姿态估计过程也使用如上所述的PnP算法。
图8是与示意图104类似的示意图160,其中相同的元件由相同的附图标记标识,其描述了如所讨论的在块154中的用于图像融合的PnP过程。在示意图160中,相机162表示相机122,相机164表示相机124。示意图160示出了具有特征点172的2D模型图像166,其是CAD模型114在相机164的2D图像平面170上的投影,以及具有特征点174的2D对象图像168,其是3D对象106在相机164的图像平面170上的投影。CAD模型114在相机162和164前面旋转和平移,以同时获得相机162和164两者的最佳模型姿态,其中图像平面110上的模型图像116上的特征点118尽可能靠近对象图像108上的特征点102,并且图像平面170上的模型图像166上的特征点172尽可能靠近对象图像168上的特征点174。一旦这被获得,就获得了3D模型114的最佳取向,其表示对象14的3D姿态。
对于图像108和116与图像166和168之间的各个对应特征点中的一个,该分析由等式(2)描述,其中等式(2)用于图像108和116以及图像166和168的所有特征点。
其中ui是模型图像166上的各个特征点172之一,bi是对象图像168上的对应特征点174。
上述用于使用基于学习的神经网络从2D图像提取特征以获得对象14的3D姿态估计的技术是一种合适的特征提取技术。还有其它的方法。以下讨论描述了采用深度学习和向量场估计的特征提取技术,该技术也可以用令人满意的结果来代替基于学习的技术。如下文将详细论述的,向量场估计过程用向量场估计元素替换包括输入层84、多个连续残余块层86和88以及产生热图92的多个连续卷积层90的神经网络78。然而,要强调的是,尽管这里描述了矢量场估计过程用于获得对象的3D姿态,但是该过程将应用于需要从图像中提取特征的任何合适的过程。
图9是流程图180,示出了在控制器24中操作的矢量场估计过程,用于使用由相机22拍摄的对象14的2D图像82来生成对象14的3D姿态,其中相同的元件由相同的附图标记标识。图像输入是由三维矩阵N*N*3限定的三通道RGB(红-绿-蓝)图像,其中N是图像82的高度和宽度。图像82被提供给编码器/解码器神经网络182,其包括提取图像82中的可能关键特征的编码器网络184和从所提取的特征来生成图像以识别对象14上的可能特征点的解码器网络186,如下所述,其中网络184和186两者都包括多个上述类型的神经网络层。特别地,在一个非限制性实施例中,编码器网络184中的神经网络层包括卷积层188、批量归一化(BN)层190和整流线性单元(ReLu)层192,并且解码器网络186中的神经网络层包括池化层194、上采样层196和softmax层198。
网络182对图像82的三维矩阵进行处理,从该三个通道生成每个识别出的特征点的一维(N*N*1)的掩模图像200和二维(N*N*2)的矢量场图像202。为了生成掩模图像200,网络182根据对象14的部分是否存在于特定像素中而给图像82中的每个像素分配数字1或0,其中掩模图像200的亮区域中的像素具有数字1,而掩模图像200的暗区域中的像素具有数字0。每个矢量场图像202包括多个箭头,每个箭头由为图像82中的每个像素提供的x方向矢量值和y方向矢量值限定,其中箭头的方向朝向图像82中的各个特征点中的一个,并且因此图像82中的每个像素具有预测到该特征的方向的能力。掩模图像200中的各个像素的值乘以矢量场图像202中的对应像素的值,使得丢弃与具有对象14的一部分的像素不相关联并且不提供到特征点的有用方向的那些箭头,如矢量场提取图像204所示。
矢量场提取图像204中的每个箭头提供到多个特征点中的一个的方向,但是不提供到该特征点的距离。因此,对于矢量场提取图像204中具有值的两个对象像素pi和pj的每个组合,该过程识别它们的矢量vi和vj将相交的点xij,如矢量相交图像206所示。根据像素pi和点xij之间的距离、像素pj和点xij之间的距离以及像素pi和pj处的梯度幅值,每个点xij被分配一个得分。例如,像素pi和点xij之间以及像素pj和点xij之间较小的距离提供较高的得分,并且像素pi和pj处较高的梯度幅值提供较高的得分。结果是具有许多点xij的网格,每个点具有得分,其中图像中具有大部分点xij的区域将标识可能的特征点位置,如点投票图像208所示。
矢量场图像202示出了由网络182识别的各个可能特征点中的一个的矢量箭头。网络182还将为每个可能的特征点生成与掩模200相乘的单独的矢量场图像202。将所有点投票图像208的所有特征点组合成单个图像,例如包括特征点96的图像94,其中,由各个点投票图像208中的一个提供每个单独的特征点96。图像94然后可以在姿态估计处理器98中进行PnP过程,以按照上述方式生成3D姿态100。此外,由于如上所述的沿单个相机的光轴的不确定性,可以采用多个相机,其中来自那些相机的各个图像每一个将由矢量场估计过程来处理。
如所提到的,矢量场估计过程可以应用于需要特征点提取的其它过程。例如,机器人技术中的一个应用寻找由机器人拾取的对象的中心,其中对象的取向不是必需的。另一个应用可以是为了质量保证目的而确定对象的测量。
如本领域技术人员将充分理解的,这里讨论的描述本发明的若干和各种步骤和过程可以指由计算机、处理器或其他电子计算设备执行的操作,其使用电现象来操纵和/或变换数据。那些计算机和电子设备可以采用各种易失性和/或非易失性存储器,包括其上存储有可执行程序的非瞬态计算机可读介质,所述可执行程序包括能够由计算机或处理器执行的各种代码或可执行指令,其中存储器和/或计算机可读介质可以包括所有形式和类型的存储器和其他计算机可读介质。
前述讨论仅公开和描述了本公开的示例性实施例。本领域技术人员将容易地从这样的讨论和从附图和权利要求认识到,在不偏离如在所附权利要求中限定的本公开的精神和范围的情况下,可以在其中进行各种改变、修改和变化。
Claims (20)
1.一种用于估计实际对象的3D姿态的方法,所述方法包括:
使用2D相机获得所述实际对象的2D图像;
使用神经网络从所述2D图像提取所述实际对象上的多个特征;
为所提取的多个特征中的每一个生成实际热图,所述实际热图标识所述实际对象上的特征点的位置的概率;
提供特征点图像,所述特征点图像组合来自各个所述热图的各个特征点和所述2D图像;以及
使用所述特征点图像来估计所述实际对象的所述3D姿态。
2.根据权利要求1所述的方法,其中估计所述实际对象的所述3D姿态包括将所述特征点图像与所述对象的3D虚拟模型进行比较。
3.根据权利要求2所述的方法,其中,估计所述实际对象的所述3D姿态包括使用透视n点算法。
4.根据权利要求1所述的方法,其中,所述热图中的所述特征点的位置的所述概率在所述热图上被示出为颜色。
5.根据权利要求1所述的方法,其中,所述实际对象上的所述特征点的位置的所述概率被分配有它是特征点的置信度值。
6.根据权利要求1所述的方法,还包括通过获得数据集来训练所述神经网络,获得数据集包括将表示所述实际对象的训练对象放置在包括标记的标记板上,测量所述标记与所述板上的所述训练对象之间的偏移,拍摄所述标记板的至少一个训练2D图像,识别在所述训练2D图像中所述标记的3D姿态,将所述偏移添加到所述标记的所述3D姿态以获得所述训练对象上的各个特征点,生成标识每个特征点位置的概率的单独的训练热图,以及使用所述训练热图来训练所述神经网络。
7.根据权利要求6所述的方法,其中,拍摄至少一个训练2D图像包括拍摄处于不同取向的多个训练2D图像。
8.根据权利要求6所述的方法,其中,生成单独的训练热图使用高斯分布过程。
9.根据权利要求1所述的方法,其中,提取所述实际对象上的多个特征包括提取至少四个特征。
10.根据权利要求1所述的方法,其中,所述方法用于机器人系统中,并且所述实际对象正被机器人拾取。
11.一种用于估计对象的3D姿态的方法,所述对象由机器人拾取,所述方法包括:
使用2D相机获得所述对象的2D图像;
使用神经网络从所述2D图像提取所述对象上的多个特征点,其中使用所述对象的代表性对象从收集的训练集来训练所述神经网络中的各个节点的权重;
为所提取的多个特征中的每一个生成热图,所述热图标识所述实际对象上的特征点的位置的概率,其中,所述热图中的所述特征点的位置的所述概率在所述热图上被示出为颜色;
提供特征点图像,所述特征点图像组合来自各个所述热图的各个特征点和所述2D图像;以及
通过使用透视n点算法将所述特征点图像与所述对象的3D虚拟模型进行比较来估计所述实际对象的所述3D姿态。
12.根据权利要求11所述的方法,其中,所述实际对象上的所述特征的位置的所述概率被分配有它是特征点的置信度值。
13.根据权利要求11所述的方法,其中,提取所述实际对象上的多个特征包括提取至少四个特征。
14.一种用于估计对象的3D姿态的系统,所述系统包括:
用于使用2D相机获得实际对象的2D图像的装置;
用于使用神经网络从所述2D图像提取所述实际对象上的多个特征的装置;
用于为所提取的多个特征中的每一个生成实际热图的装置,所述实际热图标识所述实际对象上的特征点的位置的概率;
用于提供特征点图像的装置,所述特征点图像组合来自各个所述热图的各个特征点和所述2D图像;以及
用于使用所述特征点图像来估计所述实际对象的所述3D姿态的装置。
15.根据权利要求14所述的系统,其中,用于估计所述实际对象的所述3D姿态的所述装置将所述特征点图像与所述对象的3D虚拟模型进行比较。
16.根据权利要求15所述的系统,其中,用于估计所述实际对象的所述3D姿态的所述装置使用透视n点算法。
17.根据权利要求14所述的系统,其中,所述热图中的所述特征点的位置的所述概率在所述热图上被示出为颜色。
18.根据权利要求14所述的系统,其中,所述对象上的所述特征的位置的所述概率被分配有它是特征的置信度值。
19.根据权利要求14所述的系统,还包括用于使用所述对象的代表性对象从收集的训练集来训练所述神经网络中的各个节点的装置。
20.根据权利要求14所述的系统,其中,所述系统用于机器人控制中,并且所述对象正被机器人拾取。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/839,274 US11475589B2 (en) | 2020-04-03 | 2020-04-03 | 3D pose estimation by a 2D camera |
US16/839,274 | 2020-04-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113496525A true CN113496525A (zh) | 2021-10-12 |
Family
ID=77749799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110357289.2A Pending CN113496525A (zh) | 2020-04-03 | 2021-04-01 | 通过2d相机的3d姿态估计 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11475589B2 (zh) |
JP (1) | JP2021163503A (zh) |
CN (1) | CN113496525A (zh) |
DE (1) | DE102021107333A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210030147A (ko) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
US11600017B2 (en) * | 2020-04-29 | 2023-03-07 | Naver Corporation | Adversarial scene adaptation for camera pose regression |
US20210398338A1 (en) * | 2020-06-22 | 2021-12-23 | Nvidia Corporation | Image generation using one or more neural networks |
DE102021202759B4 (de) * | 2021-03-22 | 2024-11-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Steuern eines Roboters |
US20220405506A1 (en) * | 2021-06-22 | 2022-12-22 | Intrinsic Innovation Llc | Systems and methods for a vision guided end effector |
KR102433287B1 (ko) * | 2021-10-12 | 2022-08-18 | 주식회사 에너자이(ENERZAi) | 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템 |
KR102639637B1 (ko) * | 2021-10-12 | 2024-02-22 | 주식회사 에너자이 | 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템 |
US20230135230A1 (en) * | 2021-11-01 | 2023-05-04 | Sony Group Corporation | Electronic device and method for spatial synchronization of videos |
KR102694987B1 (ko) * | 2023-12-20 | 2024-08-16 | 주식회사 플라잎 | 인공지능을 이용하여 객체에 대한 로봇의 엔드 이펙터의 포즈를 추정하는 포즈 추정 장치 및 방법과 이를 포함하는 로봇 제어 시스템 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778867B (zh) * | 2016-12-15 | 2020-07-07 | 北京旷视科技有限公司 | 目标检测方法和装置、神经网络训练方法和装置 |
US10789717B2 (en) * | 2017-11-24 | 2020-09-29 | Electronics And Telecommunications Research Institute | Apparatus and method of learning pose of moving object |
US10821897B2 (en) * | 2019-01-31 | 2020-11-03 | StradVision, Inc. | Method and device for adjusting driver assistance apparatus automatically for personalization and calibration according to driver's status |
US11361505B2 (en) * | 2019-06-06 | 2022-06-14 | Qualcomm Technologies, Inc. | Model retrieval for objects in images using field descriptors |
-
2020
- 2020-04-03 US US16/839,274 patent/US11475589B2/en active Active
-
2021
- 2021-03-24 DE DE102021107333.2A patent/DE102021107333A1/de active Pending
- 2021-04-01 JP JP2021062699A patent/JP2021163503A/ja active Pending
- 2021-04-01 CN CN202110357289.2A patent/CN113496525A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11475589B2 (en) | 2022-10-18 |
JP2021163503A (ja) | 2021-10-11 |
DE102021107333A1 (de) | 2021-10-07 |
US20210312655A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475589B2 (en) | 3D pose estimation by a 2D camera | |
US11554496B2 (en) | Feature detection by deep learning and vector field estimation | |
KR20220132617A (ko) | 포즈 검출 및 측정을 위한 시스템들 및 방법들 | |
CN113450408A (zh) | 一种基于深度相机的非规则物体位姿估计方法及装置 | |
US11875528B2 (en) | Object bin picking with rotation compensation | |
US12036678B2 (en) | Transparent object bin picking | |
US12017368B2 (en) | Mix-size depalletizing | |
CN112164115B (zh) | 物体位姿识别的方法、装置及计算机存储介质 | |
US20220084238A1 (en) | Multiple transparent objects 3d detection | |
CN113496526A (zh) | 通过多个2d相机的3d姿态检测 | |
Höfer et al. | Object detection and autoencoder-based 6d pose estimation for highly cluttered bin picking | |
CN116543217A (zh) | 一种结构相似的小目标分类识别与位姿估计方法 | |
JP2020087155A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US12112499B2 (en) | Algorithm for mix-size depalletizing | |
Pyo et al. | Precise pose estimation using landmark feature extraction and blob analysis for bin picking | |
Chowdhury et al. | Comparison of neural network-based pose estimation approaches for mobile manipulation | |
US20240257505A1 (en) | Method for neural network adaptation | |
US20230169324A1 (en) | Use synthetic dataset to train robotic depalletizing | |
Ćirić et al. | CNN-Based Object Detection for Robot Grasping in Cluttered Environment | |
Vitiuk et al. | Software Package for Evaluation the Stereo Camera Calibration for 3D Reconstruction in Robotics Grasping System. | |
Flores et al. | Evaluating the Influence of Feature Matching on the Performance of Visual Localization with Fisheye Images. | |
Pawar et al. | Effective Object Detection and Tracking for Holonomic Robot using Deep Neural Architecture | |
Yang et al. | Integrating Deep Learning Models and Depth Cameras to Achieve Digital Transformation: A Case Study in Shoe Company | |
Zhang et al. | Detection method for the cucumber robotic grasping pose in clutter scenarios via instance segmentation | |
Vikram et al. | Deep Learning-based 6D pose estimation of texture less objects for Industrial Cobots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |