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的问题,以便进行稠密重建。 

### COLMAP 稀疏重建教程 #### 准备工作 为了成功执行稀疏重建,确保安装并配置好COLMAP环境。对于Ubuntu用户来说,可以通过源码编译来获取最新功能和支持自定义修改[^1]。 #### 数据准备 收集一系列具有重叠视域的照片作为输入数据集。这些图像应该覆盖目标场景的不同角度和位置,以便提供足够的几何约束用于三维结构计算。 #### 特征提取与匹配 启动COLMAP数据库初始化命令,并导入图片至项目中: ```bash colmap feature_extractor \ --database_path path/to/database.db \ --image_path path/to/images/ ``` 接着运行特征点之间的两两匹配过程: ```bash colmap exhaustive_matcher \ --database_path path/to/database.db ``` 此阶段涉及到了对C++文件`feature_matching.cc`中的算法调整优化建议,这有助于提高特定应用场景下的性能表现。 #### 执行稀疏重建 完成上述准备工作之后,可以调用如下指令来进行全局束法平差(SfM),即所谓的“稀疏”模型构建: ```bash mkdir sparse colmap mapper \ --database_path path/to/database.db \ --image_path path/to/images/ \ --output_path path/to/sparse/ ``` 该操作会生成一个包含相机姿态参数以及空间点坐标的`.bin`二进制文件集合,在`sparse`目录下找到名为`0`的子文件夹内查看最终成果。 #### 可视化结果 利用COLMAP自带GUI工具打开刚才创建好的SFM工程,直观感受重建效果;也可以通过导出PLY格式网格进一步分析处理。 --- ### 常见问题解决方案 当遇到稀疏重建失败的情况时,可以从以下几个方面排查原因: - **内存不足**:大型数据集可能导致计算机资源耗尽。尝试减少参与运算的照片数量或者增加硬件资源配置。 - **特征检测失效**:某些极端条件下(如低纹理表面),自动提取到的有效特征过少影响后续步骤准确性。考虑更换更鲁棒性的描述符类型或手动标注关键区域辅助定位。 - **初始猜测偏差过大**:错误估计了摄像机内外参先验信息会造成收敛困难甚至发散现象。借助第三方校准平台精确测量设备参数再带入程序当中往往能显著改善状况。 - **多解歧义性**:复杂环境中存在多个相似外观但实际地理位置相距甚远的对象干扰识别逻辑判断。增强拍摄密度、扩大视角范围有利于消除此类不确定性因素带来的困扰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值