从单张二维图像重建出三维形状的方法

电子说

1.2w人已加入

描述

对于具有丰富的日常经验的人类来说,我们可以通过单一的图像推断出物体的三维形貌,甚至对从未见过的物体也能够通过单一视角的图像对其形状有八九不离十的感官认知,但这对计算机来说却是一个巨大的挑战。目前从单一视图重物体的三维形貌极大地受到了训练数据的影响,对于未知物体的重建依然存在着一系列问题。

视觉领域的研究人员认为人类的这种能力来自于对于物体表示的复杂层级关系,通过将图像映射到表面最终得到物体的体积和形状信息,利用不同形式的表示来处理形状不同方面的信息。为了有效的解决这一问题,研究人员提出了一种称为一般性重建(Generalizable Reconstruction, GenRe)的算法,来捕捉与物体类别无关的形状先验特征,并实现了表现良好的单视图形状恢复,对于未包含在训练集内的物体也具有良好的重建效果。

近年来很多计算机视觉和机器学习领域的研究人员探索了从单张二维图像重建出三维形状的方法,包括ShapeNet和MarrNet等工作都在这个方向进行了一系列有益的探索,通过学习复杂庞大的数据集与其对应视图的映射关系来实现2D到3D的映射。三维形状重建问题可以分解为f(2.5D->3D)&f(2D->2.5D)两个子过程。

但很多现存的方法却忽略了一个问题,从2D或者2.5D到3D形状的映射会涉及复杂但确定的几何投影过程,如果不为这个映射过程精确建模而简单地使用神经网络来近似,会造成过度参数化/过拟合的现象。同时还会忽略这一投影过程中有价值的归纳偏置(inductive biases)。正是由于这两个因素造成了目前的算法对于未知分类的重建泛化能力不尽如人意。

在这篇文章中,研究人员提出了一种解耦形状重建几何投影的过程,来实现对于未知物体更好的外形重建泛化能力。在MarrNet的基础上,将先前的f(2.5D-3D)的映射解耦成了两个过程:现充2.5D数据投影到部分的3D模型,再将部分3D模型构建出完整的3D模型,此时f(2.5D->3D)=c(2.5D->3D)&p(2.5D->3D),变成了一个部分三维投影问题和三维体素补全问题的组合。但三维的形状补全问题却面临着严重的稀疏性问题,得不到很好的重建效果。

于是研究人员提出了基于球坐标(spherical maps)的三维补全。spherical maps是一种在单位球面上由UV坐标定义的表示,其中坐标点的值表示从这点沿直径到三维物体表面的最短距离。这种表示结合了2D和3D的特征:其中球面可以看做是2D图像的一种形式,那么就可以利用神经网络图像修复的方法来进行补全;同时其中保留的语义信息可以将它重新投影到3D恢复完整的几何形状。这种表示使得我们可以通过可见区域来补全不可见区域,作为实现三维重建的中间步骤。此时上面的步骤就可以转换为:f(2.5D->3D)=p(S->3D)c(s->s)p(2.5D->S),即2.5D先投影到S表示下,补全后再由S投影到3D。

综上所述,将单幅图像重建为三维形貌的模型总共包含了三部分:

首先利用单幅图像来预测深度图(2D->2.5D),并将深度图投影到球表示上(2.5D->S);

随后利用球面修复网络来对其中的数据进行补全(s->s),将补全后的数据投影到3D体素表示(s->3D);

最后利用体素精调网络来进一步提高体素空间中3D形状的表示。

这一神经网络只需要为目标的几何外形建模而无需学习复杂的几何投影关系。除了这一因素外,还有以下几点提高了模型的泛化性:

模块化设计使得模型学习上一模块给出的特征,避免了模型记住训练集的形状。

每个模块的模型输入输出都在同一个域内,保证了更为有效的映射。

下面将具体介绍各个模块的具体实现过程。

单视角深度估计器

这一模块可以从干净背景的输入图片估计出深度图。深度估计是一个与类别无关的任务,使用了自编码器和U-NET的网络架构,从256-256的输入生成了512-1-1的特征图,并通过对称的网络预测出深度图。

球面修复网络

通过将3D形状补全问题转化为二维球面的修复问题来实现,这对于新类别物体有很好的泛华性,同时也比体素的方法更为高效。球面修复网络的结构类似深度估计,利用了标准的卷积网络,但为了适应球面周期性的结构,在训练目标和输入上加入了周期性的padding。

体素精炼网络

在球面修复后投影到体素空间的三维形状还存在自遮挡问题,还需要通过精炼网络来改善最终输出的形状。通过输入从球面投影而来的体素表示和直接从深度图投影而来的体素表示,共同生成最终的结果。

由于遮挡来自于局部的邻近区域,网络只需要学习局部的结构先验,而这也是与物体类别无关的过程。这一模块的输入包含了两通道的128-128-128的三维体素,并输入320D的隐变量,在解码时每一个解码层还接入了对应编码层的输出。

模型表现

通过对三部分模块进行训练后,研究人员给出了模型对于未知物体的重建表现。首先,利用汽车、椅子和飞机训练的单视图深度估计器,在训练集未包含的物体类别上精度表现良好。

随后对于训练集包含和未知的物体,这一算法GenRe也有着良好的表现。可以看到,除了飞机、汽车和椅子外其他都是没有见过的物体,但依然可以获得与GT较为接近的结果。

在真实数据上的重建误差也达到了前沿水平:

最后为了验证算法的有效性,研究人员利用训练好的模型对非刚体和高度规则化的几何体进行了从深度图到三维外形重建,依然保持了较好的效果。

这篇文章通过将三维形状补全的工作投影到了二维球面上,使用了二维图像修复类似的方法来实现三维图像补全,提高了从单张图像恢复三维形貌的精度,希望这一工作能对相关领域的研究带来一些有益的想法。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分