前言 从本篇文章开始,咱们将带大家从最基本的点云表示、应用开始,逐步讲授深度学习中的基本模型、处理方案等。本教程将按以下目录来更新,可能日后会有所调整。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习,文末可领取限时优惠券。

在智能感知任务中,视觉是一种最常见的方式,它可以很清晰地表达很多东西,例如颜色、纹理、形状、空间关系等。但它同样存在一些缺陷,例如受光线影响很大、夜晚效果极差、无法获得绝对尺度(即便有深度相机,其性能也完全不够用于现实应用)等。因此,视觉感知可以应用的领域仍然有限,而点云则很好地弥补了这些缺陷,它不受光线影响,白天黑夜都可以使用,可以获取物体的绝对尺度。在大部分人的认知里,学CV就是默认学视觉感知,但在实际应用上,视觉和点云本质上没啥区别,深度学习目前也已深入到点云处理的任务中,虽然点云仍然以传统方法为主,但深度学习的方法在以后将不可避免成为主流方案。因此,从这个角度来看,深度学习不管是处理点云、还是处理图像,本质上都没区别。

内容安排大致如下:

点云模型专栏(一)概述、基本知识

点云模型专栏(二)点云深度学习任务介绍

点云模型专栏(三)~(七)点云分类模型介绍

点云模型专栏(八)~(十二)点云检测模型介绍

点云模型专栏(十三)~(十七)点云跟踪模型介绍

点云模型专栏(十八)~(二十二)点云分割模型介绍

点云模型专栏(二十三)总结

(一)点云定义及数据获取

点云数据主要是由激光雷达扫描仪进行扫描采集得到的,从本质上来讲是点云是3D空间中无序、无结构的海量数据点的集合,每个点表达目标空间分布和目标表面特性。比如说,扫描某建筑物,得到的每个虚拟的数据点将代表窗户、楼梯、墙壁等任何表面上的真实的点,且包含了如三维坐标、颜色、强度值和入射方向等属性信息。点云数据的获取不仅只有激光雷达扫描这一种方式,还可以利用RGB-D相机同时获取多帧彩色图像和深度图,再利用相机的参数间接生成点云。

(二)点云特性

(1)无序性。二维图像中的像素点有着固定的位置,但是点云的位置采用不同顺序读入时,有着多种可能。

(2)非结构性。神经网络将二维图像数据结构化为矩阵的形式,但是点云数据是非结构化的,直接输入到网络中非常困难。

(3)密度不一致性。现实场景中包含着不同类别的物体,因此相应的点云数据空间属性也不相同。当获取的数据密度发生变化时,模型该如何处理也成为了一个研究问题。

(4)信息不完整性。由于遮挡等问题,无法获取完整的属性描述,以及低分辨率采样,包含的信息比较片面。

(三)点云数据表示形式

点云的无序性、非结构化使其与二维图像卷积存在差异,因此二维检测中研究成熟的网络不能直接用于处理点云数据,并且点云的表示形式对模型的性能有着直接影响,因此了解点云数据的表示形式是很有必要的。

(1)点表示形式。点表示形式直接对点云进行处理,采用最原始的点云作为网络的输入,利用多层感知机提取特征信息,使得全部点都包含特征信息。点表示形式保留了丰富的信息,信息损失最小,但是数据量大,运行速度较慢。上图为原始点云表示效果图。

(2)体素表示形式。体素是数字数据在三维空间上分割的最小单位,类似于二维图像的最小单位像素,可以简单地理解为是立体的像素,是量化的,大小固定的点云数据。三维卷积神经网络可以直接应用在这种表示上。体素的大小以及每个体素可容纳的点云数量需要通过参数设置,因此不可避免地会造成信息丢失,而且运算和储存开销较大,实用性相对较低,且体素大小不易确定,会产生许多冗余的体素网格,给优化带来困难。下图为点云的体素表示:

(3)图表示形式。现实生活中存在大量的非结构化数据,比如社交网络等,这些数据的节点间存在联系,可以表示为图,三维点云数据可以看作图数据的一种,在原始点云的基础上构建了局部连接关系的点,较好地适应点云的不规则性。图结构的表示方法也使得图卷积神经网络可以直接运用,依靠图中节点之间的信息传递来捕获图中的依赖关系。

(四)点云的存储格式

点云目前的主要存储格式包括:pts、LAS、PCD、.xyz 和. pcap 等。

(1)pts 点云文件格式是最简便的点云格式,直接按三维坐标(x,y,z)顺序存储点云数据, 字符数据可以是整型或者浮点型。

