论文笔记:PointNet
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
PointNet
1、四个问题
- 要解决什么问题?
- 3D点云是一种很重要的几何数据结构。由于其存在空间关系不规则的特点,因此不能直接将已有的图像分类分割框架套用到点云上。
- 许多研究者会将3D点云转换为3D体素(voxel grids )或者一系列图片,然后套用到现有的深度学习框架上,取得了非常好的效果。但是将点云体素化势必会改变点云数据的原始特征,造成不必要的数据损失。
- 因此,作者想要做的就是设计一个可以直接处理3d点云数据的深度学习框架。
- 用了什么方法解决?
- 提出了PointNet,它可以直接将3d点云作为输入,输出预测的类别。
- 由于直接以点云作为输入,而最大的难点在于点云的点数是不确定且无序的。
- 核心方法是巧妙地使用了一个Max Pooling,解决了这个问题。
- 效果如何?
- 尽管网络结构很简单,PointNet在许多任务上的表现还是很好的,甚至超过了state-of-the-art。
- 还存在什么问题?
- PointNet只关注了3D点云的全局信息,对于局部信息的利用不够充分,一定程度上限制了网络的性能。
2、论文概述
2.1、简介
- 因为点云和mesh都是不规则的,大多数学者都会先将这类数据先转换为标准的3D体素(voxel grids )或者多视角下的图片,然后再送入深度学习框架中进行处理。
- PointNet可以直接接收点云作为输入,然后输出预测的分类结果或是每个点的语义分割结果。
- 网络结构十分简单,核心在于巧妙地使用了一个对称函数:Max Pooling。
- 网络随着训练会学习到一系列函数,可以从3d点云中选取出感兴趣的或是信息含量大的特征点,并进行编码。
- 最后的全连接层会将提取得到的信息聚合到全局描述子中,代表了整个形状的信息。
- 一个有趣的发现是,PointNet会试着使用一个稀疏的关键点集来表示整个输入点云,与粗略地提取物体的骨架很类似。
- PointNet的应用:
2.2、PointNet
PointNet的输入时欧式空间中的点组成的点集。主要有三个属性:
- 无序性。不像图像的像素或者三维的体素,点云是一系列没有特定顺序的点。因此,网络需要保证面对nnn个点的3D点云的N!N!N!种顺序置换的可能情况具有不变性。
- 点与点之间相关性。这些点来自于一个具有距离度量的空间,也就意味着点之间不是独立的,近邻点本身就是一个有意义的子集。因此,模型需要能够捕获近邻点的局部结构特征。
- 旋转(平移)不变性。对于几何物体,网络提取到的点集的特征应该不会受到旋转和平移等变换的影响。
三个关键结构:
- 最大池化层,用来将从所有的点上提取得来的信息聚合到一起。
- 局部信息和全局信息结合结构。
- 两个对齐网络T-Net,用来将输入点和特征点进行对齐。
- 网络结构其实很简单,主要参考这张流程图就能理解了。
- T-Net用来生成变换矩阵,作用是用来对齐特征,使特征更利于提取。输入是n×3n \times 3n×3,那么第一个T-Net生成的就是一个3×33 \times 33×3的仿射变换矩阵;由于第二个T-Net的输入时n×64n \times 64n×64,那么生成的变换矩阵就是一个64×6464 \times 6464×64的变换矩阵。
- 使用mlp提取特征,也可以理解为卷积核为1的1维卷积。
- 使用Max Pooling将全局特征n×1024n \times 1024n×1024,kernel size直接取为nnn,得到1×10241 \times 10241×1024维的全局特征。
- 后续再进行特征提取,用于分类或是分割任务。
2.2.1、用来处理无序输入的对称函数
- 目前有以下三种策略:
- 将输入排序成一个标准的顺序。
- 将输入当做一个序列输入RNN,但是需要进行数据增强,将所有可能得置换顺序的数据都用来训练。
- 使用一个对称函数来将所有点的信息聚合。
- 作者最终选择使用max pooling来聚合全局信息,并在后面从理论上证明了,当特征维数足够大时,max pooling可以模拟论文中所述的任意对称函数f。推导略。
2.2.2、聚合全局和局部信息
- 在计算得到全局点云特征向量后,将其与前面的点特征拼接在一起。随后再从拼接后的特征向量中提取特征,这时既有局部信息也有全局信息。
2.2.3、对齐网络
- 输入的点云是n×3n \times 3n×3,通过一个小网络T-Net预测出一个放射变换矩阵,并直接乘在输入上。
- 对齐网络也可以扩展到特征空间中,通过一个小网络T-Net预测出一个特征变换矩阵,乘在输出的特征向量上。
- 考虑到在特征空间上的变换矩阵比普通的空间变换矩阵(3维)的维度高得多,这会给优化增加不小的难度。所以另外还要在最后的softmax损失上加上一个正则化项:Lreg=∥I−ATA∥F2L_{reg} = \|I - A^T A\|_F^2Lreg=∥I−ATA∥F2。 其中AAA是T-Net预测得到的特征对齐矩阵。对角矩阵不会丢失输入信息,这也是我们所期望的。作者提到,加上正则化项之后训练会更稳定。
2.3、实验
- 在ModelNet40数据集上的分类任务结果:
- 在ShapeNet数据集上的分割结果。
- PointNet的参数量相比其他state-of-the-art的架构小得多。
3、参考资料
- https://blog.csdn.net/sunfei05/article/details/80351524
- https://blog.csdn.net/yongxiebin9947/article/details/79368752
论文笔记:PointNet相关推荐
- Pointnet与Pointnet++论文笔记
Pointnet与Pointnet++论文笔记 近期由于课题需要,研读了Pointnet系列文章,在此总结个人心得,并结合了部分博客进行阐述,不足之处希望各位批评指正,也欢迎各位同学来进行学习交流. ...
- 论文笔记:PRIN: Pointwise Rotation-Invariant Networks
PRIN: Pointwise Rotation-Invariant Networks 1.四个问题 要解决什么问题? 使用特殊结构的神经网络来提取具有旋转不变性的点云特征. 用了什么方法解决? 提出 ...
- 论文笔记:3D-CVF(ECCV 2020)
论文笔记:3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for ...
- 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion
论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...
- Robust Multi-Modality Multi-Object Tracking 论文笔记
Robust Multi-Modality Multi-Object Tracking 论文笔记 为什么要做多模态融合的 MOT? Motivation Method 问题构造: 下面是详细介绍: 单 ...
- ORB-SLAM3 论文笔记
ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...
- 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION
一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...
- 最新图神经网络论文笔记汇总(附pdf下载)
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 [导读]近年来,图神经网络变得非常火热,每年顶会在该领域内都会出现大量的研究论文,本文为大家提 ...
- [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)
Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning 2017-06-06 21: ...
最新文章
- 【深度学习】图像输入网络必要的处理流程
- TensorFlow MNIST初级学习
- Mysql:好好的索引,为什么要下推?
- 百度面试题:从输入url到显示网页,后台发生了什么?
- ueditor富文本编辑器过滤了代码,如何取消?
- mysql vector查找_vectort
- 面试北京XX数通总结
- extjs4 grid 刷新数据时不改变滚动条位置
- codeforces 665A Buses Between Cities
- r语言Isfit_应用统计学与R语言实现学习笔记(七)——拟合优度检验
- 司法官论托普的“倒掉” (转,深刻揭示软件公司经营之路)
- Elasticsearch多种方案数据迁移
- Windows二进制文件合并工具
- 西门子200smart与电流表Modbus RTU通讯
- 国际知名财务和ERP软件系统
- 解决Mscomctl.ocx丢失的问题
- carla学习笔记(三)
- 算法:求10万以内的质数
- 【黑马Java笔记+踩坑】MyBatisPlus基础
- android 锁屏显示音乐播放器,Android锁屏界面控制音乐播放