前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【三维重建】三维数据的显式表示形式

【三维重建】三维数据的显式表示形式

原创
作者头像
Qomolangma
发布2024-07-26 19:27:06
380
发布2024-07-26 19:27:06
举报
文章被收录于专栏:用户10708670的专栏

  传统的基于图像的三维重建指的是从单幅图像加上额外的场景约束、或者从两幅或以上图像恢复空间点三维坐标的过程,(广义上讲,三维重建就是从现实物体或者场景得到其三维表示的过程)。传统的三维重建分为由运动到结构、多视图立体重建、表面重建、纹理重建等步骤,依托斯坦福大学开发的开源的计算机视觉软件COLMAP可完成该过程(后续文章将深入探索)。

  在三维计算机视觉和图形处理中,三维数据的表示形式至关重要,决定了可能的应用场景。为了使读者更好的理解三维重建算法,本文将详细介绍三维数据的各种显式表示(Explicit Representations)。

一、点云(Point Cloud)

  点云是三维空间中点的无序集合,通过点的位置和颜色来表示物体的形状和外观。点云表示法简单直观,能够精确表示物体的表面形状,但点的排列和密度可能会影响精度和后续处理的复杂性,且难以处理复杂的形状或动态变化的物体。

  • 无序性:点云中的点通常是无序的,没有固定的拓扑结构。
  • 密度:点云的密度可以变化,密集的点云能提供更详细的表面信息,当然数据量也更大。

数据获取

  • 光学传感器(Optical Sensors):如相机,可以通过立体匹配算法从多个视角的照片中提取点云数据。
    • 立体相机(Stereo Cameras):使用两个或多个相机从不同角度拍摄同一场景,通过立体匹配算法计算深度信息。
    • 多视图立体(Multi-View Stereo, MVS):结合多个相机捕获的图像,通过算法重建三维结构。
  • 激光扫描:使用激光器发射光线,测量光线与物体表面碰撞后的反射时间来确定点的位置。
    • 地面激光扫描(Terrestrial Laser Scanning, TLS):使用地面上的激光扫描仪,可以精确地测量物体表面的三维坐标,常用于建筑、考古、工程测量等领域。
    • 空中激光扫描(Aerial Laser Scanning, ALS):通过飞机或无人机搭载激光扫描仪进行扫描,适用于大规模地形测绘,能够快速覆盖大面积区域,获取高精度的点云数据。
    • 移动激光扫描(Mobile Laser Scanning, MLS):将激光扫描仪安装在移动车辆上,如汽车、火车或船只,适用于道路、铁路、城市等线性基础设施的快速扫描。
  • 结构光扫描(Structured Light Scanning):通过向物体投射光图案(如条纹或网格),并使用相机捕捉这些图案在物体表面的变形,来计算点的位置,常用于工业设计和质量控制。
  • 声纳(Sonar):在水下使用声波来测量距离和生成点云数据,适用于海洋地形测绘和水下考古。

二、体素(Voxel)

  将物体分解成许多小的立方体(类似于二维图像中的像素),通过立方体的位置、大小、颜色、密度等来表示物体的形状和外观。虽然体素本身是离散的,但它们可以用来表示连续的物体表面和内部结构。体素能够表示物体内部的结构,且精度高、稳定性好,适用于处理大规模的三维数据和不规则形状的物体;但随着分辨率的提高,可能会引入较大的计算和存储开销,并且对于动态变化的物体,处理起来也比较困难。

  • 应用
    • 医学成像:如CT和MRI扫描数据的表示;
    • 虚拟现实:用于创建详细的三维环境;
    • 3D打印:体素模型可以直接用于打印。

三、多边形网格(Polygon Mesh)

  多边形网格是由顶点、边和面(通常是三角形或四边形等)组成的网络结构,将物体表面分解成许多小的平面多边形,通过多边形的位置、大小和颜色来表示物体的形状和外观。网格表示简单高效,可以处理复杂的形状和动态变化的物体,但可能会引入较大的误差,并且对于不规则形状的物体,处理起来可能比较困难。

  • 应用
    • 计算机图形学:用于游戏、电影和视觉效果中的三维模型。(三角形网格凭借与GPU的出色兼容性和高速渲染效率稳居游戏与3D建模的主流)
    • CAD/CAM:计算机辅助设计和制造。
    • 逆向工程:从实物模型创建数字模型。

四、参数曲面(Parametric Surfaces)

  参数曲面是通过参数化方程来表示的曲面,通常由两个参数 u v 定义,这两个参数在一定的范围内变化(例如,从0到1)。对于每个 (u, v) 对,参数方程会计算出一个对应的三维空间中的点 \mathbf{P}(u, v) 。一个参数曲面的方程可以表示为:

\mathbf{P}(u, v) = (x(u, v), y(u, v), z(u, v))

其中, x(u, v) y(u, v) z(u, v) u v 的函数,定义了曲面上每个点的坐标。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、点云(Point Cloud)
    • 数据获取
    • 二、体素(Voxel)
    • 三、多边形网格(Polygon Mesh)
    • 四、参数曲面(Parametric Surfaces)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档