论文阅读 - Non-Local Spatial Propagation Network for Depth Completion

文章目录

  • 1 概述
  • 2 模型说明
    • 2.1 局部SPN
    • 2.2 非局部SPN
    • 2.3 结合置信度的亲和力学习
      • 2.3.1 传统正则化
      • 2.3.2 置信度引导的affinity正则化
  • 3 效果
    • 3.1 NYU Depth V2
    • 3.2 KITTI Depth Completion
  • 参考资料

1 概述

本文提出了一种非局部的空间传播网络用于深度图补全,简称为NLSPN。
(1)为什么需要深度图补全?
在AR、无人机控制、自动驾驶和运动规划等应用当中,需要知道物体的稠密深度信息。现有的大部分深度传感器,如雷达、RGB-D相机等,可以提供RGB图片和准确的稀疏深度图,未提供的部分需要通过算法进行补全。
这种通过稀疏的深度图和其他信息(如RGB信息)对深度图进行补全的算法称为深度补全算法

(2)现有的技术有哪些缺陷?
在这篇论文出现之前的深度补全算法中,直接深度补全算法采用RGB或RGB-D图像,并使用深度卷积神经网络(CNN)直接预测稠密深度。与传统的算法相比,这些直接预测算法表现出更好的性能,然而,它们仍然会在深度边界附近生成模糊的深度图
因此,最近基于亲和力(affinity)的空间传播方法缓解了这种现象。通过学习局部邻域的亲和力并迭代地细化深度预测,使最终的稠密深度变得更加准确。尽管如此,以前的传播网络有一个明确的限制,即它们具有用于传播的固定局部邻域配置。固定局部邻居通常具有不相关的信息,不应与参考信息混合,尤其是在深度边界上。因此,它们在深度补全任务中仍然存在混合深度问题。
这里混合深度的意思就是在预测时物体边界部分的深度将前景与背景的深度插值了,从点云图上看的话,就会看到如同瀑布一般的噪声。

(3)本文提出的方法有什么创新点?
为了解决混合深度的问题,本文提出了一种非局部空间传播网络(NLSPN),该网络预测每个像素的非局部邻居(即信息应该来自哪里)和空间变化的亲和力(即应该传播多少信息)。通过放宽固定局部邻域配置,所提出的网络可以避免与其他相邻对象关联的不相关局部邻域。因此,本文的方法本质上对混合深度问题具有鲁棒性。也就是边界部分的前景点只参考位于前景的邻域点,边界部分的背景点只参考位于背景的领域点。
此外,基于对传统亲和力归一化方案的分析,提出了一种可学习的亲和力归一化方法,该方法具有更大的亲和力组合表示能力。它支持更准确的亲和力估计,从而提高了非本地邻居之间的传播。为了进一步提高对输入异常值和不准确的初始预测的鲁棒性,本文预测初始稠密深度的置信度,并将其纳入亲和归一化中,以最小化不可靠深度值的传播。
这里的初始稠密深度是网络根据RGB图和稀疏深度图预测的稠密深度图,后面会具体说明。
NYU Depth V2数据集上效果示例图

图1-1 NYU Depth V2数据集上效果示例图

图1-1中,(a)表示NLSPN预测的某几个像素的邻域示例,可以看出范围很广,且都在同一个物体上,(b)表示网络预测的初始稠密深度图,©表示使用局部空间传播修正(b)的结果,(d)表示使用非局部空间传播修正(b)的结果,可以看出边界部分明显优于©,(e)是真值。

2 模型说明

2.1 局部SPN

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,nt1+(i,j)Nm,nwm,ni,jxi,jt1(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,nwm,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+qp=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+qp=∈{1,0,1},q{1,0,1},(p,q)=(0,0)}(2-4)

不同SPN可视化示意图如图2-1所示。
不同SPN可视化示意图

图2-1 不同SPN可视化示意图

从图2-1(e)和(f)不难看出,对于物体的边界部分,固定的SPN会将两个物体的深度混合计算,也就是会产生混合深度问题,而NLSPN只对同一个物体的深度混合计算。

2.2 非局部SPN

