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】特征匹配参数解释-CSDN博客


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实现相机位姿的可视化,可以利用 Colmap 自带的图形界面工具来查看稀疏重建结果中的相机位置和姿态。启动 Colmap 并加载已经完成稀疏重建的项目文件后,在主界面上可以选择 “Sparse model viewer” 或者 “Dense model viewer”,这取决于是否有密集重建的数据[^1]。 对于更进一步的操作或是自定义开发需求来说,则可能涉及到读取由 Colmap 输出的 `.bin` 或 `.txt` 文件格式保存下来的特征点与相机参数信息,并通过其他软件库如 Open3D 来绘制这些数据以达到视觉化的效果。 ```python import open3d as o3d # 假设已从COLMAP二进制模型中提取了相机内参矩阵K以及每帧图像对应的外参RT cameras, images, points3D = read_model(path='path_to_colmap_sparse', ext='.bin') for i in range(len(images)): R = images[i].qvec2rotmat() t = images[i].tvec # 创建坐标轴并设置颜色(红绿蓝分别代表XYZ) axes = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.5) # 将世界坐标系下的原点平移到相机中心,并应用旋转变换 axes.transform(np.hstack((R, t.reshape(3, 1)))) # 添加到场景中显示 vis.add_geometry(axes) vis.run() ``` 需要注意的是,Colmap 的相机坐标系遵循右手定则,其中 Z 轴指向前方,X 和 Y 分别对应水平向右和平行于传感器平面朝下方向;而在某些情况下,当把 COLMAP 结果用于其他平台时可能会遇到不同约定之间的差异问题,因此要特别留意这一点。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值