论文阅读笔记:View-GCN View-based Graph Convolutional Network for 3D Shape Analysis
作者:互联网
论文阅读笔记:View-GCN: View-based Graph Convolutional Network for 3D Shape Analysis
文章目录
- 论文阅读笔记:View-GCN: View-based Graph Convolutional Network for 3D Shape Analysis
参考笔记:
【论文阅读】基于视图的图卷积神经网络3D物体形状识别算法 (qq.com)
【点云系列】view-GCN: view-based Graph Convolutional Network for 3D Shape Analysis** 晅菲的博客-CSDN博客
Abstract
基于视图的方法通过其投影的二维图像来识别三维形状,已经取得了最先进的三维形状识别结果。
挑战: 如何将多视图的图像特征聚合成一个全局形状描述符。
本文工作:作者提出了一种新的基于视图的图卷积神经网络(view-based Graph Convolutional Neural Network, view-GCN),用于在灵活的试图配置空间中识别基于多视图物体的图表示的3D形状。首先利用3D物体的2D多视图构建视图-图(view-graph)作为图节点,然后在视角图上设计一个图卷积神经网络分层地学习判别多视图物体的3D形状描述。
1. Introduction
3D形状识别研究意义重大,广泛应用于计算机视觉领域中,诸如自动驾驶、考古学和虚拟现实/增强现实。
近年来,三维形状分析已经取得了巨大的进展。根据三维形状的代表,这些方法可以分为三类,即voxel-based的方法、point-based的方法和基于view-based的方法。
Methods | Detail | Performance |
---|---|---|
基于体元(voxel-based) | 通过3D欧式空间内的体积元素集合来表示3D物体的形状,然后在体元上创建神经网络学习特征、识别形状 | 计算复杂度高;体素分辨率问题;由于物体表面体素化所造成的数据稀疏 |
基于点(point-based) | 直接在点云上定义网络 | PointNet++、SpiderCNN、PointCNN、RS-CNN性能强大 |
基于视图(view-based) | 基于物体的2D多视图聚合分类、识别3D形状 | 利用2D图像分类网络识别3D形状的最先进方法 |
view-based
将多个视图作为一个序列,RNN已经成功应用于融合多视图特征。View-gram和3d2seqviews[19]也将多视图作为一个序列,并使用卷积和注意力来研究视图的关系,以学习形状描述符。一维序列表示法可以很好地模拟摄像机依次位于物体周围一圈的配置。然而,对于一般的配置,例如十二面体上的摄像机,一维序列忽略了多视图的三维几何。
RotationNet和EMV都探索了更普遍的视图配置,分别通过旋转和应用旋转组卷积找到最佳姿势,然而,它们都依赖于视图配置的同质空间假设(例如,二十面体)。
本文工作
此工作中,作者使用view-graph来表示物体的3D形状,每一个视图对应图中的一个节点。节点间的边由摄像机坐标的近邻确定。因此,作者在view-graph上设计了一种图卷积神经网络view-GCN(如图1所示)用于聚合多视图特征以学习全局形状描述子。
View-GCN主要具有两个优点:
- 能够灵活建模多视图配置(如图4);
- 通过视图-图表示利用GCN聚合关于图节点关系聚合多视图特征。
View-GCN是一个层次化的GCN架构,在越来越粗糙的视图图上有多个层次。在每层设计了一个局部图卷积操作和一个非局部消息传递操作,通过研究相邻视图和远程成对视图之间的关系来聚合多视图特征。
为了使图粗化,作者提出了一种选择性视图抽样策略,通过视图选择器对有代表性的视图进行抽样。所有学习到的不同层次的特征被组合成一个全局形状描述子。
2. Related Works
2.1 Multi-view 3D shape recognition
基于视图的方法对三维形状识别是有效的。
MVCNN依靠二维图像分类网络来提取多视图特征,然后通过最大池聚合来获得一个紧凑的形状描述符。
一些作品考虑了先进的特征聚合策略。GVCNN和RCPCNN都将多视图特征分组,并在视图组上设计特征池。MHBN和RN通过协调的双线性集合和关注来聚集多视图斑块的特征。RN进一步对一组视图的关系进行建模,并使用关系分数将其整合到形状描述符中。
另一个有趣的策略是探索视图的旋转。RotationNet在预测形状标签时将视图指数作为潜变量来寻找最佳姿势。EMV是基于旋转组的一个离散子组,并将组卷积应用于视图的同质空间,例如二十面体。
最近,有几项工作将多个视图表示为一个序列。3D2SeqViews和VNN在一个圆形轨迹中对连续的视图子序列应用视图卷积,然后通过注意力聚集特征。在VERAM、Point2Sequence和Ma等人中,序列视图由RNN(例如GRU或LSTM)来选择和(或)聚合。
与他们相比,我们用视图图表示一个三维形状的多个视图。视图图表示使我们能够设计GCN,通过研究视图的关系来聚合多视图特征。这种视图图表示比顺序表示视图与视图之间的关系更通用。
2.2. Graph convolutional networks
我们的工作中,我们用一个视图图表示一个三维形状的多个视图,并在视图图上定义GCN。这是GCN的一个新的应用。我们的视图GCN受到当前GCN的启发,但经过精心设计,用局部和非局部操作分层聚集多视图特征,并采用新颖的选择性视图取样策略进行图形粗化。实验和消融实验证明了我们的View-GCN在三维形状识别方面的有效性。
3. Overview of Our Approach
3.1 Motivation
一把椅子的相邻视图在姿势和外观上有平滑的变化,而一个杯子的多个视图则几乎相同。这为识别提供了判别信息。此外,成对的视图也是相关的,例如,图3(b)中成对的视图是对称的。多视图图像之间的这些关系编码了物体的潜在几何形状,为识别三维物体提供了有价值的信息。列举和模拟所有可能的视图之间的关系是具有挑战性的,但这种现象启发我们设计一个图卷积网络,在聚合多视图特征时自动研究视图之间的关系。
3.2 General pipeline
我们设计了一个新颖的基于视图的图卷积网络,被称为View-GCN,通过图卷积的方式,考虑到视图的关系,分层聚合多视图的特征。如图2所示,我们的方法包括三个部分。
- 3D物体的多视图特征由backbone网络提取,然后建立一个view-graph表示,其中节点由视图特征表示;
- 在view-graph上设计一个GCN分层地聚合多视图特征;
- 提取全局形状描述子用于形状识别。
4. From 3D Shape to View-Graph
现在我们介绍如何构建一个三维形状的视图-图。我们建立一个有向图G,第i个节点为第i个视图,相机坐标为vi。这个图被称为视图-图,那么视图图的邻接矩阵S∈RN×N为
Sij = Φ(gij ; θs)
其中gij= [vi, vj , vi - vj , ||vi - vj||2]∈R10代表两个视图的空间关系,[ ]表示元素的矢量连接。Φ是一个非线性嵌入,参数θs为成对的节点。在实施中,我们将Φ设定为三层MLP,前两层为LeakyReLU和10个隐藏单元,它输出一个标量Sij。我们进一步使用k-nearest neighbor(kNN),利用坐标距离找到每个节点的固定数量的相邻节点,并且只保留相邻节点之间的边。因此稀疏邻接矩阵A的元素为
其中Ⅱ(-)是一个二进制函数,表示vj是否在vi的kNN内。显然,视图-图可以代表不同的视图配置,例如,如图4所示的圆形、十二面体、不规则配置,其中每个三维矩形代表一个视图。
5. View-based Graph Convolutional Network
View-GCN是在粗糙的视图-图的多个级别上定义的层次结构网络。
在第l层,视图-图Gl有Nl个节点,也就是视图。在视图-图上,我们通过局部图卷积和非局部信息传递来连续更新节点特征。然后,通过我们提出的选择性视图采样策略粗化图Gl,构建下一级视图-图Gl+1,以增加感受野,有利于语义特征学习。所有级别的特征被融合成一个全局形状描述符。与在一次集合操作中合并所有多视图特征的max-pooling相比,我们的view-GCN考虑到视图的关系,在分层粗化的视图图上逐步合并多视图特征,并且所有级别的特征都被用于形状描述符中。
5.1. Initial view feature extraction
使用所有训练3D对象的混合多视图2D图像对网络进行微调进行分类,并将上一层FC(fully connected)之前不同视图的特征向量化为视图特征,作为初始图中节点初始化特征。
5.2. Local graph convolution
定义局部图卷积层, 通过考虑由摄像机坐标的kNN确定的相邻节点之间的关系来更新节点特征, 即
F
l
=
Ψ
(
A
l
F
i
n
l
W
l
;
θ
c
l
)
F^{l}=\Psi\left(A^{l} F_{i n}^{l} W^{l} ; \theta_{c}^{l}\right)
Fl=Ψ(AlFinlWl;θcl)
输入的特征
F
i
n
l
F_{i n}^{l}
Finl 首先由稀疏邻接矩阵
A
l
A^{l}
Al 扩散, 然后由线性变换
W
l
W^{l}
Wl 更新每个节点, 经过一个非线性变 换得到更新之后的特征
F
l
F^{l}
Fl 。
5.3. Non-local message passing
通过非局部信息传递来捕获视图-图
G
l
G^{l}
Gl 中节点的远程关系。作者定义消息由节点
v
i
v_{i}
vi 到
v
j
v_{j}
vj 作为一个节点 对关系
m
i
j
l
=
Γ
(
∣
f
i
l
,
f
j
l
∣
;
θ
m
l
)
m_{i j}^{l}=\Gamma\left(\left|f_{i}^{l}, f_{j}^{l}\right| ; \theta_{m}^{l}\right)
mijl=Γ(∣∣fil,fjl∣∣;θml)
其中,
i
,
j
=
1
,
2
,
⋯
,
N
l
i, j=1,2, \cdots, N_{l}
i,j=1,2,⋯,Nl 。
进一步从图中所有节点收集节点
i
i
i 的消息, 然后将累积的消息
r
i
l
r_{i}^{l}
ril 与原始特征
f
i
l
f_{i}^{l}
fil 融合为
f
^
i
l
=
Ω
(
∣
f
i
l
,
r
i
l
∣
;
θ
f
l
)
\hat{f}_{i}^{l}=\Omega\left(\left|f_{i}^{l}, r_{i}^{l}\right| ; \theta_{f}^{l}\right)
f^il=Ω(∣∣fil,ril∣∣;θfl)
其中,
r
i
l
=
∑
j
=
1
N
i
m
j
i
l
r_{i}^{l}=\sum_{j=1}^{N_{i}} m_{j i}^{l}
ril=∑j=1Nimjil 。
通过上式更新后的特征就可以在局部图的卷积中吸收远处视图的信息, 超越局部邻近视图的信息。
5.4. Selective view-sampling for graph coarsening
在更新完第 级视图-图 G l G^{l} Gl 的节点特征后, 然后对图进行粗化派生出 l + 1 l+1 l+1 级视图-图 G l + 1 G^{l+1} Gl+1, 图粗化被广泛实现 G C N \mathrm{GCN} GCN 中的最远点采样 (FPS), 对视图子集进行采样, 以构建粗化图, 以扩大GCN的接受域。此工作为图粗化设计了一 种新的选择性视图采样策略。
No. | Symbol | Meaning |
---|---|---|
1 | v_(i)^(l) | 第 l 级视图-图 G^(l) 的相机的第 i quad(i=1,2,cdots,N_(i)) 个坐标 |
2 | s | 采样率 |
3 | V(*) | 含参数 theta_(v)^(l,j) 的视图选技器 V inR^(N_©), 输出具有 N_© 形状类别的概率, V 被定义为一个两层的 LP网络, 含有 d//2 个隐含单元 |
FPS迭代地采样一个相机坐标视图地子集
{
v
j
}
j
=
1
N
l
+
1
⊂
{
v
i
}
j
=
1
N
i
,
\left\{v_{j}\right\}_{j=1}^{N_{l+1}} \subset\left\{v_{i}\right\}_{j=1}^{N_{i}},
{vj}j=1Nl+1⊂{vi}j=1Ni,
其中,
N
l
+
1
=
round
(
N
l
×
s
)
N_{l+1}=\operatorname{round}\left(N_{l} \times s\right)
Nl+1=round(Nl×s) 。FPS基于摄像机坐标对每个新视图与已采样的视图集之间的最大距离进行采样。基 于FPS的样本可以保持视图的多样性, 但不能保证所采样的视图对下游的判别学习任务具有代表性。
为了利用FPS的优点同时克服FPS的缺点, 如图 5 所示:
- 初始化通过FPS采样一个一个子集 { v j } j = 1 N l + 1 \left\{v_{j}\right\}_{j=1}^{N_{l+1}} {vj}j=1Nl+1;
- 对于相机坐标
v
j
v_{j}
vj, 通过视图选择器在
k
N
N
k N N
kNN 视图上选择一个初始视图中的抽样视图, 新采样视图在局部邻域内对视图选择器的响应最大, 即
v j l + 1 = arg max v i ∈ N ( v j ) ( max ( V ( f ^ v v l ; θ v l , j ) ) ) , v_{j}^{l+1}=\underset{v_{i} \in \mathcal{N}\left(v_{j}\right)}{\arg \max }\left(\max \left(V\left(\hat{f}_{v_{v}}^{l} ; \theta_{v}^{l, j}\right)\right)\right), vjl+1=vi∈N(vj)argmax(max(V(f^vvl;θvl,j))),
其中, j = 1 , 2 , ⋯ , N l + 1 j=1,2, \cdots, N_{l+1} j=1,2,⋯,Nl+1 。
通过这个策略, 可以得到一个由视图选择器产生的粗图 G l + 1 G^{l+1} Gl+1 。在非局部消息传递后, 每个图节点附加其相应的更 新视图特征, 这些特则和那个可以表示为一个特征行矩阵 F i n l + 1 F_{i n}^{l+1} Finl+1 。
5.5. Hierarchical network architecture
由图5可知一层view-GCN网络由局部图卷积、非局部消息传递和选择视图采样三部分组成。将多个这样的网络连 接在一起组成一个深度层次网络结构, 如图2所示。为了得到每一级层网络上的信息, 作者使用最大pooling操作 通过图卷积对节点特征进行更新得到一个池化描述子
F
global
l
=
maxpool
(
f
i
l
)
i
=
1
N
i
F_{\text {global }}^{l}=\operatorname{maxpool}\left(f_{i}^{l}\right)_{i=1}^{N_{i}}
Fglobal l=maxpool(fil)i=1Ni
其中,
l
=
0
,
1
,
⋯
,
L
−
1
l=0,1, \cdots, L-1
l=0,1,⋯,L−1 。
则, 全局形状描述子为
F
=
[
F
global
0
,
F
global
1
,
⋯
,
F
global
L
−
1
]
F=\left[F_{\text {global }}^{0}, F_{\text {global }}^{1}, \cdots, F_{\text {global }}^{L-1}\right]
F=[Fglobal 0,Fglobal 1,⋯,Fglobal L−1]
作者提取两种不同的多视图空间配置方法:
- 由 12 个视图的组成的圆形配置的view-GCN(类似于图 4 ( a ) ) : k = 2 , 12 → 6 → 3 4(\mathrm{a})): k=2,12 \rightarrow 6 \rightarrow 3 4(a)):k=2,12→6→3 (粗图节点个数);
- 由 20 个视图的组成的二十面体配置的view-GCN(类似于图4(b)): k = 3 , 20 → 10 → 5 k=3,20 \rightarrow 10 \rightarrow 5 k=3,20→10→5 (粗图节点个数)。
5.6. Network training
训练损失:整个训练损失函数由形状损失Lshape和视图损失Lview组成。给定全局形状特征F,它被发送到分类器C,该分类器有一个FC层,其权重Wc∈RLd×Nc,然后是一个softmax层。总的训练损失是
其中y是形状的类标签,Lshape是基于全局形状描述符F的交叉熵损失,Lview是为视图选择器定义的交叉熵损失,强制要求每个视图选择器可以根据视图的局部邻域的视图特征来区分形状类别。
6. Experiments
对view-GCN在合成和真实数据集上进行三维形状分类和检索的评价,实验代码开源。
No. | Dataset | Categories | Total |
---|---|---|---|
1 | ModelNet40 | 40 | 12,311 = 9,843 (Train) + 2,468 (Test) |
2 | ShapeNet Core55 | 55 | 51,162 = 35,764 (Trian) + 5,133 (Vaild) + 10,265 (Test) |
3 | RGBD | 51 | 300个家具物体,相机在水平30°、45°和60°方向上 |
7.Conclusion
提出了一种新型的面向对象的图卷积网络3D物体形状识别算法。作者利用视图-图对物体形状的多个视图建模,并开发了一个新的基于层次视图图的GCN来学习全局形状描述子。大量的实验证明了它的有效性。在未来的工作中,作者计划将view-GCN应用于多模态特征融合。
理解问题:
论文试图解决什么问题?
本文设计了一种基于多层GCN的View-based的三维形状分析网络。网络输入为三维形状的多视角图像,输出为对应的全局形状的特征,特征可进一步用于形状分类、检索等任务。
这是否是一个新的问题?
基于多视图的三维形状处理不是一个新问题,之前的工作和本文在处理多视图之间的信息融合方法差别较大,本文利用GCN取得了比较好的效果。
论文中提到的解决方案之关键是什么?
- 将多视图建模成图结构,并设计使用图卷积进行特征融合
- 设计了一种多层的图卷积网络,其中每一层包括局部的图卷积、非局部的信息传递(用于捕捉long-range的信息)、以及选择性的图降采样。
这是否是一个新的问题?
基于多视图的三维形状处理不是一个新问题,之前的工作和本文在处理多视图之间的信息融合方法差别较大,本文利用GCN取得了比较好的效果。
论文中提到的解决方案之关键是什么?
- 将多视图建模成图结构,并设计使用图卷积进行特征融合
- 设计了一种多层的图卷积网络,其中每一层包括局部的图卷积、非局部的信息传递(用于捕捉long-range的信息)、以及选择性的图降采样。
标签:Convolutional,based,卷积,3D,视图,GCN,形状,view,View 来源: https://blog.csdn.net/weixin_43499292/article/details/122238046