COLMAP简易教程(命令行模式)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了COLMAP简易教程(命令行模式)相关的知识,希望对你有一定的参考价值。

参考技术A 完整的 multi view stereo pipeline 会有以下步骤

1. structure from motion(SfM)==> camera parameters, sparse point cloud

2. multi view stereo(MVS)==>depth map, dense point cloud

3. surface reconstruction(SR)==>poisson or delauny reconstruction, mesh

4. texture mapping(TM)==>get mesh with texture

COLMAP整体流程如下图所示

COLMAP 兼容好几种不同的相机模型,我们在使用时可以对相机模型进行限制以获得最好的效果。如果提前不知道相机内参,最好使用包含畸变系数的模型,默认为  SIMPLE_RAIDIAL  。

如果已知相机没有畸变或畸变影响很小,建议使用  SIMPLE_PINHOLE  模型。

可供选择的模型分别为

不同模型含义及参数如下表所示,详见 Camera Models

Pinhole_camera_model

camera_calibration_and_3d_reconstruction

运动恢复结构流程如下图所示

运动恢复结构的目的是求解相机参数,需要把所有输入图片放到一个文件夹下。按如下步骤依次进行。

相机内参已知的情况下我们可以直接通过命令行参数 ImageReader.camera_params 传给COLMAP。

a. 相机内参已知

其中  camera_params  为 std::string 类型,不同的模型有对应的表示方式。参数及含义参考上面表格中的各种相机模型。

b. 相机内参未知

其中  database_path  设置工程数据文件的保存路径

image_path  设置输入图像所在文件夹路径

camera_model  设置相机模型

max_image_size  设置为大于图像最大边所对应的分辨率的值

其中  database_path  设置为特征点检测时工程数据文件保存的路径。

模型转换与参数读取

在进行稀疏重建之后,model 默认会被导出到 bin 文件中,因为这样比较紧凑,节省空间,可以使用 COLMAP 的模型转换功能将其转换成 txt 文件。注意下面的指令中  input_path  和  output_path  是文件所在文件夹的路径,而不是单个文件路径。

a. 相机内参 cameras.txt  格式如下

b. 相机外参,包含旋转和平移,以及每张图片中特征点在图像中的二维坐标及其对应的三维稀疏点索引 images.txt  格式如下,注意这里的旋转保存为单位四元数形式,与 Eigen::Quaterniond 格式相同

c. 稀疏三维点云中三维空间点的信息  points3D.txt 格式如下

如果需要进一步 rectify, 可以把参数输入到 OpenCV 的  stereoRectify()  函数中,之后 initUndistortRectifyMap() , 最后使用 remap()  函数进行重映射 从而得到矫正的结果。

利用前面的步骤求得的相机参数进行稠密重建,由 PatchMatch 求解单视角对应的深度图和法向图,同时根据需要对深度图和法相图进行滤波。

对于纹理不是特别丰富的场景,建议增加 windows_radius 以及降低 filter_min_ncc 来提升深度值求解的准确度。

Git简易的命令行入门教程

 简易的命令行入门教程:

Git 全局设置:

git config --global user.name "imsoft"
git config --global user.email "[email protected]"

创建 git 仓库:

mkdir imsoft.github.io
cd imsoft.github.io
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://git.oschina.net/imsoft/imsoft.github.io.git
git push -u origin master

已有项目?

cd existing_git_repo
git remote add origin https://git.oschina.net/imsoft/imsoft.github.io.git
git push -u origin master

以上是关于COLMAP简易教程(命令行模式)的主要内容,如果未能解决你的问题,请参考以下文章

简易的命令行入门教程:

Git——简易的命令行入门教程

Jmeter(非GUI模式)教程

Linux上vi编辑器使用教程

golang命令行库cobra的使用

Go语言---小白入门-命令行库Cobra的使用