资讯详情

​图像与点云三维重建算法​

转载自图像和点云三维重建算法 - 吴建明wujianming - 博客园

介绍单图像三维重建算法

在开始讨论之前,让我们谈谈为什么要进行单图像三维重建。原因实际上是直观的。总之,有两个词:需要。我们非常需要这样的应用程序。如果我们能做到这一点,它在学术和产品上都有很大的价值。

例如,像英伟达这样的国外(NVIDIA)、Facebook,国内阿里巴巴达摩研究所、快手虚拟人、虚拟场景等的应用。然而,3D重建并不容易,因为很难获得3D数据的真实值,或者收集起来非常昂贵。

因此,这带来了一个问题,如何以更低的成本完成三维重建。其中一个想法是,我们是否可以使用二维数据进行弱监督学习,曲线拯救国家来实现这项任务。这种方法被证明是有效的,所以在接下来的讨论中,我们将介绍一些单图像进行三维重建的方法。

参考文献链接

单图像三维重建算法

https://mp.weixin.qq.com/s/qzIUF4SvTeb73f8rbGws2g

如何实现单图像三维重建算法?

总的来说,过去两年的三维重建算法大多是基于深度学习的。在深度学习中,进一步分为三条主要路径:

首先建模单个图片中的目标对象,直接获得其三维形状(template), 然后使用另一个模型来着色和处理光线。整个过程不是一个端到端的过程(这并不意味着单个模型不能统一,但没有论文),需要单独训练。

直接使用给定的先验形体(prior template)学习体态,同时采样(UV sampling)三维体重建可以通过学习色彩特征来实现。

实现的主要方法是使用可导渲染器(也称为神经渲染器,英语是neural rendering)渲染然后再处理,生成某种三维形式的二维投影,得到投影再生成分割图,关键坐标,RGB像素等,然后优化分割和染色分支。这里提到的先验形体一般是指高对称的三维物体,如球体。

使用神经辐射场(NERF)除了三维结构学习的体素渲染外,还可以直接学习物体的形状和颜色。三维重建是当今学术界的主流,去年的许多相关论文基本上都是以此为技术核心发表的。目前,相对成型的探索结果包括虚拟人类形象和动物形象。

与其他算法相比,基于NERF该算法通常能产生更高的像素质量、更高的分辨率和更高的清晰度。然而,该算法也有其自身的问题,即不能生成基于特定输入的图像(因为该算法基于生成对抗网络),因此需要进一步改进产品化。一种可能的方法是做3D GAN inversion,也就是编辑图像。

单图像三维重建具体算法

让我们来看看这三种方案对应的论文,他们提出了解决具体问题的方法。

路径1:形状建模 色彩渲染

本方案分阶段采用,希望将三维重建分为两个子任务,即身体建模 色彩渲染。每个子任务引入一个子模型进行建模,同时使用两个子模型sota算法使形状和颜色达到极致。

这样不仅可以控制难度,还可以对每个模块进行精调,做出适当的选择。例如,如果你想在身体上做得很好,你可以降低对颜色的要求,降低相应模型的复杂性,反之亦然。

让我们先来看看WLDO[1]。在这篇论文中,作者研究了如何重建动物(主要是狗)的形状,不使用3d在数据真实值的情况下重建动物形体。模型重建过程是基于模型重建过程SMAL的3d实现先验、二维的关键点和分割图。

具体来说,作者用了一个encoder学习特征后,利用学习到的特征来拟合身体、姿势和相机参数,三者的结合可以实现整体身体的学习。在具体学习过程中,作者使用给定的先验体态与数据集的实际形态不太匹配。EM算法。E阶段估计预期的身体参数并冻结其他身体参数的更新;M阶段更新其他身体参数。最后,通过迭代更新学习整个身体。

