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

news/发布时间2024/5/14 9:01:14

文章目录

  • 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.bcls.cn/JXED/526.shtml

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

相关文章

【从Python基础到深度学习】 8. VIM两种状态

一、安装 sudo apt install vim 二、VIM两种模式 - 命令状态/编辑状态 1.1 进入/退出VIM 进入VIM vim 退出vim :q <enter> 2.2 根目录下添加配置文件 window下创建vimrc类型文件内容如下&#xff1a; set nu set cursorline set hlsearch set tabstop4 使用Wins…

为什么CrossOver for Mac 24运行的运行游戏黑屏

品牌型号:MacBook Air 系统:macOS 10.13 软件版本: CrossOver for Mac 24 CrossOver是一款类虚拟机软件&#xff0c;它能像虚拟机一样在mac中安装windows应用程序。与虚拟机相比&#xff0c;CrossOver减少了搭建windows系统环境的复杂步骤。同时&#xff0c;CrossOver支持的…

uni-app学习:真机调试

感觉某些文章的步骤写得不是非常完整,新手看可能会感觉很迷糊,故写此文,对一些知识进行整合与完善,帮助他人,这种文章以后我可能会写很多,我感觉很有意义。 需要用可以进行文件传输的USB线把自己的手机和电脑进行连接。 然后,手机要进入开发者模式。 小米(Mi) 红米…

[OPEN SQL] 修改数据

MODIFY语句用于修改数据库表中的数据 MODIFY拥有INSERT和UPDATE的操作&#xff0c;如果数据库表中不存在符合条件的数据则会添加该条新数据&#xff0c;反之数据库表中存在符合条件的数据则会更新该条数据 本次操作使用的数据库表为SCUSTOM&#xff0c;其字段内容如下所示 航…

云原生之容器编排-Docker Swarm

1. 前言 上一篇我们讲到Docker Compose可以定义和运行多容器应用程序&#xff0c;用一个YAML配置文件来声明式管理服务&#xff0c;在一台安装了Docker engine的Linux系统上可以很好的工作&#xff0c;但是现实中不可能只有一台Linux系统&#xff0c;一台Linux系统不可能有足够…

Spring源码:手写SpringIOC

文章目录 一、分析二、实现1、版本1&#xff1a;实现Bean注入IOC容器&#xff0c;并从容器中获取1&#xff09;定义BeanDefinition2&#xff09;定义BeanDefinition实现类3&#xff09;定义BeanDefinitionRegistry4&#xff09;定义Beanfactory5&#xff09;定义默认Beanfactor…

GitLab私有Git

GitLab私有Git 1 GitLab简介 GitLab是整个DevOps生命周期的第一个单一应用程序。只有GitLab才能启用Concurrent DevOps&#xff0c;从组件链的约束中解锁组织。GitLab提供无与伦比的可见性&#xff0c;更高的效率和全面的治理。这使得软件生命周期加快了200&#xff05;&…

Stable Diffusion 模型下载:ToonYou(平涂卡通)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

【前端高频面试题--git篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;前端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 前端高频面试题--git篇 往期精彩内容常用命令git add 和 git stage 有什么区别怎么使用git连接…

内存管理详解

一些相关 【iOS】内存管理 什么是内存&#xff1f; 冯诺依曼结构 冯诺依曼结构中&#xff0c;存储器存放着程序的指令和数据&#xff0c;在程序运行时提供给CPU使用。 冯诺伊曼结构的瓶颈 CPU的运算速度远远大于了访存的速度&#xff0c;所以要找到一个速度、容量和成本都…

C# CAD SelectionFilter下TypedValue数组

SelectionFilter是用于过滤AutoCAD实体的类&#xff0c;在AutoCAD中&#xff0c;可以使用它来选择具有特定属性的实体。构造SelectionFilter对象时&#xff0c;需要传入一个TypedValue数组&#xff0c;它用于定义选择规则。 在TypedValue数组中&#xff0c;每个元素表示一个选…

vscode 开发代码片段插件

环境准备 node - 20v版本 &#xff0c;推荐使用nvm进行版本控制全局安装 "yo" 是 Yeoman 工具的命令行工具&#xff0c; npm i yo -g全局安装 generator-code 是一个 Yeoman 脚手架 gernerator-code npm i gernerator-code -g全局安装 npm install -g vsce官方文档 …

1.Electron初始与安装

这里写目录标题 一、前言二、下载三、简要总结 一、前言 原文以及该系列后续文章请参考&#xff1a;安装Electron 随着前端的不断强盛&#xff0c;现在的前端已经不再满足于网页开发了&#xff0c;而是在尝试能否使用前端的开发逻辑来开发PC端的桌面软件。 即用html、js、css…

服务器遭受 DDoS 攻击的常见迹象有哪些?

服务器遭受 DDoS 攻击的现象很常见&#xff0c;并且有时不容易预防&#xff0c;有部分原因是它们的形式多种多样&#xff0c;而且黑客手段越来越隐蔽。如果您怀疑自己可能遭受 DDoS 攻击&#xff0c;可以寻找多种迹象。以下是 DDoS 攻击的5个常见迹象&#xff1a; 1.网络流量无…

全视通智慧社区居家养老解决方案如何让老人住的更舒心?

随着老龄化社会的加速发展&#xff0c;老年人的养老问题愈发受到社会关注。传统的养老方式已经无法满足现代老年人的需求&#xff0c;他们更加注重生活的品质和舒适度。为了响应《城市居家适老化改造指导手册》要求&#xff0c;全视通智慧社区&居家养老解决方案应运而生&am…

人工智能技术应用笔记(二):OpenAI SORA文生视频模型技术报告全文中英对照 (GPT4翻译+人工润色)

目录 Video generation models as world simulators&#xff08;视频生成模型作为世界模拟器&#xff09; Turning visual data into patches &#xff08;将视觉数据转换为图像块&#xff09; Video compression network &#xff08;视频压缩网络&#xff09; Spacetim…

JMeter 测试脚本编写技巧

是一款开源软件&#xff0c;用于进行负载测试、性能测试及功能测试。测试人员可以使用 JMeter 编写测试脚本&#xff0c;模拟多种不同的负载情况&#xff0c;从而评估系统的性能和稳定性。以下是编写 JMeter 测试脚本的步骤。 第 1 步&#xff1a;创建测试计划 在JMeter中&am…

【前端工程化面试题目】webpack 的热更新原理

可以在顺便学习一下 vite 的热更新原理&#xff0c;请参考这篇文章。 首先有几个知识点需要明确 热更新是针对开发过程中的开发服务器的&#xff0c;也就是 webpack-dev-serverwebpack 的热更新不需要额外的插件&#xff0c;但是需要在配置文件中 devServer 属性中配置 hot&a…

【学习iOS高质量开发】——接口与API设计

文章目录 一、用前缀避免命名空间冲突1.为什么用前缀避免明明冲突2.应当如何避免3.要点 二、提供“全能初始化方法”1.什么是全能初始化方法2.如何重写初始化方法3.一个类有多个全能初始化方法要注意的问题3.要点 三、实现description方法1.什么是description方法2.在descripti…
推荐文章