首发于公众号:3D点云深度学习。

论文:’Point-Voxel CNN for Efficient 3D Deep Learning’

来源:NeurIPS2019Spotlight

共同一作:Zhijian Liu (MIT), Haotian Tang(上海交大)

代码:https://github.com/mit-han-lab/pvcnn

项目:https://hanlab.mit.edu/projects/pvcnn/

3D深度学习广泛的应用到多个领域,如AR/VR和自动驾驶等,因此受到了越来越多的关注。在这些应用中往往需要很高的实时性。然而,终端设备(如手机和VR头戴设备)受到硬件资源和电池的严格限制。因此,设计高效、快速的三维深度学习模型是非常重要的。这篇文章巧妙地将voxel-based方法和point-based方法结合,新框架同时具备了两种方法的优点。

  • 已有方法的缺陷分析

论文对已有方法的缺陷进行了细致地分析,这是文章重要的一部分。论文的分析很透彻,给笔者留下了很深的印象。

对于voxel-based类方法的缺陷,论文指出:这类方法难以平衡分辨率和内存的关系。当体素尺寸较大时,分辨率低,大量点云占据同一个体素,没办法很好地区分。然而,当减小体素尺寸,提高分辨率时,内存占用则会成三次方增加。其实voxel-based类方法的这个缺陷学界基本已经产生了共识,因此这部分此处就不再赘述了。

接着,文章对point-based方法的缺点也进行了分析。学界对于point-based方法的缺点还鲜有报道,这也是本篇论文比较新颖的地方之一。作者指出,这类方法的内存访问的无序性(Irregular access)和动态核开销(Dynamic Kernel)会占用大量时间。因为point-based方法直接对无序点云进行操作,以PointNet, PointCNN为代表的这类方法需要对点云进行邻域查询,因此会产生大量的随机内存访问(Irregular access),这部分会占用大量运行时间。

与此同时,point-based方法还存在动态卷积核的问题。由于点云散落分布在三维空间中,不同于voxel-based类方法中数据那样规整,因此需要动态地确定卷积核,这就是动态核开销(Dynamic Kernel)。

为了更有说服性,作者对几类典型的point-based方法的内存访问(Irregular access)和动态核开销(Dynamic Kernel)时间进行了统计。如图所示是作者对于DGCNN, PointCNN, SpiderCNN的时间消耗进行的计算。左边两个方框内的时间是无效时间,可以看出上述三种point-based方法有大量的无效时间。而右边的Actual computation是实际运算时间,可以看出作者提出的网络时间效率具有压倒性的优势。

  • 提出PVConv

分析完voxel-based方法和point-based方法的缺陷之后,作者开始提出自己设计的网络架构Point-Voxel Convolution(PVConv)。

如图所示,PVConv由两路分支构成。一个支路用来进行基于体素的特征聚合,用来进行粗粒度的邻域特征提取;另一个支路用MLP对点云直接进行特征转换,是一种细粒度的逐点特征提取;最后两种特征会进行融合。

在上面的支路中,首先对点云进行归一化;然后进行体素划分,这里使用的体素率较低,不至于带来太多消耗。接着将体素送入到堆叠的3D卷积层中进行特征升维,此时学到的是每个体素的高维特征。然后对数据进行解体素,将体素的特征转化到每个点上去。

这里的操作很容易让人想到PointNet++中的Grouping-MLP-Interpolate的结构。但是作者很巧妙地用Voxelize代替了Grouping,从而避免了前文提到的随机内存访问(Irregular access)的时间消耗。而此处的Devoxelize也没有直接采用pointnet++中的最近邻interpolate操作,而是用了trilinear interpolation,使得不同点对应不同的特征。

如果把上面支路提取的信息作为邻域特征,那么下方的支路则用来提取每个点的局部特征,直接采用MLP对每个点进行特征提取。两种信息的融合,能够获得更为丰富的特征信息。

  • 实验结果

文章进行了丰富而详细的实验,包括了部件分割、语义分割和目标检测三种任务。作者不仅关心实验效果而且重点分析GPU的内存消耗。与主流点云深度学习框架(PointNet, PointCNN, F-PointNet等)进行了比较,效果很好。部分实验结果如下:

语义分割任务,可以说是,利用更少的内存消耗,获得了更好的实验效果。

目标检测,性能和内存消耗方面,基本上都超过了F-PointNet++。

  • 总结

这篇论文提出了Point-VoxelCNN (PVCNN),将点云处理领域的两种方法进行了结合,想法简单巧妙,而且文章对两种方法都进行了缺点的分析,特别是对于point-based类方法的分析,让人印象深刻。此外,文章中对于内存占用的分析计算的思路也值得借鉴,在改进其他网络的过程中,是否也考虑下这个层面呢,没准会给网络性能找到新的突破口。