完成身体学习后,另一个需要解决的问题是如何着色。让我们在这里介绍一下Texformer[2]是怎么做Texformer它是为了进行人体建模利用输入图像的全局信息进行更精细的学习,同时尝试整合输入图像和颜色信息进行完整的染色。模型使用了SMPL来预测体态,同时采用Vision transformer学习全局信息。

具体来说,使用预计算颜色图作为query,图中每个像素对应三维空间下的顶点;使用输入图像作为value;使用二维组件分割图(2)D part segmentation map)作为映射图像UV空间载体。作者还使用混合蒙版合并texture flow与RGB颜色产生更好的颜色预测结果。我们在这里附上Texformer结构图供您参考。

Texformer 结构图摘录自论文原文

有许多类似方向的论文。例如,基于基础的使用SMPL人体模型参数建模,或特别切割人脸模型进行面部精细建模等。这里我们只举两个例子(作者懒惰地看到这些),然后总结这种方法的优缺点。

  • 在训练颜色信息之前,先训练姿势。分开双阶段后,任务分摊到每个阶段,降低训练难度
  • 理论上,每个子模型都能学到更好的效果,整体效果可以保证

需要更多的输入,包括输入图像、蒙版、关键点或part segmentation map,缺一类就不能训练;数据要求高。

输出体态的估计值只能针对每一类,所以输出体态会非常接近,没有独特性

多阶段导致训练和测试时间同步延长

路径2:使用神经渲染器

在神经渲染器出现之前,我们学习三维模型的基本方法是使用准备好的三维真实值,如给定玩具模型和三维坐标信息,我们直接回到基于三维参数的三维建模。

神经渲染器的出现消除了这个麻烦,因为有一种方法可以直接使用它来获得二维投影,这样你就可以学习三维模型来学习三维模型特性。与使用三维真实值相比,它绝对是一种非常有价值和商业化的方式。

使用神经渲染器可以实现端到端学习,学习目标是姿势、形状、相机拍摄参数和颜色信息。神经渲染器可以通过优化像素采样过程来指导。neural-render[10], soft-render[13]与Dib-R[12]等。

使用可导渲染器构建2D->3D渲染结果,投影投射回2D,渲染结果与原始图像的差异可以计算,因此可以快速估计和学习关键的重建参数。

以下是一些例子。

首先先介绍一下CMR。CMR本文首次提出通过学习类模板解决三维重建问题,但模板需要运动来推断结构(SFM)计算初始模板,使用蒙版和关键点进行弱监督学习;

同时使用球坐标转换的方式映射UV sampling结果,学习并渲染着色。具体框架图见下图。CMR这是一篇非常经典的论文,我们后面提到UMR、SMR我们没有提到u-cmr都是以此为基础进一步完善的。尤其是染色解决方案,基本上后面的论文都是模仿这个方案。

CMR 结构图摘录自论文原文

然后我们来看看UMR。试着用这篇论文part segmentation map用于简化三维重建,而不是蒙版和关键点。作者认为,物体可以分为多个子区域,每个区域相互连接,区域和区域之间的颜色信息是连贯的。

因此2D、3D这种关系应该能够维持相互转换。借此思路,UMR该算法不需要构建类别模板,因此类别没有限制。同时UMR借助part-segmentation map进一步明确物体的边界,对更详细地学习物体的颜色起着非常重要的作用。我们之前提到的texformer,选择了part-segmentation map,便是有一部分原因来源于此。

UMR 结构图摘录自论文原文

让我们再SMR[5]。SMR通过插值三维重建过程中的关键属性来实现建模。由于物体重建后,身形、纹理以及身体关键部位对应关键点位置应尽量与原图保持一致,作者提出(c)、(d)重建后物体的一致性由两个限制。

另外,保持2D->3D->2D双向投影保证2D输入与预测一致,并使用GAN插入相机拍摄角度、纹理信息、物体三维等信息,生成新数据,补充培训集,取得更好的效果。

