3D点云上的深度学习综述

news2024/11/15 15:56:35

1 Title

        Deep Learning for 3D Point Clouds: A Survey(Yulan Guo; Hanyun Wang; Qingyong Hu; Hao Liu; Li Liu; Mohammed Bennamoun)【IEEE Transactions on Pattern Analysis and Machine Intelligence 2020

2  Conclusion

        Deep learning on point clouds is still in its infancy due to the unique challenges faced by the processing of point clouds with deep neural networks. To stimulate future research, this paper presents a comprehensive review of recent progress in deep learning methods for point clouds. It covers three major tasks, including 3D shape classification, 3D object detection and tracking, and 3D point cloud segmentation.It also presents comparative results on several publicly available datasets, together with insightful observations and inspiring future research directions.

3 Good Sentences

        1、As a commonly used format, point cloud representation preserves the original geometric information in 3D space without any discretization. Therefore, it is the preferred representation for many scene understanding related applications such as autonomous driving and robotics.(why 3D point cloud is so important)
        2、deep learning on 3D point clouds still face several significant challenges, such as the small scale of datasets, the high dimensionality and the unstructured nature of 3D point clouds.(The challenge of 3D point cloud meet)
        3、These methods first project a 3D shape into multiple views and extract view-wise features, and then fuse these features for accurate shape classification. How to aggregate multiple view-wise features into a discriminative global representation is a key challenge for these methods.(The principal of Multi-View Based Methods)


介绍:

        3D 数据通常可以用不同的格式表示,包括深度图像、点云、网格和体积网格。作为一种常用的格式,点云表示保留了 3D 空间中的原始几何信息,没有任何离散化。因此,它是许多场景理解相关应用(例如自动驾驶和机器人技术)的首选表示。近年来,深度学习技术主导了许多研究领域,例如计算机视觉、语音识别和自然语言处理。然而,3D点云深度学习仍然面临一些重大挑战,例如数据集规模小、3D点云的高维性和非结构化性质。在此基础上,本文重点分析了已用于处理3D点云的深度学习方法。

如图为3D 点云深度学习方法的分类。常用3D点云数据集包括ModelNet、ScanObjectNN、ShapeNet 、 PartNet、 S3DIS  、ScanNet、Semantic3D、ApolloCar3D和KITTI 视觉基准套件。

数据集

        3D形状分类,有两种类型的数据集:合成数据集和真实数据集。合成数据集中的对象是完整的,没有任何遮挡和背景。相比之下,现实世界数据集中的对象在不同级别上被遮挡,并且某些对象受到背景噪声的污染。
        3D对象检测和跟踪,有两种类型的数据集:室内场景和室外城市场景。室内数据集中的点云要么从密集深度图转换而来,要么从 3D 网格中采样。室外城市数据集是为自动驾驶而设计的,其中物体在空间上分离良好,并且这些点云稀疏。
        对于 3D 点云分割,这些数据集由不同类型的传感器获取,包括移动激光扫描仪 (MLS) 、航空激光扫描仪(ALS)静态地面激光扫描仪 (TLS) 、RGB-D 相机和其他 3D 扫描仪。这些数据集可用于开发应对各种挑战的算法,包括类似的干扰因素、形状不完整性和类别不平衡。

评估指标

对于 3D 形状分类,总体精度 (OA) 和平均类别精度 (mAcc) 是最常用的性能标准。 “OA”代表所有测试实例的平均准确度,“mAcc”代表所有形状类别的平均准确度。对于 3D 对象检测,平均精度 (AP) 是最常用的标准。它的计算方式是精确率-召回率曲线下的面积。精度和成功度通常用于评估 3D 单目标跟踪器的整体性能。平均多目标跟踪精度 (AMOTA) 和平均多目标跟踪精度 (AMOTP) 是评估 3D 多目标跟踪最常用的标准。对于 3D 点云分割、OA、平均交并集 (mIoU) 和平均类精度是最常用的绩效评估标准。

3D形状分类

        用于此任务的方法通常首先学习每个点的嵌入,然后使用聚合方法从整个点云中提取全局形状嵌入。最终通过将全局嵌入输入到几个全连接层中来实现分类。根据神经网络输入的数据类型,现有的3D形状分类方法可以分为基于多视图的方法、基于体积的方法和基于点的方法。基于多视图的方法将非结构化点云投影为 2D 图像,而基于体积的方法将点云转换为 3D 体积表示。然后,利用完善的 2D 或 3D 卷积网络来实现形状分类。相比之下,基于点的方法直接作用于原始点云,无需任何体素化或投影。基于点的方法不会引入显式信息丢失,并且变得越来越流行。