(2)LAS是激光雷达数据(LiDAR),存储格式比 pts 复杂,允许不同的硬件和软件提供商输出可互操作的统一格式。下图是LAS格式文件实例。其中 C代表所属类别,F代表航线号,T表示GPS 时间,I表示回波强度,R表示第几次回波,N表示回波次数,A表示扫描角,RGB为RGB 颜色值。

(3)PCD 存储格式是 PCL 库官方指定格式,典型的为点云量身定制的格式。优点是支持 n 维点类型扩展机制,能够更好地发挥 PCL 库的点云处理性能。文件格式有文本和二进制两种格式。

(4).xyz* 是一种文本格式,包含了3个坐标信息和法向量,数字间以空格分隔。

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

(五)点云数据集

(1)ModelNet

论文:

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7298801

数据集下载:http://modelnet.cs.princeton.edu

包括3个子数据集分别为ModelNet10、ModelNet40、Aligned40,其中ModelNet10、ModelNet40常用于点云分类任务中。

(2)ShapeNet

论文:

https://arxiv.org/pdf/1512.03012v1.pdf

数据集下载:https://shapenet.org/

用于点云的语义分割任务,有两个数据集分别是ShapeNetCore和ShapeNetSem数据集,其中ShapeNetCore涵盖了55个常见的类别,ShapeNetSem类别分布更广,包含270个类别并且使用了真实世界的尺寸标注、类别级别的材料成分估计值以及总体积和重量估计值进行注释。

下面两图分别是ShapeNetCore数据集中包含的类别以及每类别数量的介绍和ShapeNetSem数据集前100类及其数量的介绍。

(3)ScanNet

论文:

https://arxiv.org/pdf/1702.04405.pdf

数据集下载:http://www.scan-net.org/

主要应用于三维点云分类,语义体素标注任务,该使用RGB-D摄像机采集得到室内场景数据集,一共1513个采集场景数据,共21个类别的对象。采集的数据信息包括RGB、深度、ply数据等信息,并且进行了实例级物体类别标签标注。数据集中样例展示如下图所示。

(4)KITTI

论文:

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6248074

数据集下载:https://www.cvlibs.net/datasets/kitti/

数据集针对多个不同的CV任务建立了BenchMark,可用于评测立体图像,光流,视觉测距,3D物体检测和3D跟踪等计算机视觉技术在车载环境下的性能。采集装置如下如中展示的那样,在车上配备两个高分辨率立体摄像系统(灰度和彩色),一个Velodyne HDL-64E激光扫描仪,每秒产生超过100万个3D点,一个最先进的OXTS RT 3003定位系统,结合了GPS, GLONASS, IMU和RTK校正信号,并且摄像机,激光扫描仪和定位系统都经过校准和同步。

stereo 2015 /flow 2015 /scene flow 2015

包含200个训练场景和200个测试场景(每个场景4张彩色图像,保存为png格式)。与stereo 2012和flow 2012基准相比,它包含了动态场景,其中真值框可半自动建立。

Stereo2015主要利用双目摄像头采集的信息,得出图像的立体视觉和三维重建。Optical Flow2015通过检测图像像素点的强度随时间的变化,推断出物体移动速度及方向。Scene Flow是在Flow的基础上,增加第三维信息。

深度估计任务

包含超过9.3万张深度地图,带有相应的原始激光雷达扫描和RGB图像,与KITTI数据集的原始数据保持一致。由于训练数据量大,该数据集需要训练复杂的深度学习模型来完成深度补全和单幅图像深度预测的任务。

视觉测距任务

由22个立体序列组成,保存为无损png格式,其中11个序列(00-10)是带有真值的轨迹用于训练,11个序列(11-21)用于评估。可以使用单目或立体视觉里程计、基于激光的SLAM或结合视觉和激光雷达信息的算法推算出车的行驶距离以及行驶轨迹等数据。

目标检测任务

包含了2D、3D和鸟瞰视角三种形式的数据。

跟踪任务

由21个训练序列和29个测试序列组成。可用于目标跟踪、多目标跟踪和分割(MOTS)以及分割和跟踪每个像素(STEP)任务。其中用于MOTS任务和STEP任务的数据是基于KITTI跟踪评估2012数据集,将注释进行扩展,为每个对象添加了像素级分割标签。

道路分割任务

由本田欧洲研究院Jannik Fritsch和Tobias Kuehnl合作创建。由289个训练图像和290个测试图像组成。它包含三种不同类型的道路场景:

Uu -市区无标记(98/100);

