读论文 3D Point Cloud Classification using 3D Modified Fisher Vector Representation for CNN

3D Point Cloud Classification and Segmentation using 3D Modified Fisher Vector Representation for Convolutional Neural Networks

模型结构:

可见模型主要分为两部分,一部分是将输入点云变为 Fisher Vector 表达,另一部分是进行CNN处理

其中 Inception 是 classification network 的核心,结构为:

注意这里居然用了平均池化 avg. pooling

这篇文章的主要创新点在于,把 Fisher Vector 用到了CNN  中用来作为CNN输入,对点云进行分类。Fisher Vector 的计算得到一个向量,该向量与点云结构/点的顺序 无关,从而解决了点云无序性的问题。而PointNet解决点云无序性是用的max pooling。

为了使计算得到的Fisher Vector 与点数无关,将FV向量除以点云对象的点数。题外话,要使CNN实现与输入尺寸无关,只要用pooling就可以啦,因为卷积本身是对输入尺寸不敏感的。例如2014年的论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition,用在图像上的方法,可以借鉴思路用在点云上。事实上PointNet就是这么做的,只是PointNet论文中依然用的是每个点云点数相同==

Fisher Vector 的原理见:https://blog.csdn.net/shanyicheng1111/article/details/76978029  经常用于动作识别和图像处理

实现:https://github.com/jacobgil/pyfishervector

采用 Fisher Vector 的缺点也显而易见,即 FV 也是人工提取的特征,所有人工提取的特征都会导致损失信息。

另外,计算 Fisher Vector 的时候用到了 Voxel Grid,这使得计算量大,内存消耗大。

猜你喜欢

转载自blog.csdn.net/shaozhenghan/article/details/82261068