如何轻松理解对点云的深度学习算法 – PointNet的进化版 – PointNet++ 算法 (点云分类、分割部分)?

CV_5 PointNet++算法的简单理解(分类、分割部分 – 入门级别)

一. 引言

在上一篇对PointNet++算法的文章中,我们了解到了PointNet++算法究竟是如何在考虑局部信息的情况下完成特征提取的,如果还对特征提取步骤不太了解的同学请移步:如何轻松理解对点云的深度学习算法 – PointNet的进化版 – PointNet++ 算法 (特征提取部分)?。那么既然有了特征提取的结果,我们就该了解一下,PointNet++算法是如何对点云进行分类和分割的了。

二. 点云分类任务

分类任务其实相对比较简单,其实就是对由特征提取网络得到的特征提取结果进行一个简单的处理。

如何轻松理解对点云的深度学习算法 - PointNet的进化版 - PointNet++ 算法 (点云分类、分割部分)?
如上图所示,红色框框内部的部分就是我们上篇文章中讲到的特征提取网络,在这层网络中,通过不断的特征提取、卷积,最终将由16个点组成的英文字母 “P” 表示为了最后的4个点,当然这四个点携带着比之前更多的特征信息。之后,作者就把这四个点作为输入,传入到分类网络中,可以看到,在分类网络中,作者 首先又对这四个输入点做了一次MAX操作,从而把这四个点变成了一个点,之后再将这最后的一个点传入了一个全连接层中,就可以得出传入的点云在各个分类上的评分了,最终根据各个评分的高低,得出最后的分类结果。

; 三. 点云分割任务

对于点云的分割任务,其实我们要换个角度去理解。所谓的分割网络实际上就是将初始点云的所有点都逐一进行分类操作,但在特征提取网络部分,由于要考虑到局部的特征信息,作者们是将原本的点一次次的减少,这也就导致了我们得到的特征提取结果无法直接被使用,那么这该怎么办呢?作者在这里采用了如下图的上采样操作:

如何轻松理解对点云的深度学习算法 - PointNet的进化版 - PointNet++ 算法 (点云分类、分割部分)?
比如在上图中左边的蓝色框内部仍然是不变的特征提取网络,而右边的红色框框内部就是所谓的上采样操作了。那么作者又是如何把这一层的特征信息传递给上一层的呢?这就要用到权值的思想了。就比如上图中的特征提取结果(四个黄点),是如何附加给上一层呢?其实依据的也是距离信息,换句话说就是在将该层点的特征信息赋予给上一层的紫色点的时候,会根据各个黄色点距离紫色点的距离,来添加一个权重,距离越近权重越大。之后就是进行一层一层的上采样操作,从而让之前的仅携带(d + C)个特征的点云变成了携带着(d + C + C2 + C1)个特征的点云。 之后就是对附带着更多特征信息的初始点云过一个全连接层,将点云中的每个点进行分类,从而也就完成了所谓的分割任务。

如有问题,敬请指正。欢迎转载,但请注明出处。

Original: https://blog.csdn.net/weixin_40247876/article/details/122821691
Author: Demo_xxx
Title: 如何轻松理解对点云的深度学习算法 – PointNet的进化版 – PointNet++ 算法 (点云分类、分割部分)?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/665551/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 线性回归 波士顿房价预测

    目录 线性回归对波士顿房价进行预测 一、基础概念: 1. 线性回归 2. 平均绝对误差,均方误差的理解 3. 决定系数 二、实验步骤与分析 1. 数据背景 2. 数据读入 3. 定…

    人工智能 2023年6月17日
    078
  • MagicHub中英混语音识别挑战赛开启报名

    2022年8月12日,Magic Data 、好未来 (智慧教育-国家新一代人工智能开放创新平台) 、清华大学、中国科学院声学研究所主办,Magichub 开源社区、上海白玉兰开源…

    人工智能 2023年5月25日
    076
  • 【数学建模】13 非线性规划模型求解方法

    目录 1 近似线性法 2 罚函数法 3 MATLAB函数求解方法 4 LINGO软件求解方法 5 课后习题 1 近似线性法 近似线性法:在一个小范围内展开 ; 2 罚函数法 基本思…

    人工智能 2023年6月18日
    066
  • pandas之DataFrame对象基本知识总结

    基本的操作 Dataframe介绍:DataFrame是一种数据结构,它类似于一个二维数组,它与二维数组的不同在于它的内部数据不仅限于数值,还可以是其他的数据类型(布尔型,字符串等…

    人工智能 2023年7月9日
    073
  • Python学习笔记:Pandas应用

    使用列表创建DataframePandas优点: 处理浮点与非浮点数据里的 缺失数据,表示为 NaN; 大小可变: 插入或删除 DataFrame 等多维对象的列; 自动、显式 数…

    人工智能 2023年7月7日
    095
  • Kaggle(入门)

    如果你想在 上运行自己的代码,可以按照以下步骤进行操作: 1. 登录 账号并创建一个新的 Notebooks。 2. 在 Notebooks 中选择”+ Add Dat…

    人工智能 2023年7月16日
    072
  • torch.fft类下面的函数

    这篇博客比较简洁给大家一个 直观的对序列的傅里叶变换与其逆变换,具体可以参考 底部链接 torch.fft.fft&&torch.fft.ifft torch.ff…

    人工智能 2023年7月13日
    093
  • 半监督学习如何处理高维数据

    问题背景 半监督学习是一种介于监督学习和无监督学习之间的学习方法。在半监督学习中,我们有一些标记样本和一些未标记样本,目标是通过利用未标记样本的信息来提高模型的性能。针对高维数据,…

    人工智能 2024年1月1日
    020
  • 关于仿射变换矩阵的一点理解

    仿射变换,是一种二维坐标到二维坐标之间的线性变换;它保持了二维图形的”平直性”(直线经过变换后依然是直线)和”平行性”(二维图形之间…

    人工智能 2023年7月19日
    069
  • Python字符串拼接的四种方法

    在程序实际应用中,少不了要进行字符串拼接的操作。下面介绍一下Python语言中四种字符串拼接的方式。 在Python中算术运算符一共有七种种,分别是 +、 -、 *、 /、 //、…

    人工智能 2023年7月4日
    068
  • paddlecor可视化标注,数据预处理

    paddlecor检测可视化标注 推理缩放尺寸: 训练数据预处理增强 EastRandomCropData代码: paddlecor检测可视化标注 import os import…

    人工智能 2023年7月20日
    044
  • Python函数:groupby()

    形式: DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=Tr…

    人工智能 2023年7月15日
    050
  • pytorch个人学习笔记(2)—Normalize()参数详解及用法

    起因是看到有的T.Normalize参数是固定的一堆0.5,而有的则是符合函数定义的计算出来的均值标准差而产生的疑惑 一. 函数功能(快速上手) T.Normalize(mean,…

    人工智能 2023年7月21日
    052
  • Google Colab升/降级TensorFlow以及cudnn的正确姿势

    Google Colab升/降级TensorFlow以及cudnn的正确姿势 背景 跑leaf-audio论文的时候,代码用到了lingvo库,当前lingvo库的最新版本是0.1…

    人工智能 2023年5月25日
    077
  • SIFT算法详解

    大纲 引言 一、高斯金字塔 二、高斯差分金字塔 三、特征点处理 * 1.阈值化 2.非极大值抑制 3. 二阶泰勒修正 4.低对比度去除 5.边缘效应去除 四、特征点描述子 * 1….

    人工智能 2023年7月6日
    084
  • 对二分查找的重写

    import java.util.Arrays; public class BinarySearch { public static void main(String[] args…

    人工智能 2023年6月30日
    063
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球