CN116018599A - 用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法 - Google Patents

用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法 Download PDF

Info

Publication number
CN116018599A
CN116018599A CN202180046806.2A CN202180046806A CN116018599A CN 116018599 A CN116018599 A CN 116018599A CN 202180046806 A CN202180046806 A CN 202180046806A CN 116018599 A CN116018599 A CN 116018599A
Authority
CN
China
Prior art keywords
image
vertex
training
vertices
descriptor
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
Application number
CN202180046806.2A
Other languages
English (en)
Inventor
M·斯皮斯
A·G·库普奇克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN116018599A publication Critical patent/CN116018599A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40269Naturally compliant robot arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Image Analysis (AREA)

Abstract

根据各种实施例,描述了一种用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的方法,包括获得对象的3D模型,其中3D模型包括由边连接的顶点的网格,其中每个边具有指定对象中由边连接的两个顶点的接近度的权重,通过搜索顶点的描述符来确定所述网格的每个顶点的描述符,所述顶点的描述符最小化由顶点对之间的边的权重加权的顶点对的描述符之间的距离在连接顶点对之上的和,生成训练数据图像对,其中每个训练数据图像对包括示出对象和目标图像的训练输入图像,并且其中生成目标图像包括确定对象的对象模型的顶点在训练输入图像中顶点具有的顶点位置,并且对于训练输入图像中的每个确定的顶点位置,将为顶点位置处的顶点确定的描述符分配给目标图像中的位置,并且使用训练数据图像对作为训练数据通过监督学习来训练机器学习模型。

Description

