用于训练机器学习模型以生成描述符图像的设备和方法与流程
未命名
08-25
阅读:131
评论:0
1.本公开涉及用于训练机器学习模型以生成关于对象的图像的描述符图像的设备和方法。
背景技术:
2.为了使机器人能够灵活地制造或加工对象而期望:机器人能够操纵对象,而不管该对象在机器人的工作空间中的放置方位(stellung)。因此,机器人应该能够识别对象的哪些部分处在哪些位置,从而使机器人可以例如在正确部位抓取到该对象,以便将该对象例如固定或焊接在另一个对象上。这意味着,机器人应该能够例如从由固定在机器人上的相机所记录的一个或多个图像中识别出对象的姿态(位置和取向),或确定用于拾取或加工的部位的位置。实现此目的的一种方案在于,针对对象的多个部分(即图像平面中表示的对象的像素)确定描述符,即,在预定义描述符空间中的点(向量),其中机器人被训练成,与对象的当前姿态无关地给对象的相同部分分派(zuweisen)相同的描述符,并且因此识别出图像中对象的拓扑,从而例如得知对象的哪个角在图像中处于哪里。在了解相机姿态的情况下,则又可以推断出该对象的姿态。拓扑的识别可以通过相应训练的机器学习模型来实现。
3.对此的一个例子是在peter florence等人的出版物“dense object nets:learning dense visual object descriptors by and for robotic manipulation”(以下简称为“参考文献1”)中描述的密集对象网络。密集对象网络在此情况下以自监督的方式被训练,其中使用具有rgbd相机(rgb加深度)和机器人臂的专用设置来收集训练数据。在此,从同一对象布置的不同角度记录多个图像。这是相对耗时的并且需要具有移动相机的复杂装置。因此而期望的是:用于训练密集对象网络的更为有效的途径。
技术实现要素:
4.根据各种实施方式,提供了一种用于训练机器学习模型以生成关于一个或多个对象的图像的描述符图像的方法,所述方法包括:记录多个相机图像,其中每个相机图像显示一个或多个对象。所述方法针对每个相机图像而包括:通过针对相机图像的每个增强版本而将相应的增强应用到所述相机图像而生成所述相机图像的一个或多个增强版本,其中所述增强包括所述相机图像的像素值的位置变化(以及可选的像素值的色值变化);生成一个或多个训练图像对,所述训练图像对分别包括相机图像和所述相机图像的增强或所述相机图像的两个增强版本;并且针对每个训练图像对,如果所述训练图像对具有所述相机图像的一个增强版本,则根据用于生成所述一个增强版本的增强所包括的像素值位置变化而确定所述训练图像对中相互对应的像素和非相互对应的像素,如果所述训练图像对具有所述相机图像的两个增强版本,则根据用于生成这些增强版本的这两个增强所包括的这些像素值位置变化而确定所述训练图像对中相互对应的像素和非相互对应的像素。该方法还包括:通过使用这些训练图像对借助对比损失(kontrast-verlust)而训练机器学习模型,其中机器学习模型针对相互对应的像素所生成的描述符值被用作正例对(positiv-paare),
并且机器学习模型针对非相互对应的像素所生成的描述符值被用作负例对(negativ-paare)。
5.上述方法使得能够以显著简化的方式收集训练数据,并且相应地比例如参考文献1的方式明显更少耗费地训练用于生成描述符图像的机器学习模型,这是因为例如仅需要唯一的静态rgb或rgb-d相机生成训练数据。针对一个场景(对象配置)只需要记录唯一的图像,由此可以更简单地生成适合训练机器学习模型的多样化训练数据集。
6.下面说明各种实施例。
7.实施例1是如上所述的用于控制机器人的方法。
8.实施例2是根据实施例1所述的方法,其中所述增强包括:旋转、透视变换和/或仿射变换。
9.这种增强使得能够生成丰富的训练数据集,并且同时使得能够简单地且可靠地确定相互对应的像素。
10.实施例3是根据实施例1或2所述的方法,所述方法包括:在生成增强版本和训练图像对之前,在考虑所述一个或多个对象的对象掩模的情况下裁剪(zuschneiden)相机图像。
11.因此减少了用于训练(尤其是生成相机图像的增强版本)的输入数据量。
12.实施例4是根据实施例1至3之一所述的方法,其中,所述机器学习模型是神经网络。
13.换句话说,训练密集对象网络。使用这些可以实现用于生成描述符图像的良好结果。
14.实施例5是根据实施例1至4之一所述的方法,其中,所述多个相机图像是从同一视角记录的。
15.这简化了相机图像的记录并且例如可以使用固定式的、例如固定安装的相机。
16.实施例6是一种用于控制机器人拾取或加工对象的方法,该方法包括:根据实施例1至5之一所述地训练机器学习模型;记录相机图像,所述相机图像示出当前控制场景中的对象;将相机图像输送到用于生成描述符图像的机器学习模型;根据描述符图像确定当前控制场景中用于拾取或加工所述对象的部位的位置,并根据所确定的位置控制机器人。
17.实施例7是根据实施例6所述的方法,包括:标识参考图像中的参考部位(referenzstelle),通过将参考图像输送给机器学习模型来确定所标识的参考部位的描述符,通过在由相机图像生成的描述符图像中搜索(suchen)所确定的描述符而确定在当前控制场景中参考部位的位置;并且根据参考部位的所确定的位置而确定在当前控制场景中用于拾取或加工所述对象的部位的位置。
18.实施例8是一种控制装置,其被设立为执行根据实施例1至7之一所述的方法。
19.实施例9是具有指令的计算机程序,当由处理器执行这些指令时,这些指令使处理器执行根据实施例1至7之一所述的方法。
20.实施例10是一种存储指令的计算机可读介质,当由处理器执行这些指令时,这些指令使处理器执行根据实施例1至7之一所述的方法。
附图说明
21.在附图中,相同的附图标记通常涉及在完全不同的视图中的相同部分。附图不一
定按比例,而是通常强调说明本发明的原理。在以下描述中,参考以下附图来描述不同方面。
22.图1示出了机器人。
23.图2示出了阐明根据一种实施方式的用于训练机器学习模型以生成关于一个或多个对象的图像的描述符图像的数据流的图。
24.图3示出了根据一种实施方式的两个训练数据图像。
25.图4示出了流程图,该流程图示出了根据一种实施方式的用于训练机器学习模型以生成关于一个或多个对象的图像的描述符图像的方法。
具体实施方式
26.以下详细描述参考了附图,这些附图为了解释的目的而显示了本公开的具体细节和可以在其中实施本发明的多个方面。可以使用其他方面,并且可以执行结构上、逻辑上和电气上的改变而不偏离本发明的保护范围。本公开的不同方面不一定是相互排斥的,因为本公开的一些方面可以与本公开的一个或多个其他方面组合以形成新的方面。
27.下面更详细地描述各种示例。
28.图1示出了机器人100。
29.机器人100包括机器人臂101,例如工业机器人臂,用于操纵或组装工件(或一个或多个其他对象)。机器人臂101包括操纵器(manipulator)102、103、104和用于支撑操纵器102、103、104的基座(或支撑件(st
ü
tze))105。术语“操纵器”是指机器人臂101的可移动部件,对其进行的操纵能够实现与周围环境的物理交互,以便例如执行任务。为了控制,机器人100包括(机器人)控制装置106,其被设计为根据控制程序实现与周围环境的交互。操纵器102、103、104的最终部件104(其离支撑件105最远)也被称为末端执行器104并且可以包括一个或多个工具,例如焊炬、夹持仪器、油漆设备等。
30.其他操纵器102、103(其更靠近支撑件105)可以形成定位设备,使得与末端执行器104一起而提供了在自身末端具有末端执行器104的机器人臂101。机器人臂101是可以提供与人类手臂类似的功能的机械手臂(可能在自身末端具有工具)。
31.机器人臂101可以包括将操纵器102、103、104彼此连接并连接到支撑件105的关节元件107、108、109。关节元件107、108、109可以包括一个或多个关节,这些关节分别可以提供针对相关联的操纵器而言相对于彼此的可旋转的运动(即旋转运动)和/或平移运动(即转移(verlagerung))。操纵器102、103、104的运动可以通过由控制装置106控制的执行机构来启动。
32.术语“执行机构(aktor)”可以被理解为被构造成响应于被驱动而引起机械机制(mechanismus)或过程的组件。执行机构可以将由控制装置106创建的指令(所谓的激活)实现为机械运动。执行机构、例如机电转换器可以被设计为响应于被驱动而将电能转换为机械能。
33.术语“控制装置”可以理解为任何类型的逻辑实现实体,其可以例如包括如下电路和/或处理器,所述电路和/或处理器能够执行存储在存储介质中的软件、固件或其组合,并且能够向例如本示例中的执行机构发出指令。例如,控制装置可以通过程序代码(例如软件)来得以配置,以控制系统(在本示例中为机器人)的运行。
34.在本示例中,控制装置106包括一个或多个处理器110和存储器111,存储器111存储处理器110控制机器人臂101所基于的代码和数据。根据各种实施方式,控制装置106基于存储在存储器111中的机器学习模型112来控制机器人臂101。
35.控制装置106使用机器学习模型112来确定例如放置在机器人臂101的工作空间中的对象113的姿态。根据所确定的姿态,控制装置106可以例如决定:应该由末端执行器109抓取(或以其他方式加工)对象113的哪个部位。
36.控制装置106在使用对象113的一个或多个相机图像的情况下通过使用机器学习模型112来确定姿态。例如,机器人100可以配备一个或多个相机114,所述相机使得所述机器人能够记录自身工作空间的图像。例如,相机114是固定在机器人臂101上的,使得机器人可以通过四处移动(herumbewegen)机器人臂101来从不同视角记录该对象113的图像。然而,也可以设置一个或多个固定相机。
37.根据各种实施方式,机器学习模型112是(深度)神经网络,其针对相机图像生成特征图,例如以特征空间中的图像的形式,所述特征图使得能够将(2d)相机图像中的点分配给(3d)对象的点。
38.例如,机器学习模型112可以被训练成,将特征空间中的特定的(唯一)特征值(也称为描述符值)分派给对象的特定角(ecke)。如果然后将相机图像输送给机器学习模型112并且机器学习模型112将该特征值分配给相机图像的点,则可以推断出:角处于该部位(stelle)(即在空间中的如下部位,其到相机平面上的投影对应于相机图像中的该点)。如果知道该对象的多个点在相机图像中的位置,就可以确定该对象在空间中的姿态。
39.必须针对该任务对机器学习模型112进行适当的训练。
40.用于对象识别的机器学习模型112的示例是密集对象网络。密集对象网络将图像(例如,由相机114提供的rgb图像)映射到任意维度(维度d,例如d=16)的描述符空间图像(也称为描述符图像)上,即每个像素被分派有描述符值。密集对象网络是神经网络,通过使用自监督学习而将该神经网络训练用于,为图像的输入图像输出描述符空间图像。因此,能将已知对象(或未知对象)的图像映射到描述符图像上,这些描述符图像包含如下描述符,这些描述符与图像的视角无关地标识出对象上的部位。因此获得了对象的一致表示,这些表示可以作为用于控制、例如操纵对象的基础而使用。
41.可以通过使用对比学习(英文:contrastive learning)以自监督的方式训练don。
42.在参考文献1中描述的自监督训练中,使用机器人臂上已登记(registrieren)的rgb-d相机从不同位置和角度记录场景。由于相机的定向是已知的,因此这些图像中的两个图像之间的几何对应关系(korrespondenzen)形成一组对应的和非对应的像素。训练数据由这些组一致和不一致的像素以及rgb图像组成。需要对相机进行特殊校准,以及设法策划的数据检测方法,其中安装在机器人上的相机从不同视角检测该场景。例如,对象表示可用于识别对象上的关键点。
43.针对根据参考文献1的训练而进行的训练数据收集因此是相对耗费的,因为需要具有可移动相机的布置装置并且必须从不同视角记录图像。
44.根据各种实施方式,提供了一种用于训练机器学习模型(例如,don)以生成关于一个或多个对象的图像的描述符图像的方法,其中可以使用固定式(即固定的,例如固定安装的)相机来记录图像,即训练图像,从单一视角示出相应的训练场景。在这种情况下,用于机
器学习模型的训练数据是通过增强训练场景的所记录的训练图像而生成的。这是以两种(或多种)方式完成的,从而对于每个所记录的训练图像,训练数据包含所记录的训练图像的多个增强版本。代替经由来自不同视角的图像的几何对应关系来确定对应或不对应的像素(如参考文献1中),根据各种实施方式,根据关于所使用的增强的信息而确定哪些像素是对应的。这样的增强(其实现这点并因此可以根据各种实施方式得以使用)例如是随机旋转、透视和仿射变换。与仿射变换不同,透视变换的情况下不保持平行性图像被变换,就好像从不同的视角观看一样。这意味着:该图像被虚拟“翻转(gekippt)”(即,边长被不同地改变,其间的空间被插值)。
45.图2示出了阐明用于训练机器学习模型201以生成关于一个或多个对象的图像的描述符图像的数据流的图。
46.相机202(例如对应于相机114)记录对象204的相机图像203。相机图像203通过一个或多个增强204而得以处理。结果是相机图像的一个或多个增强版本205,例如来自不同视角(并且不同于原始相机图像的视角)的两个相机图像。利用这些增强版本,连同原始相机图像203,机器学习模型201被训练,其中相机图像203可以针对不同的场景和不同的对象而被记录,并连同其增强版本205一起用于训练。
47.因此,使用对比损失(英文:contrastive loss)例如自监督地进行训练,参见用于示例的参考文献1。
48.增强204可以被视为相机图像203的每个像素到对应的增强版本205的(几何)映射,即每个增强都引起像素值的位置变化。如果所述增强将原始相机图像中的另一个像素的像素值映射到增强相机图像中的像素上,则增强相机图像中的所述像素对应于原始相机图像中的所述另一个像素。通过跟随该映射(位置变化),可以建立相机图像203的像素与其增强204之间(或者也在增强204之间)的对应关系,即可以确定相互对应的像素(并且因此也确定对象部位)。因此,可以确定(对应的)像素的正例对和(非对应的)像素的负例对以用于对比学习。例如,对于被采样的每个正例对,采样多个负例对。如果相机图像的两个增强版本中的像素都对应于原始相机图像中的相同像素,则所述相机图像的两个增强版本两者中的像素相对应。几何增强也可以通过进一步的下游增强(颜色或亮度变化、噪声等)来补充,以提高机器学习模型的鲁棒性。
49.连同(例如rgb)相机图像203(针对不同的对象和/或场景),针对训练方法的输入数据还可以包含关联的对象掩模,其可以例如通过如下方式被确定:将具有对象的场景的深度图像与没有该对象的场景的深度图像(即只有背景)进行比较。
50.于是,可以(在增强204之前)设置预处理,在预处理中为了减少相机图像203的数据量,将这些相机图像裁剪为较小的尺寸,其中分别考虑对象掩模,使得该对象在经裁剪的相机图像中仍然被包含在内。
51.例如,增强是旋转以及透视和仿射变换。
52.机器学习模型201针对被输送给其的图像的输出,即(可能经裁剪的)相机图像203或其增强版本205是描述符图像,所述描述符图像具有与被输送的图像(例如)相同的维度,但针对每个像素具有描述符向量而不是rgb值。训练机器学习模型201,使得属于同一(增强前的)原始像素、即彼此对应的两个像素的描述符向量彼此接近。另一方面,非相互对应的像素的描述符向量在描述符空间中应该相距很远。
53.图3示出了两个训练数据图像301,例如相机图像的增强版本301。其中所示的对象302的部位被采样,并且根据有关于这些增强的了解来确定这两个训练数据图像301中的对应(相应)像素。这两个训练数据图像301都通过机器学习模型而被映射到相应的描述符图像302上(其中在此以非常简化的方式通过阴影表示不同的描述符值范围)。机器学习模型被这样训练,使得像素的描述符值尽可能彼此接近,并尽可能远离其他像素的描述符值(关于许多训练图像和采样部位的平均)。训练数据图像201和描述符图像302中的像素对应关系由箭头指示。
54.训练数据图像301之一也可以是原始相机图像本身。
55.综上所述,根据各种实施方式,提供了一种方法,如图4所示。
56.图4示出了流程图400,该流程图示出了根据一种实施方式的用于训练机器学习模型以生成关于一个或多个对象的图像的描述符图像的方法。
57.在401中,记录多个相机图像,其中每个相机图像显示一个或多个对象。
58.在402中,对于每个相机图像
59.·
在403中,通过针对相机图像的每个增强版本而将相应的增强应用到所述相机图像而生成所述相机图像的一个或多个增强版本,其中该增强包括:相机图像的像素值的位置变化;
60.·
在404中生成一个或多个训练图像对,这些训练图像对分别包括相机图像和相机图像的增强或该相机图像的两个增强版本;
61.·
在405中,针对每个训练图像对,如果所述训练图像对具有所述相机图像的一个增强版本,则根据用于生成所述一个增强版本的增强所包括的像素值位置变化而确定所述训练图像对中相互对应的像素和非相互对应的像素,如果所述训练图像对具有所述相机图像的两个增强版本,则根据用于生成这些增强版本的这两个增强所包括的这些像素值位置变化而确定所述训练图像对中相互对应的像素和非相互对应的像素。
62.在406中,机器学习模型通过使用训练图像对借助对比损失来训练。这里,机器学习模型针对相互对应的像素所生成的描述符值被用作正例对,并且机器学习模型针对非相互对应的像素所生成的描述符值被用作负例对。
63.应该注意的是,增强版本不一定是在记录了所有相机图像之后才创建的。例如,这也可以交替发生。因此,顺序不限于上述顺序。
64.图4的方法可以由具有一个或多个数据处理单元的一个或多个计算机执行。术语“数据处理单元”可以理解为能够处理数据或信号的任何类型的实体。例如,可以根据由数据处理单元执行的至少一种(即一种或多于一种)特定功能来处理数据或信号。数据处理单元可以包括模拟电路、数字电路、逻辑电路、微处理器、微控制器、中央单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、可编程门阵列(fpga)的集成电路或其任何组合,或由其形成。用于实现本文更详细描述的相应功能的任何其他方式也可以理解为数据处理单元或逻辑电路装置。本文详细描述的其中一个或多个方法步骤可由数据处理单元通过该数据处理单元所执行的一个或多个特定功能来执行(例如实现)。
65.借助经训练的机器学习模型(例如,通过使用经训练的机器学习模型来确定对象姿态或确定要加工的部位)最终可以生成针对机器人设备的控制信号。对此,可以确定该机器学习模型已针对其被训练过的任何类型的对象的相关部位。术语“机器人设备”可以理解
为是指任何物理系统,例如计算机控制的机器、车辆、家用电器、电动工具、制造机器、个人助理或访问控制系统。学习针对所述物理系统的控制规则,然后相应地控制所述物理系统。
66.例如,使用rgb-d(彩色图像加深度)相机来记录图像,由经训练的机器学习模型(例如神经网络)处理所述图像,并确定机器人设备的工作区域中的相关部位,其中根据所确定的部位来控制所述机器人设备。例如,可以在输入传感器数据中跟踪对象(即,其位置和/或姿态)。
67.相机图像例如是rgb图像或rgb-d(彩色图像加深度)图像,但也可以是其他类型的相机图像,例如(仅)深度图像或热、视频-、雷达、lidar、超声波或运动图像。深度图像不是强制性必要的。经训练的机器学习模型的输出可用于确定对象姿态,例如用于控制机器人,例如用于由子对象组合成更大的对象、移动对象等。图4的方法可用于任何姿态确定方法。例如,根据由描述符图像所确定的相关部位可以确定能够由机器人来抓取(或者也可以抽吸)对象的对象部位的位置以及不应该抓取的部位的位置。例如,它们因此为操纵任务提供了有价值的信息。
68.尽管这里已经示出和描述了特定实施方式,但是本领域技术人员将认识到:所示和描述的特定实施方式可替换成多种多样的替代和/或等效实现方案,而不脱离本发明的保护范围。本技术应涵盖本文讨论的特定实施方式的任何适配或变型。因此,本发明旨在仅由权利要求及其等效方案来限制。
技术特征:
1.用于训练机器学习模型以生成关于一个或多个对象的图像的描述符图像的方法,所述方法包括:记录多个相机图像,其中每个相机图像显示一个或多个对象;针对每个相机图像通过针对所述相机图像的每个增强版本而将相应的增强应用到所述相机图像而生成所述相机图像的一个或多个增强版本,其中所述增强包括所述相机图像的像素值的位置变化;生成一个或多个训练图像对,所述训练图像对分别包括所述相机图像和所述相机图像的增强或所述相机图像的两个增强版本;并且针对每个训练图像对,如果所述训练图像对具有所述相机图像的一个增强版本,则根据用于生成所述一个增强版本的增强所包括的像素值位置变化而确定所述训练图像对中相互对应的像素和非相互对应的像素,如果所述训练图像对具有所述相机图像的两个增强版本,则根据用于生成所述增强版本的所述两个增强所包括的所述像素值位置变化而确定所述训练图像对中相互对应的像素和非相互对应的像素,和通过使用所述训练图像对借助对比损失而训练所述机器学习模型,其中所述机器学习模型针对相互对应的像素所生成的描述符值被用作正例对,并且所述机器学习模型针对非相互对应的像素所生成的描述符值被用作负例对。2.根据权利要求1所述的方法,其中,所述增强包括:旋转、透视变换和/或仿射变换。3.根据权利要求1或2所述的方法,所述方法包括:在生成所述增强版本和所述训练图像对之前,在考虑所述一个或多个对象的对象掩模的情况下裁剪所述相机图像。4.根据权利要求1至3中任一项所述的方法,其中,所述机器学习模型是神经网络。5.根据权利要求1至4中任一项所述的方法,其中,所述多个相机图像是从同一视角记录的。6.用于控制机器人拾取或加工对象的方法,所述方法包括:根据权利要求1至5中任一项所述地训练机器学习模型;记录相机图像,所述相机图像示出当前控制场景中的对象;将所述相机图像输送到用于生成描述符图像的机器学习模型;根据所述描述符图像确定在所述当前控制场景中用于拾取或加工所述对象的部位的位置;和根据所确定的位置控制所述机器人。7.根据权利要求6所述的方法,所述方法包括:标识参考图像中的参考部位;通过将所述参考图像输送给机器学习模型来确定所标识的参考部位的描述符;通过在由所述相机图像生成的描述符图像中搜索所确定的描述符而确定在当前控制场景中所述参考部位的位置;并且根据所述参考部位的所确定的位置而确定在所述当前控制场景中用于拾取或加工所述对象的部位的位置。8.控制装置,所述控制装置被设立为执行根据权利要求1至7中任一项所述的方法。9.计算机程序,所述计算机程序具有指令,当由处理器执行所述指令时,所述指令使处
理器执行根据权利要求1至7中任一项所述的方法。10.计算机可读介质,所述计算机可读介质存储指令,当由处理器执行所述指令时,所述指令使所述处理器执行根据权利要求1至7中任一项所述的方法。
技术总结
根据各种实施方式而描述了一种用于训练机器学习模型以生成关于一个或多个对象的图像的描述符图像的方法,包括:记录多个相机图像,其中每个相机图像显示一个或多个对象;针对每个相机图像,通过针对相机图像的每个增强版本而将相应的增强应用到相机图像而生成相机图像的一个或多个增强版本,其中增强包括相机图像的像素值的位置变化;并且生成训练图像对,训练图像对分别包括相机图像和相机图像的增强或相机图像的两个增强版本;并且通过使用训练图像对借助对比损失而训练机器学习模型,其中机器学习模型针对相互对应的像素所生成的描述符值被用作正例对,并且机器学习模型针对非相互对应的像素所生成的描述符值被用作负例对。负例对。负例对。
技术研发人员:C
受保护的技术使用者:罗伯特
技术研发日:2023.02.16
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:多链路设备以及通信方法与流程 下一篇:镜头设备和摄像设备的制作方法