在这里我们总结一下路线二的优缺点。

  • 单阶段直接学习,框架更简洁清晰
  • 所需的数据量逐渐减少,只有蒙版才能产生预期的结果

  • 数据假设训练对象是对称对象,训练需要初始化模板(球体)。对于无模板、非刚体和非对称对象,学习难度显著增加
  • 由于是自我监督学习,没有明确的真实价值定义,很容易收敛到次优状态,或者不能收敛
  • 受物体体积和复杂性的限制。对复杂物体效果差,对学习物体细节把握差。

路径3:使用神经辐射场(NERF)

神经辐射场[11]也是最近兴起的渲染器,类似于神经渲染器的功能,但相比之下,它有自己更独特的优势。神经辐射场的工作原理是利用三维空间信息和二维姿态信息,学习三维空间坐标和二维视角,的辐射场和体积密度投射到RGB颜色值上。

具体实现式是使用固定的条件编码加上多层感知机(MLP)把输入翻译成像素值以及体素密度。之后进行体态重建将二维输入直接映射到三维。在神经辐射场之前,三维重建的做法是,使用基于voxel-grid的方法表示三维物体,或三维物体对应的特征;

前者极大地消耗了内存,因而只能用于低精准度的三维物体重建;后者需要额外的解码器去解码特征为RGB像素,使得多维度的一致性不够好。在使用神经辐射场之后,相比于基于网格的方法,这种方法不会空间离散、不限制拓扑形态,对于物体的学习有更好的效果。最后还是要提一下,NERF实现很多都是基于GAN的。其中的原因之一是,GAN对于训练数据不足有着很大的补充作用。

这里我们还是看一下相关论文是怎么使用NERF的。首先我们看一下Graf[6]。Graf基于神经辐射场,引入生成对抗网络,使用unpose图像进行训练。目的是生成未知视域下的三维重建结果。

其中生成器主要负责基于图像二维坐标进行采样,每次取得一个patch(K*K个点),然后从这些点里面使用分层采样的方式再采样出N个点进行精细化学习。生成器额外引入了Z_shape和Z_appearance两种隐层编码,可以直接学习体态和表观特征,同时将两种特征解耦,做到分别预测。判别器主要负责比较采样得到的patch与预测生成的patch。训练过程中从感知域比较大的patch开始,然后逐步缩小。

Pi-gan[7]基于Graf做了改进。它使用基于周期激发函数的正弦表示网络来加强神经辐射场中的位置编码效果,以生成更宽视角下的重建结果。相比较于graf,使用siren替代了位置编码,使用基于style-gan的映射网络使得形态和表观特征只依赖于给定输入。同时使用阶段训练以逐步收敛模型。

ShadeGAN[8]在pi-gan的基础上考虑了光照对于三维重建的影响,目的是去进一步解决三维重构场景下形态和颜色相互影响导致重建效果不佳的问题。作者认为,一个好的三维重建模型,在不同的光照条件下去渲染,形态应该相差不大。

同时,作者提出了表面追踪的方法来提升体素渲染的速度。相比于pi-gan的唯一不同是,作者引入了基于光照的限制,同时输出不再直接输出颜色,而是输出经过映射前的输入,目的是希望引入光照来进行后处理,具体处理方法为Lambertian shading。

 ShadeGAN 结构图,摘录自论文原文

CIPS-3D[9]基于pi-gan进一步改进。作者发现现有方法(比如pi-gan)通过编辑浅层向量来隐性控制角度,然而并不能实现基于高分辨率下任意渲染角度的重建;同时在训练不完全的情况下会出现镜像对称的次优解。因此,作者提出调制SIREN模块来去处理生成的不同图像的尺度对于重建的影响。

同时,作者发现使用方向作为输入会导致不同维度成像不一致,因而采用输入点的方式来替代。另外,作者发现了生成结果有概率出现镜像对称问题。为了处理这个问题,使用隐式神经表达网络来把隐式特征化为对应的RGB像素,同时追加了一个附加判别器,以处理镜像对称问题。实验证明这种处理方式起到了很好的效果。

 CIPS-3D 结构图,摘录自论文原文

