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

本文介绍了CV_5PointNet++算法在点云分类和分割任务中的应用。在分类任务中,经过特征提取的4个点通过MAX操作转化为一个点,然后通过全连接层得出分类评分。在分割任务中,利用上采样操作结合距离权重将特征信息逐层传递,最终对每个点进行分类,实现点云分割。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


一. 引言

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

二. 点云分类任务

 分类任务其实相对比较简单,其实就是对由特征提取网络得到的特征提取结果进行一个简单的处理。
bydemo
如上图所示,红色框框内部的部分就是我们上篇文章中讲到的特征提取网络,在这层网络中,通过不断的特征提取、卷积,最终将由16个点组成的英文字母 “P” 表示为了最后的4个点,当然这四个点携带着比之前更多的特征信息。之后,作者就把这四个点作为输入,传入到分类网络中,可以看到,在分类网络中,作者首先又对这四个输入点做了一次MAX操作,从而把这四个点变成了一个点,之后再将这最后的一个点传入了一个全连接层中,就可以得出传入的点云在各个分类上的评分了,最终根据各个评分的高低,得出最后的分类结果。

三. 点云分割任务

 对于点云的分割任务,其实我们要换个角度去理解。所谓的分割网络实际上就是将初始点云的所有点都逐一进行分类操作,但在特征提取网络部分,由于要考虑到局部的特征信息,作者们是将原本的点一次次的减少,这也就导致了我们得到的特征提取结果无法直接被使用,那么这该怎么办呢?作者在这里采用了如下图的上采样操作:
byndemo
比如在上图中左边的蓝色框内部仍然是不变的特征提取网络,而右边的红色框框内部就是所谓的上采样操作了。那么作者又是如何把这一层的特征信息传递给上一层的呢?这就要用到权值的思想了。就比如上图中的特征提取结果(四个黄点),是如何附加给上一层呢?其实依据的也是距离信息,换句话说就是在将该层点的特征信息赋予给上一层的紫色点的时候,会根据各个黄色点距离紫色点的距离,来添加一个权重,距离越近权重越大。之后就是进行一层一层的上采样操作,从而让之前的仅携带(d + C)个特征的点云变成了携带着(d + C + C2 + C1)个特征的点云。 之后就是对附带着更多特征信息的初始点云过一个全连接层,将点云中的每个点进行分类,从而也就完成了所谓的分割任务。


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值