GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition
1、四个问题
- 要解决什么问题?
- 3D shape recognition。
- 用了什么方法解决?
- 采用多视图(multi-view)的方法。
- 在MVCNN的基础之上,提出了group-view convolutional neural network(GVCNN)。
- 主要创新之处是将不同视角下CNN提取得到的视觉描述子进行分组,将相类似的划分为一组。因为类似视角下提取到的特征也是相似的。
- 效果如何?
- 效果是SOTA的。MVCNN在modelnet40上的准确率是91%,这篇文章的GVCNN的准确率达到了93%。
- 还存在什么问题?
- 由于需要将3维模型投影到多视角下,分别用CNN提取特征,计算量比较大,所提取的特征冗余性也很强。
2、论文概述
2.1、简介
![[外链图片转存失败(img-b58xNGgy-1563675517069)(./fig2.png)]](/https://i-blog.csdnimg.cn/blog_migrate/602c5afa72aa8043ac5a3bdacabdfd75.png)
- 3D shape recognition中,虽然有基于体素的方法,还有PointNet类直接处理点云,但是目前准确率最高的还是基于多视图的方法,比如MVCNN。
- MVCNN的做法就是模拟相机从若干不同的角度拍摄三维物体,得到投影的二维图像,然后分别利用ImageNet下预训练的网络提取特征,随后通过view pooling,即全局最大池化将各视角下的特征聚合起来,再接分类网络。
- 虽然存在大量的计算冗余,但是MVCNN的做法更近似于对各个视角的图片做ensemble,在准确率上理所当然会有更好的效果。而且对于旋转也能有不错的鲁棒性。
- 但是作者认为,MVCNN并没有将多视角下特征之间的关系有效地利用起来,这也会在一定程度上限制最后的特征描述子的可区分力。
- 一方面,一些视角彼此相类似,然后有一些则差异较大。这些相似的视角对于3D物体形状的表示所起到的作用应该是同等的。
- 另一方面,有一部分视角则能提取到更有用的特征。
- 也正是为了解决上述的问题,才提出了GVCNN。
2.2、方法
2.2.1、基本网络结构
![[外链图片转存失败(img-koNn4rUP-1563675517070)(./fig1.png)]](/https://i-blog.csdnimg.cn/blog_migrate/b931063a4d37a8dca3f9f5dc98f3f9e2.png)
- 图1中是整个GVCNN的网络架构。
- GVCNN采用GoogLeNet作为基础网络。
- "FCN"是GoogleNet的前5个卷积层。
- 中间的"CNN"指的是也是GoogLeNet。
- "FC"是全连接层。
- GVCNN首先从若干不同视角拍摄三维模型的二维图像,每个视角的图像都被送入了第一部分的"FCN"中提取视觉描述子。随后,第二部分的CNN网络进一步提取视觉特征,group模块再根据判别力评分将不同视角的特征子进行分组。最后将各个组的视觉特征描述子通过view pooling(全局池化)聚合到一起。再接上分类网络进行分类。
2.2.2、多视角视觉特征
![[外链图片转存失败(img-0X7OIqVR-1563675517070)(./fig4.png)]](/https://i-blog.csdnimg.cn/blog_migrate/e40d8c132e9461e739b6493cc0c2e80e.png)
- 多视角图像的获取方式有两种,如上图所示。
- 一种是取8个视角,相邻两个视角之间间隔45度。
- 另一种是取12个视角,相邻两个视角之间间隔30度。
- 相比于深层CNN,浅层网络保留有更多的位置信息。在对不同视角特征进行分组时,需要用到这些信息。所以利用浅层网络提取的特征进行grouping。
- 而深层网络提取的特征,则具有更多的内容信息,能更好地表示视角下的特征。所以将深层网络提取的特征,先分组再做view pooling。
2.2.3、Grouping模块
- Grouping模块主要是为了挖掘不同视角之间的潜在关系,对其进行归类辅助多视角下特征的聚合。
- ξ ( I i ) = sigmoid ( log ( abs ( O I i ) ) ) \xi\left(I_{i}\right)=\operatorname{sigmoid}\left(\log \left(\operatorname{abs}\left(O_{I_{i}}\right)\right)\right) ξ(Ii)=sigmoid(log(abs(OIi)))
- 给定不同视角下的图像: S = { I 1 , I 2 , ⋯   , I N } S=\left\{I_{1}, I_{2}, \cdots, I_{N}\right\} S={ I1,I2,⋯,IN}。
- { O I 1 , O I 2 , ⋯   , O I N } \left\{O_{I_{1}}, O_{I_{2}}, \cdots, O_{I_{N}}\right\} { OI1,O

提出GVCNN模型,改进MVCNN多视图3D形状识别方法,通过分组视角特征提高准确率至93%。采用GoogLeNet提取特征,根据判别力评分对视角分组,利用组内视角池化和组间特征融合增强特征描述子。

7929

被折叠的 条评论
为什么被折叠?



