【三维点云】2-三维点云表征

news2024/11/15 9:15:55

文章目录

  • 内容概要
  • 1 三维数据的获取方式及原理
    • 1.1 被动测量
      • 单目立体视觉
      • 双目立体视觉
      • 多目立体视觉
    • 1.2 主动测量
      • 结构光3D成像
      • TOF 3D成像
        • 脉冲法
        • 相位法
  • 2 三维数据的获取原理
    • 立体视觉测量法
      • 相机成像模型
        • 小孔成像模型(相机成像模型的理想情况)
      • 单目立体视觉
        • 聚焦法
        • 离焦法
        • 单目棱镜法(变向实现多目)
      • 双目立体视觉
      • 多目立体视觉
  • 3 三维信息的表征形式
    • 点云 PointCloud
    • 参数化曲线曲面 Parametric Surface
    • 参数化曲线
      • 常用参数化曲线
        • 贝塞尔曲线(应用:样条线)
    • 参数化曲面
      • 参数化曲面表示
      • 优点
      • 缺点
      • 常见的参数化曲面
        • 曲线扫描得到曲面
        • 贝塞尔曲面
    • 隐式曲线曲面 Implicit Surface
      • 隐式曲面表示
      • 优点
      • 缺点
      • 常见隐式曲面
    • 细分曲面 Subdivision Surface
    • 多边形面元 Mesh
      • 常见多边形面元
        • 多边形面元(多边形剖分)
          • 数学表征
          • 性质
        • 三角面元(三角剖分)
          • 数学表征
          • 优点
      • 如何将点云转换为面元?
        • delaunay 三角剖分准则
        • bowyer-watson 算法
    • 体素
      • 优点
      • 缺点
  • 4 深度学习中的三维表征
    • 4.1 点云研究中的三维表征
    • 4.2 自动驾驶研究中的三维表征
  • 5 点云的基本特征和描述
    • 点云基本特征
    • 点云基本特征描述
      • 法向量

内容概要

1 三维数据的获取方式
2 三维数据的获取原理
3 三维信息的表征形式
4 深度学习中的三维表征
5 点云的基本特征和描述
6 三维空间变换

1 三维数据的获取方式及原理

在这里插入图片描述

1.1 被动测量

单目立体视觉

双目立体视觉

在这里插入图片描述

多目立体视觉

在这里插入图片描述
在这里插入图片描述

1.2 主动测量

结构光3D成像

在这里插入图片描述

TOF 3D成像

脉冲法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相位法

2 三维数据的获取原理

在这里插入图片描述

立体视觉测量法

相机成像模型

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

小孔成像模型(相机成像模型的理想情况)

小孔成像中没有畸变,但是在相机成像中,可能出现光心偏移或者透镜材质不均匀导致的畸变。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单目立体视觉

聚焦法

相机主动调焦,并使相机相对于被测点处于聚焦位置,然后根据透镜成像公式求得被测点相对于相机的距离。相机偏离聚焦位置会带来测量误差,因此寻求精确的聚焦位置是关键所在。

离焦法

不要求相机相对于被测点处于聚焦位置,而是根据标定出的离焦模型计算被测点相对于相机的距离,这样就避免了由于寻求精确的聚焦位置而降低测量效率的问题,但离焦模型的准确标定是该方法的主要难点。

单目棱镜法(变向实现多目)

主要应用于微观结果或光学研究。

在这里插入图片描述

双目立体视觉

在这里插入图片描述

多目立体视觉

机器人系统里应用的多。

在这里插入图片描述

3 三维信息的表征形式

图片来源 http://graphics.stanford.edu/courses/cs468-17-spring/

点云 PointCloud

在这里插入图片描述

参数化曲线曲面 Parametric Surface

在这里插入图片描述

参数化曲线

在这里插入图片描述

在这里插入图片描述

常用参数化曲线

贝塞尔曲线(应用:样条线)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参数化曲面

参数化曲面表示

在这里插入图片描述
在这里插入图片描述

优点

容易生成曲线或者曲面上的点
参数分离,容易分析

缺点

难以确定内部外部空间
难以判断点是否在曲面曲线上
难以生成非常复杂的曲线曲面(解决:局部表面(多边形面元))

常见的参数化曲面

曲线扫描得到曲面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

贝塞尔曲面

在这里插入图片描述

在这里插入图片描述

隐式曲线曲面 Implicit Surface