um-城市标记(95/96);umm-城市多标记车道(96/94);urban-以上三者的结合。

真值是由图像的手动注释生成的,可用于两种不同的道路地形类型。

语义实例分割任务

由200个带有语义注释的训练数据以及200个对应KITTI2015立体图像和光流测评的测试图像组成。

(5)S3DIS

论文:

https://openaccess.thecvf.com/content_cvpr_2016/papers/Armeni_3D_Semantic_Parsing_CVPR_2016_paper.pdf

数据集下载:http://buildingparser.stanford.edu/dataset.html

用于语义分割任务。该数据集收集了在 6 个大型室内区域 272 个 房间场景。共有 13 个类别。

(6)Semantic3D

论文:

https://arxiv.org/pdf/1704.03847v1.pdf

数据集下载:https://semantic3d.net/

用于语义分割任务。其中包含自然场景综述超过40亿个点。涵盖了一系列不同的城市场景,如教堂,街道,铁轨,广场,村庄,足球场,城堡等等。

(六)点云数据处理办法

因为点云数据的无序性,所以处理点云数据的模型需要对数据的不同排列保持不变性,点云是在特定空间内获得的,所以点之间存在空间关系,所以对点云处理时要保证对一些空间变换保持不变性。

点云数据处理的办法可分为两大类。一是基于投影,二是直接对原始点云数据进行处理

基于投影的办法有:多视角投影和体素网格。其中多视角投影是将点云数据投影到固定的二维视角,然后再对二维图像进行处理。体素网格是将点云数据划分为有空间依赖关系的三维网格。

考虑到算法复杂性和充分利用点云数据的特性,有很多在原始点云数据上直接应用深度学习模型的方法。

下篇内容预告

下次的文章我们将要学习我们这个系列的第一个点云模型,PointNet,这是第一个将深度学习直接应用于原始点云数据的模型,也是三维目标检测的基础网络之一。

本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习,文末可领取限时优惠券。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:444129970。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

【免费送书活动】 全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点

目标跟踪专栏(一)基本任务、常用方法

CV各大方向专栏与各个部署框架最全教程整理

一文尽览 | 自动驾驶中光流的应用、挑战和改进

目标检测、实例分割、旋转框样样精通!详解高性能检测算法 RTMDet

CV算法工程师卷得要死,部署工程师却成为了香饽饽

大卷积模型 + 大数据集 + 有监督训练!探寻ViT的前身:Big Transfer (BiT)

高效轻量级语义分割综述

超快语义分割 | PP-LiteSeg集速度快、精度高、易部署等优点于一身,必会模型!!!

数据集+插件,一把子解决遮挡下目标检测难题

AAAI | Panini-Net | 基于GAN先验的退化感知特征插值人脸修

一文带你掌握轻量化模型设计原则和训练技巧!

图像增强新思路:DeepLPF

LCCL网络:相互指导博弈来提升目标检测精度(附源代码)

与SENet互补提升,华为诺亚提出自注意力新机制:Weight Excitation

最新FPN | CFPNet即插即用,助力检测涨点,YOLOX/YOLOv5均有效

DeepLSD:基于深度图像梯度的线段检测和细化

CVPR 2023 | 基础模型推动语义分割的弱增量学习

消费级显卡的春天,GTX 3090 YOLOv5s单卡完整训练COCO数据集缩短11.35个小时

BOE告诉你:一层卷积可以做超分!

卫星图像公开数据集资源汇总

DiffusionDet:用于对象检测的扩散模型

CV小知识讨论与分析(7) 寻找论文创新点的新方式

CV小知识分析与讨论(6)论文创新的一点误区

一文看尽深度学习中的各种注意力机制

MMYOLO 想你所想:训练过程可视化

顶刊TPAMI 2023!Food2K:大规模食品图像识别

用于精确目标检测的多网格冗余边界框标注

2023最新半监督语义分割综述 | 技术总结与展望!

计算机视觉入门1v3辅导班

计算机视觉交流群

聊聊计算机视觉入门

