MLP是多层感知机的缩写,在三维点云处理网络中经常能看到一层Shared MLP,下面是我关于其作用的分析。
先从感知机的一层说起,其结构如下。
Output=f(Input×Weights+biases)
其中:
Input:N×C1
Weights:C1×C2
biases:N×1×C2
Output:N×C2
f(·):激活函数,逐元素映射

注:

  1. 有些地方Input维度是C1×N,这个问题不大,Input和Weights乘的时候调换一下位置,后面的矩阵各自转置就好。
  2. N指的是样本数量,感知器模型与N值无关,因为从输入到输出每一个样本的处理过程是完全一样的。
  3. 激活函数的作用是在输出与输入之间引入非线性因素。

    Input 的每行有C1个Feature,感知机的一层能够实现将C1维转换为C2维(对应输入层和第1层的C1、C2个神经元)。这C2维中每一维都整合了原来全部C1维的信息,但这C2维中不同维度利用这些信息的侧重点不同。换一个形象的说法,相当于把原来整行的信息揉成一团,再揉了C2次,得到C2个不同形状的团,成为C2个新的特征。也就是说,MLP可以实现特征转换,信息重组。再者,由于激活函数会放大一些值,抑制一些值,因此MLP可以实现特征提取。
    以上说的是MLP的功能,而所谓shared mlp,只是在点云处理网络中的一个说法。强调对点云中的每一个点都采取相同的特征转换。
    我们对PointNet中的shared mlp和mlp进行对比。

由于点云中的每一个点不是独立的,因此不应看作独立的样本。在shared mlp中,输入为包含多点的点云,我们对每一个点乘以相同的权重,这就叫做shared weights。而**在mlp中,输入为单个向量,**因此不需要共享权重。
我查看了PointNet的网络源码,参考了这位博主的解析:点云处理网络中的Shared MLP

下面对其源码中shared mlp 的实现进行解析。证明其与前面介绍的MLP本质上相同。

PointNet使用二维卷积网络来实现Shared MLP。左上图为PointNet中第一个Shared MLP模块示意图。

网络首先将点云看成一幅Nx3的单通道图片输入,然后通过1x3x1的卷积核将这幅点云的宽度变为1。通过定义卷积核的数量,可以任意定义该层输出的通道数。对应到右侧的神经元结构图,就是将3个输入神经元的信息整合后传到下层神经元的过程,64个神经元对应64个卷积核。

再往后,只需要使用 1x1xOutputChannel 的卷积核,就可以对点云特征进行任意维度的转换。所需的参数数量,都是InputChannel×OutputChannel,其作用都是特征提取。
结论
Shared MLP 是点云处理网络中的一种说法,强调对点云中的每一个点都采取相同的操作。其本质上与普通MLP没什么不同,其在网络中的作用即为MLP的作用:特征转换、特征提取。

Shared MLP的作用是什么?相关推荐

  1. Shared pool内存块组成结构及4031错误原因分析

    这篇文章是参考甲骨论老相老师的教学视频所做的学习笔记: http://v.youku.com/v_show/id_XMzkyMDQ4MzUy.html 之前提到Shared pool的作用: Shar ...

  2. [CVPR 2020] RandLA-Net:大场景三维点云语义分割新框架(已开源)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者Qingyong Hu授权转载,不得擅自二次转载.原文链接:https://zhuanl ...

  3. 通道注意力机制 cnn keras_【CV中的Attention机制】简单而有效的CBAM模块

    前言: CBAM模块由于其使用的广泛性以及易于集成得到很多应用.目前cv领域中的attention机制也是在2019年论文中非常火.这篇cbam虽然是在2018年提出的,但是其影响力比较深远,在很多领 ...

  4. 3D-BoNet:比3D点云实例分割算法快10倍!代码已开源

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元(AI_era)   新智元报道   来源:投稿 编辑:元子 [新智元导读]本文提出了一种基于边界框回归的高效点云实例分割算法,通过最小 ...

  5. RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds

    上岸以后第一次做这种读论文的任务,该怎么读.怎么学都还在一点一点摸索,这里记录一下看论文的过程中的一些思考以及不明白的地方. 一.简介 在大规模的3D点云识别中,想要做到高效的语义分析是一个不简单的任 ...

  6. 点云的密度 曝光时间_200倍的提速!华人博士生提出大场景三维点云语义分割新框架...

    [新智元导读]今天分享一篇被今年CVPR接收的论文.该文提出的算法可以高效处理百万量级的点组成的大场景3D点云,同时计算效率高.内存占用少,能直接处理大规模点云,不需要复杂的预处理/后处理,比基于图的 ...

  7. 目前缺少用于语义分割的 3D LiDAR 数据吗?关于三维点云数据集和方法的调查

    目前缺少用于语义分割的 3D LiDAR 数据吗?关于三维点云数据集和方法的调查 原文 Are We Hungry for 3D LiDAR Data for Semantic Segmentatio ...

  8. PointNet 学习笔记

    文章目录 前言 一.前人工作 二.点云的问题/特征 三.网络结构 1.PointNet分类网络 2.PointNet部件分割网络 实验 总结 前言 点云数据是3D视觉中最为常见的数据类型了,它包含了空 ...

  9. ChatGPT:新晋CV工程师

    在短短的两个星期内,ChatGPT 迅速成为公众聊天的焦点.超过一百万的人与OpenAI的新聊天机器人"交谈",让它写诗和大学论文,生成创意食谱,创建虚拟机-它也被用来撰写新闻文章 ...

最新文章

  1. 经验分享 怎么新建PDF文件
  2. python之新式类与经典类
  3. Spring计划列表
  4. P2617 Dynamic Rankings(主席树+树状数组)
  5. 多个html页面拼接成一个页面_浏览器渲染页面机制以及如何减少DOM操作
  6. linux添加回收站(脚本)
  7. byte数组存的是什么_字节跳动为什么有字节2个字,因为程序的真谛:字节
  8. php日期控件calendar.js,轻量级的原生js日历插件calendar.js使用指南
  9. 【转】数据库常用面试题
  10. 原生js 判断数组是否为空
  11. 编程实现之k均值算法
  12. 计算机英语pre,如何区别英语前缀pri,pro,per,pre?
  13. “番茄工作法” 工欲善其事必先利其器
  14. 什么蓝牙耳机好?测评达人精选五款性价比高蓝牙耳机推荐
  15. win10彻底卸载JDK
  16. 电子通信、嵌入式工程师的面试指南
  17. 成都盛铭轩电商:活动图片如何设计
  18. matlab凑数求和,使用规划求解来解决excel自动凑数求和的方法
  19. 杨辉三角python输出
  20. macbook proa1708_苹果笔记本a1708是哪一款?

热门文章

  1. [转]2006年it人士必去的10个网站
  2. CSS实现表格细边框的三种方式
  3. 怎么申请电子邮箱,电子邮件大全,商务人士都在用这个!
  4. mobl-lang 的反应性编程
  5. 某校2019专硕编程题-完全数
  6. 如何能成为一个更优秀的人
  7. Android逆向之八门神器原理解析(主要分析其修改内存原理)
  8. 跨境电商领域的“坂田五虎“你知道都是谁吗?
  9. 618小红书品牌营销复盘「保姆级教学」 !
  10. 数据结构与算法课程设计大作业