小样本点云深度学习库_NeurIPS2019 | MIT与上海交大提出新型点云深度学习框架Point-Voxel CNN...相关推荐

  1. 模型压缩95%,MIT韩松等人提出新型Lite Transformer

    2020-06-08 16:31:31 选自arXiv 作者:Zhanghao Wu等 机器之心编译 参与:小舟.魔王 Transformer 的高性能依赖于极高的算力,这让移动端 NLP 严重受限. ...

  2. 不用地图如何导航?DeepMind提出新型双路径强化学习「智能体」架构

    来源:deepmind.arXiv 作者:Piotr Mirowski.Matthew Koichi Grimes.Mateusz Malinowski.Karl Moritz Hermann.Kei ...

  3. 【强化学习】不用地图如何导航?DeepMind提出新型双路径强化学习「智能体」架构

    来源:deepmind.arXiv 作者:Piotr Mirowski.Matthew Koichi Grimes.Mateusz Malinowski.Karl Moritz Hermann.Kei ...

  4. Python机器学习、深度学习库总结(内含大量示例,建议收藏)

    Python机器学习.深度学习库总结(内含大量示例,建议收藏) 前言 python常用机器学习及深度学习库介绍 总结与分类 python 常用机器学习及深度学习库总结 分类 更多 前言 目前,随着人工 ...

  5. Python机器学习、深度学习库总结

    Python机器学习.深度学习库总结(内含大量示例,建议收藏) 前言 python常用机器学习及深度学习库介绍 总结与分类 python 常用机器学习及深度学习库总结 分类 更多 前言 为了大家能够对 ...

  6. 盘点27个机器学习、深度学习库最频繁使用的 Python 工具包(内含大量示例,建议收藏)

    目前,随着人工智能的大热,吸引了诸多行业对于人工智能的关注,同时也迎来了一波又一波的人工智能学习的热潮,虽然人工智能背后的原理并不能通过短短一文给予详细介绍,但是像所有学科一样,我们并不需要从头开始& ...

  7. 小样本点云深度学习库_合成鲁棒的对抗样本来欺骗深度学习分类器

    本期一诺sec关注深度学习系统安全问题,推荐一篇来自ICML 2018会议论文Synthesizing Robust Adversarial Examples.论文链接http://proceedin ...

  8. 小样本点云深度学习库_小样本学习综述报告

    文章内容整理:Enneng Yang, Xiaoqing Cao 本文仅作为学习交流使用,如有问题,请联系ennengyang@qq.com. 1.小样本问题的研究意义✚●○ 深度学习已经在各个领域取 ...

  9. 小样本点云深度学习库_论文 | 小样本学习综述

    转自:专知[https://www.zhuanzhi.ai/] [导读]现有的机器学习方法在很多场景下需要依赖大量的训练样本.但机器学习方法是否可以模仿人类,基于先验知识等,只基于少量的样本就可以进行 ...

最新文章

  1. 服务器端发送邮件签名采用Data URI scheme包含图片
  2. hadoop com.mysql.jdbc.driver_hadoop – Impala找不到com.mysql.jdbc.Driver
  3. NLP - 新闻文本分类-baseline
  4. #华为云·寻找黑马程序员#【代码重构之路】我是如何将8行代码缩减成1行的
  5. Android 系统性能优化(41)---Android代码内存优化建议-OnTrimMemory优化
  6. React.js 官网入门教程 分离文件 操作无法正常显示HelloWord
  7. 认识RabbitMQ交换机模型
  8. Confluence 企业服务器正遭攻击
  9. 多少开发人员 饿了么_饿了么CPS新社交电商,2020年的创业新风口
  10. 未来教育全国计算机考试,未来教育.全国计算机等级考试
  11. 什么是负反馈电路?微分.积分电路?“自激”现象?
  12. request请求参数中文乱码问题
  13. 再谈:数据治理的长效运营机制!
  14. 全国计算机等级四级计算机网络第6套答案,全国计算机等级考试四级计算机网络第6套试题(2)...
  15. B.系数 (Lucas定理)
  16. 在线教育颠覆传统教育
  17. 那些程序员之间丧心病狂的鄙视链,你在哪一层?
  18. Java期末考试试题及参考答案(07)
  19. Linux那些事儿 之 戏说USB(22)设备的生命线(一)
  20. 就只想要几个c币,单独够买又不行,哎

热门文章

  1. 两个单片机iic通讯程序_PIC单片机之DS1302时钟
  2. php中获取随机数的方法,PHP实现获取随机数的方法
  3. (第八章)左右外连接
  4. 如何在注解上拿到方法中的参数_想自己写框架?不会写Java注解可不行
  5. linux acl源码,acl框架库下载
  6. ROS入门 小乌龟跟随示例
  7. 二叉树的遍历 C/C++语言实现
  8. Python——(Anaconda+PyCharm)Youki的Python环境配置笔记(Ubuntu+Windows)~
  9. ESP32开发 CMakeLists包含同级目录.h文件,error: gpioX.h: No such file or directory
  10. 【设计模式】适配器模式(Adapter Pattern)