Anisotropic Convolutional Networks(AIC:各向异性卷积神经网络)

论文原文:

Anisotropic Convolutional Networks for 3D Semantic Scene Completionhttps://waterljwant.github.io/SSC/

作者主要对特异性卷积神经网络进行了解

Q1:混合特征提取器?

A1:混合特征提取器包含两个平行分支,分别用于深度图和RGB图像的特征提取。每个分支包含一个2D和3D CNN的混合结构。2D和3D cnn通过2D-3D投影层连接起来,允许模型将2D特征图转换为适合于3D语义场景完成(SSC)的3D特征图。

混合特征提取器的结构遵循DDRNet的结构。

多阶段特征聚合模块由一系列AIC模块组成,每个模块都可以动态地灵活调整三维环境。这些AIC模块的输出被连接在一起,另两个AIC模块将这些多级信息融合在一起。然后,通过在融合特征上应用一系列体素级的三维卷积层,重构出三维语义场景。

Anisotropic Convolutional Networks(各向异性卷积神经网络)

小的感受野可以提取局部特征,大的感受野可以提取全局特征,像FCN,U-Net,他们的感受野都比较大,可以直接抓取整张图片的特征,作者想用一个大的3D感受野去提取更全局的3D特征,但是无奈大的3Dpatch更耗内存,所以在分别率和内存之间取了一个折中——anisotropic networks(各向异性网络)

总体结构

AIC-Net的总体架构。

  • 它包括一个混合特征提取器( a hybrid feature extractor ),用于深度图和RGB图像的特征提取;
  • 一个多阶段特征聚合模块( multi-stage feature aggregation module)通过AIC模块堆栈对混合特征提取器获得的特征进行聚合,
  • 两个额外的AIC模块来融合多阶段信息,
  • 然后通过一系列体素级的三维卷积层来重建三维语义场景

Anisotropic Convolution(各项特异卷积)

考虑到物体形状、布局以及不同遮挡程度在SSC中的变化,对不同的上下文信息建模从而推断不同体素位置的占用率和语义将是有益的。为了适应这种变化,提出了各向异性卷积(AIC)模块,使卷积能够适应三维几何变形。

图2是我们的AIC模块的结构。与固定而有限的3D接受域的3D卷积核(K1 * K2 * K3)不同,我们通过尺寸可学习的3D的核来对维度的各向异性特性进行建模。为了实现这一点,我们首先将三维卷积运算分解为沿每个维度x, y, z的三个一维卷积运算的组合。在每个维度中,我们可以注入不同大小的多个内核(例如实现中的3个),以支持更灵活的上下文建模:

比如对于X,我们可以有三个核(1*1*k^{x}_{1})、(1*1*k^{x}_{2})、(1*1*k^{x}_{3}),我们将学习一组选择权值,即调制因子(modulation factors),沿着三个维选择合适的内核。请注意,不同维度的候选内核不必相同。当沿x、y和z维分别存在n、m和l个候选核时,可能的核组合可以指数增长为,{k^{1}_{z},k^{2}_{z},....k^{l}_{z}} × {k^{1}_{y},k^{2}_{y},....k^{m}_{y}} × {k^{1}_{x},k^{2}_{x},....k^{n}_{x}}.AIC模块可以学习为每个维度选择不同的核,形成各向异性卷积以捕获各向异性3D信息。

下图是我们的AIC模块的结构。对于每一维,我们以3个不同核大小的并行卷积为例。不同核的学习调制因子(modulation factors )用不同的颜色表示。调制因数的值为正,并且每行的值之和为1。

Modulation factors 

 调制因数 为了使模型能够确定候选核的最优组合,从而自适应地控制上下文来对不同的体素建模,我们在AIC模块中引入了调制模块。

假设AIC模块的输入是张量:X_{t-1}\epsilon R^{x*w*h*d}(其中L,W,H表示张量的长度、宽度和高度,D表示特征的维度),输出X_{t}\epsilon R^{x*w*h*d}可表示为,其中Fu表示沿u∈{x,y,z}维的各向异性卷积。

