本文主要介绍从多张图片重建3D模型,说明了整个流程的主要算法,以及一些比较成型的代码及其配置。
1.主要流程
1.1 SIFT:计算图片每个像素点的特征(常见的用SIFT算子)
1.2 SFM:对多张图片像素做匹配对应,通过上步得到的特征,从而估计相机参数,得到稀疏的3D信息
1.3 CMVS/PMVS:根据上步得到的相机参数,做稠密重建,得到点云
1.4 对上步的点云做后处理,得到网格,去除噪声点等。
2.源代码
2.1 Bundler, 实现SFM的比较经典的方法,见链接
http://www.cs.cornell.edu/~snavely/bundler/
2.2 CMVS/PMVS,一个比较经典的实现:
https://github.com/pmoulon/CMVS-PMVS
2.3 VisualSFM, 网页上只放了程序,没有源码
2.4 OSM-bundle,将整个流程的代码做了个整合
https://code.google.com/p/osm-bundler/
2.5 MVE,实现了整个流程,可以得到网格
2.6 SFMedu,matlab代码
http://vision.princeton.edu/courses/SFMedu/
2.7 相关的库, libmv,opencv