Press "Enter" to skip to content

魔幻,AI模型居然可以拼乐高积木了,斯坦福联合MIT谷歌提出计划执行网络MEPNet

相信大家都有过按照纸质说明书一步一步组装机器或其他手工品的经历,例如乐高积木,在这个组装过程中,我们需要认真阅读说明书上的每一步,并且具备一定的空间想象能力, 才能将2D的操作指引应用到实际的3D物件上 ,尽管这样,还是会遇见零件组装错误或压根找不到当前零件应该装到哪的情况。这有可能是因为人类视觉系统的一些视觉错觉导致的,尤其是在二维空间到三维空间进行转换时。

 

最近来自斯坦福大学,麻省理工学院和谷歌研究院的一项工作尝试使用人工智能工具将 二维说明书直接映射成三维动画 ,使组装过程更加清晰明了。 为了获得动态的组装过程,本文作者尝试 将问题转换为一个序列预测任务 ,在模 型 预测的每一步都先将二维的平面指示与当前的3D模型进行匹配, 并提出了一个可执行的计划网络(MEPNet)来将一系列的二维操作图像转换为机器可识别的操作码 ,随后生成3D的操作动画。

 

此外,由于序列任务本身的可预测性,使得训练出来的模型天然具有良好的泛化能力,可以很好的适应复杂多样的零件。 作者也不仅仅局限在乐高积木等领域,认为本文方法也可以迁移到其他复杂类型的产品安装说明书上,这样更具有使用价值,下面是使用本文方法演示组装一把乐高吉他的示例。

 

 

 

论文链接:

 

https://arxiv.org/pdf/2207.12572.pdf

 

代码链接:

 

https://github.com/Relento/lego_release

 

项目主页:

 

https://cs.stanford.edu/~rcwang/projects/lego_manual/

 

一、本文方法

 

对于工程化组装,小到机密仪器组装,以及本文所关注的乐高积木拼装,大到家具和大型机械的组装任务,都离不开一个详细的操作说明书,而这些说明书往往是由专业的设计人员构建的,他们会将复杂的安装流程分解开来构成一个精简的顺序操作步骤, 而本文方法恰好与这一过程相反,即从操作步骤的静态图像出发,从中解析出每一步所需的零件,并将每一个零件安装所需的位置、角度信息进行编码,随后送入模型中进行3D动画推理。 如下图展示了本文方法制作乐高吉他动态演示的操作流程,第一步是对2D图像进行编码,目的是为了提取其中每个组件的位置和操作角度,随后将其转换为机器可识别的执行序列。这其中主要涉及到两个技术难点:

 

 

由于 每幅2D图像都是对应3D构件的投影 ,因此模型需要构建起2D图像到3D模型的精确映射, 在映射过程中模型会推理每个构件的3D调整角度,同时还要考虑组件之间的遮挡情况。

 

第二个挑战是 零件组合的多样性 ,以乐高积木为例,虽然大多数乐高模型的组件类型都是有限的,但是这些组件可以灵活的构成多种不同的形状, 尤其是将一个细小的零件添加到已经具有雏形的大模型上时,组装的位置会有更多的选择 ,从而增加了机器理解说明书的难度,这就需要模型具有一定的3D推理能力。

 

 

 

1.1 2D说明书解析

 

为了解决上述两个问题,本文作者提出了一种手动到可执行的计划网络(MEPNet)以序列预测任务的形式来完成该任务。第一步需要对2D说明书图像进行解析, 具体来说先定义一个空体素集合 ,随后将每一步的零件按照同样的体素形式更新到该集合中 ,这里添加的零件可以是单个零件,也可以是一个由多个基元零件组成的子模块(submodule),如下图所示:

 

 

为了实现更加精细的构件分解和解析,本文 以树形结构对基元零件进行组织 ,例如上图中绿色区域中就是一个单独构建的子模块,其被单独视为吉他头添加到整体模型中, 由于本身具有递归特性,在添加到整体模型的过程中,也可以按照3维体素的格式进行操作 ,其形状为 ,我们将这些零件和子模块 按照操作顺序构成一个序列,并通过模型估计得到其的3D姿态,这样就构成了一个可执行的“计划” ,可以送入机器以迭代的方式组装成一个完整的模型。

 

1.2 Manual-to-Executable-Plan Network(MEPNet)

 

而对于计划网络MEPNet,作者的设计如下图所示, 整体结构遵循编码器-特征融合-解码器(encoder-fusion-decoder)设计风格 ,其中包含一个3D卷积网络来估计零件的3D形状,一个2D卷积网络来估计 零件的关键点、mask位置和旋转角度 。其中第一个模块如下图(i)所示,是一个状态编码器,其将当前模型的状态信息 和2D说明图像 作为输入,并进行三维信息和二维信息的对齐和融合,使用3D卷积提取得到3D特征表示 。为了将3D模型的特征映射到二维平面中,作者使用2D说明书图像的相机参数来将3D体素转换为2D相机帧,随后通过光栅化方法将体素投影到相机平面上得到对应的2D特征图 。其通过上采样到2D说明图像 II 同样的分辨率大小,进行特征融合得到增强后的特征表示 。

 

 

MEPNet的第二个模块如上图(ii)所示,其遵循 条件编码解码网络结构,将每个新零件的体素 视为条件概率编码送入网络中 ,由于零件的安装具有先后顺序,这里按照组装顺序将每个零件的体素构成特征序列 ,随后将所有的特征按照通道维度整合得到一个综合表示 。

 

