基于图像的三维重建
作者:互联网
基于图像的三维重建
作者:竹石
文章目录
背景知识:
SFM(structure-from-motion)算法是一种基于各种收集到的无序图片进行三维重建的离线算法。顾名思义是从运动中(不同时间拍摄的图片集)恢复物体的三维结构,这需要估计出图片的相机内参重建稀疏点云。
基于图像的三维模型重建的整体流程:
->输入图像
->图像匹配以及运动恢复结构,来恢复相机的姿态
->稀疏重建(Structure from Motion)
->稠密重建(Multiple View Stereo)
->表面重建(Mesh,Model Fitting)
->纹理重建(Texture Mapping)
->可视化渲染
算法的关键是获得两张图片中的对应点,然后估计基础矩阵 F F F,再估计本征矩阵 E E E,再通过SVD分解求得 R 、 t R、t R、t,得到物体的三维点,最后将多个稀疏点云融合,如何将点云融合呢,如果求出的 R , t R,t R,t是一个准确解,这时各部分点云通过 R , t R,t R,t变换到同一基准下就可以完成融合的过程。如果求解出来的 R , t R,t R,t仍然不够准确,这时候可以通过Bundle Adjustment(BA),这是一个非线性优化的过程,目的是使重建误差降低到最小,通过调整位置和三维点使反向投影差最小,如果相机没有标定,还应该将焦距也参与平差。多幅图像的计算方法,依次迭代上面的流程,求得比较准确的 R 、 t R、t R、t后,即可进行点云的融合,到此完成稀疏点云的重建过程。
三维模型重建的应用:
城市规划、测绘系统、高精地图、虚拟仿真、文物保护、VR/AR导航
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I3Q4rE6W-1642812468382)(images/image-20211219164522233.png)]
常见的商业软件及开源框架:
RealityCapture
VisualSFM
比较著名的开源系统:
MVE: https://www.gcc.tu-darmstadt.de/home/proj/mve/index.en.jsp
Bundler: http://www.cs.cornell.edu/~snavely/bundler/
VisualSFM: http://ccwu.me/vsfm/
OpenMVG: https://openmvg.readthedocs.io/en/latest/software/SfM/SfM/
ColMap: https://demuc.de/colmap/
相关的开源代码
https://github.com/colmap/colmap
https://github.com/simonfuhrmann/mve
https://github.com/nmoehrle/mvs-texturing
https://github.com/jianxiongxiao/SFMedu
经典文献:
Sift 特征点检测:
Distinctive Image Features from Scale-Invariant Key points
增量 SFM :
Photo Tourism Exploring Photo Collections in 3D
Structure-from-Motion Revisited
稠密匹配&&多视角立体视觉:
Multi-View Stereo for Community Photo Collections
表面重建:
Reconstruction and Representation of 3D Objects with Radial Basis
纹理贴图:
Let it be color! Large-Scale Texturing of 3D Reconstructions
标签:基于,三维,https,图像,点云,三维重建,重建 来源: https://blog.csdn.net/TZ_li_gen/article/details/122632778