三维模型重建流程

基于图像的三维模型重建,也就是多视角重建。

基于图像的三维目标检测 基于图像的三维重建_点云

  1. 三维点云获取(点云)
    点云:空间中的散点,包含空间坐标、法向量等等
  2. 几何结构恢复(结构)
    利用计算机图形学恢复几何结构,也就是图形拓扑结构。散乱的三维点,结构非常冗余,数据存储 困难,将点云转化为网格是重建里面一个很重要的模块,其一个很重要的功能就是减少数据存储。 从渲染的角度来说, 无结构的点云渲染质量非常差,所以讲点云转化为网格。
  3. 场景绘制(纹理)
    为了进一步提升重建逼真效果,需要给场景添加纹理。

三维点云获取方式

点云获取方式

特点

Li-Dar

激光雷达,快速,准确的获取,适应不同规模场景(车载,无人机等等),缺点成本高。

Kinect扫描

微软开发设备,获取彩色图(点云)和深度图,速度快,用于精度低的场景,价格不是很贵,可在GPU上可以实时的获取数据进行建模。但获取数据范围有限。

单目多视角

工业界比较多, 多视角视频或者无序图像对场景进行建模:特征点暴力匹配。 区别于SLAM:不需要进行暴力匹配。多视角图像无序,匹配时暴力匹配,若是视频则不须暴力匹配

双目立体视觉

基于视差获取深度信息

基于图像的三维重建

  • 输入图像
  • 基于图像的点云生成(稀疏点云重建SFM - > 稠密点云重建MVS)
  • 点云到模型的重建(mesh)
  • 纹理图像的创建于编辑(光照处理,图像拼接)
  • 纹理模型

重建案例和商业软件

  1. Acute3D
  2. Altizure(大疆+港科大)

涉及知识

计算机视觉: 特征点检测与匹配、相机模型与对极几何、从运动到结构(SFM)、点云重建(稀疏、稠密)

计算机图形学: 表面重建(点云到网格)、纹理的创建于编辑

编程要求

  • C++编程
  • 熟悉使用Ubuntu
  • 了解图像处理的基本概念和操作
  • 矩阵和向量运算以及基本的优化知识