可变形对象的动作条件隐式动态的制作方法

未命名 09-16 阅读:97 评论:0

可变形对象的动作条件隐式动态


背景技术:

1.感知真实的可变形对象并建模它们随时间的动态(dynamics)对于构建能够与软对象交互的自主代理是不可或缺的。例如,当机器人试图解决一项任务时,它通常需要预测对象如果执行某个动作会发生什么。许多用于预测对对象执行动作的后果的系统假设对象是刚性的,因此对于非刚性对象可能不准确。从原始视觉信号估计体积可变形对象(例如毛绒玩具和披萨面团)的几何并预测它们的运动存在重大挑战,部分原因在于它们无限的连续配置空间、复杂的非线性动态、部分可观察性和自碰撞。
2.常规方法可用于根据视觉数据对变形进行建模。然而,他们专注于特定类别的有限种类的对象,运动受限并且没有外部动作。其他常规方法可用于形成捕捉非刚性对象的动作条件运动的动态模型。然而,它们要么依赖于高保真数学模型,要么依赖于学习的近似值,这很难从原始传感器信号中估计出来。进一步的传统方法可能依赖于提取对象的几何中间表示以用于动作条件动态。但是,这些方法将特定对象(例如绳索或衣服)的几何简化为1d或2d表示。因此,他们无法处理真实体积形状的变形,其中关于复杂体积的知识可能受到局部视图的限制。


技术实现要素:

