本文提出了一种非局部的空间传播网络用于深度图补全,简称为NLSPN。
(1)为什么需要深度图补全?
在AR、无人机控制、自动驾驶和运动规划等应用当中,需要知道物体的稠密深度信息。现有的大部分深度传感器,如雷达、RGB-D相机等,可以提供RGB图片和准确的稀疏深度图,未提供的部分需要通过算法进行补全。
这种通过稀疏的深度图和其他信息(如RGB信息)对深度图进行补全的算法称为深度补全算法。
(2)现有的技术有哪些缺陷?
在这篇论文出现之前的深度补全算法中,直接深度补全算法采用RGB或RGB-D图像,并使用深度卷积神经网络(CNN)直接预测稠密深度。与传统的算法相比,这些直接预测算法表现出更好的性能,然而,它们仍然会在深度边界附近生成模糊的深度图。
因此,最近基于亲和力(affinity)的空间传播方法缓解了这种现象。通过学习局部邻域的亲和力并迭代地细化深度预测,使最终的稠密深度变得更加准确。尽管如此,以前的传播网络有一个明确的限制,即它们具有用于传播的固定局部邻域配置。固定局部邻居通常具有不相关的信息,不应与参考信息混合,尤其是在深度边界上。因此,它们在深度补全任务中仍然存在混合深度问题。
这里混合深度的意思就是在预测时物体边界部分的深度将前景与背景的深度插值了,从点云图上看的话,就会看到如同瀑布一般的噪声。
(3)本文提出的方法有什么创新点?
为了解决混合深度的问题,本文提出了一种非局部空间传播网络(NLSPN),该网络预测每个像素的非局部邻居(即信息应该来自哪里)和空间变化的亲和力(即应该传播多少信息)。通过放宽固定局部邻域配置,所提出的网络可以避免与其他相邻对象关联的不相关局部邻域。因此,本文的方法本质上对混合深度问题具有鲁棒性。也就是边界部分的前景点只参考位于前景的邻域点,边界部分的背景点只参考位于背景的领域点。
此外,基于对传统亲和力归一化方案的分析,提出了一种可学习的亲和力归一化方法,该方法具有更大的亲和力组合表示能力。它支持更准确的亲和力估计,从而提高了非本地邻居之间的传播。为了进一步提高对输入异常值和不准确的初始预测的鲁棒性,本文预测初始稠密深度的置信度,并将其纳入亲和力归一化中,以最小化不可靠深度值的传播。
这里的初始稠密深度是网络根据RGB图和稀疏深度图预测的稠密深度图,后面会具体说明。
图1-1中,(a)表示NLSPN预测的某几个像素的邻域示例,可以看出范围很广,且都在同一个物体上,(b)表示网络预测的初始稠密深度图,©表示使用局部空间传播修正(b)的结果,(d)表示使用非局部空间传播修正(b)的结果,可以看出边界部分明显优于©,(e)是真值。
SPN的目标是通过传播具有相应亲和力的邻居值(即相似性)来估计缺失值并细化置信度低的值。SPN已被用作各种计算机视觉应用中的关键模块之一。SPN非常适用于深度补全任务,并已经证明了与直接回归算法相比,具有更优越的效果。
本节首先简要回顾局部SPN及其局限性。
令 X = ( x m , n ) ∈ R M × N X=(x_{m,n}) \in R^{M \times N} X=(xm,n)∈RM×N表示被SPN更新的2D深度图, x m , n x_{m,n} xm,n表示在像素 ( m , n ) (m,n) (m,n)位置的值。
在局部SPN中,对于每个像素点 x m , n x_{m,n} xm,n在时间步 t t t的迭代方式如式2-1所示。
x m , n t = w m , n c x m , n t − 1 + ∑ ( i , j ) ∈ N m , n w m , n i , j x i , j t − 1 (2-1) x_{m,n}^t = w_{m,n}^c x_{m,n}^{t-1} + \sum_{(i, j) \in N_{m,n}} w_{m,n}^{i,j} x_{i,j}^{t-1} \tag{2-1} xm,nt=wm,ncxm,nt−1+(i,j)∈Nm,n∑wm,ni,jxi,jt−1(2-1)
其中, ( m , n ) (m,n) (m,n)表示当前点, ( i , j ) (i,j) (i,j)表示邻域点, w m , n c w_{m,n}^c wm,nc表示当前点的亲和力, w m , n i , j w_{m,n}^{i,j} wm,ni,j表示邻域点和当前点之间的亲和力,也就是相似性。
式2-1右侧的第一项为当前点会被保留多少,右侧为邻域传播多少,当前点权重和邻域点权重的关系如式2-2所示。
w m , n c = 1 − ∑ ( i , j ) ∈ N m , n w m , n i , j (2-2) w_{m,n}^c = 1 - \sum_{(i, j) \in N_{m,n}} w_{m,n}^{i,j} \tag{2-2} wm,nc=1−(i,j)∈Nm,n∑wm,ni,j(2-2)
原始的SPN的每个方向是三路的,一共上下左右四个方向,更新是有顺序的,因此无法对所有方向同时更新,其top-to-bottom方向的邻域点表示为式2-3,其他方向不赘述。
N m , n S = { x m + p , n + q ∣ p = − 1 , q ∈ { − 1 , 0 , 1 } } (2-3) N_{m,n}^S = \{ x_{m+p, n+q} | p=-1,q\in \{-1,0,1\} \} \tag{2-3} Nm,nS={xm+p,n+q∣p=−1,q∈{−1,0,1}}(2-3)
CSPN是对于SPN的改进,可以同时对四个方向进行传播,更加高效,其邻域点表示为式2-4。
N m , n C S = { x m + p , n + q ∣ p = ∈ { − 1 , 0 , 1 } , q ∈ { − 1 , 0 , 1 } , ( p , q ) ≠ ( 0 , 0 ) } (2-4) N_{m,n}^{CS} = \{ x_{m+p, n+q} | p=\in \{-1,0,1\},q\in \{-1,0,1\}, (p,q) \neq (0,0) \} \tag{2-4} Nm,nCS={xm+p,n+q∣p=∈{−1,0,1},q∈{−1,0,1},(p,q)=(0,0)}(2-4)
从图2-1(e)和(f)不难看出,对于物体的边界部分,固定的SPN会将两个物体的深度混合计算,也就是会产生混合深度问题,而NLSPN只对同一个物体的深度混合计算。
固定的局部邻域配置忽略了局部区域的物体/深度分布,因此会产生将前景和背景深度值混淆的深度值。虽然预测得到的亲和力大小可以适当缓解不相关深度值之间深度混合的问题,但是无法避免错误的预测,还是会使用不合适的邻域点。
NLSPN通过预测邻域点来解决上述问题,预测邻域点用到了较大范围的颜色和深度信息,如式2-5所示,需要注意的是p和q是实数,也就是非局部邻域可以是亚像素精度的。亚像素精度也就意味着坐标是分数坐标,为了更好地将分数坐标纳入训练,在传播过程中采用了可微采样。
N m , n N L = { x m + p , n + q ∣ ( p , q ) ∈ f ϕ ( I , D , m , n ) , p , q ∈ R } (2-5) N_{m,n}^{NL} = \{ x_{m+p, n+q} | (p,q) \in f_{\phi}(I, D, m, n), p, q \in R \} \tag{2-5} Nm,nNL={xm+p,n+q∣(p,q)∈fϕ(I,D,m,n),p,q∈R}(2-5)
其中, I I I是RGB图像, D D D是稀疏深度图, f ϕ ( ⋅ ) f_{\phi}(\cdot) fϕ(⋅)表示非局部邻域点预测网络,为每个像素点预测 K K K个邻域。
网络为encoder-decoder结构,预测初始深度图、置信度图、非局部邻域点,邻域点的原始亲和力。该网络的encoder-decoder结构建立在残差网络的基础上,从RGB和稀疏深度图像中提取高级特征。此外,采用encoder-decoder特征连接策略来同时利用低级特征和高级特征。
然后以迭代的方式进行非局部空间传播。整体流程如图2-2所示。
作者注意到非局部传播(图2-2的右上角部分)可以通过可变形卷积有效地计算。因此,每次传播都需要一个简单的可变形卷积前向步骤和亲和力归一化。
训练时,损失函数使用的是 L 1 L_1 L1和 L 2 L_2 L2损失,如下式2-6所示。
L r e c o n ( D g t , D p r e d ) = 1 ∣ V ∣ ∑ v ∈ V ∣ d v g t − d v p r e d ∣ ρ (2-6) L_{recon}(D^{gt}, D^{pred}) = \frac{1}{|V|} \sum_{v \in V} |d_{v}^{gt} - d_{v}^{pred}|^{\rho} \tag{2-6} Lrecon(Dgt,Dpred)=∣V∣1v∈V∑∣dvgt−dvpred∣ρ(2-6)
其中, D g t D^{gt} Dgt是真实深度值, D p r e d D^{pred} Dpred是深度值的预测结果, d v d_v dv表示在像素 v v v的深度值, V V V表示有真值的像素集合, ∣ V ∣ |V| ∣V∣表示有真值像素的数量。当 ρ = 1 \rho = 1 ρ=1时,表示的是 L 1 L_1 L1损失,当 ρ = 2 \rho = 2 ρ=2时,表示的是 L 2 L_2 L2损失。值得注意的是,本文没有对置信度进行任何监督,因为没有置信度的真值。
传统的基于亲和力的算法使用颜色统计或手动特征,现在发现采用深度学习有更好的效果,在这些方法中,亲和力正则化对于稳定的传播有着重要的作用。作者说明了传统的正则化方法和其局限性,并提出在归一化过程中加入初始预测的置信度,以抑制传播过程中不可靠的深度值的负面影响。
根据其他文献,传播稳定的前提是邻域权重和小于等于1。根据式2-1,这等价于 ∑ ( i , j ) ∈ N m , n ∣ w m , n i , j ∣ < 1 \sum_{(i, j) \in N_{m,n}} |w_{m,n}^{i,j}| < 1 ∑(i,j)∈Nm,n∣wm,ni,j∣<1。
现有的正则化方式包括以下几种:
(1)Abs-Sum
Abs-Sum计算公式如下式2-7所示。
w m , n i , j = w ^ m , n i , j / ∑ ( i , j ) ∈ N m , n ∣ w ^ m , n i , j ∣ (2-7) w_{m,n}^{i,j} = \hat{w}_{m,n}^{i,j} / \sum_{(i, j) \in N_{m,n}} |\hat{w}_{m,n}^{i,j}| \tag{2-7} wm,ni,j=w^m,ni,j/(i,j)∈Nm,n∑∣w^m,ni,j∣(2-7)
正则化亲和力的可行组合偏向于狭窄的高维空间,以两个邻域点为例, ∣ w 1 ∣ + ∣ w 2 ∣ = 1 |w_1|+|w_2| = 1 ∣w1∣+∣w2∣=1,如图2-3(a)所示。
(2)Abs-Sum*
为发挥 ∣ w 1 ∣ + ∣ w 2 ∣ < 1 |w_1|+|w_2| < 1 ∣w1∣+∣w2∣<1的优势,Abs-Sum*只有当 ∑ i ∣ w i ∣ > 1 \sum_{i} |w_i| > 1 ∑i∣wi∣>1时使用式2-7。但还是有很大的概率和Abs-Sum一样,且随着邻域点 K K K的增大,越来越接近于Abs-Sum,如图2-3(b)所示。
(3)Tanh-C
一种减小亲和力偏向于狭窄高位空间的方法是限制原始亲和力值的大小,比如使用 t a n h ( ⋅ ) tanh(\cdot) tanh(⋅)限制到, [ − 1 / C , 1 / C ] [-1/C, 1/C] [−1/C,1/C],如式2-8所示。
w m , n i , j = t a n h ( w ^ m , n i , j ) / C , C ≥ K (2-8) w_{m,n}^{i,j} = tanh(\hat{w}_{m,n}^{i,j}) / C, C \geq K \tag{2-8} wm,ni,j=tanh(w^m,ni,j)/C,C≥K(2-8)
其中, C ≥ K C \geq K C≥K保证了 ∑ ( i , j ) ∈ N m , n ∣ w m , n i , j ∣ < 1 \sum_{(i, j) \in N_{m,n}} |w_{m,n}^{i,j}| < 1 ∑(i,j)∈Nm,n∣wm,ni,j∣<1。
Tanh-C牺牲了边缘值,但使得亲和力分布更加平衡。不过 C C C的最佳值会随着训练任务的变化而变化,比如邻居数量、激活函数、数据集等,如图2-3©所示。
(4)Tanh- γ \gamma γ-Abs-Sum*
为了确定任务的最佳值 C C C,作者建议学习归一化因子和非局部亲和力,并且只在 ∑ ( i , j ) ∈ N m , n ∣ w m , n i , j ∣ > 1 \sum_{(i, j) \in N_{m,n}} |w_{m,n}^{i,j}| > 1 ∑(i,j)∈Nm,n∣wm,ni,j∣>1时进行正则化,其式如式2-9所示。
w m , n i , j = t a n h ( w ^ m , n i , j ) / γ , γ m i n ≤ γ ≤ γ m a x (2-9) w_{m,n}^{i,j} = tanh(\hat{w}_{m,n}^{i,j}) / \gamma, \gamma_{min} \leq \gamma \leq \gamma_{max} \tag{2-9} wm,ni,j=tanh(w^m,ni,j)/γ,γmin≤γ≤γmax(2-9)
图2-3(d)是当 γ = 1.25 \gamma=1.25 γ=1.25时的例子。与Abs−Sum∗相比,Tanh- γ \gamma γ-Abs-Sum*仍然有机会避免归一化,它允许我们探索更多样化亲和力的邻域点。
已有的传播框架,亲和力描述了像素之间的相关性并提供传播的指导,这是基于像素之间的相似性来做的。每个像素同等对待,认为都是可信的。但是,深度补全任务中,不同像素点加权需要考虑可信度。
本文将预测置信度图并与亲和力正则化结合,结合了置信度的Tanh- γ \gamma γ-Abs-Sum*如2-10所示。
w m , n i , j = c i , j ⋅ t a n h ( w ^ m , n i , j ) / γ (2-10) w_{m,n}^{i,j} = c^{i,j} \cdot tanh(\hat{w}_{m,n}^{i,j}) / \gamma \tag{2-10} wm,ni,j=ci,j⋅tanh(w^m,ni,j)/γ(2-10)
其中, c i , j ∈ [ 0 , 1 ] c^{i,j} \in [0,1] ci,j∈[0,1]表示在像素 ( i , j ) (i,j) (i,j)处的置信度。
NLSPN在NYU Depth V2数据集与其他模型的指标对比结果如下表3-1所示。
图3-1是在NYU Depth V2数据集不同模型的可视化效果对比图。
NLSPN在KITTI Depth Completion数据集与其他模型的指标对比结果如下表3-2所示。
图3-2是在KITTI Depth Completion数据集不同模型的可视化效果对比图。其中,(a)和(b)是输入,分别是RGB和稀疏深度图;©是CSPN结果;(d)是DepthNormal结果;(e)是DeepLiDAR结果;(f)是FuseNet结果;(g)是CSPN++结果;(h)是本文模型的结果。
[1] Non-Local Spatial Propagation Network for Depth Completion
[2] https://github.com/zzangjinsun/NLSPN_ECCV20.git