论文笔记:GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition

1、四个问题

  1. 要解决什么问题?
    • 3D shape recognition。
  2. 用了什么方法解决?
    • 采用多视图(multi-view)的方法。
    • 在MVCNN的基础之上,提出了group-view convolutional neural network(GVCNN)。
    • 主要创新之处是将不同视角下CNN提取得到的视觉描述子进行分组,将相类似的划分为一组。因为类似视角下提取到的特征也是相似的
  3. 效果如何?
    • 效果是SOTA的。MVCNN在modelnet40上的准确率是91%,这篇文章的GVCNN的准确率达到了93%。
  4. 还存在什么问题?
    • 由于需要将3维模型投影到多视角下,分别用CNN提取特征,计算量比较大,所提取的特征冗余性也很强。

2、论文概述

2.1、简介

[外链图片转存失败(img-b58xNGgy-1563675517069)(./fig2.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)]

  • 图1中是整个GVCNN的网络架构。
    • GVCNN采用GoogLeNet作为基础网络。
    • "FCN"是GoogleNet的前5个卷积层。
    • 中间的"CNN"指的是也是GoogLeNet。
    • "FC"是全连接层。
  • GVCNN首先从若干不同视角拍摄三维模型的二维图像,每个视角的图像都被送入了第一部分的"FCN"中提取视觉描述子。随后,第二部分的CNN网络进一步提取视觉特征,group模块再根据判别力评分将不同视角的特征子进行分组。最后将各个组的视觉特征描述子通过view pooling(全局池化)聚合到一起。再接上分类网络进行分类。
2.2.2、多视角视觉特征

