CN113496524A - 通过深度学习和矢量场估计的特征检测 - Google Patents
通过深度学习和矢量场估计的特征检测 Download PDFInfo
- Publication number
- CN113496524A CN113496524A CN202110356730.5A CN202110356730A CN113496524A CN 113496524 A CN113496524 A CN 113496524A CN 202110356730 A CN202110356730 A CN 202110356730A CN 113496524 A CN113496524 A CN 113496524A
- Authority
- CN
- China
- Prior art keywords
- image
- pixels
- point
- generating
- intersection
- 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
-
- 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
- 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/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
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
-
- 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/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/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Geometry (AREA)
- Fuzzy Systems (AREA)
- Computer Graphics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
Abstract
一种用于使用深度学习神经网络和矢量场估计过程从对象的2D图像提取特征的***和方法。该方法包括提取多个可能的特征点,生成限定2D图像中对象所处的像素的掩模图像,以及为每个所提取的特征点生成包括指向所提取的特征点的箭头的矢量场图像。该方法还包括通过识别用于2D图像中的两个像素的每个组合的箭头相交的交点来生成矢量相交图像。该方法根据两个像素的每个组合的每个像素与交点的距离,为每个交点分配得分,并生成点投票图像,该点投票图像从多个聚集的点中识别特征位置。
Description
技术领域
本公开一般涉及用于从图像提取特征的***和方法,并且更具体地,涉及用于使用深度学习神经网络和矢量场估计过程从图像提取特征的***和方法。
背景技术
机器人执行包括拾取和放置操作的多个任务,其中机器人拾取对象并将对象从一个位置(例如传送带)移动到另一位置(例如收集箱),其中对象的位置和取向,称为对象的3D姿态,略微不同。因此,为了使机器人有效地拾取对象,机器人通常需要知道对象的3D姿态。为此目的确定对象的3D姿态的各种技术使用实时获得对象的3D图像的3D相机,其中3D图像识别到相机的视场中的许多点的距离测量,其被发送到机器人控制器。这些技术可使用结构化光构建场景的3D地图,然后通过识别对象的3D特征来搜索地图中的对象。使用3D照相机来确定用于机器人应用的对象的3D姿态已经被证明是有效的。然而,3D相机是昂贵的设备,并且通常比预期运行得更慢。
本领域已知的为机器人应用获得对象的3D姿态的一种技术采用2D相机。该技术拍摄场景的单个2D彩色图像,并使用全卷积架构来处理该图像。一种算法将图像划分成包括S×S个单元的2D网格并识别单元中的对象。该算法在图像中的每个对象周围投影边界框,并且预测该框的八个角的2D位置。然而,用于预测边界框的角的这种技术具有准确度的限制和对遮挡的低鲁棒性。
上面提到的用于确定对象的3D姿态的一些过程采用人工智能(AI),人工智能是计算机科学的一部分,其采用允许软件应用从其环境学习并从其作出决策以实现特定结果的算法。机器学习是AI的一部分,机器学习采用软件应用,该软件应用通过以迭代方式分析大量原始输入数据,以从数据中提取模式并允许软件应用学习执行任务而无需被专门编程来执行该任务,从而获取其自身知识。深度学习是一种特定类型的机器学习,其通过将特定的真实世界环境表示为日益复杂的概念的层次结构来提供更强的学习性能。
深度学习通常采用包括执行非线性处理的若干层神经网络的软件结构,其中每个连续层接收来自前一层的输出。通常,这些层包括接收来自传感器的原始数据的输入层、从数据中提取抽象特征的多个隐藏层、以及基于来自隐藏层的特征提取来识别特定事物的输出层。神经网络包括神经元或节点,每个神经元或节点具有"权重",该权重乘以节点的输入以获得某物是否正确的概率。更具体地说,每个节点具有一个权重,该权重是一个浮点数,该浮点数与该节点的输入相乘,以生成该节点的输出,该输出是该输入的某一比例。通过使神经网络在监督处理下分析一组已知数据,并通过最小化成本函数以允许网络获得正确输出的最高概率,来初始"训练"或设置权重。
深度学习神经网络经常被用来提供图像特征提取和变换,以用于图像中的对象的视觉检测和分类,其中视频或图像流可以由网络分析以识别和分类对象并且通过该过程进行学习以更好地分辨对象。因此,在这些类型的网络中,***可以使用相同的处理配置来检测某些对象,并且基于算法如何学习识别对象来对这些对象进行不同的分类。
发明内容
以下讨论公开并描述了使用深度学习神经网络和矢量场估计处理从对象的2D图像提取多个特征的***和方法。该方法包括从2D图像提取对象上的多个可能特征点,生成限定对象所位于的2D图像中的像素的掩模图像,以及针对每个提取的特征点生成单独的矢量场图像,该矢量场图像包括针对2D图像的每个像素具有x方向值和y方向值的箭头,其中每个箭头的方向朝向2D图像中的提取的特征点,并且其中提取可能特征点、生成掩模图像和生成矢量场图像在深度学习神经网络中执行。该方法还包括通过将掩模图像中的像素与矢量场图像中的对应像素相乘,使得丢弃2D图像中的与具有对象的一部分的像素不相关联的那些箭头,来生成矢量提取图像,并且通过识别用于2D图像中的两个像素的每个组合的箭头相交的交点来生成矢量相交图像。该方法根据两个像素的每个组合的每个像素与交点的距离来为每个交点分配得分,并生成得分网格,并生成点投票图像,该点投票图像从多个聚集点中识别特征位置。
结合附图,从以下描述和所附权利要求,本公开的附加特征将变得显而易见。
附图说明
图1是包括机器人的机器人***的示意图,该机器人从传送带拾取对象并将它们放置在料箱中,其中该***采用用于拍摄对象的2D图像的2D相机和用于使用2D图像计算对象的3D姿态的控制器;
图2是示出了使用2D相机从对象获得数据集以训练神经网络的过程的流程图;
图3是包括多个节点的神经网络的示意图,每个节点具有可调整的权重;
图4是示出了基于学习的神经网络过程的流程图,该过程用于使用经训练的神经网络,以使用对象的2D图像和神经网络来估计对象的3D姿态;
图5是描述了用于在图4所示的过程中用于确定对象的3D姿态估计的透视n点(PnP)过程的示意图;
图6是使用多个照相机来成像对象的照相机***的示意图;
图7是用于使用多个2D相机来估计对象的3D姿态的***的框图;
图8是描述了用于在图7所示的***中估计对象的3D姿态估计的PnP过程的示意图;以及
图9是示出了用于预测对象上的特征点的矢量场估计过程的流程图。
具体实施方式
以下对本公开的实施例的讨论涉及用于使用深度学习神经网络和矢量场估计过程从图像提取特征的***和方法,这些讨论本质上仅是示例性的,并且决不旨在限制本发明或其应用或用途。例如,该***和方法具有用于确定由机器人抓持的对象的位置和取向的应用。然而,该***和方法可以具有其他应用。
图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的估计。
采用基于学***面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.一种用于从对象的图像提取特征的方法,所述方法包括:
使用2D相机获得具有所述对象的多个像素的2D图像;
从所述2D图像中提取所述对象上的多个可能特征点;
生成限定所述2D图像中的多个像素的掩模图像,所述对象位于所述多个像素中;
为每个提取的特征点生成单独的矢量场图像,所述矢量场图像针对所述2D图像中的每个像素包括具有x方向值和y方向值的箭头,其中每个箭头的方向朝向所述2D图像中的所述提取的特征点;
通过将所述掩模图像中的所述多个像素与所述矢量场图像中的对应像素相乘,使得丢弃与所述2D图像中的具有所述对象的部分的像素不相关联的那些箭头,来为每个提取的特征点生成单独的矢量提取图像;
通过识别所述2D图像中的两个像素的每个组合的箭头相交的交点,为每个提取的特征点生成矢量相交图像;
根据两个像素的每个组合中的每个像素与所述交点的距离,为每个提取的特征点的每个交点分配得分,并且为所有像素组合生成得分网格;以及
为每个提取的特征点生成点投票图像,所述点投票图像从多个聚集的点中识别特征位置。
2.根据权利要求1所述的方法,其中,提取所述可能特征点、生成所述掩模图像和生成所述矢量场图像是在深度学习神经网络中执行的。
3.根据权利要求1所述的方法,其中,为每个交点分配得分还包括使用所述多个像素处的梯度幅值。
4.根据权利要求3所述的方法,其中,所述像素与所述交点之间的较小距离提供较高的得分,并且所述多个像素处的较高梯度幅值提供较高的得分。
5.根据权利要求1所述的方法,其中,将所有提取的特征点的点投票图像组合为组合的点投票图像。
6.根据权利要求5所述的方法,其中,所述组合的点投票图像用于估计所述对象的3D姿态。
7.根据权利要求6所述的方法,其中,估计所述对象的所述3D姿态包括将特征位置与所述对象的3D虚拟模型进行比较。
8.根据权利要求7所述的方法,其中,估计所述实际对象的所述3D姿态包括使用透视n点算法,所述透视n点算法将所述3D虚拟模型在图像上的2D投影与所述实际对象的具有所述图像上的所述特征位置的2D投影进行比较。
9.根据权利要求7所述的方法,其中,所述方法用于机器人***中,并且所述对象正被机器人拾取。
10.根据权利要求1所述的方法,其中,所述2D图像是由三维矩阵限定的三通道RGB(红-绿-蓝)图像。
11.一种用于使用相机从具有对象的多个像素的图像提取特征的方法,所述方法包括:
使用深度学习神经网络从所述图像提取所述对象上的多个可能特征点;
使用深度学习神经网络为每个提取的特征点生成单独的矢量场图像,所述矢量场图像针对所述图像中的每个像素包括具有x方向值和y方向值的箭头,其中每个箭头的方向朝向所述图像中的所述提取的特征点;以及
使用矢量场估计过程来识别所述箭头的交点,以识别每个单独的矢量场图像的特征位置。
12.根据权利要求11所述的方法,还包括提供组合的图像作为所有识别的特征位置的组合。
13.根据权利要求11所述的方法,其中,所述图像是由三维矩阵限定的三通道RGB(红-绿-蓝)图像。
14.一种用于从对象的图像提取特征的***,所述***包括:
2D相机,其用于获得具有所述对象的多个像素的2D图像;
用于从所述2D图像提取所述对象上的多个可能特征点的装置;
用于生成限定所述2D图像中的多个像素的掩模图像的装置,所述对象位于所述多个像素中;
用于为每个提取的特征点生成单独的矢量场图像的装置,所述矢量场图像针对所述2D图像中的每个像素包括具有x方向值和y方向值的箭头,其中每个箭头的方向朝向所述2D图像中的所述提取的特征点;
用于通过将所述掩模图像中的所述多个像素与所述矢量场图像中的对应像素相乘,使得丢弃与所述2D图像中的具有所述对象的部分的像素不相关联的那些箭头,来为每个提取的特征点生成单独的矢量提取图像的装置;
用于通过识别所述2D图像中的两个像素的每个组合的箭头相交的交点,为每个提取的特征点生成矢量相交图像的装置;
用于根据两个像素的每个组合中的每个像素与所述交点的距离,为每个提取的特征点的每个交点分配得分,并且为所有像素组合生成得分网格的装置;以及
用于为每个提取的特征点生成点投票图像的装置,所述点投票图像从多个聚集的点中识别特征位置。
15.根据权利要求14所述的***,其中,执行用于提取所述多个可能特征点的、用于生成所述掩模图像的所述装置和用于生成所述矢量场图像的所述装置的是深度学习神经网络。
16.根据权利要求14所述的***,其中,用于为每个交点分配得分的所述装置还使用所述多个像素处的梯度幅值。
17.根据权利要求16所述的***,其中,所述像素与所述交点之间的较小距离提供较高的得分,并且所述多个像素处的较高梯度幅值提供较高的得分。
18.根据权利要求14所述的***,其中,所述用于生成点投票图像的所述装置组合针对多个特征位置的多个点投票图像。
19.根据权利要求18所述的***,其中,所组合的点投票图像用于估计所述对象的3D姿态。
20.根据权利要求14所述的***,其中,所述***用于机器人控制中,并且所述对象正被机器人拾取。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/839,346 | 2020-04-03 | ||
US16/839,346 US11554496B2 (en) | 2020-04-03 | 2020-04-03 | Feature detection by deep learning and vector field estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113496524A true CN113496524A (zh) | 2021-10-12 |
Family
ID=77749824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110356730.5A Pending CN113496524A (zh) | 2020-04-03 | 2021-04-01 | 通过深度学习和矢量场估计的特征检测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11554496B2 (zh) |
JP (1) | JP2021176078A (zh) |
CN (1) | CN113496524A (zh) |
DE (1) | DE102021107351A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436752B1 (en) | 2021-04-30 | 2022-09-06 | farm-ng Inc. | Real time localization with image data |
DE102021212860B4 (de) | 2021-11-16 | 2024-05-08 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Aufnehmen eines Objekts mittels eines Roboters |
DE102023101734A1 (de) | 2023-01-25 | 2024-07-25 | Bayerische Motoren Werke Aktiengesellschaft | Transportvorrichtung für den Transport von Objekten |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9142019B2 (en) * | 2013-02-28 | 2015-09-22 | Google Technology Holdings LLC | System for 2D/3D spatial feature processing |
US20150243035A1 (en) * | 2014-02-21 | 2015-08-27 | Metaio Gmbh | Method and device for determining a transformation between an image coordinate system and an object coordinate system associated with an object of interest |
US10102451B2 (en) * | 2015-10-13 | 2018-10-16 | Elekta, Inc. | Pseudo-CT generation from MR data using tissue parameter estimation |
WO2018107371A1 (zh) * | 2016-12-13 | 2018-06-21 | 上海联影医疗科技有限公司 | 图像搜索***及方法 |
US10424069B2 (en) * | 2017-04-07 | 2019-09-24 | Nvidia Corporation | System and method for optical flow estimation |
JP6950644B2 (ja) * | 2018-08-10 | 2021-10-13 | 日本電信電話株式会社 | 注意対象推定装置及び注意対象推定方法 |
US11017542B2 (en) * | 2018-12-21 | 2021-05-25 | Beijing Voyager Technology Co., Ld. | Systems and methods for determining depth information in two-dimensional images |
-
2020
- 2020-04-03 US US16/839,346 patent/US11554496B2/en active Active
-
2021
- 2021-03-24 DE DE102021107351.0A patent/DE102021107351A1/de active Pending
- 2021-04-01 JP JP2021062631A patent/JP2021176078A/ja active Pending
- 2021-04-01 CN CN202110356730.5A patent/CN113496524A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11554496B2 (en) | 2023-01-17 |
US20210308869A1 (en) | 2021-10-07 |
JP2021176078A (ja) | 2021-11-04 |
DE102021107351A1 (de) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475589B2 (en) | 3D pose estimation by a 2D camera | |
US11295475B2 (en) | Systems and methods for pose detection and measurement | |
CN113450408B (zh) | 一种基于深度相机的非规则物***姿估计方法及装置 | |
CN113496524A (zh) | 通过深度学习和矢量场估计的特征检测 | |
US12036678B2 (en) | Transparent object bin picking | |
CN112164115B (zh) | 物***姿识别的方法、装置及计算机存储介质 | |
JP2022047508A (ja) | 複数の透明対象物の三次元検出 | |
US12017368B2 (en) | Mix-size depalletizing | |
CN113496526A (zh) | 通过多个2d相机的3d姿态检测 | |
Höfer et al. | Object detection and autoencoder-based 6d pose estimation for highly cluttered bin picking | |
CN116543217A (zh) | 一种结构相似的小目标分类识别与位姿估计方法 | |
US20230169675A1 (en) | Algorithm for mix-size depalletizing | |
US11875528B2 (en) | Object bin picking with rotation compensation | |
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 | |
Liang et al. | Model-based 3d pose estimation for pick-and-place application | |
US20230169324A1 (en) | Use synthetic dataset to train robotic depalletizing | |
US20240257505A1 (en) | Method for neural network adaptation | |
Ćirić et al. | CNN-Based Object Detection for Robot Grasping in Cluttered Environment | |
Flores et al. | Evaluating the Influence of Feature Matching on the Performance of Visual Localization with Fisheye Images. | |
Vitiuk et al. | Software Package for Evaluation the Stereo Camera Calibration for 3D Reconstruction in Robotics Grasping System. | |
CN118411586A (zh) | 用于神经网络适配的方法 | |
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 |