基于图像的三维物体重建:在深度学习时代的最新技术和趋势综述之训练

2020-12-11 09:45:19 浏览数 (1)

1利用其他线索

前面几节讨论了直接从二维观测重建三维对象的方法。本节展示了如何使用附加提示,如中间表示和时间相关性来促进三维重建。

1.1中间表示

许多基于深度学习的三维重建算法直接从RGB图像中预测物体的三维几何。然而,一些技术将问题分解为序列步骤,序列步骤估计2.5D信息,例如深度图、法线图或分割掩码,见下图。最后一步,可以使用传统的技术实现,如空间雕刻或三维反投影,然后过滤和配准,恢复完整的三维几何和姿势的输入。

早期的方法将不同的模块分开训练,最近的工作提出了端到端的解决方案。例如,Sun[1] 用了两个块。第一个块是一个编码器,然后是一个三分支解码器,它估计深度图、法线图和分割掩码(称为2.5D草图)。然后将它们串联并馈送到另一个编码器解码器中,该解码器回归完整的3D体积网格和一组完全连接的层,后者回归相机姿势,整个网络都是端到端训练的。

其他技术将中间深度图转换为3D占用网格或截断有符号距离函数,然后使用3D编码器-解码器网络进行处理以完成和细化,或部分点云,然后使用点云对模块进行进一步处理。

多阶段方法的主要优点是深度、法线和轮廓图更容易从二维图像中恢复。同样,从这三种模式中恢复三维模型比从单独的二维图像中恢复要容易得多。

1.2利用时空相关性

在许多情况下,同一对象的多个空间分布图像在一段较长的时间内被获取。基于单个图像的重建技术可以通过独立处理各个帧来重建三维形状,然后使用配准技术合并重建。理想情况下,我们希望利用帧之间存在的时空相关性来解决歧义,特别是在存在遮挡和高度混乱的场景时。

特别地,时间t时的网络应该记住时间t-1之前重建的内容,并且除了新的输入之外,还应该使用它来重建时间t时的场景或对象。通过使用递归神经网络(RNN)和长-短期记忆(LSTM)网络来解决处理顺序数据的问题,使网络能够在一段时间内记住它们的输入。

Choy[2]提出了一种称为3D递归重建网络(3D-R2N2)的体系结构,该结构允许网络在不同视点的(潜在冲突的)信息可用时自适应且一致地学习对象的合适3D表示。网络可以在每次新视图可用时执行增量优化。

它由两部分组成:一个标准卷积编码器解码器和一组放置在卷积解码器开始处的3D卷积长短期存储器(3D-LSTM)。它们获取编码器的输出,然后选择性地更新它们的单元状态,或者通过关闭输入门来保留状态。然后,解码器解码LSTM单元的隐藏状态,并以体素占用图的形式生成概率重建。

2训练

除了它们的体系结构外,深度学习网络的性能还取决于它们的训练方式。本节讨论了文献中使用的各种监督方式和训练过程。

2.1监督程度

早期的方法依赖于三维监督。然而,无论是人工获取还是利用传统的三维重建技术,获取真实三维数据都是极其困难和昂贵的。因此,最近的技术试图通过利用其他监督信号(如视图之间的一致性)来最小化3D监视的数量。

2.1.1三维监督训练

有监督的方法需要使用与其对应的真实3D形状配对的图像进行训练。然后,训练过程最小化一个损失函数,该函数测量重建的三维形状与相应的真实三维模型之间的差异。这种差异是用损失函数来测量的,损失函数必须是可微的,这样才能计算出梯度。此类损失包括:

(1)体积损失:定义为重建体与真实体之间的距离;

这里,d(·,·)可以是两个体积之间的L2距离或并集上的负交集(IoU)。这两种度量都适用于二进制占用网格和TSDF表示。对于概率占用网格,交叉熵损失是最常用的:

这里,p i是被占用的体素i的真实概率,p~i是估计的概率,N是体素的个数。

(2)点集损失:当使用基于点的表示时,可以使 Earth Mover’s Distance(EMD)或倒角距离(CD)来测量重建损失。EMD被定义为一个集合中的一个点和另一个集合中的一个点之间的距离之和在所有可能的对应排列上的最小值。更准确地说,给定Sgt和Srec两组点,EMD定义为:

这里,φ(p)∈Srec是Srec上最接近p∈Sgt的点。另一方面,CD损失被定义为:

Ngt和Nrec分贝时Sgt和Srec的大小,由于CD使用次优匹配来确定成对关系,因此它比EMD在计算上更容易。

(3)学习产生多种似乎合理的重建。从单个图像进行三维重建是一个不适定问题,因此对于给定的输入,可能存在多个合理的重建。Fan[3]提出了Min-of-N(MoN)最小损失来训练神经网络产生分布输出。其思想是使用从某个分布中提取的随机向量r来扰动输入。网络学习从输入的每一个扰动生成一个合理的三维形状。它是使用定义如下的损失来训练的;

这里,f(I,r)是用从多元正态分布N(0,I)抽样的随机向量r扰动输入后重建的三维点云,Sgt是真实点云,d(·,·)是重建损失,可以是上面定义的任何损失函数。在运行时,通过从N(0,I)中采样不同的随机向量r,可以从给定的输入生成各种似乎合理的重建。

2.1.2二维监督训练

即使是在小规模的训练中,获取用于监督的三维真实数据也是一个昂贵而繁琐的过程。然而,获得用于训练的多视图2D或2.5D图像相对容易。这类方法使用这样一个事实:如果估计的三维形状尽可能接近真实情况,那么三维模型的视图与重建的三维模型投影到这些视图中的任何一个视图之间的差异也将最小化。

