COLMAP运行个人数据集进行稀疏重建

一、准备数据集

(一)Colmap给出了几个官方数据集作为参考,详见官方文档中Datasets部分,我下载了里面的South Building。

打开这个数据集中的images可以看到其中的照片信息。

(二) 准备个人数据集

在制作个人图片数据集时,要注意拍摄图片要具有良好的纹理,尽量避免拍摄反光物体;

拍摄物所处的环境光线要尽量一致;

所拍摄照片要足够重叠,在不同角度拍摄的物体要有较高的重叠度,要注意连续性,这样可以减少图像重建的时间;

从不同角度对物体进行拍摄,比如正面一圈,上面一圈;

注意照片的分辨率,如果拿手机拍摄的照片,往往照片的分辨率会很高,重建的时候时间往往会长,所以可以适时减小图片的分辨率,我是在手机拍摄界面中直接进行设置的;

拍摄完照片后,将其放到一个文件夹里,如图,里面有135张收集到的照片。

 

二、进行三维重建 

1、点击Colmap.bat,进入界面,打开的cmd界面不要关闭 。

2、快速开始,点击Reconstruction-Automatic reconstruction

点击完后,会出现如下界面: 

       这其中需要注意图片的路径和模型要保存的路径,Workspace folder为模型保存路径,Image folder为图片存放路径,Quality 这里根据需求选择Medium,选择High的话运行时间会更长,设置好这些号点击Run。

点击完后重建就开始了,命令行里会依次自动出现以下信息:

其实这就是一般的SFM重建过程,可以分开执行,由于这里使用了 Automatic reconstruction所以是自动执行的,这个过程会执行一段时间。

3、重建完成后,这里提示导入重建的稀疏模型可以进行可视化,这些模型还被导出到工作空间中的 sparse 下的子文件夹中,点击ok即可。

三、稀疏点云 

接下来可以在界面中看到稀疏点云的生成

 

保存模型:依次点击File > Export model,选择要保存的文件夹即可

保存点云:依次点击File > Export model as,在弹出的菜单中选择.ply格式,并取个文件名

四、可视化

保存完后,下载MeshLab对其进行可视化,MeshLab直接在官网上按照步骤下载即可,可将.ply文件直接拖拽上去便可直接查看

 五、遇到的问题

由于我的电脑有N卡,所以刚开始下载的是cuda版本的,但后面cuda没有配置成功

 

所以我先没有勾选Dense model(稠密重建),但即使这样点击Run的时候程序会一直闪退,根本无法运行,后面我又下载了no cuda版本的才得以运行成功,但也只能看稀疏重建。

后续我会解决一下cuda的问题,以便进行稠密重建。 

### 使用 Gazebo 数据集Colmap 中实现三维重建 为了利用来自 Gazebo 的数据集完成三维重建工作,在 Colmap 中的操作流程主要分为几个部分:准备图像序列、提取特征点并匹配、构建稀疏模型以及密集重建。 #### 准备阶段 Gazebo 是一款强大的机器人仿真工具,可以模拟各种传感器获取的数据。对于视觉 SLAM 或 SfM (Structure from Motion),通常会使用 RGB-D 图像或单目相机拍摄的一系列图片作为输入[^1]。因此,首先要确保从 Gazebo 获取到合适的图像序列文件夹结构如下: ``` /path/to/images/ ├── image_00.png ├── image_01.png └── ... ``` 此外,还需要保存每张照片对应的位姿信息(即相机外参),这可以通过记录 ROS topic `/gazebo/model_states` 来获得,并将其转换成适合 COLMAP 处理的形式。 #### 特征检测与描述子计算 安装好最新版本的 COLMAP 后,启动命令行界面进入项目目录下执行以下操作来加载图像路径下的所有图片: ```bash colmap feature_extractor \ --database_path database.db \ --image_path /path/to/images/ \ --ImageReader.camera_model SIMPLE_RADIAL ``` 上述指令指定了数据库位置 `database.db` 和待处理的图像所在的位置 `/path/to/images/` 。这里选择了简单的径向畸变校正模式 `SIMPLE_RADIAL` ,适用于大多数情况;如果已知更精确的内参数,则可以选择其他模型如 PINHOLE 等[^2]。 #### 关键帧选取与两两匹配 接下来要做的就是挑选出具有代表性的关键帧用于后续建模过程中的几何约束条件建立。COLMAP 提供了一个名为 vocab_tree_matcher 的功能模块来进行高效的大规模图像检索和粗略配对: ```bash colmap vocab_tree_matcher \ --database_path database.db \ --VocabTreeMatching.vocab_tree_path path_to_vocab_tree.bin ``` 此步骤依赖于预先训练好的词汇树索引文件 `vocab_tree.bin` 进行情景感知式的快速筛选,从而减少不必要的重复运算量。 #### 构造初始稀疏场景图 当完成了前面提到的关键视图关联之后就可以着手创建初步的空间布局框架了——也就是所谓的“稀疏地图”。通过下面这条语句即可调用增量式SFM算法自动推断出各时刻摄像机姿态变化轨迹及其所观察物体表面特征分布状况: ```bash colmap mapper \ --database_path database.db \ --image_path /path/to/images/ \ --output_path sparse ``` 此时会在指定输出地址处形成一个新的子文件夹 “sparse”,里面包含了经过优化后的多视角立体几何关系表达形式。 #### 密度化填充细节纹理 最后一步便是借助光束法平差技术进一步细化和完善整个虚拟环境内部结构轮廓线条走向,使得最终成果更加逼真自然。具体做法是在上一环节产生的基础之上运行稠密重建程序: ```bash mkdir dense cd dense colmap patch_match_stereo \ --PatchMatchStereo.geom_consistency true colmap stereo_fusion \ --workspace_path . \ --input_type geometric \ --output_path fused.ply ``` 以上命令先建立了新的工作空间 "dense" 并切换进去,接着采用基于补丁匹配的方法生成双目视差图谱,再经由融合滤波器得到完整的三角网格表示结果存储为 PLY 文件格式以便查看编辑[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值