三维图像重建



  • 三维图像重建

    1. 一个完整的3D重构流程通常包含以下几个步骤:
      • 收集场景图片
      • 计算每张图的相机参数
      • 通过图组来重构场景的3D shape以及其对应的相机参数
      • 有选择的重构场景的材料等
    2. 4种3D物体的重构方法:深度图(depth)、点云(point cloud)、体素(voxel)、网格(mesh)
      preview
      • Depth map 深度图是一张2D图片, 每个像素都记录了从viewpoint到遮挡物表面的距离,这些像素对应的顶点对于观察者是“可见的”。
        preview
        • Depth map中像素点记录的深度值为lenth1;然后从视点出现,计算物体顶点v到视点的距离,记为lenth2;比较二者大小,来确定“v”是否被遮挡。该术语的同义词有depth buffer, Z-buffer, Z-buffering 和 Z-depth。这里的"Z"是相对于相机(即视点)视图中心轴线而言的,也就是相机的z轴线,而不是场景的绝对坐标中的z轴线。
        • 用途:
          • 模拟在一个场景中的密度均匀的半透明介质效果-如雾,烟或大量的水;
          • 模拟场景表面的深度域(depth of field (DOF));
          • 可用于高效的变形体碰撞检测。
      • 体素或立体像素(voxel),是体积像素(volume pixel)的简称。概念上类似二维空间的最小单位——像素,像素用在二维电脑图像的视频数据上。体积像素一如其名,是数字数据于三维空间分区上的最小单位,应用于三维成像、科学数据与医学视频等领域。有些真正的三维显示器运用体素来描述它们的分辨率,举例来说:可以显示512×512×512体素的显示器。
        如同像素,体素本身并不含有空间中位置的数据(即它们的座标),然而却可以从它们相对于其他体素的位置来推敲,意即它们在构成单一张体积视频的数据结构中的位置。
      • 多边形网格(Polygon mesh)是三维计算机图形学中表示多面体形状的顶点与多边形的集合,它也叫作非结构网格。
        这些网格通常由三角形、四边形或者其它的简单凸多边形组成,这样可以简化渲染过程。但是,网格也可以包括带有空洞的普通多边形组成的物体。
        非结构网格内部表示的例子有:
        • 一组顶点的简单列表,它们带有表示那些顶点组成多边形的信息列表;另外可能带有表示空洞的附加信息。
        • 顶点列表 + 边界列表(一对索引信息)+ 连接边界的多边形列表
        • 翼边数据结构
          根据应用程序的不同所选择的数据结构也有所不同:三角形的处理要比普通多边形的处理更加简单,尤其是在计算几何中更是这样。对于优化的算法,可能需要快速访问边线或者相邻表面这样的拓扑信息,这样就需要如翼边表示这样更加复杂的结构。
      • Point Cloud点云
        扫描资料以点的型式记录,每一个点包含有三维座标,有些可能含有色彩资讯(R,G,B)或物体反射面强度,点云数据除了具有几何位置之外,还有强度信息等。
        点云应用深度学习面临的挑战:
        非结构化数据,不变性排列,点云数据量上的变化
        点云数据方面的挑战:
        • 缺少数据: 扫描的模型通常被遮挡,部分数据丢失
        • 噪音: 所有传感器都是嘈杂的。有几种类型的噪声,包括点云扰动和异常值。这意味着一个点有一定的概率位于它被采样的地方(扰动)附近的某一半径范围内,或者它可能出现在空间的任意位置(异常值)
        • 旋转: 一辆车向左转,同一辆车向右转,会有不同的点云代表同一辆车
      • 在点云上直接用深度学习的方法是将数据转换成体积表示,比如体素网格,然后就可以用3D滤波器来训练CNN,但是体积数据会变得非常大,3D CNN处理会非常慢,所以需要妥协到较低的分辨率,就会带来量化误差的代价

    --未完待续--


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待