点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者:WALL-E | 来源:知乎
https://zhuanlan.zhihu.com/p/148251873
本文仅做学术分享,如有侵权,请联系删除。
一、前言
主要介绍处理点云时用的深度学习方法:
-
VoxNet,IROS 2015
-
MVCNN,ICCV 2015
-
PointNet,CVPR 2017
-
PointNet++,NIPS 2017
二、VoxNet
VoxNet为了模仿2D CNN,直接把点云影射到voxel grid中,然后执行3D CNN,最终处理成一个向量。
三、MVCNN
MVCNN,在点云周围不同的虚拟相机位置产生不同的2D图,然后用2D CNN处理这些图,最后做分类。
四、PointNet
PointNet网络结构:
创新点:
-
通过max pool产生global feature,n*1024,对应每一个点的特征,max pool相当于获取了所有点最有效的特征,构成global feature。
-
为了解决点云的旋转不变性,设计了T-Net。
-
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:
推荐阅读:
-
专辑|相机标定
-
专辑|3D点云
-
专辑|SLAM
-
专辑|深度学习与自动驾驶
-
专辑|结构光
-
专辑|事件相机
-
专辑|OpenCV学习
-
专辑|学习资源汇总
-
专辑|招聘与项目对接
-
专辑|读书笔记
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题