聊完了相关例子之后,我们最后再来比较一下NERF自己的优点和劣势。

用gan去解决数据稀缺的问题,同时sota版本下只需要单一图像输入,便可以进行多角度重现。相比较上述两种方式,整体方案成本较低。

 神经辐射场本身使用隐性学习方式学习三维特征,相比较于基于三维模板的方式,无对称性要求,使用范围可拓展至非刚体类目,泛化能力更强。

 具有可解释性,生成的浅层特征经过加工后可以用来可视化学到的三维重建模板。

  • 只能拟合单轴下的单图像重建。
  • 无法基于给定图像重建。

总结

这篇文章为大家重点介绍了一下单图像三维重建的一些最近顶会,并且分成了三组主流路径。大家可以对比一下看看,如果有哪里说的不清楚或者欠妥,欢迎在评论区讨论。感谢各位看官花时间阅读本文。

PS: 本文引用的所有论文都是已开源代码的,大家搜索论文标题就可以找到对应代码。

基于激光雷达增强的三维重建

尽管运动恢复结构(SfM)作为一种成熟的技术已经在许多应用中得到了广泛的应用,但现有的SfM算法在某些情况下仍然不够鲁棒。例如,比如图像通常在近距离拍摄以获得详细的纹理才能更好的重建场景细节,这将导致图像之间的重叠较少,从而降低估计运动的精度。在本文中,我们提出了一种激光雷达增强的SfM流程,这种联合处理来自激光雷达和立体相机的数据,以估计传感器的运动。结果表明,在大尺度环境下,加入激光雷达有助于有效地剔除虚假匹配图像,并显著提高模型的一致性。在不同的环境下进行了实验,测试了该算法的性能,并与最新的SfM算法进行了比较。

 

 

相关工作与主要贡献

基于机器人的检测需求越来越大,需要对桥梁、建筑物等大型土木工程设施的高分辨率图像数据进行处理。这些应用通常使用高分辨率、宽视场(FOV)相机,相机在离结构表面近距离处拍摄,以获得更丰富的视觉细节。这些特性对标准SfM算法提出了新的挑战。首先,大多数可用的全局或增量SfM方案都是基于单个摄像机的,因此不能直接恢复比例。更重要的是,由于视场的限制,相邻图像之间的重叠区域被缩小,从而导致姿态图只能局部连通,从而影响运动估计的精度。这个问题在大规模环境中变得更加重要。

为了解决上述挑战本文提出了一种新的方案,它扩展了传统的SfM算法,使之适用于立体相机和LiDAR传感器。这项工作基于一个简单的想法,即激光雷达的远距离能力可以用来抑制图像之间的相对运动。更具体地说,我们首先实现了一个立体视觉SfM方案,它计算摄像机的运动并估计视觉特征(结构)的三维位置。然后将激光雷达点云和视觉特征融合到一个单一的优化函数中,迭代求解该优化函数以最优化相机的运动和结构。在我们的方案中,LiDAR数据从两个方面增强了SfM算法:

1)LiDAR点云用于检测和排除无效的图像匹配,使基于立体相机的SfM方案对视觉模糊具有更强的鲁棒性;

2)LiDAR点云与视觉特征在联合优化框架中相结合,以减少运动漂移。我们的方案可以实现比最先进的SfM算法更一致和更精确的运动估计。

本文的工作主要有以下几个方面:

1)将全局SfM技术应用于立体摄像系统,实现了摄像机在真实尺度下的运动初始化。

2) 激光雷达数据被用来排除无效的图像匹配,进一步加强了方案的可靠性。

3) 通过联合立体相机和激光雷达的共同的数据,扩展了我们先前提出的联合优化方案,提高了所建模型的精度和一致性。

激光雷达增强的双目SFM

该方案以一组立体图像和相关的LiDAR点云作为输入,以三角化特征点和合并的LiDAR点云的格式生成覆盖环境的三维模型。下图显示了我们的LiDAR增强SfM方案的过程

 

 激

A

给定立体图像对,计算对应关系包括特征提取、匹配和几何验证。首先,我们依赖OpenMVG库从图像中提取SIFT特征。然后使用所提供的级联哈希方法对特征进行穷尽匹配。最后,通过对双目极线约束进行几何的验证,验证了两幅图像之间的匹配。具体地说,利用RANSAC估计基本矩阵F,然后用来检查匹配特征的极线误差。只保留几何上一致的特征,以便进一步计算。

由于立体图像对是预先校准的,所以我们将一对左右图像作为一个独立的单元,为了估计相对运动,标准的立体匹配方法依赖于两对图像中所有四幅图像所观察到的特征点,而我们观察到许多点只被三幅甚至两幅图像共享。忽略这些点可能会丢失估计相机运动的重要信息,特别是在图像重叠有限的情况下。因此,这里选择显式地处理两个位姿点之间共享视图的不同情况。具体来说,我们考虑至少3个视图共享的特征点,以确保尺度的重建。虽然只有2个视图的点可以帮助估计旋转和平移方向,但是由于这些点通常来自于下图所示的小重叠区域,所以这里忽略它们。另一方面,两个位姿点之间也可能存在多种类型的共享特性。为了简化问题,我们选择对应关系最多的类型来求解相对运动。在三视图情况下,首先用立体图像对,对特征点点进行三角化,然后用RANSAC+P3P算法求解。在四视图的情况下,我们遵循标准的处理方法,首先对两个站点中的点进行三角化,然后应用RANSAC+PCA配准算法找到相对运动。在这两种情况下,都使用非线性优化程序来优化计算的姿态和三角化,通过最小化内线的重投影误差。最后,对所有姿态进行变换以表示左摄像机之间的相对运动。

 

 

 

 

一旦找到了相对运动,就可以建立一个姿态图,其中节点表示图像帧的姿态,边表示相对运动。全局姿态可以通过平均位姿图上的相对运动来求解。然而,由于环境中的视觉模糊性(见下图),可能存在无效的边缘,并且直接平均相对运动可能会产生不正确的全局姿势。因此,设计了一个两步边缘验证方案来去除异常值。

(1)在第一步中,检查所有图像帧对的激光雷达点云的重叠,并剔除不一致的点云。

(2)第二步中检查回环的一致性。(具体方法可在论文中有详细说明)

 

 

这部分主要介绍优化全局帧的代价函数:

 

 

本文采用文鲁棒三角化方法,对每个三维特征点使用RANSAC来寻找最佳的三角化视图。对于每个轨迹,它是不同相机视图中一个特征点的观察值的集合,随机对两个视图进行采样,并使用DLT方法对该点进行三角化。通过将该点投影到其他视图上并选择具有较小重投影误差的视图,可以找到更匹配的视图。此过程重复多次,并保留最大的一组内部视图(至少需要3个视图)。最后,通过最小化重投影误差,利用内联视图优化特征点在全局结构中的位姿。

基于视觉的SfM算法的位姿优化通常通过束调整(BA)来实现。然而,由于多个系统原因,如特征位置不准确、标定不准确、对应异常值等,位姿估计在长距离内可能会产生较大的漂移,尤其是在无法有效地发现闭合环路的情况下。为了解决这个问题,我们考虑利用激光雷达的远距离能力来限制相机的运动,该方案将相机机和激光雷达观测值联合最优化。这部分内容可查看原文理解公式。

实验结果

下图具有多个机载传感器,包括两个Ximea彩色摄像头(1200万像素,全局快门)和一个安装在连续旋转电机上的Velodyne Puck激光雷达(VLP-16)。利用编码器测量的电机角度,将VLP-16的扫描点转换成固定的基架。

 

 

 

 

 

 

