基于图像的三维物体重建:深度学习时代的最新技术和训练趋势概览
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.
本文仅做学术分享,如有侵权,请联系删文。
推荐阅读
-
基于图像的三维物体重建:深度学习时代的最新技术和训练趋势概览
-
基于图像的 3D 物体深度学习时代的性能比较和未来研究方向:最新技术与趋势概览
-
最新回顾:深度学习图像三维重建的最新方法和未来趋势
-
41 个下载免费 3D 模型的最佳网站-使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 17. Clara.io Clara.io 是一个创建 3D 内容的全球平台,也是一个培养新 3D 艺术家的社区。Clara.io 提供+100,000个免费的3D模型,包括OBJ,Blend,STL,FBX,DAE,Babylon.JS,Three.JS格式,用于 Clara.io,Unity 3D,Blender,Sketchup,Cinema 4D,3DS Max和Maya。 使用说明:免费,标准和专业帐户仅供个人使用,如果您需要将 clara.io 用于商业用途,请与销售团队联系。 18. 3DExport 3DExport是一个市场,您可以在其中购买和销售用于CG项目的3D模型,3D打印模型和纹理。它提供15 +不同的3D格式供下载,如3DS MAX(.max),Cinema4D(.c4d),Maya(.mb,.ma),Lightwave(.lwo),Softimage(.xsi),Wavefront OBJ(.obj),Autodesk FBX(.fbx)等。它还提供15种不同的语言! 使用说明:免费下载仅供个人和非商业用途。 19. 3D Warehouse 3D Warehouse是一个开放的库,允许用户共享和下载SketchUp 3D模型,用于建筑,设计,施工和娱乐!任何人都可以免费制作,修改和重新上传内容到3D仓库,您可以找到任何您能想到的东西,如家具,电子产品,室内产品等。 使用说明:3D Warehouse中的所有模型都是免费的,因此任何人都可以下载文件以用于SketchUp甚至其他软件,如AutoCAD,Revit和ArchiCAD。 20. CadNav.com CadNav是CGI平面设计师和CAD / CAM / CAE工程师的在线3D模型库,我们提供超过50000 +免费3D模型和CAD模型下载。在CadNav网站上,您可以下载高质量的多边形网格3D模型,3D CAD实体对象,纹理,Vray材料,3D作品,CAD图纸等。 使用说明:免费下载仅供个人和非商业用途。 21. All3dfree.net 就像网站名称一样,它提供免费的3D模型,还包括Vray材料,CAD块,2d和3d纹理集合,无需注册即可免费下载。它是不断更新的,因此您可以查找或请求3DS,MAX,C4D,skp,OBJ,FBX,MTL等格式的模型。 使用说明:所有资源均不允许用于商业用途,否则您将承担责任。 22. Hum3D 自2005年以来,Hum3D帮助来自3多个国家的80D艺术家节省3D建模时间,并制作逼真的3D模型,用于电影,视频游戏,AR应用程序和可视化。所有模型均由首席3D艺术家进行验证,他们检查其是否符合专业要求和最新的3D建模标准。 使用说明:免费下载仅供个人和非商业用途。 23. Artist-3D.com 艺术家-3D 库存的免费 3D 模型下载按通用类别排序。它为人体解剖学、汽车、家具、火箭、卫星等模型提供 AutoDesk 3DS Max 格式。您还可以在浏览他们的网站时找到教程和类似类型的建模。 使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 24. Free the models 就像本网站的标题一样,它为3d应用程序和3d游戏引擎提供免费的内容模型。您可以为您的任何项目找到许多有趣且有用的模型!它提供3ds,wavefront,bryce,poser,lightwave,md2和unity3d格式的模型。还有一个很棒的纹理集合,可以在您最喜欢的建模和渲染程序中使用。 使用说明:您从这里下载的所有内容都可以免费使用,除非它不能包含在另一个免费的网络或CD收藏中,也不能单独出售。否则,您可以在商业游戏,3D应用程序或渲染作品中使用它。您不必提供信用,但如果您这样做,那就太好了。 25. Resources.blogscopia 本网站由一家名为Scopia的公司创建。他们制作3D图像和视频,您可以找到许多为CGI工作的信息架构设计的模型,所有这些都可以在现实生活中使用。您可以免费下载它们,但是,如果您想一次下载它们,您可以支付 3 到 9 欧元。 使用说明:您可以免费下载模型部分的所有文件。每个压缩文件都包含您也可以在此处找到的许可证。基本上,您可以对文件执行任何操作。唯一的限制是不归属于Scopia的重新分发。 26.ambientCG 1000+公共领域PBR材料适合所有人!环境CG是使用许多不同的方法和资产类型创建的,例如照片纹理(PBR),贴花(PBR),图集(PBR),照片纹理(普通),物质存档(SBSAR),雕刻画笔,3D模型和地形。您可以在所有项目中*使用它们! 使用说明:在 ambientCG 上提供下载的所有 PBR 材料、画笔、照片和 3D 模型均根据知识共享 CC0 1.0 通用许可提供。您可以复制、修改、分发和执行作品,即使是出于商业目的,也无需征得许可。信用将不胜感激。 不要满足于平庸的大理石纹理 - 立即使用我们的免费PBR大理石纹理升级您的3D设计。 27.Pixar One Twenty Eight 这是一个提供官方动画行业经典纹理的网站:皮克斯,创建于 1993 年,该纹理库包括 128 个重复纹理,现在免费提供。 它包含您来到的纹理,包括砖块和动物毛皮。肯定会有一些你可以使用的东西。 使用说明:皮克斯动画工作室的《Pixar One Twenty Eight》根据知识共享署名4.0国际许可协议进行许可。即使出于商业目的,您也可以重新混合、调整和构建您的作品,只要您以相同的条款对新创作进行信用和许可。 访问数以千计的免费纹理并提升您的设计游戏 - 立即开始下载! 28. 3DXO 即使有近 620 个免费贴纸可供下载,3DXO 也不是最大的资源,但它的内容非常有用,不需要注册。无论是简单的墙壁或地板,还是一些奇怪的小东西,您都需要的纹理都可以在此网站上看到。 使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 29. 3DModelsCC0 3DModelsCC0 与其他产品的不同之处在于它包含超过 250+ 个高质量 3D 模型,并且本网站上的所有内容都是免费的,完全是公共领域!使用我们的模型时无需信用或归属! 使用说明:为每个人提供完全免费的公共领域内容。 30.Sketch up texture club Sketchup Texture Club是一个非营利性的教育和信息门户网站,由3D社区的图像促进协会管理,特别强调面向学生和建筑和室内设计专业人士的可视化和渲染技术,以及所有正在学习3D可视化的人。 使用说明:您无需支付版税或使用费。纹理可以免费下载和使用。不允许将纹理作为竞争产品出售或重新分发,即使图像被修改也是如此。 31. FlippedNormals FlippedNormal 是一个提供计算机图形和 3D 资产的市场,您可以找到许多用于雕刻、建模、纹理、概念艺术、3D 模型、游戏资产或课程的高级资产! 使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 32. NASA 3D NASA 3D网站是一个在线门户,提供与太空和各种NASA任务相关的大量三维模型和模拟。该网站是用户友好的,并提供有关每个型号的详细信息。该网站允许用户探索和下载几种不同格式的模型,包括 OBJ、STL 和 FBX,只需单击下载按钮即可。 使用说明: 要下载模型,只需单击模型页面上的下载按钮并选择所需的格式。 33. 3DAGOGO (Astroprint) 3DAGOGO 是一个提供广泛 3D 模型的网站,包括角色、车辆和建筑物。3DAGOGO 的独特功能之一是它专注于适合 3D 打印的模型,使其成为希望创建物理原型或模型的设计师的绝佳资源。要使用 3DAGOGO,设计师只需在网站上搜索他们正在寻找的模型类型,然后下载 STL 格式的文件。 使用说明: 要使用 3DAGOGO,只需搜索所需的 3D 模型类型并下载 STL 格式的文件。根据需要自定义模型,并确保在将其用于商业目的之前检查使用权限。 34. FreeCAD FreeCAD是一款了不起的3D建模软件,可让您在计算机上创建令人难以置信的3D设计。该软件可免费下载和使用,它提供了广泛的工具和功能,可用于创建用于各种目的的3D模型。 该网站易于浏览,您可以找到开始使用FreeCAD的所有必要信息。此外,该网站还提供一系列教程和指南,可帮助您了解 3D 建模的来龙去脉。 使用说明: 要下载模型,请访问网站并从库中选择所需的模型。该网站还提供了一系列使用该软件的教程和指南。 35. Pinshape Pinshape是一个提供一系列3D打印模型的网站。网站上提供的型号质量很高,因此您可以确保您的最终印刷产品看起来很棒。该网站提供了广泛的模型,包括从家居用品到小雕像和珠宝的所有物品。 但这还不是Pinshape所能提供的全部!该网站还允许用户上传和共享自己的3D模型。这意味着您不仅可以下载出色的模型,还可以通过分享自己的设计为社区做出贡献。此外,Pinshape 提供了一系列自定义选项,因此您可以调整和调整模型以满足您的特定需求。 使用说明: 要下载模型,请在网站上创建一个帐户,搜索所需的模型,然后单击下载按钮。该网站还为每种型号提供了一系列定制选项。 36.Yeggi Yeggi 提供了大量免费的 3D 模型,您可以下载各种格式的模型,例如 STL、OBJ 和 FBX。该网站易于使用,您可以按关键字、类别或特定网站搜索模型。 Yeggi 对于任何寻找 3D 模型的人来说都是一个很好的资源。它提供了大量的模型集合,从日常物品到复杂的机械,以及介于两者之间的一切。该网站的收藏量在不断增长,每天都有新的型号增加。 使用说明: 要下载模型,请在网站上搜索所需的模型,然后单击下载按钮。该网站还提供指向托管模型的原始网站的链接。 37. Open3DModel 来自开放3D模型的图像 Open3DModel具有各种类别的模型,包括建筑,车辆和角色。无论您需要建筑物,汽车还是人的3D模型,都可以在此网站上找到。 该网站易于浏览,您可以按类别或关键字搜索模型。每个模型都附带预览图像和详细信息,例如文件格式、大小和多边形数量。此信息可以帮助您选择适合您需求的模型。 使用说明: 要下载模型,请访问网站,从库中选择所需的模型,然后单击下载按钮。 使用最好的 3D 资产管理工具简化您的 3D 制作流程。立即试用它们,将您的 3D 项目提升到一个新的水平! 38. 3DExport 对于那些为其 3D 设计项目寻找 3D 模型、纹理和其他资源的人来说,该平台是一个很好的资源。该网站有大量模型可供选择,包括 3D 打印对象、游戏资产等。用户可以按类别、文件格式或价格范围浏览,以找到适合其项目的完美资源。此外,3DExport 还提供一系列教程和其他 3D 资源,以帮助用户提高技能并创建更令人印象深刻的设计。 使用说明: 要使用 3DExport,只需创建一个帐户并浏览可用型号。您可以按类别、格式和价格进行搜索,以找到所需的型号。找到喜欢的模型后,只需下载它并开始在您的项目中使用它。 39.Blend Swap Blend Swap是一个社区驱动的市场,提供与Blender软件兼容的各种免费3D模型。该平台允许用户共享和下载模型、纹理和其他资产,以便在他们的项目中使用。 使用说明: 创建免费帐户后,您可以浏览社区上传的大量3D模型。当您找到要使用的一个时,只需下载它并将其导入您选择的 3D 软件即可。 40. 3DShook 3DShook 是一个高级 3D 模型市场,提供一系列用于建筑、游戏等各个行业的高质量模型。该平台提供基于订阅的模型,具有不同的定价计划,允许用户访问一系列模型。 使用说明: 注册免费帐户后,只需浏览3D模型库,选择您喜欢的模型,然后以您需要的格式下载它们。 41. Smithsonian X 3D 史密森尼 X 3D 对于正在寻找历史文物和文物的高质量 3D 模型的设计师来说,这是一个独特的资源。该平台提供了大量3D模型,这些模型是根据史密森尼博物馆和研究中心中的真实物体扫描创建的。 使用说明: