【论文解读】Multi-View 3D Shape Recognition via Correspondence-Aware Deep Learning

目录

一. 背景

二. 方法

1. 框架 

2. 视图特征表示与细化

 3. CAR模块

 1. 对应搜索

2. 对应编码

4. 视图特征聚合和损失函数

三. 实验 

 四. 结论


一. 背景

        一个视图内或不同视图之间的对应编码了对象部分的空间安排和对象的对称性,这为识别提供了有用的几何线索。然而,在现有的工作中,这种视图对应并没有得到明确和充分的利用。一对对应关系的空间关系可以用对应关系在视图内的位置来描述,也可以用视图所来自的视点来描述。虽然内部视图位置无疑是有用的,但视点对识别任务也很重要,因为它们编码来自3D相机空间的位置信息。同时,视点的关系也与对象部分的语义相关联。例如,来自相邻视图的相似视图可能包含与相同或相近的对象部分相关的通信,而来自两个遥远视图的不重叠视图可能包含与不同空间位置的相似部分相关的通信。此外,不同的视图可能导致不同的方式,内部视图的通信是由不同的方式。

创新点 

        我们开发了一个基于DNN的三维形状识别的通信感知表示(CAR)模块。将视图内的每个特性视为某个语义空间中的一个点,CAR模块将从视图中找到K个最近邻作为其潜在对应。每一个对应对,由语义特征以及关于视点和视图内位置的三维位置表示,被编码成相同且独立的描述。然后将结果聚合成一个对应感知表示作为模块的输出,可用于端到端DNN的后续部分。

文章贡献 

         通过将所提出的CAR模块与ResNet-18骨干相结合,我们开发了一个用于三维形状分类和检索的有效模型CAR- net。得益于明确的对应感知学习,我们的CAR-Net可以从内部视图和交叉视图的对应中生成改进的形状描述符。在ModelNet40、ModelNet10和ShapeNetCore55数据集上进行评估,CAR-Net显示出了出色的性能,通过感知通信学习获得了显著的性能增益。特别是,即使使用更少的视图,它仍然优于许多现有的视图。

基础原理

         通过kNN搜索在语义空间中显式地发现潜在的视图内对应和视图间对应,然后通过学习变换聚合对应的形状特征。特别是,在学习对应感知特征时,考虑了基于视点位置和视点内位置的对应关系。

         将具有一定视图的三维物体生成的视图表示在语义特征空间中。将每个视图的每个位置的局部特征看作语义空间中的一个点,所有的特征都表示为嵌入语义空间的一个点集。kNN搜索用于寻找空间中每个点的K个潜在对应。我们的CAR模块通过利用这些基于视点和视图内位置的潜在对应的空间关系,学习输出对应感知表示。

二. 方法

1. 框架 

 给定一个3D对象,生成其二维图像V1,···,VM∈RH0×W0×3形式的多个视图作为输入,CAR-Net以F表示,输出N类的标签预测向量L∈RN:

 

 CAR-Net的主干是resnet - 18。回想一下,ResNet-18包含五个阶段;参见图。第一阶段由CONV1表示,它依次连接两个卷积层和一个池化层。其余四个阶段分别用RES2、···、RES5表示,每个阶段都由两个残块组成。我们对ResNet-18进行了如下修改:(a)将主干网分为三部分,中间部分插入两个提议的CAR模块;(b)在分类器之前添加视图特征聚合模块。因此,CAR-Net依次由四个部分组成:

  1. (F1)View-wise特性表示。第一部分F1将每个视图映射到一些用于语义表示的特征空间,这是通过分别将每个视图传递给主干CNN的第一部分来完成的。
  2. (F2)学习Correspondence-aware表示。考虑到F1中的所有视图的特性,第二部分F2基于两个顺序的CAR模块捕获并利用它们的视图对应关系。这一步将为所有视图生成一个对应感知的特征张量。
  3. (F3)View-wise功能细化。通过应用主干view-wisely的第二部分,CAR模块的增强特性得到进一步细化。
  4. (F4)功能聚合。从F3中得到的所有视图的细化特征被聚合到一个单一的描述符中。

