pointnet中shared_mlp过程详细解析

pointnet网络模型如下图所示:
在这里插入图片描述
暂时不关注input_transform和feature_transform。同时也不关注分割任务。
在这里插入图片描述
从输入n×3到n×64的操作:
在这里插入图片描述
(图中数字仅为示意,不代表具体计算)
首先输入为n×3(n×1×3×1:点数×长×宽×通道数)有64个1×3的卷积核,每个卷积核对点云进行卷积操作,并生成一个通道,64个卷积核共计生成64个通道。(叙述过程省略了加偏置和激活的部分)得到的结果为n×64(n×1×1×64点数×长×宽×通道数)成功将数据升维。
在将64维升到128维的过程中,有一个【1×1】的卷积操作,这个过程易于造成理解上的偏差。
在这里插入图片描述
在源码中定义了一个kernel,kernel_h,kernel_w:代码中传入的为1×1,num_in_channels:输入通道(对应下图中的64个通道),num_out_channels:输出通道,就是核的个数。所以可以如下图理解这个shared_mlp的过程:
在这里插入图片描述
一个核的大小为【1×1×64(输入的通道数,根据输入进行变化)】,与输入对应位置相乘在相加,共128个核,则输出为【n×1×1×128】,成功将向量升维至128,初次阅读代码,看到这个【1×1】的卷积核,很是困惑,可以理解为一个【1×输入(64、128、1024)】的一个卷积核。从上到下这个卷积的过程,使用的是同一个卷积核,从而实现了权值共享的操作。
升维操作后进行最大池化,然后放入mlp分类器,这个过程很好理解。最大池化是一个对称函数,主要对点云的置换不变性。后面的操作看源码就很简单了。
附:
在这里插入图片描述

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值