同样,我看这篇文章只是为了3D点云对比循环网络,只关注有关的部分,前两个方法略过了

基于多视图的方法

        这些方法首先将 3D 形状投影到多个视图中并提取视图特征,然后融合这些特征以进行准确的形状分类。如何将多个视图特征聚合成有区别的全局表示是这些方法的关键挑战。

基于体积的方法

        这些方法通常将点云体素化为 3D 网格,然后在体积表示上应用 3D 卷积神经网络 (CNN) 以进行形状分类。

基于点的方法:

        根据用于每个点的特征学习的网络架构,此类方法可以分为逐点MLP、基于卷积、基于图、基于分层数据结构的方法和其他典型方法。
        逐点 MLP 方法:使用多个共享的多层感知器 (MLP) 独立地对每个点进行建模,然后使用对称聚合函数聚合全局特征

基于卷积的方法:

        与在 2D 网格结构(例如图像)上定义的内核相比,由于点云的不规则性,3D 点云的卷积内核很难设计。根据卷积核的类型,当前的3D卷积方法可以分为连续卷积方法和离散卷积方法

(a) 表示以点 p 为中心的局部邻域 qi ; (b) 和 (c) 分别表示 3D 连续卷积和离散卷积。

        3D 连续卷积方法。这些方法在连续空间上定义卷积核,其中相邻点的权重与相对于中心点的空间分布相关。3D 卷积可以解释为给定子集的加权和,MLP,以某一点周围的局部点子集为输入 ,通过学习从低级关系(如欧几里得距离和相对位置)到局部子集与中心点之间高级关系的映射,实现卷积。
        3D 离散卷积方法。这些方法在规则网格上定义卷积核,其中相邻点的权重与相对于中心点的偏移量相关。

基于图的方法:

        空间域中基于图的方法。这些方法定义了空间域中的操作(例如,卷积和池化)。具体来说,卷积通常通过空间邻居上的 MLP 来实现,并采用池化来通过聚合来自每个点的邻居的信息来生成新的粗化图。每个顶点通常被赋予坐标、激光强度或颜色等特征,而每个边上的特征通常与两个相连点之间的几何属性相关联。

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

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

相关文章