隐式曲面表示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

优点

容易确定内部外部空间
容易确定点是否在曲线曲面上

缺点

难以生成曲线曲面上的点
不适合实时渲染

常见隐式曲面

图片来源:https://virtualmathmuseum.org/Surface/gallery_o.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

细分曲面 Subdivision Surface

在这里插入图片描述

多边形面元 Mesh

在这里插入图片描述

分的越精细拟合的越好。

在这里插入图片描述

量化误差可控(分的越精细拟合的越好)
应用于任意拓扑结构
支持动态调整
可以利用GPU高效运算

常见多边形面元

多边形面元(多边形剖分)

在这里插入图片描述

数学表征

在这里插入图片描述

性质

每条边至少属于一个多边形。

在这里插入图片描述

每个Q_i定义了多边形网格的一个面。

在这里插入图片描述

顶点的度=入射边的数目

在这里插入图片描述

多边形面元的边界

在这里插入图片描述

三角面元(三角剖分)

多边形面元,其中每个面是三角形。

在这里插入图片描述

数学表征

在这里插入图片描述

优点

简化数据结构
简化渲染
简化算法
每个面都是平面和凸的
任何多边形都可以三角化

如何将点云转换为面元?

delaunay 三角剖分准则

在这里插入图片描述

bowyer-watson 算法

在这里插入图片描述

体素

无序点云有序化(类比像素)
空间体素化,占用格点0, 1(格子越小精度越高)

在这里插入图片描述

优点

快速检测空间点是否被占据
体像素之间的逻辑运算
运算速度快

缺点

存储效率很低,特别在深度学习模型中问题突出。

在这里插入图片描述

4 深度学习中的三维表征

4.1 点云研究中的三维表征

在这里插入图片描述

4.2 自动驾驶研究中的三维表征

在这里插入图片描述

5 点云的基本特征和描述

在这里插入图片描述
在这里插入图片描述
RGBD 两个不同视角下相比较,有相同有不同。

点云基本特征

按照特征的物理属性,可以将特征分为:几何域,强度域
按照特征的空间尺度,可以分为:单点特征,局部特征,全局特征

在这里插入图片描述

点云基本特征描述

法向量

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计JAVA基于web的球类体育馆预定系统

[附源码]计算机毕业设计JAVA基于web的球类体育馆预定系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: …

SPARKSQL3.0-SessionState构建源码剖析

一、介绍 Apache Spark 2.0引入了SparkSession,其目的是为用户提供了一个统一的切入点来使用Spark的各项功能,不再需要显式地创建SparkConf, SparkContext 以及 SQLContext,因为这些对象已经封装在SparkSession中。此外SparkSession允许用户…

字节跳动提出KVM内核热升级方案,效率提升5.25倍!

背景 作为云计算最重要的底层基础之一,KVM 虚拟化软件在现代的数据中心中应用非常广泛。基于 KVM 的 hypervisor 包括了构成宿主机的软硬件,共同为虚拟机中的应用程序提供高性能的 CPU、内存和 IO 设备等资源。在大规模部署的生产环境中,作为…

周年更名,元宇宙产业委再上新台阶

今天,2022年11月10日,全球元宇宙大会在鹏城隆重举行,这个日子也是中国移动通信联合会元宇宙产业工作委员会成立一周年的日子。会上,我们宣布了这个更名消息,这也是元宇宙产业工作委员会迈上一个新台阶的标志。有20多家…

ES学习笔记

01:REST 指的是客户端和服务器之间的交互在请求之间是无状态的,从客户端到服务器的每个请求都必须包含理解请求所必须的信息,同时在请求之间的任意间隔时间点,若服务器重启,那么客户端是得不到相应的通知的.所以无状态的请求可以由任何可用的服务器回答. 在REST样式的Web服务中…

LeetCode 42.接雨水

这篇记录一下刷接雨水这道题的过程,日后回顾 目录 法1: 法2: 法3: 法4: 法5: 务必掌握123 写这道题要知道雨水怎么算。核心就是要算当前列雨水的高度就要取决于这列左右两侧比自己搞得柱子中较矮的那…

【26-业务开发-基础业务-品牌管理-图片管理-上传图片功能实现-基于阿里云OSS服务-解决跨域问题-设置跨域规则-修改ACL权限为公共读】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

springmvc源码之Web上下文初始化