用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法
本公开涉及用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法。
为了允许机器人灵活地生产或处理对象,合期望的是机器人能够处理对象,而不管对象在机器人的工作空间中以何种姿态放置。因此,机器人应当能够识别对象的哪些部分位于哪些位置,使得它可以例如在正确的位置抓取对象,例如用于将其安装在另一个对象上,或者在当前位置焊接对象。这意味着机器人应当能够例如从安装在机器人上的相机取得的一个或多个图像中识别对象的(表面)拓扑。实现此的方法是要确定描述符,即预定义描述符空间中的点(向量)到对象的部分(即图像平面中表示的对象的像素),其中机器人被训练为独立于对象的当前姿态将相同的描述符分配到对象的相同部分。
在Peter Florence等人的出版物“Dense Object Nets:Learning Dense VisualObject Descriptors By and For Robotic Manipulation”(在下文中被称为参考文献1)中,描述了作为用于自监督密集描述符学习的模型的密集对象网。
然而,参考文献1的方法的功效严重依赖于收集的训练数据和涉及的传感器,并且从自监督学习确定的描述符通常缺乏可解释性。因此,在这方面,增强用于识别对象拓扑的训练的方法是合期望的。
根据各种实施例,提供了一种用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的方法,包括获得对象的3D模型,其中3D模型包括由边连接的顶点的网格,其中每个边具有指定对象中由边连接的两个顶点的接近度的权重,通过搜索顶点的描述符来确定所述网格的每个顶点的描述符,所述顶点的描述符最小化由顶点对之间的边的权重加权的顶点对的描述符之间的距离在连接顶点对之上的和,生成训练数据图像对,其中每个训练数据图像对包括示出对象和目标图像的训练输入图像,并且其中生成目标图像包括确定对象的对象模型的顶点在训练输入图像中顶点具有的顶点位置,并且对于训练输入图像中的每个确定的顶点位置,将为顶点位置处的顶点确定的描述符分配给目标图像中的位置,并且使用训练数据图像对作为训练数据通过监督学习来训练机器学习模型。
与使用自监督训练相比,上述训练方法允许训练机器学习模型(诸如神经网络)来执行更准确的预测(即描述符确定)(即允许网络的更多种类的应用)。此外,它为使机器学习模型适于应用于不同的问题给出了更大的灵活性,降低了训练数据需求(例如,所需的训练数据量),并产生了可解释的机器学习工具。
在下文中,给出了各种示例。
示例1是如上所述用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的方法。
示例2是示例1的方法,其中生成训练数据图像对包括获得处于不同姿态的对象的多个图像,并且通过为获得的图像生成目标图像来从每个获得的图像生成训练数据图像对。
这允许训练机器学习模型(例如,具有实现机器学习模型的机器人控制器的机器人)来例如在机器人的工作空间中识别对象的拓扑,而不管对象的姿态如何。
示例3是示例1或2的方法,包括从对象在训练输入图像中具有的相应姿态(例如,在相机坐标系中)确定对象的对象模型的顶点在训练输入图像中顶点具有的顶点位置。
这允许顶点位置的精确确定,其进而允许精确的目标图像用于监督训练。
示例4是示例1至3中任一项的方法,其中搜索描述符包括确定由3D模型的顶点和边形成的图的拉普拉斯算子矩阵的特征向量,并将特征向量的分量取作描述符的分量。
这允许(接近)最优描述符的高效确定。例如,每个描述符是维度d的向量,并且因此具有d个分量(例如,(3,4)是维度2的向量,并且具有分量3和4)。
示例5是示例4的方法,包括关联与特征向量中的分量位置相关联的每个顶点,并且对于每个顶点,将特征向量中与该顶点相关联的分量位置处的分量取作该顶点的描述符的分量。
特别地,可以通过选择对应于期望的描述符空间维度的描述符的多个特征向量分量来灵活地选择描述符空间维度。
示例6是示例5的方法,其中确定描述符进一步包括通过将其特征值相差小于预定阈值的特征向量的分量组合成单个分量来压缩描述符。
当对象对称时,这允许描述符空间维度的减少。换句话说,可以避免对象的对称部分之间的不必要的区别。
示例7是示例1至6中任一项的方法,其中获得对象的3D模型包括获得建模对象的顶点和边的3D网格,并且将应用于网格的拉普拉斯-贝尔特拉米算子的边权重作为边的权重进行分配。
使用该方法允许在通过采用对象上的测地线距离而不是周围空间中的欧几里德度量(这在对象弯曲时可能是不准确的)来确定两个顶点的接近度时考虑模型的几何结构。
示例8是用于控制机器人的方法,包括根据示例1至7中任一个训练机器学习模型,获得示出对象的图像,将图像馈送到机器学习模型,从机器学习模型的输出确定对象的姿态,以及取决于所确定的对象姿态来控制机器人。
示例9是示例8的方法,其中确定对象姿态包括确定对象的某一部分的位置,并且其中取决于所确定的对象姿态控制机器人包括控制机器人的末端执行器移动到对象的该部分的位置并与对象的该部分交互。
示例10是软件或硬件代理,特别是机器人,包括被配置为提供对象的图像数据的相机、被配置为实现机器学习模型的控制器和被配置为通过示例1至7中任一个的方法来训练机器学习模型的训练设备。
示例11是根据示例10的软件或硬件代理,包括至少一个致动器,其中控制器被配置为使用来自机器学习模型的输出来控制至少一个致动器。
示例12是包括指令的计算机程序,该指令当由处理器执行时,使处理器执行根据示例1至9中任一个的方法。
示例13是存储指令的计算机可读介质,该指令当由处理器执行时,使处理器执行根据示例1至9中任一个的方法。
在附图中,遍及不同的视图,相似的附图标记一般指代相同的部分。附图不一定是按比例的,取而代之地,一般将重点放在说明本发明的原理上。在以下描述中,参考以下附图描述了各个方面,其中:
图1示出了机器人。
图2图示了根据实施例的神经网络的训练。
图3示出了用于描述符确定的4节点图的示例嵌入。
图4图示了根据拉普拉斯-贝尔特拉米算子用于边权重确定的3D模型顶点处的角度定义。
图5示出了根据实施例的用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的方法。
以下详细描述参考了附图,附图通过图示的方式示出了其中本发明可以实践的本公开的具体细节和方面。在不脱离本发明的范围的情况下,可以利用其他方面,并且可以进行结构、逻辑和电气改变。本公开的各个方面不一定是互斥的,因为本公开的一些方面可以与本公开的一个或多个其他方面相组合以形成新的方面。
在下文中,将更详细地描述各种示例。
图1示出了机器人100。
机器人100包括机器人臂101,例如用于处置或组装工件(或一个或多个其他对象)的工业机器人臂。机器人臂101包括操控器102、103、104和通过其支撑操控器102、103、104的基座(或支撑件)105。术语“操控器”指代机器人臂101的可移动构件,其致动使得能够与环境进行物理交互,例如实行任务。为了控制,机器人100包括(机器人)控制器106,其被配置为根据控制程序实现与环境的交互。操控器102、103、104中的最后一个构件104(离支撑件105最远)也被称为末端执行器104,并且可以包括一个或多个工具,诸如焊接炬、抓取仪器、喷涂装备等。
其他操控器102、103(更靠近支撑件105)可以形成定位设备,使得与末端执行器104一起,提供了在其末端具有末端执行器104的机器人臂101。机器人臂101是能够提供与人类臂类似功能的机械臂(可能在其末端具有工具)。
机器人臂101可以包括将操控器102、103、104彼此互连并与支撑件105互连的关节元件107、108、109。关节元件107、108、109可以具有一个或多个关节,每个关节可以向相关联的操控器提供相对于彼此的可旋转运动(即旋转运动)和/或平移运动(即位移)。操控器102、103、104的移动可以借助于由控制器106控制的致动器来发起。
术语“致动器”可以理解为适于响应于被驱动而影响机制或过程的部件。致动器可以将控制器106发出的指令(所谓的激活)实现为机械移动。致动器(例如机电转换器)可以被配置为响应于驱动将电能转换成机械能。
术语“控制器”可以理解为任何类型的逻辑实现实体,该逻辑实现实体可以包括例如能够执行存储在存储介质中的软件的电路和/或处理器、固件或其组合,并且可以发出指令,例如在本示例中向致动器发出指令。控制器可以例如通过程序代码(例如,软件)配置为控制系统(在本示例中是机器人)的操作。
在本示例中,控制器106包括一个或多个处理器110和存储代码和数据的存储器111,处理器110基于所述代码和数据来控制机器人臂101。根据各种实施例,控制器106在存储在存储器111中的机器学习模型112的基础上来控制机器人臂101。
根据各种实施例,机器学习模型112被配置和训练成允许机器人100识别例如放置在机器人臂101的工作空间中的对象113。例如,机器人可以取决于对象113是什么(例如,对象类型)来决定如何处理对象113,或者还可以识别并决定末端执行器109应当抓取对象113的哪个部分。机器人100可以例如提供有一个或多个相机114,从而允许其取得其工作空间的图像。相机114例如安装在机器人臂101上,使得机器人可以通过在机器人臂101周围移动来从各种视角取得对象113的照片。
用于对象识别的机器学习模型112的一个示例是密集对象网。如参考文献1中所述,密集对象网将图像(例如,由相机114提供的RGB图像)映射到任意维度(维度D)的描述符空间图像。
密集对象网是一种神经网络,其被训练为使用自监督学习来给出图像的输入图像的描述符空间图像。然而,该方法的功效严重依赖于所收集的训练数据和所涉及的传感器(例如,相机114)。此外,网络预测的解释可能是困难的。
根据各种实施例,提供了一种用于识别对象及其姿态的方法,假设对象的3D模型(例如,CAD(计算机辅助设计)模型)是已知的,这通常是工业装配或处理任务的情况。根据各种实施例,非线性维数缩减技术用于计算最优目标图像,以用于训练神经网络的输入图像。因此,不是使用神经网络的自监督训练,而是使用神经网络的监督训练。
根据一个实施例,为了生成用于训练机器学习模型112的训练数据,首先执行数据收集。具体地,例如,收集配准的RGB(红绿蓝)图像。这里的配准图像意指具有已知相机内部特征和外部特征的RGB图像。在真实世界场景中,安装在机器人上的相机114(例如安装在机器人手腕上的相机)例如用于在机器人(例如机器人臂101)四处移动时扫描对象。可以使用其他外部估计技术,例如ChArUco标记,即可以将对象放置在相对于ChArUco板的不同位置和姿态,取得(ChArUco板和对象的)布置图像。在模拟场景中,使用了使用已知对象姿态的真实感生成的RGB图像。
在收集RGB图像之后,为了神经网络的监督训练,渲染RBG图像的目标图像。
假设在每个收集的RGB图像中,每个对象在世界坐标中的姿态是已知的。这对于模拟场景是直接的,但是对于真实世界的场景需要手动调谐,例如,将对象放置在预定义的位置。
利用该信息并使用顶点描述符计算技术,例如如下所述,对于每个RGB图像(即,训练输入图像),渲染描述符图像(即,训练输出图像,也称为目标图像或基准真值图像)。
当对于每个RGB图像已经生成了目标图像,即已经形成了RGB图像和目标图像对时,这些训练输入图像和相关联的目标图像对可以用作训练数据,用于如图2中图示那样训练神经网络。
图2图示了根据实施例的神经网络200的训练。
神经网络200是将张量(输入图像)映射到张量(输出图像)的完全卷积网络。
它包括多级204卷积层继之以汇集层、上采样层205和跳跃连接206,以组合不同层的输出。
为了训练,神经网络200接收训练输入图像201,并输出具有描述符空间中的像素值(例如,根据描述符向量分量的颜色分量)的输出图像202。计算输出图像202和与训练输入图像相关联的目标图像203之间的训练损失。这可能对于一批训练输入图像发生,并且训练损失可以在训练输入图像之上平均,并且使用训练损失使用随机梯度下降来训练神经网络200的权重。在输出图像202和目标图像203之间计算的训练损失例如是L2损失函数(以最小化目标图像203和输出图像202之间的逐像素最小平方误差)。
训练输入图像201示出了对象,并且目标图像以及输出图像包括描述符空间中的向量。描述符空间中的向量可以被映射到颜色,使得输出图像202(以及目标图像203)类似于对象的热图。
描述符空间(也称为(密集)描述符)中的向量是分配给相应图像中的每个像素(例如,分配给输入图像201的每个像素,假设输入图像201和输出图像202具有相同的维度)的 d维向量(例如, d是1、2或3)。密集描述符隐含地编码输入图像201中所示的对象的表面拓扑,对其姿态或相机位置不变。
给定对象的3D模型,可能的是解析地确定对象的3D模型的每个顶点的最优(在黎曼意义上)和唯一的描述符向量。根据各种实施例,使用这些最优描述符(或通过优化确定的这些描述符的估计),为配准的RGB图像生成目标图像,导致神经网络200的完全监督训练。附加地,描述符空间变得可解释和最优,而不管所选择的描述符维度 d如何。
在下文中,3D模型被认为是嵌入在中的黎曼流形,这导致在考虑几何结构的同时计算测地线(顶点之间的最短路径)。通过将3D模型嵌入到 d维欧几里德描述符空间中,使得相邻顶点之间的测地线距离被尽可能好地保持,可以显式地编码最优表面拓扑。该欧几里德空间被认为是描述符空间,并且执行对最优映射的搜索。根据一个实施例,网格的拉普拉斯算子计算及其特征分解用于确定(或至少估计)顶点在描述符空间中的最优嵌入。因此,代替于分离测地线计算和映射优化,通过计算3D模型的拉普拉斯算子在单个框架中提取描述符。
根据下文中描述的方法,确定欧几里德空间中的3D对象模型到描述符空间中的嵌入,以保持顶点之间的距离(例如测地线距离)。
对于经由拉普拉斯算子的维数缩减,令一组点对应于无向图中的节点。令标示两个节点之间的连接强度或紧密度,例如
目标是找到 d维嵌入(通常 d <  D),使得如果是接近的,则它们的嵌入也应当是接近的:
(1)
其中
优化问题(1)等价于
(2)
其中是半正定拉普拉斯算子矩阵。是邻接矩阵,其具有元素。应当注意的是,最优解可以具有任意的尺度和偏差。为了移除该随机性,加权二阶矩可以用正则化,这在不同维度中强制单位方差。所得的优化问题然后成为
(3)
使用具有拉格朗日参数的约束优化
(4)
这是广义特征值问题,其可以通过标准的线性代数库来求解。由于是(半)正定矩阵,因此特征值可以写成
此外,第一特征向量(的第一列)等于1(仅一的向量),这是将每个顶点映射到点的平凡解。附加地,任何两个特征向量都是相互正交的。对特征值问题的解给出了 N个特征值和具有维数 N的对应的特征向量。然而,在实践中,仅使用对应于最低特征值的前 d个特征向量(除了平凡解)。
因此,的第 i列是节点 i在R d 中的嵌入,而每一行表示每个点在不同正交维度中的嵌入。
图3示出了4节点图的示例嵌入。
特征值对于嵌入的最优性具有重要的意义。在最优嵌入的情况下,满足约束,并且因此
(5)
即特征值对应于不同维度中的嵌入误差。为简单起见,令 d = 1,在这种情况下,每个都映射到点 y = 1。在这种情况下,(5)简化为
(6)。
因为,这意味着如果对象的所有顶点都映射到一个点,则嵌入误差为0,因为所有点之间的距离 y为0。这对于实际用途是没有用的,因此省略了第一特征值和特征向量。使用 d = 2对应于将每个点映射到一条线上,并且是对应的嵌入误差,以此类推。由于特征向量彼此正交,从而增加 d将为嵌入添加新的维度,其目的是最小化新的正交维度中的误差。在(3)中可以看到相同的效果:由于,原始目标可以被转化以最小化每个维度中的嵌入误差。因此,不管所选的 d如何,所得的描述符向量都是最优的。
在一些情况下,随后的特征值是等同的,即(见图3的示例,其中d=2和d=3的特征值是相同的)。这携带了关于对称性的一些信息,其中存在具有等同嵌入误差的多个正交维度。事实上,在图3的4节点图示例中,如果该图是完全连接的,则嵌入在每个维度中是对称的,并且除了平凡解之外,所有特征值是等同的。
上述图嵌入方法可以直接应用于网格、点云等。例如,可以使用K-最近邻(KNN)算法来形成顶点之间的局部连接并构建邻接矩阵。该方法足以构建图的拉普拉斯算子并计算每个顶点的嵌入。然而,该方法本质上构建在欧几里德距离度量和启发法之上,其不一定尊从3D对象模型的基础黎曼几何。例如,一些边可以穿过对象,或者可以连接网格的非相邻顶点。即使邻接矩阵中只有几个不正确的条目也可能导致不良的嵌入性能。因此,根据一个实施例,当利用模型工作时,确保任何两个顶点之间的测地线距离是正确的,或者具有最小的近似误差。
一般而言,诸如网格或点云之类的对象模型可以表示为嵌入中的黎曼流形。具有平滑改变的度量 g的黎曼流形M可以被认为是“局部欧几里德”,其捕获真实世界对象的局部光滑特性。拉普拉斯算子到黎曼流形的泛化是拉普拉斯-贝尔特拉米(LB)算子。类似于欧几里德空间中的拉普拉斯算子,应用于函数上的LB算子是函数梯度的散度。虽然图和欧几里德空间中的拉普拉斯算子容易计算(根据邻接信息或有限差),但是微分几何中的LB算子构建在外部微积分之上,并且一般而言不容易可用于流形。
然而,对于已知的离散流形,诸如网格,LB算子可以是近似的。当利用网格、点云等工作时,这提供了高度高效且简单的计算框架。由于拉普拉斯算子的黎曼等价是拉普拉斯-贝尔特拉米,因此上述嵌入方法可以直接应用于的特征向量将表示网格顶点的最优 d维欧几里德嵌入。
可以如下针对网格高效计算。假设利用 N个顶点 V、面 F和边 E给出网格。在这种情况下,的大小是的第 i行描述了第 i个顶点与其连接顶点的邻接信息。令是网格上的任何函数。然后,对该函数应用离散LB算子映射到。该函数的第 i个元素可以通过下式描述
(7)。
图4图示了角度的定义。
cotan项的总和充当连接权重 wij。根据一个实施例,在(7)中出现的这些权重——即当应用于网格时LB算子的权重——被用作用于确定等式(2)的的权重。
应当注意,由于,因此可能出现负连接权重 wij,尤其是如果一个角度显著大于其他角度(不是好的面)。为了克服该问题,可以通过边翻转来近似连接权重。
上述描述符生成方法唯一地对待每个顶点。也就是说,每个顶点都被分配唯一的描述符。然而,对象可能是对称的,并且因此,将唯一的描述符分配给看似等同的顶点将导致不对称的嵌入。
为了解决该问题,根据各种实施例,检测形状的内在对称性并压缩对称嵌入,使得对称顶点映射到相同的描述符。可以示出,如果拉普拉斯-贝尔特拉米算子的特征函数在欧几里德空间中显现得对称,则形状具有内在对称性。换句话说,网格、点云等的对称特征当它们的测地线保持欧几里德嵌入(描述符空间)示出欧几里德对称性时被检测。如果存在保持流形的每个顶点之间测地线距离的同胚 T,则紧致流形具有内在对称性。
为了压缩对称描述符,可以使用所谓的全局内在对称不变函数(GISIF)。给定全局内在对称同胚其中 g表示测地线距离,以及流形 f上的函数,然后,如果对于流形上的每个点
(8)
f是GISIF。例如,在环面上,令该同胚是绕z轴的任意旋转。这意味着如果 f是GISIF,则它必须对于该旋转是不变的。
此外,可以示出,在等同特征值 的情况下,这样的GISIF是该点的特征向量分量的平方和,即
这与等同特征值的以上分析产生了共鸣,其是对称嵌入的必要条件。由于实际上由于数值限制而罕见存在等同的特征值,因此可以使用启发法,其中如果特征值位于相同的球(具有小的)内,即当差异小于预定阈值,例如0.1%或0.01%时,则所述特征值被认为是等同的。由于对于给定对象,仅需要找到一次对称维度,因此这可以被手动执行。
例如,令环面的特征分解的前7个特征值为
不考虑平凡解,嵌入中的GISIF然后由下式给出
在多个对象的情况下,这些可以表示为多个不连接的连接图。在这种情况下,邻接矩阵是块对角的。对称正定拉普拉斯算子将再次具有正交的特征向量。与单图嵌入情况相比,特征分解的结果存在两个差异:首先,非递减的特征值将是所有对象的无次序嵌入误差。第二,由于对应的特征向量将保持正交,因此特征向量将具有零条目。这意味着描述符空间的每个维度将仅对应于一个对象嵌入。此外,维度相对于对应的对象的嵌入误差排序。因此,在应当生成两个对象的3维嵌入的情况下,使用d=8,因为存在对应于的两个平凡解。
该直接的方法独立地处理多个对象,虽然可能存在次优的方法,其仍然提供了具有利用对象之间相关性的较低 d的相当好的嵌入。
给定对象的姿态,可以通过将描述符投影到图像平面来生成目标图像。作为非对象(背景)描述符空间图像,可以使用随机噪声或映射到描述符空间中最远点的单个描述符。
为了改进经训练的网络200的鲁棒性,可以应用图像增强方法,诸如像高斯模糊、裁剪或丢弃的域随机化或干扰。
总之,根据各种实施例,提供了如图中5图示的方法。
图5示出了根据实施例的用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的方法。
在501中,获得对象的3D模型,其中3D模型包括由边连接的顶点的网格,其中每个边具有指定对象中由边连接的两个顶点的接近度的权重。权重可以例如从CAD模型(例如,由用户提供)获得(即,确定)。
在502中,通过搜索顶点的描述符来为网格的每个顶点确定描述符,所述顶点的描述符最小化由顶点对之间的边的权重加权的顶点对的描述符之间的距离在连接顶点对之上的和。
在503中,生成训练数据图像对,其中每个训练数据图像对包括示出对象和目标图像的训练输入图像,并且其中生成目标图像包括确定对象的对象模型的顶点在训练输入图像中顶点具有的顶点位置,并且对于训练输入图像中的每个确定的顶点位置,将为顶点位置处的顶点确定的描述符分配给目标图像中的位置。
在504中,使用训练数据图像对作为训练数据,通过监督学习来训练机器学习模型。
根据各种实施例,换句话说,通过局部保留几何特性,对象被嵌入到描述符空间中。如等式(1)所描述的,这是通过搜索嵌入来完成的,该嵌入最小化由顶点对之间的边的权重加权的顶点对的嵌入之间的距离在连接顶点对之上的和。虽然在上述示例中,机器学习网络被描述为神经网络,但是可以使用将3D张量映射到另一个3D张量的其他种类的回归量。
根据各种实施例,机器学习模型将描述符分配给对象的像素(在图像平面中)。这可以看作是间接编码对象的表面拓扑。描述符和表面拓扑之间的该连接可以通过渲染以将描述符映射到图像平面而变为显式的。应当注意,对象模型的面(即,不是顶点的点)处的描述符值可以通过插值来确定。例如,当由对象模型的3个顶点分别用它们的描述符值y1、y2、y3给出一个面时,则在面的任何一点,描述符值y可以被计算为这些值的加权和。换句话说,顶点处的描述符值是插值的。
为了生成用于训练数据的图像对,对象的图像(例如RGB图像)包括具有已知3D(例如CAD)模型和姿态(在全局(即世界)坐标系中)的对象(或多个对象)到(密集)描述符图像,该(密集)描述符图像在以下意义上是最优的,即它是通过搜索描述符来生成的,以最小化对象模型和其在描述符空间中的表示(嵌入)之间的几何特性(具体地,对象的点的接近度)的偏差。在实际使用中,由于搜索被限制到某个搜索空间,一般而言将找不到对最小化的理论最优解。然而,最小值的估计是在实际应用的限制内确定的(可用的计算准确度、最大迭代次数等)。
因此,通过执行由顶点对之间的边的权重加权的顶点对的描述符之间的距离在连接的顶点对之上的和的最小化过程来搜索顶点的描述符,其中为顶点的相应顶点搜索每个描述符;
每个训练数据图像对包括对象的训练输入图像和目标图像,其中通过根据对象在训练输入图像中具有的姿态将训练输入图像中可见的顶点的描述符投射到训练输入图像平面来生成目标图像。
图像与其相关联的目标图像一起被用于以监督的方式训练机器学习模型。
机器学习模型因此被训练来识别对象(或多个对象)的唯一特征。经由实时评估机器学习模型,该信息可以用于机器人控制中的不同应用,例如,预测用于装配的对象抓取姿态。应当注意,监督训练方法允许对对称信息进行显式编码。
图5的方法可以由包括一个或多个数据处理单元的一个或多个计算机来执行。术语“数据处理单元”可以理解为允许处理数据或信号的任何类型的实体。例如,可以根据由数据处理单元执行的至少一个(即,一个或多于一个)特定功能来处理数据或信号。数据处理单元可以包括模拟电路、数字电路、复合信号电路、逻辑电路、微处理器、微控制器、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、可编程门阵列(FPGA)集成电路或其任何组合,或者由其形成。实现相应功能的任何其他方式(其将在下面更详细地描述)也可以被理解为数据处理单元或逻辑电路。将理解,本文详细描述的一个或多个方法步骤可以由数据处理单元通过由数据处理单元执行的一个或多个特定功能来执行(例如,实现)。
术语“机器人”可以理解为指代任何物理系统(具有其移动受控制的机械部分),诸如计算机控制的机器、交通工具、家用电器、电动工具、制造机器、个人助理或访问控制系统。
各种实施例可以接收和使用来自各种传感器的传感器信号以例如获得示出对象的传感器数据,所述各种传感器诸如是(例如RGB)相机、视频、雷达、LiDAR、超声、热成像等。实施例可以用于生成训练数据和训练机器学习系统,例如用于控制机器人,例如机器人操控器,以自主地实现不同场景下的各种操控任务。特别地,实施例适用于例如装配线中操控任务的执行的控制和监视。
尽管在本文已经图示和描述了具体实施例,但是本领域普通技术人员将领会,在不脱离本发明的范围的情况下,可以用多种替代和/或等同的实现来替换所示出和描述的具体实施例。本申请旨在涵盖本文讨论的具体实施例的任何改编或变型。因此,本发明旨在仅受权利要求及其等同物所限制。

