基于深度学习方式的点云处理算法汇总

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者:WALL-E | 来源:知乎

https://zhuanlan.zhihu.com/p/148251873

本文仅做学术分享,如有侵权,请联系删除。

一、前言

主要介绍处理点云时用的深度学习方法:

  1. VoxNet,IROS 2015

  2. MVCNN,ICCV 2015

  3. PointNet,CVPR 2017

  4. PointNet++,NIPS 2017

二、VoxNet

VoxNet为了模仿2D CNN,直接把点云影射到voxel grid中,然后执行3D CNN,最终处理成一个向量。

三、MVCNN

MVCNN,在点云周围不同的虚拟相机位置产生不同的2D图,然后用2D CNN处理这些图,最后做分类。

四、PointNet

PointNet网络结构:

创新点:

  1. 通过max pool产生global feature,n*1024,对应每一个点的特征,max pool相当于获取了所有点最有效的特征,构成global feature。

  2. 为了解决点云的旋转不变性,设计了T-Net。

  3. PointNet is able to simulate any function on the point cloud。

详细说明第三个创新点:

第三个创新点翻译成数学的语言:

课上老师给的证明:

从Critical Points Set可以看出PointNet确实很牛,Critical Points Set是什么意思呢?最终global feature中的特征包含哪个点的特征,那个点就是critical point。

可视化结果如下:

但是PointNet没有像2D CNN那样逐层提取特征,所以就有了PointNet++。

五、PointNet++

网络结构如下:

每一个set abstraction包含三部分:

每一个圆圈的中心点就是sampling出来的点,grouping时使用k nearest neighbors更好一些,可以保证点的个数,方便网络处理。每一个group需要normalize。

另外还有其他的grouping方式:

也有其他提取特征的方式,从多层数据构造当前层的特征:

PointNet++的分类网络很简单,有意思的是他分割网络的设计:

分割网络主要由interpolate和unit pointnet。有点像auto-encoder,蓝色块中的特征d+C2+C1,其中d+C1来自于之前层的,C2时蓝色块中的点映射到红色中后,差值得到的特征。unit PointNet可以理解为没有max pool的PointNet。

PointNet++的结果:

Triks:

推荐阅读

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

猜你喜欢

转载自blog.csdn.net/Yong_Qi2015/article/details/107551744