3.本公开的实施例涉及可变形对象的动作条件隐式动态。更具体地,本公开涉及在确定对象(例如,体积可变形对象)的动态方面的改进,该动态将导致对对象执行的动作。本公开进一步涉及在确定与对象相对应的位置之间的对应关系方面的改进。
4.在一些方面,一个或更多个机器学习模型(mlm)可用于从对对象执行动作来学习对象的几何和对象的动态的隐式3d表示。在至少一个实施例中,隐式神经表示可用于重建对象的高保真全几何并从一个或更多个图像预测基于流的动态场,这可提供对象的局部视图。
5.在另外的方面,可以至少基于与对象相对应的表面上的位置之间的距离,例如测地距离,来学习对象的位置之间的对应关系。在至少一个实施例中,可以将距离并入对比学习损失函数中以训练一个或更多个mlm来学习对象的位置之间的对应关系,例如可以稳健地建立逐点对应关系的对应嵌入字段。当评估可在对象上执行的一个或更多个动作时,对应关系可用于评估状态变化。
6.在另外的方面,模拟框架可以用于测试、训练、验证和/或基准测试。该框架可以构建在一个系统上,该系统包括gpu加速的基于云的物理模拟。在至少一个实施例中,物理模拟可以包括有限元方法模拟,其将可变形体体积表示为连接的四面体和/或其他形状的图。
附图说明
7.下面参考附图详细描述用于可变形对象的动作条件隐式动态的本系统和方法,其中:
8.图1a是示出根据本公开的至少一个实施例的用于评估对体积可变形对象的动作
的示例过程的数据流图;
9.图1b是示出根据本公开的至少一个实施例的用于处理输入数据的示例过程的数据流图;
10.图2是示出根据本公开的至少一个实施例的基于表面距离的对比学习的示例的图;
11.图3是示出根据本公开的至少一个实施例的用于通过使用传感器数据对对象执行动作来确定对象的几何和动态的方法的示例的流程图;
12.图4是示出根据本公开的至少一个实施例的用于通过使用一个或更多个图像对对象执行动作来确定动态的方法的示例的流程图;
13.图5是适合用于实现本公开的至少一个实施例的示例计算环境的框图;以及
14.图6是适合用于实现本公开的至少一个实施例的示例数据中心的框图。
具体实施方式
15.本公开的实施例涉及可变形对象的动作条件隐式动态。更具体地,本公开涉及在确定对象(例如,体积可变形对象)的动态方面的改进,该动态将导致对对象执行的动作。本公开进一步涉及在确定对应于对象的位置之间的对应关系方面的改进。
16.在一些方面,一个或更多个机器学习模型(mlm)可用于通过对对象执行动作来学习对象的几何和对象的动态的隐式3d表示。在至少一个实施例中,隐式神经表示可用于重建对象的高保真全几何并从一个或更多个图像预测基于流的动态场,这可提供对象的局部视图。
17.在另外的方面,可以至少基于与对象相对应的表面上的位置之间的距离(例如测地距离)来学习对象的位置之间的对应关系。在至少一个实施例中,可以将距离并入对比学习损失函数中以训练一个或更多个mlm来学习对象的位置之间的对应关系,例如对应关系嵌入字段,从中可以稳健地建立逐点对应关系。结合几何和动态学习对应关系可以提高动态预测和下游任务的准确性,例如物理操纵对象的控制操作。当评估可对对象执行的一个或更多个动作时,对应关系可用于评估状态变化。
18.在另外的方面,模拟框架可以用于测试、训练、验证和/或基准测试。该框架可以构建在一个系统上,该系统包括gpu加速的基于云的物理模拟。在至少一个实施例中,物理模拟可以包括有限元方法模拟,其将可变形体体积表示为连接的四面体和/或其他形状的图。
19.本文所述的系统和方法可用于多种目的,例如但不限于,用于机器控制、机器运动、机器驱动、合成数据生成、模型训练、感知、增强现实、虚拟现实、混合现实、机器人技术、安全和监控、自主或半自主机器应用、深度学习、环境模拟、数据中心处理、对话式ai、光传输模拟(例如,光线追踪、路径追踪等)、3d资产的协作内容创建、云计算和/或任何其他合适的应用程序。
20.所公开的实施例可以被包括在各种不同的系统中,例如汽车系统(例如,用于自主或半自主机器的控制系统、用于自主或半自主机器的感知系统)、使用机器人实现的系统、航空系统、医疗系统、划船系统、智能区域监控系统、用于执行深度学习操作的系统、用于执行模拟操作的系统、使用边缘设备实现的系统、包含一个或更多个虚拟机(vm)的系统、用于执行合成数据生成操作的系统、至少部分在数据中心中实现的系统、用于执行会话ai操作
的系统、用于执行光传输模拟的系统、用于为3d资产执行协作内容创建的系统、至少部分使用云计算资源实现的系统,以及/或其他类型的系统。
21.现在参照图1a,图1a是示出了根据本公开的至少一个实施例的用于评估对体积可变形对象的动作的示例过程100的数据流图。可以使用例如动作编码器102、感知编码器104、隐式动态确定器106、隐式几何确定器108、隐式对应关系确定器110和距离确定器128来执行过程100。应当理解,本文所述的这种和其他布置仅作为示例被阐述。除了所示的那些布置和元素之外或代替所示的那些布置和元素,可以使用其他布置和元素(例如,机器、接口、功能、顺序、功能分组等),并且一些元素可以一起省略。进一步,本文描述的许多元件是可被实现为分立或分布式组件或结合其他组件、和在任何合适的组合和位置中实现的功能实体。本文中描述为由实体执行的不同功能可由硬件、固件和/或软件执行。
22.在高级别上,过程100可以包括动作编码器102接收一个或更多个输入,例如3d动作表示114,并从一个或更多个输入生成一个或更多个输出,例如动作特征118(例如,定义对对象执行动作的3d表示)。如图1a和1b所示,3d动作表示114可以从输入数据112确定,输入数据112可以描绘可以对其执行动作的对象140的至少一部分。过程100还可以包括感知编码器104接收一个或更多个输入,例如3d几何表示116,并从一个或更多个输入生成一个或更多个输出,例如几何特征120(例如,定义对象的几何的3d表示)。如图1a和1b所示,也可以从输入数据112确定3d几何表示116。
23.过程100还可以包括隐式动态确定器106接收一个或更多个输入,例如动作特征118和几何特征120,并生成一个或更多个输出,例如隐式动态数据122(例如,包括对对象执行动作的动态的隐式3d表示)。过程100还可包括隐式几何确定器108接收一个或更多个输入,例如几何特征120,并生成一个或更多个输出,例如隐式几何数据124(例如,包括对象的几何的隐式3d表示)。过程100可以进一步包括隐式对应关系确定器110接收一个或更多个输入,例如几何特征120,并生成一个或更多个输出,例如隐式对应关系数据126(例如,包括对象的位置之间的对应关系的隐式3d表示)。过程100可以另外包括距离确定器128接收一个或更多个输入,例如隐式对应关系数据126和隐式对应关系数据130(例如,针对对象的不同状态),并生成一个或更多个输出,例如状态距离138(例如,对象的状态之间的相似性测量)。
24.在至少一个实施例中,输入数据112可以包括图像数据和/或传感器数据。例如,在输入数据112包括图像数据的情况下,图像数据可以表示一个或更多个图像,例如图1b所示的一个或更多个图像142。图像142描绘了环境中的对象140的一个或更多个部分。如图所示,图像数据可以包括颜色信息142a。图像数据还可以包括与颜色信息142a和/或图像142的像素相对应的深度信息142b。作为示例而非限制,颜色信息142a和深度信息142b是使用一种或更更多rgb-d图像捕获的。在各种示例中,深度信息142b可以与图像142分开提供或者可以不提供。
25.在至少一个实施例中,图像142(例如,彩色图像)可以由使用一个或更多个相机生成的图像数据表示,例如机器人、车辆(例如,自动驾驶车辆)和/或其他移动或固定机器或设备的一个或更多个相机。图像数据可以包括表示一个或更多个相机的视场图像的数据,例如立体相机、广角相机(例如鱼眼相机)、红外相机、环绕相机(例如,360度相机)、远程和/或中程相机和/或其他相机类型。
26.在一些实施例中,输入数据112可以附加地或替代地包括其他类型的传感器数据,例如来自一个或更多个lidar传感器的lidar数据、来自一个或更多个radar传感器的radar数据、来自一个或更多个麦克风的音频数据等。
27.在一些示例中,可以以一种格式(例如,rccb、rccc、rbgc等)捕获图像数据,然后将其转换为另一种格式(例如,通过图像处理器)。在示例中,可以将图像数据作为输入提供给图像数据预处理器以生成预处理的图像数据。可以使用多种类型的图像或格式;例如,压缩图像,如联合图像专家组(jpeg)、红绿蓝(rgb)或亮度/色度(yuv)格式,作为源自压缩视频格式(例如,h.264/高级帧视频编码(avc)、h.265/高效视频编码(hevc)、vp8、vp9、开放媒体视频联盟1(av1)、多功能视频编码(vvc)或任何其他视频压缩标准)的帧的压缩图像、例如源自红色透明蓝色(rccb)、红色透明(rccc)或其他类型的成像传感器的原始图像。在一些示例中,可以使用与用于推理不同的格式和/或分辨率来训练机器学习模型(例如,在机器学习模型的部署期间)。
28.在一些实施例中,图像数据预处理器可以采用预处理图像管线来处理由传感器(例如,相机)获取并被包括在图像数据中的原始图像,以产生经预处理的图像数据,该数据可以表示输入图像到机器学习模型的输入层(例如,特征提取器层)。合适的预处理图像管线的示例可以使用来自传感器的原始rccb拜尔(例如,1通道)类型的图像,并将该图像转换为以固定精度(例如,每通道16位)格式存储的rcb(例如,3通道)平面图像。预处理图像管线可以包括解压缩、降噪、去马赛克、白平衡、直方图计算和/或自适应全局色调映射(例如,以该顺序或以替代顺序)。
29.在图像数据预处理器采用降噪的情况下,它可以包括拜耳域中的双边降噪。在图像数据预处理器采用去马赛克的情况下,它可以包括双线性插值。在图像数据预处理器采用直方图计算的情况下,它可能涉及计算c通道的直方图,并且在一些示例中可能与解压缩或降噪相结合。在图像数据预处理器采用自适应全局色调映射的情况下,它可以包括执行自适应伽马对数变换。这可以包括计算直方图、获得中间色调水平和/或用中间色调水平估计最大亮度。
30.现在参考图1b,图1b是示出根据本公开的至少一个实施例的用于处理输入数据112的示例过程150的数据流图。可以使用例如几何确定器132和动作表示确定器134来执行过程150。
31.在高级别,过程150可以包括几何确定器132接收一个或更多个输入,例如输入数据112,并生成一个或更多个输出,例如3d几何表示116。过程150还可以包括动作表示确定器134接收一个或更多个输入,例如3d几何表示116和动作136,并生成一个或更多个输出,例如3d动作表示114。虽然在所示的示例中,示出了3d几何表示116,但在其他示例中,动作表示确定器134可以对不同的3d几何表示进行操作。
32.在至少一个实施例中,几何确定器132可以将3d几何表示116生成为点云、体素和/或其他显式3d形式。由于输入数据112提供的有限视角(例如,表示部分观察),3d几何表示116可以是部分3d几何表示,例如图1b中所示的部分点云。可以使用各种方法来生成3d几何表示116,例如根据运动结构和/或激光扫描。在至少一个实施例中,几何确定器132可以使用图像142的反投影来生成3d几何表示116。
33.在至少一个实施例中,动作表示确定器134可以至少基于将3d几何表示116或观察
的不同3d几何表示与动作136融合来生成3d动作表示114。在至少一个实施例中,动作136可以包括表示对象140的物理操纵的动作命令。举例来说,动作可以包括对象140的抓取和对象140的释放。例如,在时间t的动作可以称为动作a
t
,其中a
t
=(pg,pr),其中pg表示抓取位置,而pr表示释放位置。
34.在至少一个实施例中,至少基于抓取位置与对象140在3d几何表示116中的位置之间的距离,对象140在3d几何表示116中的位置可以与动作136融合。例如,对于每个点或位置pi∈o
t
(其中o
t
可以表示在时间t的观察),可以计算pi和pg之间的距离。例如,可以将每点的特征分配为(p
g-pi,pr)以形成3d动作表示114。
35.过程100可以在杂乱环境中实现可变形对象的动作条件动态模型,该模型从观察中学习(例如,至少部分地由输入数据112捕获)。代理(例如,物理或虚拟机器人或其他机器)在时间t可以从底层3d状态s
t
的固定rgb-d相机进行观察o
t
(例如,部分观察),并执行高级别动作命令级别动作命令表示在pg点抓取对象,将夹具移动到pr,然后释放。在至少一个实施例中,模型可以包括使用等式(1)表示的几何预测模块fr:
36.fr(ot)