系列文章目录 springmvc源码之Web上下文初始化 文章目录系列文章目录Web上下文初始化ContextLoaderListenerinitWebApplicationContext初始化创建WebApplicationContext上下文Web上下文初始化 web上下文与SerlvetContext的生命周期应该是相同的,springmvc中的web上…

公众号免费查题

公众号免费查题 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转) 题…

Flink概念及应用场景

1、Flink实时应用场景 Flink在实时计算领域内的主要应用场景主要分为四类: 实时数据同步流式ETL实时数据分析复杂事件处理2、实时数据体系架构 实时数据体现大致分为三类场景: 流量类业务类特征类在数据模型上,流量类是扁平化的宽表&…

论文管理系统(用户列表显示功能)

上次我们已经实现了论文管理系登录功能,这次我们要实现登录之后的跳转到首页,并且让首页列表显示出数据库的信息并在Mapper中写入模糊查询功能语句,这次我们不使用MybatisPlus写这个功能,这次使用Mybatis来写,区别就是Plus是继承于<BaseDAO>Mapper,而Mybatis则是我们通过…

JAVASE(复习)——static

static 关键字是静态的意思,是Java中的一个修饰符,可以修饰成员方法,成员变量 一、被static修饰的特点 被类的所有对象共享&#xff08;在堆内存共享&#xff09; 随着类的加载而加载&#xff0c;优先于对象存在&#xff08;就是你加载类的时候就加载了&#xff09; 可以通过…

@Transactional注解为何会失效

使用 Transactional 注解能保证方法内多个数据库操作要么同时成功、要么同时失败。但是有很多细节需要注意&#xff0c;不然Transactional可能会失效。 1.注解应用在非 public 的方法上 如果Transactional注解应用在非public 修饰的方法上&#xff0c;Transactional将会失效。…

FLink源码 1.13 3 种 命令客户端 Generic CLI 、 yarn-cluster、DefaultCLI使用

先说结论:对于三种Cli,Generic CLI mode、yarn-cluster mode、default mode,无法同时使用,源码使用顺序为Generic CLI mode优先判断,接着是 yarn-cluster mode ,最后是default mode,所以对于三种Cli的参数,不能混用,否则会出现命令不生效的情况,具体使用以及源码见下…

【滤波跟踪】基于matlab扩展卡尔曼滤波的无人机路径跟踪【含Matlab源码 2236期】

⛄一、EKF算法简介 扩展卡尔曼滤波是利用泰勒级数展开方法将非线性滤波问题转化成近似的线性滤波问题,利用线性滤波的理论求解非线性滤波问题的次优滤波算法。其系统的状态方程和量测方程分别如式(1)、式(2)所示: 式中,X(k)为n维的随机状态向量序列,Z(k)为n维的随机量测向量序…

Matlab 对连续时间信号的运算

Matlab 对连续时间信号的运算 1、连续时间系统零状态响应 题目&函数说明 连续时间系统的微分方程为 y"(t) 4y’(t) 3y(t) f’(t) 2f(t) 当 输入信号 f(t) 20e-2tu(t) 时&#xff0c;初始值 y(0-) 2, y’(0-) 1, 求系统的零状态响应 Matlab 库函数中的 lsim(…

GNN Tensorflow packages

tf framework定义 tf.name_scope()函数 tf.name_scope(name)&#xff0c;用于定义python op的上下文管理器。 此上下文管理器将推送名称范围&#xff0c;这将使其中添加的所有操作的名称带有前缀。 例如&#xff0c;定义一个新的Python op my_op&#xff1a; def my_op(a,…

scratch踢足球 电子学会图形化编程scratch等级考试一级真题和答案解析2022年9月

目录 scratch踢足球 一、题目要求 1、准备工作 2、功能实现 二、案例分析

代码随想录算法训练营第三十九天| LeetCode62. 不同路径、LeetCode63. 不同路径 II

一、LeetCode62. 不同路径 1&#xff1a;题目描述&#xff08;62. 不同路径&#xff09; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下…

python 视角下的 6 大程序设计原则

众所周知&#xff0c;python 是面向对象的语言。 但大多数人学习 python 只是为了写出“能够实现某些任务的自动化脚本”&#xff0c;因此&#xff0c;python 更令人熟知的是它脚本语言的身份。 那么&#xff0c;更近一步&#xff0c;如果使用 python 实现并维护一个大的项目…