2. 视图特征表示与细化

 我们的CAR-Net包含两个主干部分,分别用于F1和F3。以M个视图V1,··,VM∈RH0×W0×3为输入,将F1中的骨干部分分别应用到每个视图上:

 对于m = 1,···,M,其中Z1m为Vm上输出的C1通道特征张量。所有Z1m输入到F2,并转换为一组对应感知的特征张量:

与F1类似,F3中的骨干部分明智地对其输入特征张量进行操作:

对于所有m,其中z3m对应于第m视图的特征张量。

为了简单起见,我们没有单独使用两个ResNet,而是使用ResNet-18的单一模型作为两个主干部分。前三级包括CONV1、RES2、RES3用于F1,最后一级RES5用于F3;如图2所示。RES4用于F2,在F2中,在两个剩余块的后面插入一个CAR模块。我们选择Res4来连接CAR模块的原因是,Res4中的特征张量大小适中,在通信感知学习过程中可以达到可接受的效率,同时它们提供了足够的语义/原始信息,用于寻找高质量的潜在通信。

 3. CAR模块

 CAR网络的关键组件是CAR模块,该模块旨在通过同时利用视图内和视图间的对应关系来增强F1的卷积视图特征。CAR模块接受来自剩余块的特征张量X1、··、Xm作为输入,并输出与输入大小相同的对应感知特征:

CAR模块的管道如图4所示。该模块将所有视图中的特征张量视为一组MHW特征,它包含两个步骤:(a)对应搜索,查找每个特征的前K个潜在对应;(b)对应编码,利用潜在对应生成对应感知特征表示。

 1. 对应搜索

         为了表示的简单性,我们将输入特征张量X1、··、XM重新排列为矩阵X,如下所示

        X的每一行对应于某个空间位置处某个视图的C维局部特征,或者说,它是某个视图图像中局部patch的特征,可以将其视为C维特征空间中的一个点。在第一步中,调用kNN分组来查找C维特征空间中每个局部特征(即X的每一行)的K个最近邻:

        其中I是KNN指数的矩阵,使得I(j,:)按照相似性的降序存储X(j,:)的K个最近邻居的指数。具体地说,搜索是通过比较X(j,:)和其他行的l2距离来完成的,对于所有j。我们总共找到K=K1+K2最近邻包括K1(K1默认为2)视图内最近邻和K2交叉视图最近邻。然后,选择收集到的X(j,:)的最近邻作为其潜在的视图间/视图内对应。回想一下,C维特征空间是从主干生成的,主干对一定程度的视觉语义进行编码。因此,发现的潜在对应可能对应于对象的相同或类似部分;有关收集的潜在交叉视图对应关系的图示,请参见图5。

         我们的CAR模块发现的潜在通信示例。每行提供一个三维对象的12个视图。箭头的起点表示源,终点表示其四个潜在的交叉视图对应。可视化结果表明,我们的模型能够找到合理的帧内/交叉视图对应关系来支持其预测。

2. 对应编码

         CAR模块的第二步是将收集到的潜在对应的关键信息编码到特征表示中。我们首先通过应用所谓的对应编码(CE)层来生成对应感知特征。CE层接受特征矩阵X和对应索引矩阵I作为输入,并输出特征矩阵Y:  

        然后X与Y组合作为模块的输出:  

        回想一下,X和I的行数相同,它们的行分别存储视图的特征和关联的特征对应索引。CE层处理X中的每个视图特征,如下所示。为了方便起见,我们定义了 

        换句话说,fj是X中的第j个特征,在某些视图中是局部特征。让vj∈ R3表示与fj的视图关联的虚拟相机的单位视点向量。表示摄影机在三维空间中的位置。此外,让hj,wj表示视图中fj的归一化空间索引(即从[1,H]和[1,W]归一化为[0,1])。然后,与fj关联的整个信息被描述为一个元组:  

        通过查找存储在I(j,:)中的KNN指数,可以得到fj的TOPK(潜在)对应,其指数用j1,··,jK表示。每个对应关系也表示为一个四元组

         以fj为源,从每个潜在的对应关系生成一个对应关系感知特征,如下所示。对于其每个K对应,定义了以下描述符djK:

         可以看出,这样的描述符包含源语义特征fj,以及fj与其第k个对应关系在视点和视图内位置方面的差异。将每个描述向量传递给共享MLP:

         背后的基本思想是,内部/交叉视图对应的空间配置为识别3D形状提供了非常有用的线索。空间结构可以通过视点的位移以及特征与其对应关系之间的视点内空间索引的差异来表征。因此,将djk输入到MLP可以编码对应的空间配置以进行特征增强。在我们的MLP中,输出qjk的大小与fjk相同,并与fjk相结合,为第k次通信生成具有通信感知的增强特征yjk,如下所示:

 对于所有k,其中  表示元素乘积。可以看出,yjK编码了局部语义特征fj、fjk以及该对应对的空间分布关系。随后,增强特征{yjk}Kk=1被聚合为单个对应感知特征yj,如下所示:

         对于任何j,其中max(·)表示元素最大池,FC(·)表示完全连接的(FC)层,其中ReLU激活后跟BN。最大池在所有通信中获取最有趣的信息(最强的响应),以最大限度地利用增强表示,它还带来了通信顺序的不变性。FC层充当将maxk(yjk)与fj语义空间对齐的变换(即弥合maxk(yjk)与fj之间的语义鸿沟),因为其结果将在(10)中定义的CAR模块的最后一步添加到fj中。所有聚集的特征yj,j=1,···,MHW被叠加到矩阵Y中,其中Y(j,:)=(yj),该矩阵被转换回特征张量,然后用作CE层的输出。