dt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
37.其中代理可以从部分观察中估计底层的3d状态。
38.该模型还可以包括使用等式(2)表示的动态预测模块fd:
39.fd(st,at)

st+1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
40.其中代理根据动作和未来状态推理未来状态。
41.该模型还可以包括使用等式(3)计算状态距离d的测量的评估模块:
[0042][0043]
用于基于状态的评估。在至少一个实施例中,可以使用非参数化度量来计算状态距离d的测量,例如平均交叉联合或倒角距离,或从对应预测模块学习的距离,其中对应点之间的每点的距离可用于计算状态距离。
[0044]
所公开的方法可以使用动态、对应关系和几何的隐式表示。隐式模型可以连续地表示形状和/或其他对象特征,并自然地处理复杂的拓扑。相反,显式表示需要离散化(例如,根据体素、点或顶点的数量)。
[0045]
返回图1a,几何预测模块fr可以感知部分体积对象并执行连续隐式编码以及3d补全以实现关于对象的完整几何的推理。感知编码器104可以将3d几何表示116(例如,点云)编码成几何特征120。在至少一个实施例中,几何特征120可以包括2d或3d特征网格。在至少一个实施例中,感知编码器104可以用任务特定的mlm(例如,一个或更多个神经网络)处理3d几何表示116,这可以为每个点、体素和/或位置提供特征编码。例如,单层的3d卷积神经网络可用于体素化输入,而具有本地池的基于浅点的3d分类器可用于3d点云。使用这些特征,感知编码器104可以构建平面和体积特征表示以便封装本地邻域信息。
[0046]
在至少一个实施例中,对于每个输入位置或元素,3d几何表示116可以在平面(例如,与坐标系的轴对齐的规范平面)上执行正交投影。该平面可以以h x w像素单元的分辨率离散化,其中h可以指高度,而w可以指宽度。对于体素输入,体素中心可以被视为一个点并投影到平面。感知编码器104可以至少基于使用平均池化投影到相同像素上来聚合特征,从而产生具有维度h x w x d的平面特征,其中d可以指代特征维度。在各种实施例中,可以
将特征投影到接地平面或一个或更多个规范平面(例如,三个)上。所公开的实施例不限于包括平面特征表示(例如,用于空间编码)的几何特征120,并且可以使用其他特征表示,例如但不限于体积编码。
[0047]
隐式几何确定器108可以至少使用几何特征120来生成隐式几何数据124。隐式几何确定器108可以包括用于使用隐式3d表示捕获对象140的基于坐标的隐式解码器。为了生成隐式几何数据124,隐式几何确定器108可以对于点使用每个特征平面上的投影p的双线性插值来查询对应于几何特征120的特征向量ψ(p,o
t
),并且总结所有三个规范平面的特征。隐式几何解码器可用于生成占用预测:f
θ
(p,ψ(p,o
t
))

