首页 > 编程知识 正文

基于视觉的三维重建,计算机视觉的目标

时间:2023-05-04 22:50:33 阅读:285632 作者:4612

一、前言

视觉三位重建一直是计算机视觉和摄影测量领域讨论的话题,且在近几年更是大家关注的热点、如数字孪生、AR、自动驾驶的高精度地图等。视觉三维重建相比激光三维重建,虽然精度上处于劣势,但是视觉具备更丰富的信息且成本低廉,故是数字化场景的首选方案,到目前为止,视觉三维重建框架层出不穷,其开源代表有colmap(2016)、openmvg(2012)、openmvs、alicevison、opensfm 等,商业代表有ContextCapture、photoscan、pix4D、realicature 等。商业代表的主要应用场景主要是处理无人机数据,对于车载数据可能不具备优势,而开源的算法框架距离商业化、可用状态还有很长的路需要走,需要投入精力进行大量的优化。

二、开源算法框架为何选择colmap

COLMAP是一款功能强大structure from motion 和MVS 工具,是Schönberger在ETH博士期间的成果,到目前位置,一直保持开源的框架的前几位,也是后续研究者开展相关工作的首选框架,其整个pipeline 流程如下:

三维重建框架与开源的slam一样,如何选择自己的学习工具是很重要的一件事,选择正确会避免走很多弯路。colmap在代码结构上,进行模块化,代码干净具备很强的可读性,是一款非常值得阅读的开源框架,这无疑是初学者的福音;同时在重建效果上,相比其他开源算法框架和部分商业框架,也具备很强的优势,具体效果对比如下:

场景1

场景2

场景3


三、开启三维之路

如何使用一个开源算法框架,我个人总结如下:

1.第一步肯定是跑公开数据集,车载的,无人机的,记录不同拍摄方式产生的效果的好坏,首先有概念上的认知

2.跑自己的数据,如手机,标准相机拍摄的图像,记录存在的问题和遇到的block

3.开始阅读代码,了解每个模块的功能。

4.尝试小小修改代码,比如如何输出sift提取的x,y,orientation,scale ?如何输出我每次ba都是用了哪些图像?

5.尝试改进代码,当然项目驱动最好,比如如何用其他handcrafted features 或 learned features 替换sift,如何恢复尺度?如何提升系统的鲁棒性?

关于数据集,个人总结以下:

常用数据集

1、ISPRS

https://www.isprs.org/education/benchmarks.aspx

2、sensefly

https://www.sensefly.com/education/datasets/

3、Kagaru

https://michaelwarren.info/docs/datasets/kagaru-airborne-stereo/

4、WHU

http://gpcv.whu.edu.cn/data/WHU_MVS_Stereo_dataset.html

5、KITTI

http://www.cvlibs.net/datasets/kitti/

6、ETH

https://www.eth3d.net/

7、realitycapture

https://www.capturingreality.com/SampleDatasets

8、视觉定位数据集

https://www.visuallocalization.net/datasets/

9、ODM

https://www.opendronemap.org/odm/datasets/

10、mve 官网的数据

https://www.gcc.tu-darmstadt.de/home/proj/ambient_point_clouds/apc.en.jsp

11、奥地利维也纳理工大学的Harvest4D项目(有GT)

https://harvest4d.org/?page_id=1367

12、自动化所偏古建筑

http://vision.ia.ac.cn/zh/data/index.html

13、blendedmvs

https://github.com/YoYo000/BlendedMVS

14、Drone Mapping

https://dronemapper.com/sample_data/

16、https://www.cs.cornell.edu/projects/bigsfm/#code bigsfm

四、视觉三维的应用场景

关于辅助学习课程:

可以关注本人“视觉三维重建的关键技术与实现-colmap代码解析”课程视频,具体课程介绍可以扫以下二维码:

一分快三大小单双位技巧准确率99d.net/

7、realitycapture

https://www.capturingreality.com/SampleDatasets

8、视觉定位数据集

https://www.visuallocalization.net/datasets/

9、ODM

https://www.opendronemap.org/odm/datasets/

10、mve 官网的数据

https://www.gcc.tu-darmstadt.de/home/proj/ambient_point_clouds/apc.en.jsp

11、奥地利维也纳理工大学的Harvest4D项目(有GT)

https://harvest4d.org/?page_id=1367

12、自动化所偏古建筑

http://vision.ia.ac.cn/zh/data/index.html

13、blendedmvs

https://github.com/YoYo000/BlendedMVS

14、Drone Mapping

https://dronemapper.com/sample_data/

16、https://www.cs.cornell.edu/projects/bigsfm/#code bigsfm

四、视觉三维的应用场景

关于辅助学习课程:

可以关注本人“视觉三维重建的关键技术与实现-colmap代码解析”课程视频,具体课程介绍可以扫以下二维码:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。