Claims (13)

1.一种用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的方法,所述方法包括:
获得所述对象的3D模型,其中所述3D模型包括由边连接的顶点的网格,其中每个边具有指定所述对象中由所述边连接的两个顶点的接近度的权重;
通过搜索顶点的描述符来确定所述网格的每个顶点的描述符,所述顶点的描述符最小化由顶点对之间的边的权重加权的顶点对的描述符之间的距离在连接顶点对之上的和;
生成训练数据图像对,其中每个训练数据图像对包括示出对象和目标图像的训练输入图像,并且其中生成目标图像包括
确定对象的对象模型的顶点在训练输入图像中顶点具有的顶点位置;和
对于训练输入图像中的每个确定的顶点位置,将为顶点位置处的顶点确定的描述符分配给目标图像中的位置;以及
使用训练数据图像对作为训练数据,通过监督学习来训练机器学习模型。
2.根据权利要求1所述的方法,其中,生成训练数据图像对包括获得不同姿态中的对象的多个图像,并通过为获得的图像生成目标图像来从每个获得的图像生成训练数据图像对。
3.根据权利要求1或2所述的方法,包括从所述对象在训练输入图像中具有的相应姿态,确定对象的对象模型的顶点在训练输入图像中顶点具有的顶点位置。
4.根据权利要求1至3中任一项所述的方法,其中搜索描述符包括确定由3D模型的顶点和边形成的图的拉普拉斯算子矩阵的特征向量,并将特征向量的分量取作描述符的分量。
5.根据权利要求4所述的方法,包括关联与特征向量中的分量位置相关联的每个顶点,并且对于每个顶点,将特征向量中与所述顶点相关联的分量位置处的分量取作所述顶点的描述符的分量。
6.根据权利要求5所述的方法,其中,确定描述符进一步包括通过将其特征值相差小于预定阈值的特征向量的分量组合成单个分量来压缩描述符。
7.根据权利要求1至6中任一项所述的方法,其中,获得对象的3D模型包括获得建模对象的顶点和边的3D网格,并且将应用于网格的拉普拉斯-贝尔特拉米算子的边权重作为边的权重进行分配。
8.一种用于控制机器人的方法,包括
根据权利要求1至7中任一项训练机器学习模型;
获得示出对象的图像;
将图像馈送到机器学习模型;
从机器学习模型的输出确定对象的姿态;和
取决于所确定的对象姿态来控制机器人。
9.根据权利要求8所述的方法,其中,确定对象姿态包括确定对象的某一部分的位置,并且其中取决于所确定的对象姿态控制机器人包括控制机器人的末端执行器移动到对象的所述部分的位置并与对象的所述部分交互。
10.一种软件或硬件代理,特别是机器人,包括
相机,被配置为提供对象的图像数据;
控制器,被配置为实现机器学习模型;和
训练设备,被配置为通过权利要求1至7中任一项所述的方法来训练所述机器学习模型。
11.根据权利要求10所述的软件或硬件代理,包括至少一个致动器,其中所述控制器被配置为使用来自所述机器学习模型的输出来控制所述至少一个致动器。
12.一种包括指令的计算机程序,所述指令当由处理器执行时,使处理器执行根据权利要求1至9中任一项的方法。
13.一种存储指令的计算机可读介质,所述指令当由处理器执行时,使处理器执行根据权利要求1至9中任一项的方法。
CN202180046806.2A 2020-07-01 2021-06-22 用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法 Pending CN116018599A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102020208211.1A DE102020208211A1 (de) 2020-07-01 2020-07-01 Vorrichtungen und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erkennen einer Objekttopologie eines Objekts aus einem Bild des Objekts
DE102020208211.1 2020-07-01
PCT/EP2021/067011 WO2022002698A1 (en) 2020-07-01 2021-06-22 Device and method for training a machine learning model for recognizing an object topology of an object from an image of the object

