# 传统方法Colmap进行三维重建实践(GUI|命令行)
* [Colmap安装](#colmap安装)
* [数据采集](#数据采集)
* [Colmap GUI操作](#colmap-gui操作)
* [稀疏重建](#稀疏重建)
* [1. 准备工作](#1-准备工作)
* [2. 特征提取](#2-特征提取)
* [3. 特征匹配](#3-特征匹配)
* [4. 增量式建模](#4-增量式建模)
* [深度图估计与优化](#深度图估计与优化)
* [1. 图像去畸变](#1-图像去畸变)
* [2. 深度估计](#2-深度估计)
* [稠密重建](#稠密重建)
* [可视化显示](#可视化显示)
* [Meshlab](#meshlab)
* [Colmap GUI](#colmap-gui)
* [中间数据分析 —— 匹配矩阵](#中间数据分析--匹配矩阵)
* [Colmap命令行操作](#colmap命令行操作)
* [Resources](#resources)
------
Colmap算法**pipeline**:

## Colmap安装
[在Ubuntu Docker中安装Colmap](https://github.com/doubleZ0108/TJ-Graduation-Project-2021/blob/master/experiment/Colmap/setup.md)
---
## 数据采集
[多视角三维重建(MVS)的数据采集](https://zhuanlan.zhihu.com/p/363209410)
---
## Colmap GUI操作
### 稀疏重建
采用增量SfM技术
> 其中SfM技术出自[GitHub - openMVG/openMVG: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.](https://github.com/openMVG/openMVG)
#### 1. 准备工作
1. 创建工程目录`TestScan`
2. 在其中创建`images`目录并存放原始图像
3. 运行`colmap gui`,点击`file - New Project`弹出Project窗口
4. `在Database`行点击`New`,在`TestScan`目录中创建`TestScan.db`文件用于存储原始图片地址、特征匹配等数据
5. 在`Images`行点击`Select`选择场景原始图片所在目录
6. 最后点击`save`
初始的目录结构为:
```
.
|-- TestScan.db
`-- images
|-- 00000000.jpg
|-- 00000001.jpg
|-- ...
`-- 00000048.jpg
```
#### 2. 特征提取
此步骤进行对应点搜索,可以理解为全局特征匹配
点击`processing - Feature Extraction`
- 选择相机模型为`Pinhole`
- 选择`Parameters from EXIF`:从EXIF中提取相机内参(一般采集到的影响都携带EXIF文件)
- 其他参数暂且默认
然后点击`Extract`进行特征提取

#### 3. 特征匹配
点击`processing - Feature Matching`,参数全部选用默认,然后点击`Run`进行特征匹配
这个步骤结束之后会自动生成**场景图**和**匹配矩阵**(以不同视图之间同名特征数为权重,以不同视图为图节点的图结构)
> 从右侧的`Log`中可以看到这两步的输出
#### 4. 增量式建模
点击`reconstruction - start reconstruction`进行一键式增量迭代重建
此步骤逐渐增加视角,并进行迭代优化重投影误差
目的是计算不同视图的相机参数、得到场景的稀疏点云和确定不同视图与点云间的可视关系
最后可以得到场景的**稀疏点云**和各个视角的**相机姿态**

以第49张图像(39个视角)为例
- 已有点云576个
- 首先进行姿态估计(Pose Refinement Report)
- 再进行BA优化:整体稀疏点云融合测量点149个,滤除测量点32个
- 再进行三角测量(Retriangulation)
- 最后再进行迭代全局的BA优化,优化已有相机的姿态和三维稀疏点云坐标
```
==============================================================================
Registering image #39 (49)
==============================================================================
=> Image sees 576 / 991 points
Pose refinement report
----------------------
Residuals : 1132
Parameters : 8
Iterations : 7
Time : 0.0134351 [s]
Initial cost : 0.535158 [px]
Final cost : 0.462099 [px]
Termination : Convergence
=> Continued observations: 540
=> Added observations: 73
Bundle adjustment report
------------------------
Residuals : 24684
Parameters : 2030
Iterations : 21
Time : 0.501096 [s]
Initial cost : 0.374389 [px]
Final cost : 0.367663 [px]
Termination : Convergence
=> Merged observations: 149
=> Completed observations: 27
=> Filtered observations: 32
=> Changed observations: 0.016853
Bundle adjustment report
------------------------
Residuals : 24690
Parameters : 2000
Iterations : 3
Time : 0.0764892 [s]
Initial cost : 0.430376 [px]
Final cost : 0.427614 [px]
Termination : Convergence
=> Merged observations: 10
=> Completed observations: 1
=> Filtered observations: 0
=> Changed observations: 0.000891
==============================================================================
Retriangulation
==============================================================================
=> Completed observations: 9
=> Merged observations: 186
=> Retriangulated observations: 0
```
---
### 深度图估计与优化
Colmap中代价构造、累积、估计和优化是封装在一起的,利用GEM模型进行求解
**主要分为四个步骤**:匹配代价构造 -> 代价累积 -> 深度估计 -> 深度图估计
> 这里的原理暂时省略,[多视图几何三维重建实战系列之COLMAP](https://mp.weixin.qq.com/s?__biz=MzU1MjY4MTA1MQ==&mid=2247511777&idx=2&sn=73ab994649ba559d9628d1fc4dcfda5a&chksm=fbfc85d5cc8b0cc3d89f4ce189cc0cad185fcd7519193e8951833884a2c26b3f1eadfc84d098&scene=178&cur_album_id=1433700656199860224#rd)
#### 1. 图像去畸变
点击`reconstruction - dense reconstruction`,在稠密重建窗口中点击`select`选择文件存放位置,然后点击`undistortion`即可去除图像畸变
> ⚠️注意:这里不要选择项目的根目录,拷贝图片的时候会报错路径已存在导致colmap gui闪退的;同时undistortion也只能点一次,第二次同样会因为路径已存在闪退

带有畸变的图像会导致边缘有较大的时差估计误差,因此在深度图估计之前,使用光学一致性和几何一致性联合约束构造代价匹配
> dtu数据集和之前配置成针孔模型已经隐含无畸变
> 如果使用自采集数据集需要更改相机模型为带畸变参数的相机模型
#### 2. 深度估计
在稠密重建窗口中点击`stereo`进行场景深度估计
深度估计结束后可以得到`photometric`和`geometric`下的深度图和法向量图
> 这一步很慢而且资源消耗比较大

之后点击红框里的这些就可以观察光学一致性photometric和几何一致性geometric后的depth map和normal map

Colmap会利用光学一致性同时估计视角的深度值和法向量值,并利用几何一致性进行深度图优化
---
### 稠密重建
点击`Fusion`即可进行基于深度图融合的稠密重建

重建后会在`dense`中生成`ply`模型文件
### 可视化显示
#### Meshlab
安装[MeshLab](https://www.meshlab.net)进行显示
```bash
sudo snap install meshlab
```
【报错:meshlab无法打开ply文件】

**问题分析**:用文本浏览器打开ply文件发现header之后全部问乱码

找了很多资料还是没有找到解决方案,最后找师兄要了一个显示ply的python脚本,主要是用的是open3d库就成功了😭,这个故事告诉我们 听老师和师兄的一句建�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕业设计-基于无监督深度学习的土木工程场景三维重建 标题:基于无监督深度学习的土木工程场景三维重建——毕业设计探索与实践 导语:随着科技的不断发展,深度学习技术在土木工程领域中的应用日益广泛。本文将介绍一项毕业设计课题——基于无监督深度学习的土木工程场景三维重建,探讨其技术原理、实现过程及应用前景。 一、项目背景 土木工程场景的三维重建对于工程设计、施工管理、安全监测等方面具有重要意义。传统的三维重建方法往往依赖于昂贵的设备和复杂的人工操作。近年来,深度学习技术的发展为无监督条件下的三维重建提供了新的可能。 二、技术原理 本项目采用无监督深度学习技术,主要基于以下原理: 自动编码器(Autoencoder):通过构建一个神经网络,实现输入数据的编码与解码,从而学习到数据的有效表示。 生成对抗网络(GAN):通过对抗训练,使生成网络能够生成与真实数据分布相似的数据。 三维重建:利用学习到的数据表示,通过算法恢复出原始场景的三维结构。 三、实现过程 数据准备:收集土木工程场景的二维图像数据,如建筑物、道路、桥梁等。 网络设计:构建基于自动编码器和生成对抗网络的深度学习模型。 模型训练:在无
资源推荐
资源详情
资源评论



























收起资源包目录
























































































共 74 条
- 1
资源评论


人工智能教学实践
- 粉丝: 692
- 资源: 478
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- DeepSeek LLM Scaling Open-Source Language Models with Longtermism.pdf
- DeepSeek LLM Scaling Open-Source Language Models with Longtermism.pdf
- 乌班图的静态IP配置文件
- DeepSeek-Coder When the Large Language Model Meets Programming - The Rise of Code Intelligence.pdf
- DeepSeek-Coder When the Large Language Model Meets Programming - The Rise of Code Intelligence.pdf
- DeepSeek1小时快速入门.pdf
- DeepSeek1小时快速入门.pdf
- DeepSeek-R1 全面分析2025.pdf
- DeepSeek-R1 全面分析2025.pdf
- DeepSeek-R1:通过强化学习激发大语言模型的推理能力.pdf
- DeepSeek是否会撼动“星际之门”的投资逻辑,.pdf
- SemiAnalysis报告:对这次DeepSeek事件的分析.pdf
- SemiAnalysis报告:对这次DeepSeek事件的分析.pdf
- 串行通信的电子密码锁资料.rar
- 策略观点:DeepSeek如何影响美股AI主题投资逻辑,.pdf
- TMT 行业报告 DeepSeek R1 发布,大模型格局预计发生重大变化 20250127 -国证国际.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
