三维重建涉及计算机视觉、图形学等多门知识,是一套非常复杂的系统。经典三维重建系统包括整个pipeline从相机标定、基础矩阵与本质矩阵估计、特征匹配到运动恢复结构(SFM),从SFM到稠密点云重建、表面重建、纹理贴图。其中,熟悉SFM的工程师已经是行业内的佼佼者,能掌握稠密点云重建与表面重建的工程师更是凤毛麟角。
图1 经典三维重建系统pipeline
三维重建是当下计算机视觉的一个研究热点,虽然从业者们会给新人提供很多意见和建议,但三维重建的学习路线还是会因人而异,这要取决于个人的背景知识、兴趣和职业目标。对于初学者,三维重建基础的学习路线大概包括以下几个方面:
数学基础知识:线性代数、微积分、优化理论等是三维重建的基础知识,建议入门者先花时间学好这些数学基础知识。
计算机图形学:三维重建需要理解计算机图形学中的基本概念和技术,例如多边形网格、曲面拟合和光照模型等。
多视图几何:学习多视图几何是三维重建的核心。了解基础的三维几何知识以及相机模型、基本矩阵、本质矩阵和三维重建中的三角化等概念。
点云处理和重建:点云是三维重建中最基本的表示形式之一,需要学习点云的采集、去噪、配准和重建等技术。
深度学习:近年来,深度学习技术在三维重建中的应用越来越广泛。学习深度学习的基本原理和常用模型,如CNN、PointNet和GAN等,可以让你在三维重建领域有更好的表现。
最后,基于图像的三维模型重建是非常偏重工程实践的研究任务,它涉及到多个学科,知识分散不系统,因此会给初学者带来极大挑战。大家可以尝试在现有的三维重建数据集上进行实验和调试,或自己创建一些数据集,以便更好地理解和应用三维重建技术。
现也将深蓝学院开设的『基于图像的三维重建』在线课程的推荐资料分享给大家,希望有所帮助。资料主要包括:
针对初学者
书籍I Multiple View Geometry in Computer Vision (Second Edition)
书籍II Computer Vision Algorithms and Applications
三维重建综述4篇
● 《Key Techniques for Vision Based 3D Reconstruction: a Review》
这是一篇介绍基于视觉技术进行三维重建的综述论文。该论文主要介绍了三维重建的基本概念和流程,并综述了现有的三维重建技术,包括视觉几何、多视几何、立体匹配、稠密重建、结构光等。此外,还介绍了一些三维重建的应用领域,如虚拟现实、增强现实、文物保护等。
首先,它介绍了当前三维重建技术的研究现状,为研究者提供了重要的参考。其次,该论文介绍了一些新的三维重建技术和应用领域,为研究者提供了新的思路和研究方向。最后,该论文为相关领域的教育和培训提供了有用的教材和参考资料,推动了三维重建技术的普及和应用。
● 《Overview of 3D Reconstruction Techniques Based on Images》
本篇论文总结了在深度学习背景下,图像三维重建技术的最新进展。该论文介绍了传统基于几何的三维重建方法的局限性和问题,详细描述了使用深度学习方法进行三维重建的原理和流程,包括特征提取、深度估计和三维模型重建等步骤。还探讨了单张图像、多张图像和视频序列三种情况下的三维重建方法,并分析了各自的优缺点。此外,该论文还阐述了一些特殊场景下的三维重建技术,例如激光雷达和虚拟现实技术的应用。
它对三维重建领域产生了积极的影响,提供了一个全面的视角,为该领域的研究者提供了最新的技术和应用方向,指出了未来需要解决的问题和挑战,为该领域的研究方向提供了明确的目标。还为相关领域的研究者和开发者提供了一个交流和合作的平台,促进了三维重建领域的进一步发展。
● 《Image-based 3D object reconstruction:State-of-the-art and trends in the deep learning era》
这篇论文是一篇关于图像基础的三维物体重建技术综述性论文,在深度学习时代提出了该领域的最新进展和趋势。回顾了传统的三维重建方法,然后介绍了深度学习在三维重建中的应用,包括基于深度学习的点云重建和体素重建等方法。详细介绍了基于深度学习的三维重建技术的关键步骤,包括数据预处理、深度特征提取、深度学习模型训练和三维物体重建等,还分析了目前深度学习在三维重建中所面临的挑战和未来发展趋势。
它为该领域的研究者和开发者提供了一个全面的视角,介绍了最新的技术和应用方向,概括了深度学习在三维重建中的应用,为该领域的研究者提供了重要的参考和指导。最后,指出了该领域未来的发展趋势和挑战,为相关研究提供了明确的方向和目标,推动了三维重建领域的进一步发展。
● 《State of the Art on 3D Reconstruction with RGB-D Cameras》
这是一篇关于使用RGB-D相机进行三维重建的综述性论文,介绍了最新进展和技术。论文首先介绍了RGB-D相机的工作原理和应用场景,回顾了传统的基于RGB图像的三维重建方法。接着,该论文详细介绍了基于RGB-D相机的三维重建方法,包括基于点云和基于体素的方法,以及如何进行数据预处理、点云重建和体素重建等关键步骤。此外,还介绍了基于深度学习的RGB-D相机三维重建方法,并提出了未来的研究方向和挑战。
该论文介绍了RGB-D相机在三维重建中的应用,并详细介绍了基于RGB-D相机的三维重建方法,为该领域的研究者提供了重要的参考和指导,还概括了基于深度学习的RGB-D相机三维重建方法,并指出了该领域未来的发展方向和挑战,为相关研究提供了明确的方向和目标,推动了三维重建领域的进一步发展。最后,该论文也为实际应用提供了重要的指导和参考,有助于促进该领域的商业化和产业化。
针对具备一定基础的同学
三维重建的每个基础模块挑选了1-2篇代表性文献,强烈建议阅读以下相关的原著文献, 这些文献是经过时间检验非常经典的文献,这将大大提升你们的科研和工程能力。这些文章包括:
运动恢复结构SFM
分层式运动恢复结构 :Hierarchical SFM
它是是一种计算机视觉领域中用于重建三维场景的方法。它通过对一组随时间变化的二维图像进行分层处理,将相机的运动和场景的结构估计分解为不同层次的子问题,从而提高计算效率。
● 《Structure-and-Motion Pipeline on a Hierarchical Cluster Tree》
这篇论文提出了一种基于分层聚类树的结构和运动恢复方法,用于从多张图像中估计场景中的点和相机的3D位置和姿态。
在这个方法中,首先使用特征点检测和匹配算法来确定相邻图像之间的点对,然后使用这些点对来计算相机之间的运动和点的3D位置。然后,通过对点进行聚类并构建分层聚类树来对场景进行建模,从而可以更准确地估计点的3D位置和姿态。
这篇论文的主要贡献在于将分层聚类树引入到三维重建中,提出了一种新的方法来估计点的3D位置和姿态。该方法具有较高的精度和鲁棒性,适用于从大量图像中重建复杂的三维场景。该论文的方法和思想在三维重建领域中得到广泛应用,成为了多视图几何和三维重建的基础方法之一。
增量运动恢复结构(Incremental SFM)
它是一种计算机视觉领域中用于重建三维场景的方法。该方法通过对一系列随时间变化的二维图像进行分析,估计相机的运动以及场景中物体的三维形状。
● 《Photo Tourism:Exploring Photo Collections in 3D》
这篇论文介绍了一种基于计算机视觉和计算机图形学技术的方法,利用从互联网上获取的大量图片,生成高质量的三维重建模型,从而实现对不同场景的浏览和探索。
具体来说,该方法通过将大量的图片投影到三维场景中,自动识别图片之间的相同特征点,并利用这些特征点计算相机位置和姿态,进而估计每张图片的三维位置。通过将所有图片的三维位置进行优化和整合,最终生成一个高质量的三维重建模型。
这篇论文对三维重建领域产生了深远的影响。它提出的方法不仅能够生成高质量的三维重建模型,而且可以在大规模的图片集上运行,并且不需要人工干预。这使得人们可以利用互联网上的大量图片,快速地生成三维场景,并在其中进行虚拟探索和导航。此外,该方法还启发了许多后续的研究,如结合深度学习的三维重建方法、多视角图像合成等,推动了三维重建领域的发展。
全局运动恢复结构 (Global SFM)
它是一种基于多视角几何的三维重建方法,它利用多个视角的图像数据,通过对相邻帧之间的运动和三维结构进行联合优化,得到场景中物体的三维重建结果。
● 《Global Fusion of Relative Motions for Robust, Accurate and Scalable Structure from Motion》
作者提出了一种全局融合相对运动的方法,用于实现鲁棒、准确、可扩展的三维结构重建。该方法主要包括两个步骤:第一使用基于SIFT特征的相机姿态估计方法,计算出多个视角之间的相对运动关系;第二,通过一个全局优化算法,将这些相对运动信息融合起来,得到更精确的三维结构重建结果。
该论文的方法在三维重建领域产生了重要的影响。该方法提出了一种新的思路,即通过全局融合相对运动信息,实现更精确、鲁棒和可扩展的三维结构重建。不仅在学术界受到了广泛关注和认可,而且已经被应用于实际的工程和商业项目中,如虚拟现实、机器人导航和自动驾驶等领域。
稠密重建
● 《Accurate Multiple View 3D Reconstruction Using Pathch-Based Stereo for Large-Scale Scenes》
这篇论文主要介绍了一种用于大规模场景的准确多视角三维重建方法。该方法基于基于图像的渐进三角测量(Incremental Triangulation),使用基于路径的立体匹配(Patch-Based Stereo)来提高几何约束的准确性。与传统方法相比,该方法能够减少估计误差,并在具有大量图像的情况下提高效率。
该论文的主要贡献在于提出了一种有效的多视角三维重建方法,可以处理大规模的场景,并能够更准确地恢复物体的几何形状。该方法还具有高效的计算能力,因此可以应用于实际的应用中,例如建筑物重建、虚拟现实、医学影像学等。许多后续的研究工作基于该论文提出的方法进行了改进和拓展,使得多视角三维重建的准确性和效率得到了进一步的提高。
● 《Accurate, Dense, and Robust Multiview Stereopsis》
该论文提出了一种多视角的立体视觉算法,用于从多个图像中恢复场景的三维结构。该算法首先通过特征点匹配建立多个视角之间的对应关系,然后使用基础矩阵估计技术来计算每个视角之间的相对姿态。接着,通过三角测量技术将多个视角的二维图像坐标转化为三维点云,最终通过密集匹配算法得到稠密的深度图。
该算法相对于以往的三维重建算法具有更高的精度、更高的密度和更强的鲁棒性,因此被广泛应用于计算机视觉、机器人、虚拟现实等领域,并成为了当前三维重建领域的基础算法之一。
这篇论文对于三维重建领域的发展产生了深远的影响,推动了三维重建算法从传统的基于单个图像的方法向基于多个图像的方法发展,并开创了多视角立体视觉的新时代。同时,该算法的核心思想也被广泛应用于其他领域,如图像匹配、视觉SLAM等。
● 《Multi-View Stereo for Community Photo Collections》
这篇论文的主要内容是提出了一种基于社区照片集合的多视角立体重建方法。该方法可以从一个大规模的非结构化图像集合中,自动地恢复三维场景的形状和外观,同时还能够重建出高质量的纹理和表面细节。该方法基于多视角几何的原理,通过匹配多个视角的图像来估计场景的深度和表面法向量,最终生成高质量的三维模型。
这篇论文对三维重建领域的影响非常大,它的方法为处理大规模非结构化图像集合提供了一种全新的思路,也为三维重建的自动化和高效性提供了重要的基础。该方法在实践中已被广泛应用于各种领域,例如建筑、文化遗产保护、虚拟现实等等。此外,该论文还为三维重建领域的后续研究提供了重要的参考和启示。
表面重建
● 《High Accuracy and Visibility-Consistent Dense Multiview Stereo》
这篇论文是一篇关于多视角立体视觉的论文,旨在提出一种高精度和可见性一致性的密集多视角立体视觉方法。具体来说,它提出了一种新的深度图优化方法,该方法考虑了三个方面的约束:像素亮度一致性、相邻像素深度一致性和视图可见性一致性。该方法可以在充分利用多视角信息的同时,克服传统立体视觉方法中由于光照、纹理等因素引起的错误匹配问题。
这篇论文对三维重建领域的影响非常大,因为它提出了一种新的方法来解决立体视觉中的问题,该方法可以提高三维重建的精度和可靠性。它的创新之处在于它考虑了多个约束条件,这些约束条件可以帮助减少错误匹配和噪声,从而提高重建的准确性。此外,该方法还可以处理复杂的场景,包括多个不同角度的光照和纹理,从而使其在实际应用中更加具有实用性。因此,这篇论文被广泛引用和应用于计算机视觉和机器人领域,为三维重建和虚拟现实等领域的研究和应用提供了重要的参考。
● 《Poisson Surface Reconstruction》
该论文介绍了一种基于点云数据的三维重建算法,可以将离散的、不规则的点云数据转换为光滑的三维曲面模型。
具体而言,该算法使用泊松方程来重建曲面模型。它首先将点云数据转换为密集的体网格表示形式,然后通过求解泊松方程来计算一个标量场,并在此基础上计算法向量和曲率。最后,通过等值面提取技术来生成三维曲面模型。
该算法有许多优点,包括能够处理大规模点云数据、具有高质量的输出结果、能够保持细节信息和形状特征等。因此,它已被广泛应用于三维重建、计算机图形学、计算机视觉和机器人等领域。
这篇论文在三维重建领域产生了很大的影响,并被认为是三维重建领域的经典论文之一。许多后续的研究工作都建立在这篇论文的基础上,包括改进算法的速度和精度、扩展到多种类型的输入数据、应用于更广泛的应用场景等。
纹理贴图
● 《Let There Be Color! – Large-Scale Texturing of 3D Reconstructions》
是一篇关于三维重建和纹理映射的论文。该论文提出了一种新的方法,能够在大规模三维重建中对模型进行自动纹理贴图,从而提高重建模型的视觉效果。
该论文的主要贡献在于:将传统的纹理映射方法与现代计算机视觉技术相结合,通过对大规模重建数据集的分析和学习,自动地将高质量的纹理贴图应用到三维模型中。
具体而言,该方法使用了大规模图像检索技术来寻找与三维模型相匹配的图像,并利用这些图像来进行纹理映射。该方法还能够自动检测和修复纹理贴图中的缺陷,从而获得更加真实的纹理映射结果。
该论文的方法已经在许多实际的应用中得到了验证,例如在建筑重建、文物保护和虚拟现实等领域中。该方法不仅能够提高重建模型的视觉效果,还能够为更高级别的三维分析和应用奠定基础。
总之,这篇论文对三维重建领域产生了积极的影响,为三维重建的高效纹理映射提供了新的思路和方法。
大规模真实场景建模
● 《Block-NeRF: Scalable Large Scene Neural View Synthesis》
这篇论文用于大规模场景的视角合成。Block-NeRF算法通过对场景进行分块处理,将原本需要大量计算的NERF算法转化为对小块的计算,从而提高了算法的可扩展性和运行效率。
具体来说,该论文提出了一个新的可扩展的Block-NeRF算法,可以更有效地处理大规模场景,同时在视角合成质量方面也取得了更好的结果。论文中作者通过在多个大规模数据集上的实验表明,该算法在可扩展性和视角合成的质量方面都比现有的算法表现更好。这篇论文为NERF领域的研究带来了新的思路和解决方案,为大规模场景的视角合成提供了更为有效和高效的解决方案。
● 《Mega-NeRF: Scalable Construction of Large-Scale NeRFs for Virtual Fly-Throughs》
这篇论文用于构建大规模的虚拟场景,实现虚拟飞行的效果。Mega-NeRF算法可以高效地生成具有高质量视角合成的大规模场景,并且具有更好的可扩展性。
论文提出了一种新的基于GPU加速的算法,可以更快地训练NERF模型,并且通过对输入场景数据进行分层处理,可以有效地处理大规模场景,并提高算法的可扩展性和运行效率。同时,还介绍了一种新的场景采样方法,可以更好地处理具有复杂几何形状的场景。通过在多个大规模数据集上的实验,该论文证明了Mega-NeRF算法在大规模场景的视角合成方面的有效性和高质量性能。因此,这篇论文为NERF领域的研究提供了新的解决方案,可以帮助更好地应用NERF算法构建大规模虚拟场景,并实现更为真实的虚拟飞行效果。
相关网站
我们也提供一些相关的网站,这些网站是一些比较著名的开源系统。
知名的开源上图中从左到右依次是:原始图像、稀疏点云重建、稠密点云重建、表面重建、纹理贴图。绿色表示该系统实现了对应模块的功能,红色表示未实现。系统及其实现功能
Bundler: http://www.cs.cornell.edu/~snavely/bundler/
CVMS:https://www.di.ens.fr/cmvs/
ColMap: https://demuc.de/colmap/
Meshlab:https://www.meshlab.net/
MVE: https://www.gcc.tu-darmstadt.de/home/proj/mve/index.en.jsp
MVS-Texturing:https://www.gcc.tu-darmstadt.de/home/proj/texrecon/
OpenMVG: https://openmvg.readthedocs.io/en/latest/software/SfM/SfM/
OpenMVS: https://github.com/cdcseacave/openMVS
Theia:http://theia-sfm.org/
VisualSFM:http://ccwu.me/vsfm/
相关的开源代码
https://link.zhihu.com/?target=https%3A//github.com/colmap/colmap
https://github.com/simonfuhrmann/mve
https://github.com/nmoehrle/mvs-texturing
https://github.com/jianxiongxiao/SFMedu