固定的局部邻域配置忽略了局部区域的物体/深度分布,因此会产生将前景和背景深度值混淆的深度值。虽然预测得到的亲和力大小可以适当缓解不相关深度值之间深度混合的问题,但是无法避免错误的预测,还是会使用不合适的邻域点。
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,qR}(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 算法整体流程图

作者注意到非局部传播(图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)=V1vVdvgtdvpredρ(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损失。值得注意的是,本文没有对置信度进行任何监督,因为没有置信度的真值。

2.3 结合置信度的亲和力学习

传统的基于亲和力的算法使用颜色统计或手动特征,现在发现采用深度学习有更好的效果,在这些方法中,亲和力正则化对于稳定的传播有着重要的作用。作者说明了传统的正则化方法和其局限性,并提出在归一化过程中加入初始预测的置信度,以抑制传播过程中不可靠的深度值的负面影响。

2.3.1 传统正则化

根据其他文献,传播稳定的前提是邻域权重和小于等于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,nwm,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,nw^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 iwi>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,CK(2-8)

其中, C ≥ K C \geq K CK保证了 ∑ ( 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,nwm,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,nwm,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*仍然有机会避免归一化,它允许我们探索更多样化亲和力的邻域点。

不同正则化方式示意图

图2-3 不同正则化方式示意图

2.3.2 置信度引导的affinity正则化

已有的传播框架,亲和力描述了像素之间的相关性并提供传播的指导,这是基于像素之间的相似性来做的。每个像素同等对待,认为都是可信的。但是,深度补全任务中,不同像素点加权需要考虑可信度。

本文将预测置信度图并与亲和力正则化结合,结合了置信度的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,jtanh(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)处的置信度。

有无置信度传播的效果对比图

图2-4 有无置信度传播的效果对比图

3 效果

3.1 NYU Depth V2

NLSPN在NYU Depth V2数据集与其他模型的指标对比结果如下表3-1所示。

表3-1 NYU Depth V2数据集模型指标对比表

NYU Depth V2数据集模型指标对比表
图3-1是在NYU Depth V2数据集不同模型的可视化效果对比图。
NYU Depth V2数据集模型效果对比图

图3-1 NYU Depth V2数据集模型效果对比图

3.2 KITTI Depth Completion

NLSPN在KITTI Depth Completion数据集与其他模型的指标对比结果如下表3-2所示。

表3-2 KITTI Depth Completion数据集模型指标对比表

KITTI Depth Completion数据集模型指标对比表

图3-2是在KITTI Depth Completion数据集不同模型的可视化效果对比图。其中,(a)和(b)是输入,分别是RGB和稀疏深度图;©是CSPN结果;(d)是DepthNormal结果;(e)是DeepLiDAR结果;(f)是FuseNet结果;(g)是CSPN++结果;(h)是本文模型的结果。
在这里插入图片描述

图3-1 NYU Depth V2数据集模型效果对比图

参考资料

[1] Non-Local Spatial Propagation Network for Depth Completion
[2] https://github.com/zzangjinsun/NLSPN_ECCV20.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/471737.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【案例8】用户中心实现涉及内容和过程

图1 如图1是用盒子模型内容实现的&#xff0c;但是需要了解一些内容。 一.内容知识引入 1.内边距属性&#xff08;padding&#xff09; 为了调整盒子在网页中的显示位置&#xff0c;常常需要为元素设置内边距。内边距也被称为内填充&#xff0c;是指元素内容和边框之间的距离…

【医学图像分割 2024】BEFUnet

文章目录 【医学图像分割 2024】BEFUnet摘要1. 介绍2. 相关工作2.1 基于CNN的分割网络2.2 ViT2.3 用于医学图像分割的Transformer 3. 方法3.1 双支路编码器3.1.1 边缘编码器3.1.2 主体编码器 3.2 LCAF模块3.2.1 双级融合模块(DLF) 3.3 损失函数3.3.1 边缘监督损失3.3.2 整体边缘…

NLP_ChatGPT的RLHF实战

文章目录 介绍小结 介绍 ChatGPT 之所以成为ChatGPT&#xff0c;基于人类反馈的强化学习是其中重要的一环。而ChatGPT 的训练工程称得上是复杂而又神秘的&#xff0c;迄今为止&#xff0c;OpenAl也没有开源它的训练及调优的细节。 从 OpenAl已经公开的一部分信息推知&#xff…

最小生成树(Kruskal算法及相关例题)

1.Kruskal算法概念以及基本思路 &#xff08;1&#xff09;概念&#xff1a; 克鲁斯卡尔算法是求连通网的最小生成树的另一种方法。它的时间复杂度为O&#xff08;ElogE&#xff09;(E是图G的边的总数)&#xff0c;适合于求边稀疏的网的最小生成树 。 其基本思想是&#xff…

Python 异常处理语句

Python 是一门广泛应用于软件开发和数据科学领域的高级编程语言。在编写程序的过程中&#xff0c;难以避免地会遇到各种错误和异常情况。Python 提供了丰富的异常处理机制&#xff0c;帮助开发者优雅地应对异常&#xff0c;使程序具有更好的稳定性和可靠性。本文将深入探讨 Pyt…

生成式AI相关知识记录

一、简述开发步骤 开发一个生成式AI模型通常涉及以下步骤&#xff1a; 1. **需求分析与目标设定**&#xff1a; - 确定应用领域和目标&#xff0c;例如文本生成、图像生成、音乐创作等。 - 分析应用场景的具体需求&#xff0c;包括输出质量、速度、多样性、可控性等因素…

SORA:OpenAI最新文本驱动视频生成大模型技术报告解读

Video generation models as world simulators&#xff1a;作为世界模拟器的视频生成模型 1、概览2、Turning visual data into patches&#xff1a;将视觉数据转换为补丁3、Video compression network&#xff1a;视频压缩网络4、Spacetime Latent Patches&#xff1a;时空潜在…

LEETCODE 164. 破解闯关密码

class Solution { public:string crackPassword(vector<int>& password) {vector<string> password_str;for(int i0;i<password.size();i){password_str.push_back(to_string(password[i]));}//希尔排序int gappassword.size()/2;while(gap>0){for(int i…

安卓TextView 拖动命名

需求&#xff1a;该布局文件使用线性布局来排列三个文本视图和一个按钮&#xff0c;分别用于显示两个动物名称以及占位文本视图。在占位文本视图中&#xff0c;我们为其设置了背景和居中显示样式&#xff0c;并用其作为接收拖放操作的目标 效果图&#xff1b; 实现代码 第一布…

NSSCTF Round#18 RE WP 完整复现

1. GenshinWishSimulator 恶搞原神抽卡模拟器 看到软件的界面&#xff0c;大致有三种思路&#xff1a; 修改石头数量一直抽&#xff0c;如果概率正常肯定能抽到&#xff08;但是估计设置的概率是0&#xff09;在源码里找flag的数据把抽卡概率改成100%直接抽出来 Unity逆向&am…

mpack简明教程

文章目录 摘要MessagePack简介MPACK的简单使用在定长的buffer存储不定长的数据读取截断的数据 摘要 本文先简单介绍MessagePack的基本概念。 然后&#xff0c;介绍一个MessagePack C API - MPack的通常使用。 接着尝试对MPack截断数据的读取。 注&#xff1a;本文完整代码见…

springboot187社区养老服务平台的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…