4. 视图特征聚合和损失函数

         在最后的聚合阶段 F4,所有来自 F3的视图的改进特性通过一个全局平均池层进行聚合,这个全局平均池层将每个视图中的条目沿着高度和宽度维度平均。然后,使用一个最大软启动的 fc 层来预测类标签。

        给定一组训练数据{(xq,lq)}Qq = 1,其中 xq 是一个3d 对象,与 n 个类的一个热类标号 lq ∈{0,1} N 相关联。我们首先在每个3d 对象 xq 上生成视图序列 vq1,...,vqm。设 q = f ({ vq 1,,vq m })表示 car-net 预测的软标号。然后用交叉熵定义car-net的损失函数:

三. 实验 

 实验设置:我们的CAR-Net是用MXNET实现的。在训练中,使用ImageNet上预先训练的模型对CAR-Net的主干(即ResNet-18)进行初始化

数据集,性能指标:1.我们的实验采用ModelNet40和ModelNet10基准数据集。

 

 1)分类结果:如表1所示,在Dodecahedron-20设置下,我们的模型有20个视图,在分类任务中,我们的模型优于所有其他比较方法,大部分都有很大的优势。即使在Circle-12设置下只有12个视图,我们的模型在两个数据集上都取得了有竞争力的结果,超过了除VRN-Ensemble和RotationNet之外的所有竞争对手(20个视图)。正如在其最初的工作中所讨论的,VRN-Ensemble主要受益于不同模型的预测集合。该方案也适用于包括本方案在内的其他方法。当VRN不与集成方案结合时,它的性能不如我们的12个视图。至于RotationNet,我们可以看到它的性能比我们的相机设置更敏感。当视图数从20个减少到12个时,RotationNet在ModelNet40/10上的准确率降低了6.37%/4.46%。相比之下,我们的CAR-Net的性能下降要小得多。还需要注意的是,Relation Network是非局域DNN,其性能不如我们的CAR-Net。

 2)检索结果:在检索任务中,我们的模型以20个视图作为输入,获得了令人兴奋的结果,在这些结果中,它始终以巨大的优势领先于所有其他竞争对手。当只比较使用12个视图的方法时,我们可以看到CAR-Net优于ModelNet40上的其他方法。在ModelNet10上,它的性能不如3D2SeqViews[30]和Ma等人[37]。我们还可以看到,使用36个输入视图的MLVCNN[29]只比我们使用12个视图的模型性能更好。然而,我们的模型使用20个视图比MLVCNN[29]性能要好得多

