PointNet网络结构详细解析

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/LIU2089735320/article/details/88967738

PointNet网络结构详细解析
一、重要知识点

Transforming point clouds data to regular 3D voxel grids or collections of images, however, renders(cause to be) data unnecessarily voluminous(length, vast) and introducing quantization artifacts, obscure(conceal) natural invariances of the data.
PointNet learns to summarize an input point cloud by a sparse set of key points, which roughly corresponds to the skeleton of objects.
将点云体素化会改变点云数据的原始特征,造成不必要的数据损失,并且额外增加了工作量,而 PointNet 采用了原始点云的输入方式,最大限度地保留了点云的空间特征,并在最终的测试中取得了很好的效果。
A symmetric function is invariant to the input order. For example, + and * operators are symmetric binary function.
Treat the input as a sequence to train an RNN.
相同的点云在空间中经过一定的刚性变化(旋转或平移),坐标发生变化,但希望网络都能正确的识别出物体(Special Transform Network, STN),但最终实验结果和后续论文PointNet++表示,STN并无多大作用。
基本思想:对输入点云中的每一个点学习其对应的空间编码,之后再利用所有点的特征,得到一个全局的点云特征。
第一次input transform是对空间中点云进行调整,直观上理解是旋转出一个有利于分类或分割的角度(点云的刚性变化),第二次feature transform是对提取出的特征进行变换,类似点的刚性变化,想利用这个得到一个有利于分类的特征角度(上一个是dim=3,这一个是dim=64罢了,没有本质区别)。
二、详细网络架构
解析详细结构时需注意以下几点:

kernel_shape = (kernel_h, kernel_w, num_in_channels, num_output_channels),实现conv2卷积时代码中定义的卷积核大小。
tf_util.conv2d: activation = tf.nn.relu, batch_norm_for_conv2d ,每次卷积时均使用了relu和bn,画图时不再画出。
数据维度表示-(B, H, W, C),B=Batch, H=Height, W=width, C=channel,画图时省略了B,只画了后三维,但书写时没有省略。

在这里插入图片描述

<1> Classification Network
在这里插入图片描述

<2> Segmentation Network
在这里插入图片描述
在这里插入图片描述

<3> T-net(input transform和feature transform分开看,只是画一起了,所以第一张图中这两个不是合并,只是后面的步骤相同)
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值