Publications (1)

Publication Number Publication Date
CN116018599A true CN116018599A (zh) 2023-04-25

Family

ID=76730548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180046806.2A Pending CN116018599A (zh) 2020-07-01 2021-06-22 用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法

Country Status (4)

Country Link
US (1) US20230115521A1 (zh)
CN (1) CN116018599A (zh)
DE (1) DE102020208211A1 (zh)
WO (1) WO2022002698A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021210993A1 (de) 2021-09-30 2023-03-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen von Trainingsdaten für überwachtes Lernen zum Trainieren eines neuronalen Netzes
DE102022201719A1 (de) 2022-02-18 2023-08-24 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100289A1 (en) * 2013-10-09 2015-04-09 Technion Research & Development Foundation Limited Method and system for shapewise comparison
US10769411B2 (en) * 2017-11-15 2020-09-08 Qualcomm Technologies, Inc. Pose estimation and model retrieval for objects in images

Also Published As

Publication number Publication date
US20230115521A1 (en) 2023-04-13
DE102020208211A1 (de) 2022-01-05
WO2022002698A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
JP5835926B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
Ilonen et al. Fusing visual and tactile sensing for 3-d object reconstruction while grasping
JP2022519194A (ja) 奥行き推定
CN113409384B (zh) 一种目标物体的位姿估计方法和系统、机器人
JP5480667B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラム
JP2014063475A (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
CN113613851B (zh) 估计工具轨迹的方法和装置
US11185980B2 (en) Machine learning-based systems and methods for controlling robotic object picking and placement in training and run time environments
CN116018599A (zh) 用于训练机器学习模型以从对象的图像中识别对象的对象拓扑的设备和方法
JP2022547288A (ja) 画像処理を使用したシーン表示
Zhi et al. Simultaneous hand-eye calibration and reconstruction
CN115351780A (zh) 用于控制机器人设备的方法
US11986960B2 (en) Apparatus and method for training a machine learning model to recognize an object topology of an object from an image of the object
US11964400B2 (en) Device and method for controlling a robot to pick up an object in various positions
CN115205371A (zh) 用于根据对象的摄像机图像定位对象的部位的设备和方法
KR20220161341A (ko) 이미지 처리 시스템 및 방법
CN115338856A (zh) 用于控制机器人装置的方法
CN116152335A (zh) 用于训练机器学习模型以生成描述符图像的装置和方法
Kingkan et al. Model-based virtual visual servoing with point cloud data
Pichkalev et al. Face drawing by KUKA 6 axis robot manipulator
CN115082550A (zh) 从对象的相机图像中定位对象的位置的设备和方法
US20220274257A1 (en) Device and method for controlling a robot for picking up an object
CN114972498A (zh) 用于确定对象的姿势的装置和方法
Sithamparanathan et al. Pose Estimation of a Robot Arm from a Single Camera
Liang et al. Model-based 3d pose estimation for pick-and-place application

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