2.  对ShapeNetCore55数据集的评价

        ShapeNetCore55数据集是另一个流行的用于3D物体识别的基准数据集。它包含51162个对象,分为55个类别和203个子类别。与ModelNet40/10相比,ShapeNetCore55数据集覆盖的对象范围更广,形状更复杂,是检索大赛SHREC2017[56]的官方数据集。按照标准协议,在ShapeNetCore55上执行检索任务。我们采用与前面小节相同的网络设置,并在Dodecahedron-20设置下使用20个输入视图来生成结果。模型分别对55个类别和203个子类别进行训练。在检索过程中,使用经过55个类别训练的模型,找出与查询对象具有相同预测标签的样本。然后利用在203个子类别上训练的模型的输出特征,将这些样本按2距离重新排序。采用精度、查全率、F-Score、mAP和NDCG(归一化折现累积增益)四个指标来衡量检索性能。前三个度量是基于二进制的类别内相关性和类别外相关性计算的,而最后一个度量使用分级相关性,另外考虑子类别的匹配。对于四个指标中的每一个,其在类别上的值分别使用两种方案进行平均:(a) MICRO方案使用类别大小的加权平均;(b)使用未加权平均的MACRO方案。有关度量的更多细节,请参阅[56]。 

 在这个具有挑战性的数据集中,我们的CAR-Net的表现也超过了所有的竞争对手,这再次证明了我们方法的有效性。令人惊讶的是,CAR-Net在2017年的SHREC2017中表现出了明显的优势。与Ma et al.[37]和3D2SeqViews[30]相比,我们的方法总体上也得到了更好的结果。这两种比较方法在不同的指标下显示了不平衡的性能(例如高宏召回和极低的宏精度)。相反,我们的结果在不同的指标上更稳定,实现了相对较高的值。在图7中,我们展示了与可用结果比较的方法的精度-召回(PR)曲线。可以看出,我们的方法在微观和宏观情况下都获得了最佳的PR曲线。

 

3. 消融实验

(a)为了显示CAR模块的好处,我们删除了CAR- net中的所有CAR模块,然后使用与之前相同的协议在ModelNet40/10上对生成的模型进行重新培训和测试。

 (b)来验证受益于使用信息在汽车模块角度关系,但是我们保持汽车模块删除vjk−vj, ||vjk−vj||22对应的描述符djk中定义的所有k, j。每个延时的大小在车里并相应地调整模块。

(c)同样,我们从djk中删除hjk−jj,wjk−hj来评估CAR-Net的性能,而不使用对应描述符的空间相对索引。

(d)我们将CAR模块中的max pooling分别替换为mean pooling和sum pooling,其中sum pooling使用qj作为元素的权重。

(e)为了比较CAR模块和非本地模块在利用视图通信方面的有效性,我们用中提出的非本地模块替换CAR网络中的每个CAR模块。采用视频处理的非局部模块进行多视图处理,将每个视图视为一个视频帧。与CAR模块一样,它接受多视图特征作为输入和输出增强的多视图特征,但没有显式地查找对应关系和利用视点关系。

 

结果:

(a)不使用CAR模块来利用视图对应,会观察到明显的性能下降。这表明视图对应对于三维形状识别是有用的,我们的CAR模块能够利用这种对应。

(b)没有利用CAR模块中的视图关系,CAR- net的性能会有一定的下降。这表明多视图方法中的视点关系有助于提高对三维形状的识别。

(c)空间相对指数也有助于改善业绩。

(d) CAR模块中使用sum或mean pooling的性能不如使用max pooling。

这表明CAR模块提供的有用线索主要来自最有趣的对应(即由最大池捕获的响应最强的对应)。

(e)与我们的CAR模块相比,非本地模块带来的改进比基线更小,产生明显更差的结果。 

 四. 结论

         本文提出了一种用于三维形状识别的多视图深度学习方法。该方法的关键部分是具有视点意识的对应感知学习模块。该模块揭示每个特征的跨视图/视图内潜在对应,然后从对应的视点关系描述符的对应对中学习增强的特征表示。在实验中,我们的方法显示出色的性能,在标准基准数据集上取得了令人印象深刻的结果。在CAR- net中,我们使用ResNet作为主干网,我们的CAR模块可以与其他主干网cnn相结合。

        此外,CAR模块可以直接集成到大多数现有的基于多视图的cnn的中间卷积层中,用于3D形状识别和其他多视图任务。我们把这些扩展作为我们未来的工作。此外,我们将研究新的架构,以更好地开发和集成视图对应和三维形状识别的视点关系,例如,使用图cnn来建模/学习与图结构的视点对应。

猜你喜欢

转载自blog.csdn.net/weixin_45223645/article/details/121164044