摘要:
- 通过利用CNN内核处理空间信息的本质,深度图像中的几何体能够无缝地集成到CNN中。
- depth-aware CNN不向传统CNN中引入任何参数和计算复杂性。
- depth-aware convolution和depth-ware average pooling可以以最小的成本取代传统CNN中的标准卷积和池化。
depth-aware convolution 中信息传播的插图
如图,Input Feature的滤波器窗口大小为3×3。在图中所示的深度相似性中,较暗的颜色表示较高的相似性,而较浅的颜色表示两个像素的深度较不相似。在(a)中,Depth-aware Convolution的输出激活是深度相似性窗口和输入特征映射上的卷积窗口的乘法。与卷积中心具有相似深度的像素将在卷积期间对输出产生更大的影响。类似地,在(b)中,Depth-aware Average Pooling合并的输出是由深度相似性加权的输入窗口的平均值。
Depth-aware Convolution
标准2D卷积运算是局部网格的加权和。
其中R是x中p0周围的局部网格,w是卷积内核。R可以是普通卷积核和膨胀卷积定义的规则网格,也可以是非规则网格。
如图,A和C同属于Table,B属于Chair,它们在RGB图像中都具有相似的视觉特征,而它们在深度上是可分离的。Depth-aware CNN在卷积和池化时包含像素间的几何关系。 当A是滤波器窗口的中心时,C对输出单元的贡献大于B。
为了利用像素之间的深度相关性,Depth-aware Convolution简单地添加深度相似性项,从而在卷积中产生两组权重:
1) 学得的卷积核
2) 两个像素之间的深度相似度
因此,公式(1)可以写成如下方式:
的形式:
是一个常量,的选择基于直觉,即具有相似深度的像素应该彼此具有更大的影响.
注意:部分在反向传播期间不需要梯度,因此公式(2)并没有通过相似性项引入任何参数。
正如图一(a)所示,与卷积中心具有相似深度的像素将在卷积期间对输出产生更大的影响。
Depth-aware Average Pooling
传统的average pooling计算网格R相对于x的平均值。 它被定义为
对于每个像素位置p0,Depth-aware Average Pooling操作然后变为
反向传播过程中,梯度应该乘上 ,正如图一(b)所示,这种操作避免了标准池化的固定几何结构。
RGB-D Semantic Segmentation Result
NYUv2
SUN-RGBD
性能分析
为了更好地理解Depth-aware CNN如何优于baseline,我们可视化图6(a)中每个语义类的IoU改进。 统计表明,D-CNN在大多数物体类别上都优于baseline,特别是天花板和窗帘等大型物体。 此外,我们观察到深度感知的CNN具有比baseline更快的收敛,尤其是从头开始训练。 图6(b)显示了训练步骤的训练损失演变。 我们的网络损失值低于baseline。 深度相似性有助于保留边缘细节,然而,当深度值在单个对象中变化时,深度感知的CNN可能丢失上下文信息。 一些失败案例可以在补充材料中找到。
模型复杂性和运行时分析
表11报告了D-CNN的模型复杂性和运行时间以及最先进的方法[27]。 在他们的方法中,kNN至少需要O(kN)运行时间,其中N是像素的数量。 我们利用原始深度输入的网格结构。 如表11所示,深度感知操作不包含任何新参数。 网络前进时间仅略大于其基线。 在不增加任何模型参数的情况下,D-CNN能够有效地将几何信息合并到CNN中。
总结
通过两个操作引出了Depth-aware CNN:Depth-aware Convolution和Depth-aware Average Pooling(在深度图上算一个深度相似性,把深度相似性作为一个权重)。在不引入任何参数和计算复杂性的情况下,该方法能够大幅提高基线上RGB-D分割的性能。