[外链图片转存失败(img-0X7OIqVR-1563675517070)(./fig4.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,OI2,,OIN}是"FCN"层的输出。
    • 观察到:在输入大于5或小于-5时,sigmoid函数的输出会很接近0或1。作者额外加入了abs和log函数。
    • ξ ( I i ) \xi\left(I_{i}\right) ξ(Ii)是对第i个视角的判别力评分。
  • 判别力评分的取值范围是 ( 0 , 1 ) (0, 1) (0,1),将其N等分。并认为,判别力评分在同一区间范围内的视角属于同一组。
  • 接将总计N个视角划分为M个组: { G 1 , G 2 , ⋯   , G M } \left\{G_{1}, G_{2}, \cdots, G_{M}\right\} {G1,G2,,GM},且 1 ≤ M ≤ N 1 \leq M \leq N 1MN
  • 我们不需要人为地调整视角数N和组数M,可以让算法自行灵活地调整。
  • 可能也会存在某些组,其中没有任何视角属于它,但并不影响其他组的特征提取。
  • grouping模块除了可以作为分组的依据,也可以作为融合时每个组的特征所对应的权重,换句话说即attention机制。
  • G j G_j Gj的权重为:
    • ξ ( G j ) = Ceil ⁡ ( ξ ( I k ) × ∣ G j ∣ ) ∣ G j ∣ I k ∈ G j \xi\left(G_{j}\right)=\frac{\operatorname{Ceil}\left(\xi\left(I_{k}\right) \times\left|G_{j}\right|\right)}{\left|G_{j}\right|} \quad I_{k} \in G_{j} ξ(Gj)=GjCeil(ξ(Ik)×Gj)IkGj
2.2.4、组内视角池化(Intra-Group View Pooling)
  • D ( G j ) = ∑ i = 1 N λ i D I i ∑ i = 1 N λ i λ i = { 1 I i ∈ G j 0 I i ∉ G j \begin{array}{l}{D\left(G_{j}\right)=\frac{\sum_{i=1}^{N} \lambda_{i} D_{I_{i}}}{\sum_{i=1}^{N} \lambda_{i}}} \\ {\lambda_{i}=\left\{\begin{array}{ll}{1} & {I_{i} \in G_{j}} \\ {0} & {I_{i} \notin G_{j}}\end{array}\right.}\end{array} D(Gj)=i=1Nλii=1NλiDIiλi={10IiGjIi/Gj
    • D I i D_{I_{i}} DIi是视角 I i I_i Ii的视觉特征描述子,而 D G j D_{G_{j}} DGj是组 G j G_{j} Gj的组视觉特征描述子,计算公式如下。
2.2.5、组间特征融合

[外链图片转存失败(img-4ll76Ily-1563675517071)(./fig3.png)]

  • 类似于attention机制,对不同组之间的视觉特征进行融合。
  • D ( S ) = ∑ j = 1 M ξ ( G j ) D ( G j ) ∑ j = 1 M ξ ( G j ) D(S)=\frac{\sum_{j=1}^{M} \xi\left(G_{j}\right) D\left(G_{j}\right)}{\sum_{j=1}^{M} \xi\left(G_{j}\right)} D(S)=j=1Mξ(Gj)j=1Mξ(Gj)D(Gj)
    • D ( S ) D(S) D(S)是最终的3D形状描述子。
    • 整个流程符合一个"view-group-shape"的结构。
2.2.5、分类和检索任务
  • 分类任务:
    • 给定 C C C个类,在前面的GVCNN输出特征描述子之后接上分类器(全连接层)进行分类。
  • 检索任务:
    • 使用GVCNN提取特征后,接上一些全连接层输出特征向量。使用深度度量学习的方法训练网络,添加上欧氏距离度量的约束。
    • d ( X , Y ) = ∥ x − y ∥ 2 d(X, Y)=\|x-y\|_{2} d(X,Y)=xy2

2.3、实验

[外链图片转存失败(img-2VhBUq75-1563675517072)(./tab1.png)]

[外链图片转存失败(img-aAh1Kf6J-1563675517072)(./fig5.png)]

[外链图片转存失败(img-B2GprBqp-1563675517073)(./fig6.png)]

[外链图片转存失败(img-YaKlR2kW-1563675517074)(./tab2.png)]

[外链图片转存失败(img-ZdNJjtCv-1563675517074)(./tab3.png)]

3、参考资料

  1. GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition
### 回答1: simam是一种简单的、无需参数的注意力模块,用于卷积神经网络。它可以帮助网络更好地捕捉输入数据中的重要信息,提高模型的性能。simam的设计简单,不需要额外的参数,可以方便地集成到现有的卷积神经网络中。 ### 回答2: SimAM(简单、无需参数的注意力模块)是一种卷积神经网络的注意力机制,旨在显著提高图像分类和物体检测任务的性能。这个模块可以自适应地学习到不同层的特征,并对其进行加权,以便更好地捕获相关信息并抑制噪声。 SimAM模块的核心思想是将一组特征向量传递到一个简单的多头自注意力层,以便为不同特征之间的联系评分,并生成那些较为重要的特征向量,这些向量随后用于后续的网络计算中。具体来说,SimAM模块将输入特征张量分为若干个通道,并将每个通道作为输入,送入多头自注意力层。该层是由若干个子层堆叠而成的,其中每个子层都包括一个多头自注意力机制和一些前向反馈层。自注意力机制可以捕捉到输入特征张量内部各个通道之间的关系,并生成相应的权重矩阵。前向反馈层可以帮助模型更好地适应各种难以预测的数据。 SimAM模块与传统的注意力机制相比,具有以下优点: 1.不需要额外的参数:SimAM模块不需要任何额外的参数,仅仅依靠了平移不变性和自注意力机制即可提取图像特征。 2.易于训练:模块中的每个子层都具有非常简单的结构,可以很容易地进行训练和调整参数。 3.高效:SimAM模块的计算成本低,且可以与传统的卷积神经网络结构相结合,以提高图像分类或物体检测的精度。 总之,SimAM模块是一种非常优秀的注意力机制,具有简单而有效的设计,可用于各种计算机视觉应用中。相信随着更多研究人员的关注,SimAM模块会在未来得到更多的应用和发展。 ### 回答3: Simam是一种简单的、无参数的卷积神经网络注意力模块,它能够提高卷积神经网路的性能。该模块的主要目的是为了实现对卷积层特征的自适应加权,从而优化卷积神经网络的训练过程。 在卷积神经网络中,每个卷积层都会生成一系列特征图,这些特征图可以被看作是卷积层对输入图像的不同抽取方式。在经过多层的卷积操作后,这些特征图逐渐变得抽象和复杂,也变得更具有区分度。然而,由于不同的特征图的质量和作用是不同的,因此,需要一种方法来自适应地对它们进行加权,以便提高整个网络的性能。 Simam模块的核心思想是使用特定的权重来实现对特征图进行加权。这些权重的计算不需要任何参数,而是通过应用一些简单的非线性映射来实现的。具体来说,Simam模块会对特征图进行归一化,然后通过一些非线性函数(如ReLU)进行变换,最终得到一个类似于置信度的分数,从而决定特征图的相对重要性。 在使用Simam模块的卷积神经网络中,该模块被添加在卷积层之后,可以作为一种自适应加权机制来对特征图进行加权。这种机制能够更加准确地区分每个特征图的质量和作用,从而提高整个卷积神经网络的性能。 总之,Simam模块是一种简单而有效的自适应加权机制,可以提高卷积神经网络的性能。在实际应用中,它可以被广泛应用于图像分类、物体检测、语义分割等领域,从而提高计算机视觉的精度和效率。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值