[0,1]。图1a示出了占用场的示例可视化,其可以由隐式几何确定器108确定。
[0048]
动态预测模块fd可以是有动作条件的,并且可以学习一般的可变形动态而没有分类先验。动作编码器102可以使用与感知编码器104相同的编码器架构或不同的架构将3d动作表示114编码成动作特征118。使用3d动作表示114,动作136可以与观察o
t
联合编码。因此,动作特征118可以例如使用一个或更多个规范平面(例如三个)来表示。
[0049]
在至少一个实施例中,动作编码器102可以将与从一个或更多个观察(例如,输入数据112)捕获的整个场景相对应的3d几何表示编码到场景几何特征中(例如,到另外三个规范特征平面中)并将编码的场景几何与动作编码连接以产生动作特征118。这种方法可以允许动态模型将环境上下文化。因此,动态模型对于位于杂乱环境中的可变形对象可表现出改进的性能,其中,由于布局可能是随机的,因此对象可能与一组不同的障碍物发生碰撞,从而导致复杂的非线性动态。
[0050]
隐式动态确定器106可以使用动作特征118和几何特征120来生成隐式动态数据122(例如,包括来自对对象执行动作的动态的隐式3d表示)。例如,隐式动态确定器106可以包括基于坐标的隐式解码器,用于使用与一步向前流对应的隐式3d表示来捕捉对象140的动态。
[0051]
在所示示例中,动态预测模块fd以s
t
为条件,s
t
可以被隐式地表示为占用函数。端到端方法可用于消除在训练期间提取显式3d形状的需要。在至少一个实施例中,动态预测模块fd可以与几何预测模块fr联合学习。例如,可以使用表示融合来完成联合学习。当预测点p的占用时,隐式动态确定器106可以将p编码为一组点特定的中间表示r
p
。中间表示r
p
和点特定的特征嵌入fp(例如,由隐式对应关系确定器110产生)可以作为附加输入提供给动态预测模块fd,导致动态预测模块变为,导致动态预测模块变为
[0052]
为了生成隐式动态数据122,隐式动态确定器106可以针对点为了生成隐式动态数据122,隐式动态确定器106可以针对点使用在每个特征平面上投影p的双线性插值来查询与和动作特征118融合的几何特征120对应的特征向量ψ(p,o
t
),并将所有三个规范平面的特征求和。隐式动态解码器可用于生成动态预测。图1a示出了可以由隐式动态确定器106确定的正向流场的示例可视化。
[0053]
评估模块可以使用距离确定器128来计算状态距离d的测量。在评估具有不同配置的可变形对象时,一个关键的挑战是在完全不同配置的同一对象的两个视觉观察之间建立密集对应关系。所公开的方法可以联合预测隐式对应关系数据126,其可以包括对应关系嵌入字段。图1a示出了状态s
t
的对应关系嵌入字段的示例可视化,其可以由隐式对应关系确
定器110确定。图1a还示出了状态s
t'
的对应关系嵌入字段的示例可视化,其可以通过与状态s
t'
的对应关系嵌入字段类似或不同的方式来确定(例如,使用感知编码器104和隐式对应关系确定器110的实例)。
[0054]
在至少一个实施例中,隐式对应关系确定器110可以包括一个或更多个mlm,其使用对比学习来学习对象的位置之间的对应关系。例如但不限于,本文描述的mlm可以包括任何类型的机器学习模型,例如使用线性回归、逻辑回归、决策树、支持向量机(svm)、朴素贝叶斯、k近邻(knn)、k均值聚类、随机森林、降维算法、梯度提升算法、神经网络(例如,自动编码器、卷积、循环、感知器、长/短期记忆(lstm)、霍普菲尔德、玻尔兹曼、深度信念、反卷积、生成对抗、液态机器等)的机器学习模型和/或其他类型的机器学习模型。在各种示例中,mlm可以包括一个或更多个卷积神经网络。
[0055]
现在参考图2,图2是示出根据本公开的至少一个实施例的基于表面距离的对比学习的示例的图。所公开的方法可用于确定跨对象的不同状态相同或基本相同的对象部分。例如,所公开的方法可用于确定对象140的对应于隐式对应关系数据126的状态的点204a与对象140的对应于隐式对应关系数据130的状态的点204b相同(例如,在确定性阈值内),或者对象140的对应于隐式对应关系数据126的状态的点206a与对象140的对应于隐式对应关系数据130的状态的点206b相同。
[0056]
所公开的方法也可以用于确定在对象的不同状态之间或在相同状态内的对象部分之间的对应关系的量或水平。例如,所公开的方法可用于计算对象140的对应于隐式对应关系数据126的状态的点208a与对象140的对应于隐式对应关系数据130的状态的点214b之间的距离,或对象140的点210a和对象140的对应于隐式对应关系数据126的状态的点212a之间的距离。虽然过程100使用公开的方法来评估状态之间的距离和/或相似性以评估动作条件运动,但在一些实施例中,可以使用其他方法,公开的方法可以用于评估动作条件运动以外的目的,或者公开的方法可以用于评估动作条件运动的不同过程中(例如,它可能不包括动作编码器102、隐式动态确定器106、隐式几何确定器108和/或感知编码器104)。
[0057]
可以使用欧几里得距离来学习对象140的位置之间的对应关系。然而,可变形对象上的点可能具有很大的表面距离,例如测地距离,同时在空间上彼此物理上接近。例如,当对象140的手臂接触腹部时,手臂和腹部的欧几里得距离为零,但它们是对象140较远的部件或部分。通过将基于表面的距离结合到特征空间中,使用所公开的方法确定的对应关系可以避免这种错位。与基于欧几里德的距离对应关系联合训练动态可以描述动态预测性能。然而,与基于表面的距离对应关系联合训练动态可以提高动态预测性能和对应关系预测性能。
[0058]
在至少一个实施例中,对于非刚性变形下的一对状态s
t
,s
t'
,系统可以确定一组对应关系c={(p,q)|p∈s
t
,q∈s
t'
}。使用对比学习,可以学习点嵌入f,对于点p和q,可以最小化可以使用等式(4)定义的损失:
[0059][0060]
其中d(
·
,
·
)是距离测量,如果(p,q)∈c,则i
pq
=1,否则为0,是非(not)运算符,m
pos
和m
neg
是正负对的边距。
[0061]
为了将基于表面的距离合并到原始形状流形中,l可以根据等式5进行扩展:
[0062][0063]
其中是基于表面的函数,d
thres
是距离阈值,并且如果是距离阈值,并且如果则否则为0。
[0064]
点嵌入f可以表述为嵌入字段,其可以与隐式几何解码器联合地被学习为f
θ
(p,ψ(p,o
t
))

