COLMAP 是具有图形和命令行界面的通用运动结构 (SfM) 和多视图立体 (MVS) 管道。 它为有序和无序图像集的重建提供了广泛的功能。
常见的基于nerf算法均需要colmap来计算位姿
安装colmap:
conda install colmap
需要使用python9
step1:准备多视角图片
step2:
使用图形界面来生成数据集
colmap gui(新建项目->特征提取,匹配->三维重建->稀疏重建)
或者使用命令
colmap feature_extractor --database_path database.db --image_path images --ImageReader.camera_model PINHOLE
colmap exhaustive_matcher --database_path database.db
mkdir sparse
colmap mapper --database_path database.db --image_path images --output_path sparse
mkdir dense
colmap image_undistorter --image_path images --input_path sparse/0 --output_path dense --output_type COLMAP
colmap patch_match_stereo --workspace_path dense --workspace_format COLMAP --PatchMatchStereo.geom_consistency true
colmap stereo_fusion --workspace_path dense --workspace_format COLMAP --input_type geometric --output_path dense/fused.ply
colmap poisson_mesher --input_path dense/fused.ply --output_path dense/meshed-poisson.ply
colmap delaunay_mesher --input_path dense --output_path dense/meshed-delaunay.ply
这些命令分别用于提取图片特征、特征匹配、稀疏重建、去畸变、稠密重建、点云构建、mesh文件构建。如果图像不是针孔相机拍摄的,请自行更改colmap feature_extractor命令。
在执行完这些命令后,可以得到如下目录结构:
├── dense/
├── images/
├── sparse/
├── stereo/
├── images/
├── sparse/
├── 0/
其中在dense文件夹下还有几个.ply文件,是COLMAP得到的mesh场景重建结果
将模型转为txt格式
colmap model_converter --input_path dense/sparse --output_path dense/sparse --output_type TXT
参考文献:
(199条消息) COLMAP简明教程 重建 转化深度图 导出相机参数 导入相机参数 命令行_colmap导出相机位姿_BigYouYou的博客-CSDN博客COLMAP — COLMAP 3.8-dev documentation