COLMAP(Windows)实现SFM三维重建位姿估计

本文介绍了如何使用Colmap工具进行图像匹配、位姿估计、特征提取和重建,包括稀疏重建、稠密重建以及深度图和点云融合的过程,并提供了获取内外参txt文件的步骤,帮助读者解决Guassiansplatting中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题产生:

Guassian splatting第一步用colmap进行位姿估计,图片匹配失败,输出图片全靠运气,最少的时候甚至一张都没匹配上,所以想到用colmap软件先进行匹配,再放入高斯训练。

colmap使用步骤:

1.打开colmap.bat

2.新建项目

【File】–> 【New Project】

3. 新建database文件,选择images所在路径


【New】新建db文件
【Select】选择images所在路径

4. 特征提取


Processing】–> 【Feature extraction】
Camera model选择【SIMPLE_RADIAL】
参数选择【Parameters from EXIF】

点击【Extract】

5. 特征匹配


【Processing】–> 【Feature matching】

控制面板参数解释,参考博客colmap 【Feature matching】特征匹配参数解释-优快云博客


6. 稀疏重建


【Reconstruction】–> 【Automatic reconstruction】
Workspace folder,【Select folder】选择项目目录
Image folder,【Select folder】选择图片路径

 


7. 稠密重建


【Reconstruction】–> 【Dense reconstruction】
Workspace工作空间,【Select】选择项目目录–> 【Undistortion】

【Undistortion】是去畸变 

 如果是Guassian训练,到这一步就足够了,稠密重建新建的dense文件夹如下:

注意:

由于高斯默认是找sparse/0/目录,所以需要将sparse/里面三个文件放到sparse/0/下,

做完上一步就可以将dense里所有文件替换到高斯data目录下的对应文件,就可以进行训练了 

------------------------------------------------------------分界线----------------------------------------------------------- 

更多需要就继续进行以下步骤:

深度图:

如果需要深度图,就继续进行【Stereo】

稠密融合点云:

【Fusion】稠密点云融合

8.获取内外参txt文件:

【File】->【Export model as text】导出txt文件

至此,colmap重建就完成了!

### COLMAP SfM在Ubuntu上的安装与使用 #### 安装依赖包 为了确保COLMAP能够正常工作,在Ubuntu上需先安装一系列必要的依赖库。这些依赖项涵盖了编译工具、图形库和其他支持软件: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install \ git \ cmake \ ninja-build \ build-essential \ libboost-program-options-dev \ libboost-filesystem-dev \ libboost-graph-dev \ libboost-system-dev \ libeigen3-dev \ libflann-dev \ libfreeimage-dev \ libmetis-dev \ libgoogle-glog-dev \ libgtest-dev \ libsqlite3-dev \ libglew-dev \ qtbase5-dev \ libqt5opengl5-dev \ libcgal-dev \ libceres-dev ``` 对于某些特定版本的Ubuntu,可能还需要额外安装Java开发环境以及其他Python相关组件来满足COLMAP的需求[^4]。 #### 获取并构建COLMAP源码 完成上述准备工作后,接下来是从GitHub仓库获取最新版COLMAP源代码,并按照官方指南进行本地化配置和编译: ```bash git clone --recursive https://github.com/colmap/colmap.git ~/colmap cd ~/colmap/ mkdir build cd build cmake .. make -j$(nproc) sudo make install ``` 如果遇到CUDA架构设置问题,则可以在`CMakeLists.txt`文件中指定目标GPU架构编号,例如针对NVIDIA Ampere系列显卡应添加如下指令至该文件顶部附近位置: ```cmake set(CMAKE_CUDA_ARCHITECTURES 86) ``` #### 解决潜在冲突 当存在多个不同路径下的相同名称共享库时(比如Anaconda环境中自带的一些数学运算库),可能会干扰到系统的默认查找顺序从而引发链接错误。此时建议调整LD_LIBRARY_PATH环境变量指向优先级较高的目录,或者考虑卸载重复安装的第三方发行版中的冗余部分[^3]。 #### 使用COLMAP执行SfM任务 成功部署完毕之后即可利用命令行界面启动COLMAP应用程序来进行图像处理分析作业。具体而言,可以通过GUI模式交互式地导入图片集创建项目工程;也可以编写脚本批量自动化运行重建流程。以下是通过终端快速测试单次操作的方法之一: ```bash colmap feature_extractor \ --database_path path/to/database.db \ --image_path path/to/images/ colmap exhaustive_matcher \ --database_path path/to/database.db mkdir path/to/reconstruction colmap mapper \ --database_path path/to/database.db \ --image_path path/to/images/ \ --output_path path/to/reconstruction/ colmap model_converter \ --input_path path/to/reconstruction/0 \ --output_path path/to/output.ply \ --output_type PLY ``` 以上过程会依次提取特征点、匹配描述符、三角测量稀疏场景以及导出三维模型数据文件供后续可视化展示或进一步编辑加工之用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值