fp。为了使用等式(3)计算状态距离d的测量,距离确定器128可以使用等式(6)计算平均对应距离:
[0065][0066]
如图2所示,对于每个体积形状s,可以近似具有固定分辨率的连接四面体220(或一个或更多个其他形状)的图形g。对于两个任意点p,q∈s,系统可以检索它们对应的四面体t
p
,tq∈g,并计算p和q之间的基于表面的函数例如,图2示出了点208b和点214a之间的距离222,以及点212b和点210b之间的距离224。在使用测地距离的实施例中,基于表面的函数可以被计算为图形g中tp和tq之间的最短路径距离。在非刚性变形期间,尽管每个四面体都变形,但结构的连通性保持不变,这将确立为变形一致的度量。
[0067]
过程100可用于各种目的,例如基于模型的规划以便代理确定下游可变形操纵任务。在至少一个实施例中,基于模型的规划可以是目标驱动的,其中目标可以由视觉观察和/或3d几何表示来表示。例如,当前配置或状态可以对应于隐式对应数据126,并且目标配置或状态可以对应于隐式对应数据130。可以类似于隐式对应数据126来确定隐式对应数据130,例如,使用如本文所述的感知编码器104和隐式对应确定器110的实例。此外,类似于当前状态,可以使用一个或更多个rgb-d图像来指定目标状态,或者可以使用3d几何表示更直接地指定目标状态。基于模型的规划可以使用对一系列动作a1到an进行操作的成本函数cost(a1,...,an)。成本函数可用于指导动作的选择以最小化成本和/或满足一个或更多个标准。例如,使用过程100的实例,系统可以迭代地推出给定动作序列下的未来状态,并至少部分地通过测量状态距离(例如,使用等式(6))来计算成本。可以选择成本最低的动作序列。
[0068]
在现实场景中,感兴趣的对象可能只占据3d空间的一小部分。在训练时,查询点可以从多元正态分布中采样,该分布具有对象的质心的平均值和与对象边界框大小成比例的标准偏差。可以通过与rgb-d图像共同传递到系统中的2d实例分割掩模来指定感兴趣的对象。隐式几何解码器可以通过在采样的3d坐标处的预测值和真实值之间的二进制交叉熵损失进行监督。对应特征可以根据等式(5)用基于测地线的对比损失l进行监督。
前向流可以通过均方误差进行监督。
[0069]
可以生成数据集以用于测试、训练、验证和/或基准测试,其包括动作信息和产生的基本事实反对运动。在至少一个实施例中,数据集可以包括一个或更多个视觉和布局随机场景中的可变形对象的真实动作和传感器模拟数据。该数据集可以使用构建在用于执行3d资产的协作内容创建的系统上的框架来生成。该系统可以包括gpu加速的基于云的物理模拟。在至少一个实施例中,物理模拟可以包括有限元方法模拟,其将可变形体体积表示为连接的四面体和/或其他形状的图。
[0070]
该框架可以生成一个或更多个逼真的随机场景,该场景具有一个或更多个类别的对象和/或用于模拟的对象变化。场景可以另外包括一个或更多个随机障碍物。对于每个动作序列,对象姿势、场景障碍物布局和照明可以随机化以避免过度拟合。可以使用模拟引擎来实施动作。对于视觉动态模型评估,可以将对象分成用于训练和测试的类别。对于下游操纵任务,可以随机采样开始和目标配置。
[0071]
现在参见图3和图4,本文描述的方法300和400和其他方法的每个框,包括可以使用硬件、固件和/或软件的任何组合执行的计算过程。例如,各种功能可由处理器执行存储在存储器中的指令执行。方法还可以体现为存储在计算机存储介质上的计算机可用指令。方法可以由独立的应用、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件来提供,仅举几例。此外,通过举例的方式,关于图1a和1b的系统组件描述了方法。然而,这些方法可以另外地或可替代地由任何一个系统或系统的任何组合(包括但不限于本文描述的那些)来执行。
[0072]
图3是示出根据本公开的至少一个实施例的用于通过使用传感器数据对对象执行动作来确定对象的几何和动态的方法300的示例的流程图。在框b302,方法300包括生成定义对象的几何的3d表示的第一特征。例如,感知编码器104可以使用捕获环境中的对象140的至少一部分的传感器数据来生成定义对象140的几何的3d表示的几何特征120。
[0073]
在框b304,该方法包括生成定义对对象的动作的3d表示的第二特征。例如,动作编码器102可以使用传感器数据生成动作特征118,该动作特征118定义对对象140的动作136的3d表示。
[0074]
在框b306,该方法包括应用第一特征来生成对象的几何的隐式3d表示。例如,几何特征120可应用于隐式几何确定器108以生成对象的几何的隐式3d表示,对应于隐式几何数据124。
[0075]
在框b308,该方法包括应用第一特征和第二特征以从动作生成对象的动态的隐式3d表示。例如,几何特征120和动作特征118可以应用于隐式动态确定器106以从动作136生成对象的动态的隐式3d表示,对应于隐式动态数据122。
[0076]
在框b310,该方法包括至少基于对动作的评估来针对机器执行一个或更多个控制操作。例如,可以至少基于使用对象140的动态的隐式3d表示和几何的隐式3d表示来评估动作136而为机器执行一个或更多个控制操作。
[0077]
图4是示出根据本公开的至少一个实施例的用于通过使用一个或更多个图像对对象执行动作来确定动态的方法400的示例的流程图。
[0078]
在框b402,方法400包括使用一个或更多个图像来确定定义对对象的动作的3d表示和对象的几何的3d表示的特征。例如,过程100和150可以使用描绘环境中的对象140的至
少一部分的图像142来确定定义对对象140的动作136的3d表示的动作特征118以及定义对象140的几何的3d表示的几何特征120。
[0079]
在框b404,方法400包括使用特征从动作生成对象的动态的隐式3d表示。例如,隐式动态确定器106可以使用对动作特征118和几何特征120进行操作的一个或更多个mlm,从动作136生成对象的动态的隐式3d表示,对应于隐式动态数据122。
[0080]
在框b406,该方法包括至少基于对动作的评估来针对机器执行一个或更多个控制操作。例如,可以至少基于使用对象140的动态的隐式3d表示来评估动作136而为机器执行一个或更多个控制操作。
[0081]
示例计算设备
[0082]
图5是适合用于实现本公开的一些实施例的示例计算设备500的框图。计算设备500可以包括直接或间接耦合以下设备的互连系统502:存储器504,一个或更多个中央处理单元(cpu)506、一个或更多个图形处理单元(gpu)508,通信接口510、输入/输出(i/o)端口512、输入/输出部件514、电源516、一个或更多个呈现组件518(例如,一个或更多个显示器)和一个或更多个逻辑单元520。在至少一个实施例中,一个或更多个计算设备500可以包括一个或更多个虚拟机(vm),和/或其组件中的任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,一个或更多个gpu 508可以包括一个或更多个vgpu,一个或更多个cpu 506可以包括一个或更多个vcpu,和/或一个或更多个逻辑单元520可以包括一个或更多个虚拟逻辑单元。照此,一个或更多个计算设备500可以包括分立组件(例如,专用于计算设备500的全gpu)、虚拟组件(例如,专用于计算设备500的gpu的一部分)、或其组合。
[0083]
尽管图5的各个框被示为经由具有线路的互连系统502连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件518可以被认为是i/o组件514(例如如果显示器为触摸屏)。作为另一个示例,cpu 506和/或gpu 508可以包括存储器(例如,存储器504可以表示除了gpu 508、cpu 506和/或其他组件的存储器以外的存储设备)。换言之,图5的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ecu)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图5的计算设备的范围内。
[0084]
互连系统502可以表示一条或更多条链路或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统502可以包括一种或更多种总线类型,例如行业标准架构(isa)总线、扩展行业标准架构(eisa)总线、视频电子标准协会(vesa)总线、外围组件互连(pci)总线、外围组件互连快速(pcie)总线,和/或另一种类型的总线或链路。在一些实施例中,组件之间存在直接连接。作为示例,cpu 506可以直接连接到存储器504。此外,cpu 506可以直接连接到gpu 508。在组件之间存在直接或点对点连接的情况下,互连系统502可以包括pcie链路以执行连接。在这些示例中,计算设备500中不需要包括pci总线。
[0085]
存储器504可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备500访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
[0086]
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,
其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,存储器504可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于ram、rom、eeprom、闪存或者其他存储技术、cd-rom、数字多功能盘(dvd)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备500访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
[0087]
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、rf、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
[0088]
cpu 506可以被配置为执行至少一些计算机可读指令以便控制计算设备500的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。cpu 506中的每个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。cpu506可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备500的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备500的类型,处理器可以是使用精简指令集计算(risc)实现的高级risc机器(arm)处理器或者使用复杂指令集计算(cisc)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备500还可以包括一个或更多个cpu 506。
[0089]
除了或替代cpu 506,gpu 508可以被配置为执行至少一些计算机可读指令以控制计算设备500的一个或更多个组件来执行本文描述的一种或更多种方法和/或过程。一个或更多个gpu 508可以是集成gpu(例如,具有一个或更多个cpu 506和/或一个或更多个gpu 508可以是分立的gpu。在实施例中,一个或更多个gpu 508可以是一个或更多个cpu 506的协处理器。计算设备500可以使用gpu 508来渲染图形(例如,3d图形)或执行通用计算。例如,gpu 508可用于gpu上的通用计算(gpgpu)。gpu 508可以包括能够同时处理成百上千个软件线程的成百上千个核心。gpu 508可以响应于渲染命令(例如,通过主机接口从cpu 506接收的渲染命令)生成用于输出图像的像素数据。gpu 508可以包括图形存储器,例如显示存储器,用于存储像素数据或任何其他合适的数据,例如gpgpu数据。显示存储器可以被包括作为存储器504的一部分。gpu 508可以包括并行操作(例如,经由链路)的两个或更多个gpu。链路可以直接连接gpu(例如,使用nvlink),也可以通过交换机(例如,使用nvswitch)连接gpu。当组合在一起时,每个gpu 508可以为输出的不同部分或不同的输出(例如,用于第一图像的第一gpu和用于第二图像的第二gpu)生成像素数据或gpgpu数据。每个gpu可包括自己的存储器,也可与其他gpu共享存储器。
[0090]
除了或替代cpu 506和/或gpu 508,逻辑单元520可以被配置为执行至少一些计算机可读指令以控制计算设备500的一个或更多个组件来执行本文所述的一种或更多种方法和/或过程。在实施例中,cpu 506、gpu508和/或逻辑单元520可以分立地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元520可以是cpu 506和/或gpu 508
中的一个或更多个的一部分和/或与cpu 506和/或gpu 508中的一个或更多个集成,和/或一个或更多个逻辑单元520可以是分立的组件或以其他方式在cpu 506和/或gpu 508的外部。在实施例中,一个或更多个逻辑单元520可以是一个或更多个cpu 506和/或一个或更多个gpu 508的协处理器。
[0091]
逻辑单元520的示例包括一个或更多个处理核心和/或其组件,例如数据处理单元(dpu)、张量核心(tc)、张量处理单元(tpu)、像素视觉核心(pvc)、视觉处理单元(vpu)、图形处理集群(gpc)、纹理处理集群(tpc)、流式多处理器(sm)、树遍历单元(ttu)、人工智能加速器(aia)、深度学习加速器(dla)、算术逻辑单元(alu))、专用集成电路(asic)、浮点单元(fpu)、输入/输出(i/o)元件、外围组件互连(pci)或外围组件互连快速(pcie)元件等。
[0092]
通信接口510可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备500能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口510可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如wi-fi、z波、蓝牙、蓝牙le、zigbee等等)、有线网络(例如通过以太网或无限带宽通信)、低功率广域网(例如lorawan、sigfox等等)和/或因特网。在一个或更多个实施例中,逻辑单元520和/或通信接口510可以包括一个或更多个数据处理单元(dpu)以将通过网络和/或通过互连系统502接收的数据直接传输到一个或更多个gpu 508(的存储器,例如)。
[0093]
i/o端口512可以使得计算设备500能够逻辑地耦合到包括i/o组件514、呈现组件518和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备500中。说明性i/o组件514包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。i/o组件514可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(nui)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。nui可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备500的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备500可以包括诸如立体相机系统之类的深度相机、红外相机系统、rgb相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备500可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(imu)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备500用来渲染沉浸式增强现实或者虚拟现实。
[0094]
电源516可以包括硬接线电源、电池电源或者其组合。电源516可以向计算设备500供电以使得计算设备500的组件能够操作。
[0095]
呈现组件518可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(hud)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件518可以接收来自其他组件(例如gpu 508、cpu 506、dpu等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
[0096]
示例数据中心
[0097]
图6示出了可以在本公开的至少一个实施例中使用的示例数据中心600。数据中心600可以包括数据中心基础设施层610、框架层620、软件层630和/或应用层640。
[0098]
如图6所示,数据中心基础设施层610可以包括资源协调器612、分组的计算资源614和节点计算资源(“节点c.r.”)616(1)-616(n),其中“n”代表任何完整的正整数。在至少
一个实施例中,节点c.r.616(1)-616(n)可以包括但不限于任何数量的中央处理单元(“cpu”)或其他处理器(包括dpu、加速器、现场可编程门阵列(fpga)、图形处理器或图形处理单元(gpu)等),内存设备(例如动态只读内存),存储设备(例如固态硬盘或磁盘驱动器),网络输入/输出(“nw i/o”)设备,网络交换机,虚拟机(“vm”),电源模块和/或冷却模块等。在一些实施例中,节点c.r.616(1)-616(n)中的一个或更多个节点c.r.可以对应于具有一个或更多个上述计算资源的服务器。此外,在一些实施例中,节点c.r.616(1)-616(n)可包括一个或更多个虚拟组件,诸如vgpu、vcpu等,和/或节点c.r.616(1)-616(n)中的一个或更多个可对应于虚拟机(vm)。
[0099]
在至少一个实施例中,分组的计算资源614可以包括容纳在一个或更多个机架内的节点c.r.616的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。分组的计算资源614内的节点c.r.的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分组的计算、网络、内存或存储资源。在至少一个实施例中,可以将包括cpu、gpu、dpu和/或其他处理器的几个节点c.r.616分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可以包括任何数量的电源模块、冷却模块和/或网络交换机,以任意组合。
[0100]
资源协调器612可以配置或以其他方式控制一个或更多个节点c.r.616(1)-616(n)和/或分组的计算资源614。在至少一个实施例中,资源协调器612可以包括用于数据中心600的软件设计基础结构(“sdi”)管理实体。资源协调器612可以包括硬件、软件或其某种组合。
[0101]
在至少一个实施例中,如图6所示,框架层620可以包括作业调度器632、配置管理器634、资源管理器636和/或分布式文件系统638。框架层620可以包括支持软件层630的软件632和/或应用程序层640的一个或更多个应用程序642的框架。软件632或应用程序642可以分别包括基于web的服务软件或应用程序,例如由amazon web services,google cloud和microsoft azure提供的服务或应用程序。框架层620可以是但不限于一种免费和开放源软件网络应用框架,例如可以利用分布式文件系统638来进行大范围数据处理(例如“大数据”)的apache spark
tm
(以下称为“spark”)。在至少一个实施例中,作业调度器632可以包括spark驱动器,以促进对数据中心600的各个层所支持的工作负载进行调度。配置管理器634可以能够配置不同的层,例如软件层630和包括spark和用于支持大规模数据处理的分布式文件系统638的框架层620。资源管理器636能够管理映射到或分配用于支持分布式文件系统638和作业调度器632的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层610上的分组的计算资源614。资源管理器636可以与资源协调器612协调以管理这些映射的或分配的计算资源。
[0102]
在至少一个实施例中,包括在软件层630中的软件632可以包括由节点c.r.616(1)-616(n)的至少一部分,分组计算资源614和/或框架层620的分布式文件系统638使用的软件。一种或更多种类型的软件可以包括但不限于internet网页搜索软件、电子邮件病毒扫描软件、数据库软件和流视频内容软件。
[0103]
在至少一个实施例中,应用层640中包括的一个或更多个应用程序642可以包括由节点c.r.616(1)-616(n)的至少一部分、分组的计算资源614和/或框架层620的分布式文件系统638使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但
不限于任何数量的基因组学应用程序,认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如pytorch、tensorflow、caffe等)和/或其他与一个或更多个实施例结合使用的机器学习应用程序。
[0104]
在至少一个实施例中,配置管理器634、资源管理器636和资源协调器612中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。自我修改动作可以减轻数据中心600的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或执行差的部分。
[0105]
数据中心600可以包括工具、服务、软件或其他资源,以根据本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,可以通过使用上文关于数据中心600描述的软件和/或计算资源,根据神经网络架构通过计算权重参数来训练机器学习模型。在至少一个实施例中,通过使用通过诸如但不限于本文所述的一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心600所描述的资源,使用对应于一个或更多个神经网络的经训练或部署的机器学习模型来推理或预测信息。
[0106]
在至少一个实施例中,数据中心600可以使用cpu、专用集成电路(asic)、gpu、fpga和/或其他硬件(或与其对应的虚拟计算资源)来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
[0107]
示例网络环境
[0108]
适合用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(nas)、其他后端设备、和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图5的一个或更多个计算设备500的一个或更多个实例上实现——例如,每个设备可以包括一个或更多个计算设备500的类似部件、特征和/或功能。此外,在实现后端设备(例如,服务器、nas等)的情况下,后端设备可被包括作为数据中心600的一部分,数据中心600的示例在本文中关于图6更详细地描述。
[0109]
网络环境的组件可以经由一个或更多个网络彼此通信,所述网络可以是有线的、无线的或两者。网络可以包括多个网络或多个网络中的一网络。例如,网络可包括一个或更多个广域网(wan)、一个或更多个局域网(lan)、一个或更多个公共网络,诸如互联网和/或公共交换电话网(pstn)和/或一个或更多个私有网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或者甚至接入点(以及其他组件)之类的组件可以提供无线连接。
[0110]
兼容网络环境可以包括一个或更多个对等网络环境(在这种情况下,服务器可以不包括在网络环境中)和一个或更多个客户端-服务器网络环境(在这种情况下,一个或更多个服务器可以包括在网络环境中)。在对等网络环境中,本文相对于服务器所描述的功能可在任何数量的客户端设备上实现。
[0111]
在至少一个实施例中,网络环境可包括一个或更多个基于云的网络环境、分布式计算环境、其组合等。基于云的网络环境可包括框架层、工作调度器、资源管理器和在一个或更多个服务器上实现的分布式文件系统,所述服务器可包括一个或更多个核心网服务器和/或边缘服务器。框架层可包括支持软件层的软件和/或应用层的一个或更多个应用程序的框架。所述软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一
个或更多个客户端设备可以使用基于web的服务软件或应用程序(例如,通过经由一个或更多个应用编程接口(api)访问服务软件和/或应用程序)。框架层可以是但不限于自由和开源软件web应用框架的类型,诸如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
[0112]
基于云的网络环境可提供执行本文描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些不同功能中的任何功能可以分布在来自(例如,可以分布在州、地区、国家、全球等上的一个或更多个数据中心的)中央或核心服务器的多个位置上。如果与用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
[0113]
一个或更多个客户端设备可以包括本文关于图5描述的一个或更多个示例计算设备500的部件、特征和功能中的至少一些部件、特征和功能。作为示例而非限制,客户端设备可被体现为个人计算机(pc),膝上型计算机、移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(pda)、mp3播放器、虚拟现实耳机、全球定位系统(gps)或装置,视频播放器、摄像机、监视设备或系统、车辆、船,飞船、虚拟机、无人机、机器人、手持式通信设备、医院设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描绘的设备的任何组合,或任何其他合适的装置。
[0114]
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
[0115]
如在本文中使用的,关于两个或更多元素对“和/或”的叙述应当解释为仅指一个元素或者元素组合。例如,“元素a、元素b和/或元素c”可以包括仅仅元素a,仅仅元素b,仅仅元素c,元素a和元素b,元素a和元素c,元素b和元素c,或者元素a、b和c。此外,“元素a或元素b中的至少一个”可以包括元素a中的至少一个,元素b中的至少一个,或者元素a中的至少一个和元素b中的至少一个。进一步,“元素a和元素b中的至少一个”可以包括元素a中的至少一个,元素b中的至少一个,或者元素a中的至少一个和元素b中的至少一个。
[0116]
本文详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“框”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