我们采用一种残差结构,将连续三个各向异性一维卷积的输入张量和输出按单元求和,从而得到输出。在不失去一般性的情况下,我们将可以表示为

其中表示使用θxi,即大小为(1,1,kxi)的核对Xt-1执行卷积,其中kxi∈{kx1,kx2,···,kxn},N是维度x的候选核的总数,并且表示⨀按元素相乘。

是从输入张量到用于沿维度x选择核的权重或调制因子的映射函数,φx表示映射函数的参数。


使用softmax是的每个维度u∈{x,y,z}的核的权重相加为1

 

在这个意义上,我们采用一组权值的软约束来确定不同内核的重要性。两种极端情况是,学习到的调制因子为1或0,表示对应的核将是唯一选择或被忽略。通过使用软值,我们可以更灵活地控制这些内核的贡献。
在图2中,我们展示了一个AIC模块的例子,m = n = l = 3,如图所示,g^{u}(\cdot ,\cdot )是通过与核(1 × 1 × 1)的1层三维卷积实现的。

 Bottleneck anisotropic convolution

 为了进一步减少AIC模块的参数,提出了一种基于瓶颈的AIC模块。如图3所示,对于每个AIC模块,在AIC运算前后都加一个(1×1×1)卷积。这两个卷积负责减少和恢复特征通道,使AIC模块具有更紧凑的输入。在本文的剩余部分,除非另有说明,AIC指的是基于AIC的瓶颈。

 瓶颈版AIC模块。第一次卷积减少了从D到D’(D’< D)的通道数量,最后一次卷积将通道增加回D

Multi-path Kernel Selection

尽管单个AIC模块具有吸引人的特性,但在这里我们展示了通过堆叠多个AIC模块可以获得更大的灵活性。堆叠多个AIC模块隐式地在层间形成多个可能路径,从而使模型的接受域变化范围广泛。图4显示了一个由四个AIC模块组成的堆栈,每个模块沿三个维度设置内核大小为{3,5,7}。
对于一个特定的维度,当每个模块倾向于选择内核大小7时,这个维度的最大接受字段将获得25。相反,如果核大小3在该维度的四个AIC模块的选择中都占主导,则一个维度的最小接受域为9。理论上,这个特定维度的接受域可以在(9,25)的范围内自由变化。当同时考虑三个维度时,我们的AIC网络支持的3D接受域的数量将呈指数级增长,这将为建模对象变化提供灵活性和能力,这是竞争方法无法做到的。

一维多路径内核选择的例子。在本例中,堆叠了四个AIC模块,每个模块的每个维度的内核大小为{3,5,7}。内核的背景暗度表示调制因子的值,从而反映了对该内核的选择趋势。堆叠多个AIC模块可以成倍地增加接受域的范围。

Training Loss

我们提出的AIC网络可以通过端到端方式进行训练。我们采用体素级交叉熵损失函数进行网络训练。损失函数可以表示为:

  • 其中Lsm交叉熵损失,
  • yijk标签的groundtruth(i,j,k)
  • pijk相同体素的预测
  • wijk是平衡语义类别的权重,我们遵循[16,10],在我们的实验中使用相同的权重。

 总结

作为体素级标注任务,场景语义填充任务需要同时推测体素是否占用和语义标签,从单个深度图或者结合RGB图。SSC的关键挑战在于,如何有效的利用3D语义信息来对形状、图层、可见性等变化有效的进行描述,为了处理这些问题,我们提出,一种各向异性卷积。标准的3D卷积通常将感受野固定,但是我们提出的模块可以在体素上描述各个维度。最核心的思想就是,将3D卷积分解到各个维度的1D卷积,并且1D卷积的核大小是在线自适应的。同过堆叠这样的各向异性卷积,可以进一步提高体素级的描述,同时网络参数量也能有效控制,本文在NYU-Depth-v2和NYUCAD上进行了实验,验证了提出方法的有效性。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值