在第三部分中,模型整合从第一个模块得到的2D状态增强特征 ,以及第二个模块提取的零件特征序列 对模型的关键点、mask位置和旋转角度进行预测,这里作者分别使用三个全卷积网络进行实现。其中对于模型关键点,作者使用了CenterNet[1]的结构,对于每个零件,模型输出三个1D维度的特征图 ,分别代表关键点的中心位置和二维方向的偏移量。 对于mask预测,模型对每个零件不仅输出分割掩码表示零件在整体模型上的位置,同时也生成了对应零件的特征表示方便后续的特征聚类。 对于旋转角度,模型输出一个4维向量,范围在(0°,90°,180°,270°)之间。

 

在训练阶段,作者在一个生成的3D数据集上训练MEPNet,人为生成的数据集具有非常精确的关键点、mask和旋转角度的ground-truth,网络的目标函数为:

 

 

其中 由 和 构成,前者用来计算生成热力图与高斯核生成的真实热力图之间的focal loss,后者将横纵方向的偏移量视为回归任务,使用L1 loss。对于 和 具体使用交叉熵损失进行实现。

 

1.3 3D姿态推理

 

通过上一小节我们已经对每个零件进行了2D层面的预测和分析,在本小节中,模型需要对新零件先进行 平移操作移动到合适的安装位置,再进行旋转姿态推理 ,才能将上一阶段得到的2D关键点反向投影到3D动画中,如下图所示。

 

 

对于平移操作,如上图(b)所示, 主要依赖于不同零件之间的连接约束,只有正确的安装位置,新零件才能顺利的插入到整体模型中 。给定每个零件的关键点数据,网络的目标就是找到该零件在整体模型中的3D XYZ坐标,这里需要首先 根据新零件推理出该零件所有可能反零件(在乐高积木中,模型之间的连接都是通过将当前零件的“螺柱”插入到模型上对应位置的“反螺柱”上来实现的)的2D位置 。然后对所有的反零件进行形状匹配,进行投票得出新零件的最终3D位置。

 

对于旋转操作,如上图(c)所示,对于每个子模块,先计算四个旋转角度(0°,90°,180°,270°)的每个候选参数 ,然后将具有参数 的零件投影到图像中, 并与上一阶段得到的mask进行IoU计算 ,最终选择具有最高IoU分数的参数 作为最终的3D姿态预测。

 

二、实验

 

本文的实验在三个乐高数据集上进行,其中一个是人工合成的乐高数据集,该数据集通过72种基础元件构成,并使用标准的乐高渲染器进行渲染。为了更加贴近真实场景,作者还从真实的乐高手册中收集了另外两个数据集,在Classics主题(结构较为简单,适合4岁以上儿童)中选取了11套积木,在Architecture主题(结构复杂,适合10岁以上儿童)中选取了5套积木。

 

此外作者选择了两个基线方法与本文提出的MEPNet进行性能对比,其中PartAssembly[2]是一个两阶段方法,主要从单个图像中来推断部分零件的3D姿态,其首先对每个零件的mask进行预测,随后对每个零件的特征进行编码并预测姿态。 为了对比公平,作者将其中的编码器更换为与MEPNet相同的编码器 ,此外还加入了CoordConv[3]来增强其对模型3D位置的预测能力。另外一个方法是Direct3D,可以认为是MEPNet的消融变体, Direct3D直接预测每个零件的3D平移量和旋转量,而不是预测关键点、mask和旋转角度 。下表展示了三种方法在三个数据集上的定量对比结果,可以看到MEPNet均能达到最好的效果。

 

 

从下图的可视化对比中,我们也可以观察到MEPNet能够准确的预测原始零件和子模块的3D姿态,即使在有明显遮挡的情况下。相比之下,另外两个对比方法会出现子模块方向推理错误的情况,PartAssembly方法也无法准确预测目标零件的mask,这对于后续的3D姿态估计至关重要。

 

 

三、总结

 

本文提出了一种新型AI任务, 即如何将复杂模型的2D分步骤组装手册翻译成机器可识别可执行的指令 ,随后进行3D推理合成更加全面生动的3D组装动画。为此,本文作者提出了一种手动可执行计划网络MEPNet, 该网络可以从一系列2D组装图像出发对整体的顺序组装过程进行三维重建 。MEPNet网络背后的设计思想关键在于将基于学习的方法和综合推理算法相结合, 实现了一种先解析,后翻译,再推理的机器学习模式 。此外本文作者也提到MEPNet不仅仅局限在乐高积木领域,下一步还会将本文方法拓展到其他产品的安装说明书上,使其更具有实用价值。

 

参考

 

[1] Zhou, X., Wang, D., Krahenbuhl, P.: Objects as points. arXiv preprint arXiv:1904.07850 (2019)

 

[2] Li, Y., Mo, K., Shao, L., Sung, M., Guibas, L.: Learning 3d part assembly from a single image. In: ECCV (2020)

 

[3] Liu, R., Lehman, J., Molino, P., Such, F.P., Frank, E., Sergeev, A., Yosinski, J.: An intriguing failing of convolutional neural networks and the coordconv solution. arXiv:1807.03247 (2018)

作者:seven_

Illustration  b y Marina Green   from icon s8

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注