【深度学习初探】Day32 - 三维点云数据基础

【深度学习初探】Day32 - 三维点云数据基础


文章目录

  • 【深度学习初探】Day32 - 三维点云数据基础
    • 一、点云的定义
    • 二、点云的获取
    • 三、点云的属性
    • 四、点云的存储格式
      • 4.1 pts
      • 4.2 LAS
      • 4.3 PCD
      • 4.4 .xyz
      • 4.5 .pcap
    • 五、三维点云的表示方法
      • 5.1 二维投影
      • 5.2 三维体素
      • 5.3 原始点云
      • 5.4 图
    • 六、点云的算法库


        我们在做 3D 视觉的时候,处理的主要是点云,点云相较于图像有着不可替代的优势,也就是深度值,三维点云直接提供了三维空间的数据,而不需要像二维图像那样通过透视几何反推三维数据。

一、点云的定义

        点云是某个坐标系下的点的集合。这些点包含了丰富的信息,包括三维坐标 X,Y,Z、颜色、分类值、强度值、时间等等。点云在组成特点上分为两种,一种是有序点云,一种是无序点云。

  • 有序点云:一般由深度图还原的点云,有序点云按照图方阵一行一行从左上角到右下角排列,其中还会有一些无效点。有序点云按顺序排列,很容易找到它的相邻点信息,在某些处理下还是比较便利的,但是获取有序点云难度很大,在很多情况下是无法获取的。
  • 无序点云:无序点云更为常见和普遍,它就是点的集合,点的排列之间无任何顺序,点顺序交换后也不会有任何影响。

二、点云的获取

        见 Day31 。

三、点云的属性

        点云可以表达物体的空间轮廓和具体位置,它本身和视角无关,可以任意旋转,从任何角度和方向观察,不同的点云只要在同一个坐标系下,就可以直接融合。

四、点云的存储格式

        点云存储格式有很多,主要有:pts、LAS、PCD、.xyz 、.pcap 等。

4.1 pts

        pts 格式是最简便的点云格式,直接按 XYZ 顺序存储点云数据,可以是整型或者浮点型。内容就是 XYZ 三维坐标。

这里是引用

4.2 LAS

        LAS 格式是通过激光雷达(LiDAR)扫描得到的,它的格式也有一个统一的规定:

C:class(所属类),
F:flight(航线号),
T:time(GPS 时间),
I:intensity(回波强度),
R:return(第几次回波),
N:number of return(回波次数),
A:scan angle(扫描角),
RGB:red green blue(RGB 颜色值)。
在这里插入图片描述

4.3 PCD

         PCD格式是用于PCL库(一种现有的三维处理较成熟的库)的一种特殊的格式。是 PCL 库官方指定格式,典型的为点云量身定制的格式。优点是支持 n 维点类型扩展机制,能够更好地发挥 PCL 库的点云处理性能。文件格式有文本和二进制两种格式。

这里是引用

4.4 .xyz

         .xzy 相较于pts,多了三列数据,后面三个数字是点的法向量,数字间用空格分隔。

这里是引用

4.5 .pcap

         .pcap是一种通用的数据流格式,现在流行的 Velodyne 公司出品的激光雷达默认采集数据文件格式。它是一种二进制文件。

五、三维点云的表示方法

        点云的表示方法有很多,根据表示方法不同,处理方式也会不同。
         第一种较容易的处理方式是,将其投影为二维图像或转换为三维体素(Voxel),从而将无序的空间点转变为规则的数据排列。
         第二种是使用原始点作为表示,不做任何变换,可以最大限度保留所有原始信息。
         此外,点云还有一种表示,称为网格(Mesh),其可以被看作是构建了局部连接关系的点,即为图。将点云看作图数据,可以使用图领域新兴的图卷积(Graph Convolution)技术进行处理。

这里是引用

5.1 二维投影

        二维投影把点云变为了图像,让卷积神经网络(CNN)应用于点云数据成为可能。

5.2 三维体素

        三维体素其实是对点云的特征提取,将点云体素化(Voxelization),将其转换为空间上规则排布的栅格。然后把二维卷积神经网络拓展一个维度,让它可以处理三维数据,这样的神经网络我们称为三维卷积神经网络(3DCNN),而三维体素可以直接应用在这种表示上(因为其规则排布,可卷积)。

5.3 原始点云

        点云不做处理,直接展示,将点云可视化,可以把数据信息损失降到最低。