技术特征:
1.一种方法,包括:使用捕获环境中对象的至少一部分的传感器数据生成第一特征,所述第一特征定义所述对象的几何的三维3d表示;使用所述传感器数据生成第二特征,所述第二特征定义对所述对象的动作的3d表示;将所述第一特征应用于一个或更多个第一机器学习模型mlm,所述第一机器学习模型mlm被训练以生成所述对象的几何的隐式3d表示;将所述第一特征和所述第二特征应用于一个或更多个第二mlm,所述一个或更多个第二mlm被训练以通过执行所述动作生成所述对象的动态的隐式3d表示;以及至少基于使用所述动态的隐式3d表示和所述几何的隐式3d表示评估所述动作,来执行针对机器的一个或更多个控制操作。2.如权利要求1所述的方法,其中所述第一特征的生成是根据所述环境中所述对象的局部视图,并且所述一个或更多个第一mlm被训练以使用所述第一特征来预测所述对象的至少一部分。3.如权利要求1所述的方法,其中所述动作的评估包括:至少基于将所述对象的所述动态的隐式3d表示应用于所述对象的所述几何的隐式3d表示来确定所述对象的状态;以及将所述对象的状态与所述对象的目标状态进行比较。4.如权利要求1所述的方法,其中所述传感器数据包括图像数据,所述图像数据包括一个或更多个图像的颜色信息和深度信息,并且所述第一特征的生成包括使用所述颜色信息和所述深度信息来对所述一个或更多个图像进行反投影。5.如权利要求1所述的方法,其中所述一个或更多个第一mlm被训练使用至少所述第一特征以生成所述对象的所述几何的隐式3d表示,作为所述对象对所述环境中位置的占用预测。6.如权利要求1所述的方法,还包括将所述第一特征应用于一个或更多个第三mlm,所述第三mlm被训练为使用所述第一特征至少基于沿与所述对象相对应的表面的位置之间的距离来生成所述对象上的位置之间的对应关系的隐式3d表示,其中所述动作的评估进一步基于所述对应关系的隐式3d表示。7.如权利要求1所述的方法,其中所述对象的所述几何的隐式3d表示与所述对象的所述动态的隐式3d表示被联合学习。8.如权利要求1所述的方法,其中所述第二特征的生成包括:使用所述传感器数据确定所述对象的一个或更多个位置;以及计算与所述动作相关联的一个或更多个抓取位置与所述对象的一个或更多个位置之间的一个或更多个距离,其中对所述对象的动作的3d表示至少基于所述一个或更多个距离。9.一种系统,包括:一个或更多个处理单元,用于执行以下操作,包括:使用描绘环境中的对象的一个或更多个图像来确定定义所述对象的动作的3d表示和定义所述对象的几何的3d表示的特征;使用对所述特征进行操作的一个或更多个机器学习模型mlm从所述动作中生成所述对
象的动态的隐式3d表示;以及至少基于使用所述对象的所述动态的隐式3d表示评估所述动作,来执行机器的一个或更多个控制操作。10.如权利要求9所述的系统,其中所述确定使用从所述一个或更多个图像感知的所述对象的部分3d形状,并且所述一个或更多个mlm被训练以预测与所述部分3d形状分离的所述对象的至少一部分的动态。11.如权利要求9所述的系统,其中所述一个或更多个mlm是一个或更多个第一mlm,并且所述特征的确定包括:使用一个或更多个第二mlm对定义所述对象的动作的3d表示的第一组特征进行编码;以及使用一个或更多个第三mlm对定义所述对象的几何的3d表示的第二组特征进行编码。12.如权利要求9所述的系统,其中所述特征的确定包括使用所述一个或更多个图像的颜色信息和深度信息对所述一个或更多个图像进行反投影。13.如权利要求9所述的系统,其中所述操作还包括使用与所述对象的所述几何的3d表示相对应的特征中的至少一些特征来生成所述对象对所述环境中的位置的占用预测,其中对所述动作的评估至少基于将所述对象的所述动态的隐式3d表示应用于所述占用预测。14.如权利要求9所述的系统,其中所述一个或更多个mlm是一个或更多个第一mlm,并且所述操作还包括将与所述对象的所述几何的3d表示相对应的特征中的至少一些特征应用于一个或更多个第二mlm,所述第二mlm被训练以使用所述至少一些特征至少基于沿与所述对象相对应的表面的位置之间的距离来生成所述对象的位置之间的对应关系的隐式3d表示,其中对所述动作的评估进一步至少基于所述对应关系的隐式3d表示。15.如权利要求9所述的系统,其中所述对象的几何的隐式3d表示与所述对象的动态的隐式3d表示被联合学习,并且所述动作的评估进一步至少基于所述对象的所述几何的隐式3d表示。16.如权利要求9所述的系统,其中所述系统被包括在以下至少一项中:用于自主或半自主机器的控制系统;用于自主或半自主机器的感知系统;用于执行模拟操作的系统;用于执行光传输模拟的系统;用于为3d资产执行协作内容创建的系统;用于执行深度学习操作的系统;使用边缘设备实现的系统;使用机器人实现的系统;用于执行对话式ai操作的系统;用于生成合成数据的系统;包含一个或更多个虚拟机vm的系统;至少部分在数据中心实施的系统;或者至少部分使用云计算资源实现的系统。17.一种处理器,包括:
一个或更多个电路,用于训练一个或更多个机器学习模型mlm,以使用对象上的动作的3d表示和所述对象的几何的3d表示来生成所述对象的动态的隐式3d表示,所述训练至少基于将至少基于所述动态的隐式3d表示选择的一个或更多个动作与真值动作进行比较。18.如权利要求17所述的处理器,其中所述训练采用使用基于云的平台生成的训练图像和真实数据,所述基于云的平台在一个或更多个虚拟环境中执行一个或更多个对象的物理模拟和照片级真实感渲染。19.如权利要求17所述的处理器,其中所述训练包括联合训练一个或更多个mlm中的用于解码所述动态的隐式3d表示的一个或更多个第一mlm和所述一个或更多个mlm中的用于解码所述对象的所述几何的3d表示的一个或更多个第二mlm。20.如权利要求17所述的处理器,其中所述处理器被包括在以下至少一项中:用于自主或半自主机器的控制系统;用于自主或半自主机器的感知系统;用于执行模拟操作的系统;用于执行光传输模拟的系统;用于为3d资产执行协作内容创建的系统;用于执行深度学习操作的系统;使用边缘设备实现的系统;使用机器人实现的系统;用于执行对话式ai操作的系统;用于生成合成数据的系统;包含一个或更多个虚拟机vm的系统;至少部分在数据中心实现的系统;或者至少部分使用云计算资源实现的系统。

技术总结
公开了可变形对象的动作条件隐式动态。一个或更多个机器学习模型(MLM)可以通过对对象执行动作来学习对象的几何和对象的动态的隐式3D表示。隐式神经表示可用于重建对象的高保真全几何,并从一个或更多个图像预测基于流的动态场,这可以提供对象的局部视图。可以至少基于与对象相对应的表面上的位置之间的距离,例如测地距离,来学习对象的位置之间的对应关系。可以将距离合并到对比学习损失函数中,以训练一个或更多个MLM来学习对象的位置之间的对应关系,例如对应关系嵌入字段。当评估可对对象执行的一个或更多个动作时,对应关系可用于评估状态变化。于评估状态变化。于评估状态变化。


技术研发人员:朱玉可 B
受保护的技术使用者:辉达公司
技术研发日:2023.02.14
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