[C#]使用sdcb.paddleocr部署v4版本ocr识别模型

【官方框架地址】 https://github.com/sdcb/PaddleSharp 【算法介绍】 PaddleOCR,全称为PaddlePaddle OCR,是PaddlePaddle深度学习平台下的一款强大的光学字符识别工具。它利用深度学习技术,实现了高精度的文字识别,可以帮助用户…

Python | 基于Mediapipe框架的手势识别系统

一、项目要求 1、题目 本题着力于解决会商演示系统中的非接触式人机交互问题,具体而言,其核心问题就是通过计算机视觉技术实现对基于视频流的手势动作进行实时检测和识别。通过摄像头采集并识别控制者连续的手势动作,完成包括点击、平移、缩放…

Opencv实验合集——实验七:二维码和条形码匹配

1.概念 二维码(QR码) 概念: 二维码是一种矩阵式的二维条码,由黑白方块组成,可以存储大量的信息,包括文本、链接、数字等。QR码的编码方式是在矩阵中通过不同的黑白方块组合表示不同的信息。 特点&#xf…

【读书笔记】《白帽子讲web安全》跨站脚本攻击

目录 前言: 第二篇 客户端脚本安全 第3章 跨站脚本攻击(XSS) 3.1XSS简介 3.2XSS攻击进阶 3.2.1初探XSS Payload 3.2.2强大的XSS Payload 3.2.2.1 构造GET与POST请求 3.2.2.2XSS钓鱼 3.2.2.3识别用户浏览器 3.2.2.4识别用户安装的软…

【linux学习】重定向

目录 重定向标准输出、标准输入和标准错误标准输出重定向标准错误重定向将标准输出和标准错误重定向到同一个文件处理不想要的输出标准输入重定向 管道过滤器uniq-报告或者忽略文件中重复的行wc-打印行数、字数和字节数grep-打印匹配行head/tail 打印文件的开头部分/结尾部分te…

嵌入式系统习题(考试相关)

文章目录 上一篇嵌入式系统概述ARM技术概述ARM指令Thumb指令集ARM程序设计 上一篇 嵌入式系统复习–基于ARM的嵌入式程序设计 嵌入式系统概述 嵌入式系统中常用的通信接口包括哪些? RS-232C串行通信接口,RS-422串行通信接口,RS-485串行通信…

【APACHE】的认识和基础配置参数

#主页传送:江南的江 #每日鸡汤:人生没有如果和假设,只有后果和结果。生活有进有退,输什么也不能输心情。生活简单就是迷人的,学会简单其实就是不简单。要学会平静地接受现实,学会对自己说声顺其自然,学会坦…

基于实时Linux+FPGA实现NI CompactRIO系统详解

利用集成的软件工具链,结合信号调理I/O模块,轻松构建和部署实时应用程序。 什么是CompactRIO? CompactRIO系统提供了高处理性能、传感器专用I/O和紧密集成的软件工具,使其成为工业物联网、监测和控制应用的理想之选。实时处理器提…

leetcode——杨辉三角

https://leetcode.cn/problems/pascals-triangle/ 杨辉三角: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 核心思想:找出杨辉三角的规律,发…

如何用UE5 的小白人替换成自己的 metahumen 数字人

1、用QuixelBridge 插件导入制作好的metahumen数字人 2、创建项目时如有选择第三人称游戏,在内容目录中找到第三人称游戏小白人的蓝图类,对其进行复制一个,重命名,我这里命名为BP_METAHUMEN, 并移到Metahumen目录下方便…

python统计分析——箱线图(plt.boxplot)

参考资料:用python动手学统计学 使用matplotlib.pyplot.boxplot()函数绘制箱线图 import numpy as np import pandas as pd from matplotlib import pyplot as pltdata_set1np.array([2,3,3,4,4,4,4,5,5,6]) data_set2np.array([[2,3,3,4,4,4,4,5,5,6],[5,6,6,7,7…

【AI视野·今日Sound 声学论文速览 第四十一期】Thu, 4 Jan 2024

AI视野今日CS.Sound 声学论文速览 Thu, 4 Jan 2024 Totally 8 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Multichannel blind speech source separation with a disjoint constraint source model Authors Jianyu Wang, Shanzheng Guan多通道卷积…

ArcGIS制图技巧总结

Part 1 制图综述 1.1 制图的目的 随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据。随着应用深度和广度的推进,针对数据建立专题应用越来越迫切,对行业专题制图的需…

XCode Build报错

XCode Build时报以下错误 B/BL out of range 143266484 (max /-128MB) 错误提示表明生成的机器代码太大,超出了限制 需要在XCode工程中添加宏定义,使得生成的可执行文件超过限制 步骤: 在项目设置页面中,选择 “Build Settings…

爆肝整理,接口测试+为什么要做接口测试总结,策底贯通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、什么是接口测试…

vue3 指令详解

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、v-model (双向绑定功能)二、v-bind(用于将一个或多个属性绑定到元素的属性或组件的 prop)三、v-if、v-else、v-else-if(用于根据条件选择性地渲染元素)四、v-show(根…

JavaSE 万字总结知识点(期末复习指南)

目录 一.Java的特性 二.注释 三.数据类型 基本数据类型 包装类 引用数据类型 四.运算符 五.逻辑控制 选择语句 循环语句 六.数组 七.方法 八.类与对象 构造方法 内部类 九.继承和多态 十.抽象类与接口 抽象类 接口 十一.异常 一.Java的特性 Java最初由Sun…

C++中vector的insert参数问题

今天模拟实现vector的过程中,发现pos传参给insert后是不能直接使用的,如果扩容的话,就要更新pos,于是就像用引用来解决这个问题 一般的pos还是能正常传参,但是如果传某容器的迭代器的话,就会报错 原因&…

LeetCode-加一(66)

题目描述: 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路: 这里主要分…

Go-gin-example 添加注释 第一部分 新建项目及api编写

文章目录 go-gin-example环境准备初始化 Go Modules基础使用 gin 安装测试gin是否引入 gin搭建Blog APIsgo-ini简述配置文件 阶段目标 编写简单API错误码包 完成一个demo初始化项目初始化项目数据库编写项目配置包拉取go-ini配置包在conf目录下新建app.ini文件,写入…