python opencv 三维重建_三维重建 3D Reconstruction

本文探讨了三维重建的基本概念,包括点云、网格等表示方式,以及SIFT、SURF等特征提取方法。通过VisualSFM、PMVS/CMVS、COLMAP等工具介绍了从图像到稠密点云、网格重建的流程。SfM(Structure from Motion)和MVS(Multi-View Stereo)等技术也在文中得到阐述,特别提到了RTAB Map在RGB-D相机和SLAM领域的应用。
摘要由CSDN通过智能技术生成

建设中,记录日常学习到的碎片,最后整理

什么是三维重建?

这里指的三维重建是基于对环境或者物体的一系列不同角度的照片,通过一系列的处理,获得环境或物体的三维模型。

三维模型的表示方式

点云(Point Clouds)、网格(Meshes)、体素(Voxels)、Patch Clouds、Layered Models、Depth maps等。

主要方法

比较常见的流程是:

提取图像特征(如SIFT、SURF等)->利用特征将图像计算图像之间的特征匹配->基于匹配的特征进行稀疏重建,得到各个图像的相机位姿和稀疏的特征点云(SfM)->基于相机位姿进行稠密重建,得到稠密点云(PMVS/CMVS)->基于点云重建网格、体素或者纹理

常用工具

eb3749331cee

image.png

VisualSFM是一个整合了特征提取、图像匹配、稀疏点云重建、稠密重建(需要单独下载CMVS/PMVS)的软件,由?开发,免费但不开源(不能用于商业用途)。基于一系列RGB图像,我们可以得到一个稠密的点云。

PMVS/CMVS用SFM的输出作为输入,利用稀疏的特征点云、图像和对应的相机位姿来重建稠密点云。这个算法由?开发,如果你的OpenCV是build without non commercial module,采用permissive BSD license,可以用于商业目的。PMVS指的是将大的点云合理地分割、重建、拼接的过程。

MeshLab是常用的点云、网格显示和处理软件,内置了很多3D重建算法,能够进行基于点云的网格重建、简化等。

COLMAP是一个开源的软件,采用New BSD license,因而可以用于商业目的。类似于VisualSFM的前半部分,COLMAP能够用于从图像中得到稀疏特征点云和相机位姿。如果有CUDA的话,COLMAP也能用于稠密点云重建和表面重建。

https://colmap.github.io

Bundler是稀疏重建工具,然而效果可能不如VisualSFM。

SfM(Structure from Motion)

SfM指的是给出

math?formula=n个固定的三维空间点的

math?formula=m张图像:

math?formula=%5Cmathbf%7Bx%7D_%7Bij%7D%3D%5Cmathbf%7BP%7D_i%5Cmathbf%7BX%7D_j%2C%20%5Cquad%20i%3D1%2C...%2Cm%2C%20j%3D1%2C...%2Cn

math?formula=m%5Ctimes%20n个对应关系

math?formula=%5Cmathbf%7Bx%7D_%7Bij%7D中估计出

math?formula=m个投影矩阵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值