点云模型专栏(一)概述、特性、存储格式、数据集相关推荐

  1. CV学习笔记-立体视觉(点云模型、Spin image、三维重建)

    立体视觉 1. 立体视觉概述 概述: 立体视觉是一种计算机视觉技术,其目的是从两幅或两幅以上的图像中推理出图像中的每个像素点的深度信息. 原理: 在二维图像中,只有宽高两个维度的信息,而如何辨识远近的 ...

  2. [AlwaysOn Availability Groups]健康模型 Part 1——概述

    [AlwaysOn Availability Groups]健康模型 Part 1--概述 健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的. 1.AG健康模型概述 AG的健康模型是基于 ...

  3. 最新“3D版”DALL·E爆火,超快速度生成3D点云模型,OpenAI向谷歌新领域发起挑战丨开源...

    萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 这边AI画画的热度还没下去,OpenAI已经连"3D版"AI画画都搞出来了. 没错,用文字生成3D点云模型,还是超--快的那种 ...

  4. bluemix_使用Bluemix采用混合云模型

    本教程是使用IBMBluemix®界面的先前版本编写的. 随着技术的飞速发展,某些步骤和插图可能已更改. 我们的团队使用可组合服务方法构建了一个销售报价到现金应用程序,并将其部署在混合云上. 我们的混 ...

  5. 广州大学计算机綦科简历,基于八叉树空间分割的三维点云模型密写(綦科,谢冬青,2011)...

    介绍三维GIS应用中,八叉树原理.创建.优化的相关文章 计 算 机 工 程 第37卷 第4期 Computer Engineering V ol.37 No.4 文章编号:1000-3428(2011 ...

  6. PCL提取3D点云模型特征(3.0 FPFH快速点特征直方图)附完整代码

    一.概述 上一篇博客解释了PFH是什么以及如何利用PFH来提取点云的特征,那么讲了PFH(PCL提取3D点云模型特征(2.0 PFH点特征直方图 )附完整代码)之后肯定是要接着说FPFH的.本来想着把 ...

  7. 基于云模型的协同过滤推荐算法代码实现(附源代码)

    基于云模型的协同过滤推荐算法代码实现(附源代码) 一.云模型介绍 针对传统推荐系统数据稀疏.相似性计算方法导致共同评分用户少的问题,提出利用云模型概念与定量数值转换的优势,研究云模型(百度百科查看概念 ...

  8. AI学习笔记(六)三维计算机视觉与点云模型

    AI学习笔记之三维计算机视觉与点云模型 立体视觉 立体视觉的概念 立体视觉的原理 单目系统 双目系统和视差 对极几何约束 SIFT sift特征的特点 sift算法总体介绍 sift特征提取和匹配具体 ...

  9. 云模型之正向云发生器

    概述 云模型是云的具体实现方法,也是基于云的运算.推理和控制等的基础.它可以表示由定性概念到定量表示的过程(正向云发生器),也可表示由定量表示到定性概念的过程(逆向云发生器). 该模型是由中国工程院院 ...

最新文章

  1. java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...
  2. Python 之 matplotlib (五)Annotation注解
  3. linux/centos 解决Tomcat内存溢出,centostomcat
  4. 【TCP/IP】一张图带你读懂TCP/IP协议
  5. 2006年世界杯小组赛日程表
  6. python获取局域网内的设备_python调用nmap探测局域网设备
  7. 读配置文件能够保持顺序的 Java Properties 类
  8. matlab zigzag算法,ZIGZAG扫描的MATLAB实现
  9. 如何能能够学好软件编程技术
  10. visualvm远程监控jvm_别再说你不会 JVM 性能监控和调优了,看完这篇再发言
  11. 本学期数据结构学习总结
  12. Tool之synergyc:synergyc的简介、安装、使用方法(鼠标键盘控制两台或多台电脑)之详细攻略
  13. IMDB影评倾向分类 - N-Gram
  14. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等
  15. java8中, 格林威治时间、世界时、祖鲁时间、GMT、UTC、跨时区、夏令时需要用什么类表示呢
  16. 全国计算机应用语言设计,全国计算机应用技术证书考试程序设计教程:NIT C语言...
  17. 设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域。
  18. 矩阵中的主元是什么意思(在消去过程中起主导作用的元素)
  19. GitHub Git GitLab 在Idea中使用Git
  20. leetcode每日一道(3)最多能有多少个点位于同一直线上

热门文章

  1. vue项目完整的目录结构
  2. python中负数取余和取整
  3. 2021年您应该知道的技术之一!互联网寒冬下(1)
  4. java 字节批量拷贝_Java基础回顾 : 利用字节流实现文件的拷贝
  5. 机器学习可解释性【随机森林规则提取】
  6. PDF转图像工具:PDF to Image Pro Mac
  7. 面试时常常考察的java遍历List、Set、Map方法
  8. tensorboard使用报错:TensorFlow installation not found - running with reduced feature set.
  9. HTML练习制作邮箱登陆界面
  10. 如何在cmd中切换硬盘,从C盘到指定硬盘的相关操作