colmap三维重建核心逻辑梳理
- 1. 算法流程束流
- 2. 初始化
- 3. 重建主流程
1. 算法流程束流
重建核心逻辑见 incremental_mapper.cc 中 IncrementMapperController 中 Reconstruct
- 初始化变量和对象
- 判断是否有初始重建模型,若有,则获取初始重建模型数量,判断是否超过1个
- 进入初始重建循环,根据初始重建次数进行循环
- 判断是否暂停或停止,若停止则退出
- 添加或获取重建对象
- 执行重建初始化
- 寻找初始影像对,若未指定则尝试寻找
- 注册初始影像对,并进行全局束调整和点云筛选
- 提取影像颜色
- 回调初始化影像对注册完成
- 进行增量重建
- 注册下一个影像,并进行局部和全局细化
- 提取影像颜色,根据条件写入快照,回调影像注册完成
- 若停止,则结束重建并退出
- 在一定条件下进行最终的全局细化
- 根据重建模型数量和总注册影像数量决定是否结束循环