实现这一想法需要定义一个投影运算符,该运算符从给定的视点渲染重建的三维模型,以及一个测量重投影误差的损失函数。

2.1.2.1投影运算符:投影几何中的技术可用于渲染三维对象的视图。然而,为了在没有梯度近似的情况下实现端到端的训练,投影算子应该是可微的。Gadelha[4]引入了一个可微投影算子P,定义为

其中V是3D体素网格,这个运算符汇总沿每条视线的体素占用值。Loper和Black[5]引入了OpenDR,这是一种近似可微的渲染器,适用于正交投影和透视投影。

Petersen[6]提出了一种新的用于图像到几何重建的C∞光滑可微渲染器。其思想是,该方法不是对像素中可见的三角形进行离散决策,而是柔和地混合它们的可见性。取相机空间z位置的加权最小值构成一个平滑的z缓冲区,从而得到一个C∞平滑渲染器,其中三角形的z位置相对于遮挡是可微的。在以前的渲染器中,只有xy坐标相对于遮挡是局部可微的。

2.1.2.2再投影损失函数:有几个损失函数已经被提出用于使用二维监督进行三维重建。将它们分为两大类:(1)基于轮廓的损失函数;(2)基于法线和深度的损失函数。

(1)基于轮廓的损失函数。其思想是在一定的摄像机内外参数下,由重建体投影出的二维轮廓应与输入图像的真实二维轮廓相匹配。这种差异是受空间雕刻的启发而产生的:

其中S(j)是原始3D对象X的第j个2D轮廓,n是每个3D模型使用的轮廓或视图的数目,P(·)是3D到2D投影函数,α(j)是第j个轮廓的相机参数。距离度量d(·,·)可以是标准L2度量、真实轮廓和重建轮廓之间的负交集(IoU)]或二元交叉熵损失。

Kundu[7]介绍了渲染和比较损失,它是根据真实轮廓Gs和渲染轮廓Rs之间的IoU以及真实深度Gd和渲染深度Rd之间的L2距离定义的,即

这里,Is和Id是二进制掩码,在像素处的值为1,这不会造成损失。由于这种损失是不可微的,作者使用有限差分近似其梯度。

(2)表面法向量和深度损失。其他线索(如曲面法线和深度值)可用于指导训练过程。设nx,y=(na,nb,nc)为某点(x,y,z)处曲面的法向量。向量nx=(0,-nc,nb)和(-nc,0,na)与nx,y正交。通过对它们进行规范化,得到两个向量nx’=(0,-1,nb/nc)和ny’=(-1,0,na/nc)。法向损失试图保证(x,y,z)±nx’和(x,y,z)±ny’处的体素应为1,以匹配估计的曲面法向。此约束仅适用于目标体素位于估计轮廓内的情况。预计表面法向损失为:

除上诉损失外,还包括预计深度损失。其思想是深度为vx,y,dx,y的体素应该是1,前面的所有体素应该是0。深度损失定义为:

这将确保估计的三维形状与估计的深度值匹配。

(3)合并多重损失。也可以将二维和三维损失结合起来。当一些真实三维数据可用时,这尤其有用。例如,可以先使用3D监督训练网络,然后使用2D监督对其进行微调,也可以取二维和三维损失的加权和。

2.1.2.3相机参数和视点估计:基于重投影的损失函数使用相机参数将估计的三维形状渲染到图像平面上,一些方法假设一对或多对观测相机可用。这里,可以是RGB图像、轮廓或目标3D形状的深度图。其他方法同时对摄像机参数和最能描述输入的三维重建进行优化。

Gadelha[4]使用完全连接的层将输入图像编码为隐表示和pose code。然后将pose code用作2D投影模块的输入,该模块将估计的3D体积渲染到输入的视图上。有些方法只估计了相机的姿态,与同时进行重建的技术不同,这些方法只使用姿态注释进行训练。例如,Kendall[8]介绍了PoseNet,它是一种卷积神经网络,可以从单个图像估计摄像机的姿态。该网络利用其位置矢量和方向四元数来表示摄像机的姿态,通过训练使真实数据和估计姿态之间的L2损失最小。

【1】X. Z. Xingyuan Sun, Jiajun Wu and Z.Zhang, “Pix3D: Dataset and Methods for Single-Image 3D Shape Modeling,” in IEEECVPR, 2018.

【2】 C. B.Choy, D. Xu, J. Gwak, K. Chen, and S. Savarese, “3DR2N2: A unified approach forsingle and multi-view 3D object reconstruction,” in ECCV, 2016, pp. 628–644.

【3】H. Fan, H.Su, and L. Guibas, “A point set generation network for 3D object reconstructionfrom a single image,” in IEEE CVPR, vol. 38, 2017.

【4】M.Gadelha, S. Maji, and R. Wang, “3D shape induction from 2D views of multipleobjects,” in 3D Vision, 2017, pp. 402–411.

【5】M. M.Loper and M. J. Black, “Opendr: An approximate differentiable renderer,” inECCV, 2014, pp. 154–169.

【6】F.Petersen, A. H. Bermano, O. Deussen, and D. Cohen-Or, “Pix2Vex:Image-to-Geometry Reconstruction using a Smooth Differentiable Renderer,”arXiv:1903.11149, 2019.

【7】A. Kundu,Y. Li, and J. M. Rehg, “3D-RCNN: Instance-Level 3D Object Reconstruction viaRender-and-Compare,” in IEEE CVPR, 2018, pp. 3559–3568.

【8】A.Kendall, M. Grimes, and R. Cipolla, “PoseNet: A convolutional network forreal-time 6-DOF camera relocalization,” in IEEE ICCV, 2015, pp. 2938–2946.

本文仅做学术分享,如有侵权,请联系删文。

0 人点赞