这里比较了所提出的基于网格的检查(GC,阈值为0.6)和成功率检查(SR)与OpenMVG使用的旋转循环检查和transform(旋转和平移)循环检查(TC)的异常值排除法的性能。

 

 

这里展示联合观测建模在联合优化中的优势。如下图所示

 

 

对收集到的数据集的重建结果下图所示。在第一行,展示了小型混凝土结构的重建。第二行比较了使用COLMAP、OpenMVG和我们的方案Smith-Hall重建结果。在这三个测试中,使用左右图像进行重建。然而,COLMAP和OpenMVG都无法处理由停车标志,和有限的重叠图像造成的视觉模糊。因此,生成的模型要么不一致,要么不完整。使用我们的方案有助于有效地排除无效的运动,并允许建立一个更一致的模型。

 

小结

提出了一种利用激光雷达信息提高立体SfM方案的鲁棒性、准确性、一致性和完备性的LiDAR增强立体SfM方案。实验结果表明,该方法能有效地找到有效的运动位姿,消除视觉模糊。此外,实验结果还表明,结合相机和激光雷达的联合观测有助于完全约束外部变换。最后,与最先进的SfM方法相比,LiDAR增强SfM方案可以产生更一致的重建结果。

浅谈单图像三维重建算法

https://mp.weixin.qq.com/s/qzIUF4SvTeb73f8rbGws2g

[1] Biggs, B., Boyne, O., Charles, J., Fitzgibbon, A., and Cipolla, R., “Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization in the Loop”, arXiv e-prints, 2020.

[2] Xu, X. and Change Loy, C., “3D Human Texture Estimation from a Single Image with Transformers”, arXiv e-prints, 2021.

[3] Kanazawa, A., Tulsiani, S., Efros, A. A., and Malik, J., “Learning Category-Specific Mesh Reconstruction from Image Collections”, arXiv e-prints, 2018.

[4] Li, X., “Self-supervised Single-view 3D Reconstruction via Semantic Consistency”, arXiv e-prints, 2020.

[5] T. Hu, L. Wang, X. Xu, S. Liu and J. Jia, "Self-Supervised 3D Mesh Reconstruction from Single Images," 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 5998-6007, doi: 10.1109/CVPR46437.2021.00594.

[6] Schwarz, K., Liao, Y., Niemeyer, M., and Geiger, A., “GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis”, arXiv e-prints, 2020.

[7] Chan, E. R., Monteiro, M., Kellnhofer, P., Wu, J., and Wetzstein, G., “pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis”,arXiv e-prints, 2020.

[8] Pan, X., Xu, X., Change Loy, C., Theobalt, C., and Dai, B., “A Shading-Guided Generative Implicit Model for Shape-Accurate 3D-Aware Image Synthesis”, arXiv e-prints, 2021.

[9] Zhou, P., Xie, L., Ni, B., and Tian, Q., “CIPS-3D: A 3D-Aware Generator of GANs Based on Conditionally-Independent Pixel Synthesis”, arXiv e-prints, 2021.

[10] Kato, H., Ushiku, Y., and Harada, T., “Neural 3D Mesh Renderer”, arXiv e-prints, 2017.

[11] Mildenhall, B., Srinivasan, P. P., Tancik, M., Barron, J. T., Ramamoorthi, R., and Ng, R., “NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis”, arXiv e-prints, 2020.

[12] Chen, W., “Learning to Predict 3D Objects with an Interpolation-based Differentiable Renderer”, arXiv e-prints, 2019.

[13] Liu, S., Chen, W., Li, T., and Li, H., “Soft Rasterizer: Differentiable Rendering for Unsupervised Single-View Mesh Reconstruction”,arXiv e-prints, 2019.

参考文献

人工智能芯片与自动驾驶

标签: h1141接近传感器ni4

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台