5.4 图

        三维点云数据可以看作图数据的一种,而图网络很多思想可以应用于点云处理。因此,图卷积(Graph Convolution Network, GCN)可以用来处理点云数据。GCN 又分支为基于谱的图卷积(Spectralbased GCN)和基于空间的图卷积(Spatial-based GCN)。

六、点云的算法库

        关于点云,现今已经有很多算法库支持处理点云,主流的三维算法库都可以处理。

  • PCL(Point Cloud Library):这个库就是专门处理点云的。可以在多平台部署,本身是一个大型跨平台开源C++ 编程库。它实现了大量点云相关的通用算法和高效数据结构,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等操作,非常方便移动端开发。
  • VCG 库(Visualization and Computer Graphics Library)是专门为处理三角网格而设计的,该库很大,且提供了许多先进的处理网格的功能,以及比较少的点云处理功能(不推荐)。
  • CGAL(Computational Geometry Algorithms Library),计算几何算法库,以 C++ 库的形式,提供方便、高效、可靠的几何算法,实现了很多处理点云及处理网格的算法。
  • Open3D 是一个可以支持 3D 数据处理软件快速开发的开源库。它最大的优点是支持 Python。它是从一开始就开发出来的,带有很少的、经过仔细考虑的依赖项。从源代码进行最小的编译,代码干净、样式一致。支持点云、网格、RGB-D等数据。

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

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

相关文章

Node.js创建一个简单的WebSocket接口,实现通信交互

Node.js创建一个简单的WebSocket接口,实现通信交互 一、为什么使用WebSocket? WebSocket,最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话&#xf…

IIS + Axios 跨域设置

1、服务器端设置IIS &#xff08;web.config) 即可&#xff0c;不需要对django settings.py做配置&#xff08;python manage.py runserver 才需要settings.py配置跨域&#xff0c;IIS在iis上配&#xff09; 网站根目录的web.config中加上这段&#xff1a; <httpProtocol&…

基于开源的JAVA mongodb jdbc 驱动 使用教程

基于开源的JAVA mongodb jdbc 驱动 使用教程介绍 介绍 本文介绍一款开源的基于JAVA的 Mongodb JDBC 驱动使用教程 开源地址 https://gitee.com/bgong/jdbc-mongodb-driver功能价值 与mybaits融合&#xff1a;复用mybatis的功能特性&#xff0c;如:缓存,if动态判断标签等特…

亚马逊云科技 re:Invent 大会 - ElastiCache Serverless模式来袭

亚马逊云科技 re:Invent 大会 - ElastiCache Serverless模式来袭 本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道。 文章目录 亚马逊云…

GoLang 学习 (入门)

go run 1.go 执行命令 go build 1.go 打包为exe 快速 并且无依赖 在开始项目 需要 生成 go.mod go mod init mod 终端执行 go: creating new go.mod: module mod go: to add module requirements and sums:go mod tidy go的基本目录结构 src ------gocode ------------项…

日期问题(C语言蓝桥杯2017年题目G)

分析&#xff1a;我们输入的AA/BB/CC有三种情况&#xff0c;所以我们编写一个函数&#xff0c;来判断三个数字作为 年 月 日是否合法&#xff0c;合法就输出&#xff0c;不合法就终止&#xff0c;还要查重&#xff0c;如果有相同的时间&#xff0c;就不重复打印&#xff0c;…

如何看待「前端已死论」?

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

微信小程序 实现上传图片前裁剪功能

前言 技术支持&#xff1a; wx-cropper 裁剪 总体思路是&#xff1a;安装完wx-cropper之后就它当成组件使用。在使用页面的地方引入组件就行。上传图片的逻辑不变&#xff0c;在 通过wx.chooseMedia() Api 拿到图片之后传递给子组件&#xff0c;子组件在拿到图片进行裁剪处理等…

路由器原理

目录 一.路由器 1.路由器的转发原理 2.路由器的工作原理 二.路由表 1.路由表的形成 2.路由表表头含义 直连&#xff1a; 非直连&#xff1a; 静态 静态路由的配置 负载均衡&#xff08;浮动路由&#xff09; 默认路由 动态 三.交换与路由对比 一.路由器 1.路由器…

快速多列查找匹配关键字

