欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

三维重建概述

最编程 2024-04-30 22:29:42
...

系列文章目录

文章目录

  • 系列文章目录
  • 什么是三维重建
    • 1.概念
    • 2.涉及到的技术
    • 3.应用场景
  • 三维重建能做什么?
    • 影像娱乐
    • 智能家居
    • 文物重建、AR旅游
    • 自动驾驶
    • 大型场景的构建
    • 逆向工程
    • 机器人 导航
  • 三维重建从算法角度看有哪些方向
  • MVS是什么
  • 三维重建的流程
  • 位姿计算和3D重建
    • 位姿计算
    • 3D重建
  • 为什么要应用基于深度学习的3D重建
  • 基于深度学习的MVS
  • 基本概念的介绍
    • 深度图(depth)/视差图(disparity)
    • 三维点云(point cloud)
    • 三维网格(mesh)
    • 纹理贴图模型(texture mesh)
  • 常见的三维数据格式


什么是三维重建

1.概念

用相机拍摄真实世界的物体、场景,并通过计算机视觉技术进行处理,从而得到物体的三维模型。英文术语:3D Reconstruction。

2.涉及到的技术

涉及的主要技术有:多视图立体几何、深度图估计、点云处理、网格重建和优化、纹理贴图、马尔科夫随机场、图割等。
基本上计算机视觉的技术都会有涉及。 2D的分割,分类在3D中也会用到

3.应用场景

比如:增强现实(AR)、混合现实(MR)、机器人导航、自动驾驶等领域的核心技术之一。

三维重建能做什么?

影像娱乐

在这里插入图片描述

智能家居

在这里插入图片描述

文物重建、AR旅游

在这里插入图片描述

自动驾驶

在自动驾驶领域的主要应用是高精地图的构建,此应用对于自动驾驶的算法迭代优化、测试都非常重要。
在这里插入图片描述

大型场景的构建

在这里插入图片描述

逆向工程

在这里插入图片描述

机器人 导航

在这里插入图片描述

三维重建从算法角度看有哪些方向

在这里插入图片描述

MVS是什么

Multi-View Stereo,用RGB信息重建三维几何模型。
在这里插入图片描述

输入:就是一系列的RGB照片,这些照片可能存在一些重合势场。将他们的pose计算出来,然后进行一个三维模型的重建,最后进行纹理贴图(非必要)。

三维重建的流程

在这里插入图片描述

  1. 输入是images和pose,其中pose是通过SFM(Structure-fromMotion )/Slam(Simultaneous Localization and Mapping ) 来做的
  2. 通过上述两种为输入信息,我们可以计算出深度图
  3. 得到深度图后,我们再进行点云融合
  4. 得到3D点云图后,我们对他进行一个3D曲面的构建

在这里插入图片描述

  1. 再进行网格优化
  2. 最后进行纹理贴图

位姿计算和3D重建

位姿计算

位姿计算可以简单理解为:每帧图像的相对位置

  • SLAM:可以实时去做
  • SFM:用于离线(COLMAP)
    -

3D重建

根据SFM/SLAM计算的位姿,进行稠密重建恢复场景几何信息。
在这里插入图片描述

为什么要应用基于深度学习的3D重建

首先我们来探讨一下传统的基于光度一致性的MVS重建

  • 优点
    • 精度高
    • 对硬件要求低
    • 测量范围大
  • 局限性
    • 无纹理(白墙)
    • 透明/反光(玻璃)
    • 重复纹理(铁栅栏)

基于深度学习的MVS

通过大量的数据去学习特征,它会参考全局语义的信息,能更好的帮助我们进行重建。
在这里插入图片描述

  • 优点
    • 基于学习的特征 → \rightarrow 匹配更鲁棒
    • 基于shape先验 → \rightarrow 重建更完整
  • 局限性
    • 内存限制,难以重建高分辨率
    • 依赖大数据

基本概念的介绍

深度图(depth)/视差图(disparity)

深度图:图像中每个点到相机的距离
视差图:同一场景在两个相机下成像的像素的位置偏差dis
二者的关系: d e p t h = b f d i s depth = \frac{bf}{dis} depth=disbf
是一种三维信息的表示方式
在这里插入图片描述

三维点云(point cloud)

三维点云是某个坐标系下的点的数据集
包含了丰富的信息,包括三维坐标XYZ,颜色RGB等信息

三维重建效果图

三维网格(mesh)

由物体的邻接点云构成的多边形组成的,通常由三角形、四边形或其他的简单凸多边形组成
在这里插入图片描述

纹理贴图模型(texture mesh)

带有颜色信息的三维网格模型,所有的颜色信息储存在一张纹理图上,显示时根据每个网格的纹理坐标和对应的纹理图进行渲染得到高分辨率的彩色模型

在这里插入图片描述

常见的三维数据格式

  • 支持的常见三维数据格式:obj,ply,stl(用于3D打印)
    在这里插入图片描述
    Obj中标志位:
    v :几何体顶点(Geometric vertices)
    vt :贴图坐标点(Texture vertices)
    vn :顶点法线(Vertex normal)
    f : 面 (Face)