实例需求&#xff1a;根据第一列专业名称&#xff0c;在“专业分类指导目录”中&#xff0c;针对三个学历层次&#xff08;研究生、本科生、专科生&#xff09;分别查找对应专业类别&#xff0c;填写在对应位置&#xff0c;即截图中的黄色区域。 需要注意如下两点&#xff1a; …

Linux完成mysql数据库的备份与恢复

背景&#xff1a; 在进行数据报表的测试过程中&#xff0c;为了让我们的测试数据更加真实&#xff0c;因此我们需要同步生产数据到测试环境。方式有很多种&#xff0c;我这里介绍的是通过Linux完成数据同步。 备份数据&#xff1a; 执行命令&#xff1a;mysqldump -uxxx -pxxx…

PyCharm连接远程服务器

要求&#xff1a;PyCharm专业版才支持远程服务 一、创建远程连接 先建立本地与远程服务器之间的SSH连接 1、配置连接 2、建立SSH连接&#xff0c;选择文件传输协议 SFTP 3、设置服务器名&#xff08;可以随意命名&#xff09; 4、配置 SSH连接 点击 172.18.1.202 配置…

bugkuctf web随记wp

常规思路&#xff1a; 1&#xff0c;源码2&#xff0c;抓包3&#xff0c;御剑dirsearch扫后台检查是否有git文件未删除4&#xff0c;参数 本地管理员&#xff1a;1&#xff0c;cu看源码&#xff0c;sci看源码有一串东西2&#xff0c;base64解码后是test123猜测是密码3&#x…

ChatGPT热门项目

1.智能GPT 项目地址&#xff1a;智能GPT&#xff1a;你只要提供OpenAI的API Key&#xff0c;那么它就可以根据你设定的目标&#xff0c;采用Google搜索、浏览网站、执行脚本等方式 主要语言&#xff1a;Python 推荐理由&#xff1a;这是由开发者Significant Gravitas推出的项目…

103基于matlab的极限学习机(ELM)和改进的YELM和集成极限学习机(EELM)是现在流行的超强学习机

基于matlab的极限学习机&#xff08;ELM&#xff09;和改进的YELM和集成极限学习机(EELM)是现在流行的超强学习机&#xff0c;该程序是三者的方法比对。 包括学习时间&#xff0c;训练精度和测试精度的对比。数据可更换自己 的&#xff0c;程序已调通&#xff0c;可直接运行…

SpringBoot之数组,集合,日期参数的详细解析

1.4 数组集合参数 数组集合参数的使用场景&#xff1a;在HTML的表单中&#xff0c;有一个表单项是支持多选的(复选框)&#xff0c;可以提交选择的多个值。 多个值是怎么提交的呢&#xff1f;其实多个值也是一个一个的提交。 后端程序接收上述多个值的方式有两种&#xff1a; 数…

MacOS升级指定的系统

问题描述&#xff1a; Mac升级系统&#xff0c;如果使用默认推送的升级可能会升级到最新 的版本&#xff0c;那么怎样才能升级制定的系统呢&#xff1f;1. 搜索“macOS安装器” 2. 点击“使用App store 或浏览器下载macOS安装器” 3. 选择需要的系统&#xff0c;使用App Store …

飞天使-docker知识点5-资源限制与容器的不同状态

文章目录 cpu和内存的限制内存限制的部分参数容器的不同状态docker images 的分层docker registry制作镜像 cpu和内存的限制 默认情况下&#xff0c;容器没有资源限制&#xff0c;可以使用主机内核调度程序允许的尽可能多的 给定资源&#xff0c;Docker 提供了控制容器可以限制…

JavaWeb项目中已经导入依赖却报错依赖不存在

问题描述 在使用 Maven Servlet Tomcat 来搭建 JavaWeb 项目时&#xff0c;在 pom.xml 中正确引入了依赖&#xff0c;编码过程中也能够正常使用。但是在启动 Tomcat 之后&#xff08;启动时或启动后&#xff09;&#xff0c;却报错显示该依赖不存在。 可能原因 pom.xml 的…

品牌如何做好软文营销?媒介盒子分享

许多公司在做软文营销时&#xff0c;试图通过运营不同平台来扩大其覆盖范围&#xff0c;他们希望通过这种方式触达更多受众&#xff0c;然而如果品牌软文没有质感&#xff0c;就会被用户抛弃。今天媒介盒子就来和大家聊聊&#xff1a;品牌方做内容时如何加强质感。 一、 营销需…