IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 《Unsupervised Scale-consistent Depth ...》论文笔记 -> 正文阅读

[人工智能]《Unsupervised Scale-consistent Depth ...》论文笔记

这篇笔记是关于3篇文章的合集,它们分别是:

  1. 《Unsupervised Scale-consistent Depth and Ego-motion Learning from Monocular Video》
  2. 《Unsupervised Scale-consistent Depth Learning from Video》
  3. 《Auto-Rectify Network for Unsupervised IndoorDepth Estimation》

参考代码:

  1. SC-SfMLearner-Release
  2. sc_depth_pl

1. 概述

介绍:在自监督的深度估计算法中MonoDepth2一个较为经典的方法,文章的整体pipeline与其存在一定的相似性,都是输入连续视频帧作为输入,通过构建光度重构误差进行深度预测和相机位姿的修正。在这篇文中比较鲜明的创新点主要包含如下几点:
1)对于视频中存在物体运动、遮挡与一些困难像素区域(无纹理或是若纹理)情况提出了一种新的reweight机制,从而去降低这些像素在整体训练过程中的影响,从而提升深度自监督网络的训练稳定性;
2)自监督的深度估计方法在训练和测试中是使用不同的帧切片进行的,这就导致其深度预测的scale是不一致的,这就对后期恢复真实轨迹信息(视觉里程计)带来了困难,对此文章提出了一种对于帧间scale进行约束的方法。在此基础上再套用一个SLAM的上层架构便可以得到基于视频自监督的SLAM;
不过需要注意的是文章提出的scale一致性并不能代表深度预测的一致性和平滑性,这一点需要进行区分。

这篇博文的内容主要来自于上面提到的3篇文章,不过这里进行介绍的内容主要偏向于深度估计,所以像论文2中提到的涉及SLAM相关的内容这里不做更多扩展。

2. 方法设计

2.1 自监督深度估计pipeline

文章的深度估计pipeline见下图所示:
在这里插入图片描述
在上图中可以看到文章的方法与MonoDpeth2的方法很接近都是输入连续的2帧图像,通过DepthNet和PoseNet建立起图像之间的光度重构约束。输入的图像 ( I a , I b ) (I_a,I_b) (Ia?,Ib?)得到对应深度估计结果 ( D a , D b ) (D_a,D_b) (Da?,Db?)与相机位姿参数 P a b P_{ab} Pab?。则对于光度重构误差可以将其描述为如下形式:
L p = 1 ∣ V ∣ ∑ p ∈ V λ i ∣ ∣ I a ( p ) ? I a ′ ( p ) ∣ ∣ 1 + λ s 1 ? S S I M a a ′ ( p ) 2 L_p=\frac{1}{|V|}\sum_{p\in V}\lambda_i||I_a(p)-I_a^{'}(p)||_1+\lambda_s\frac{1-SSIM_{aa^{'}}(p)}{2} Lp?=V1?pV?λi?Ia?(p)?Ia?(p)1?+λs?21?SSIMaa?(p)?
其中, V V V是重投影之后有效像素的集合, I a ′ ( p ) I_a^{'}(p) Ia?(p)是图像 I a I_a Ia?重投影之后的图像。在此上按照输入图像作为引导对深度估计结果进行平滑约束:
L s = ∑ p ( e ? ? I a ( p ) ? ? D a ( p ) ) 2 L_s=\sum_p(e^{-\nabla I_a(p)}\cdot\nabla D_a(p))^2 Ls?=p?(e??Ia?(p)??Da?(p))2
完成深度的自监督约束之后,接下来便是对物体运动、遮挡和困难像素区域的处理了,作者通过对实际这些像素所处的深度估计值进行分析之后,得出其深度预测值在相邻两帧上是存在较大差异的。则可以通过网络约束的形式将这些深度区域进行约束使其深度结果一致,从而提升深度估计质量。

PS: 虽然文章的算法里面对这样的假设通过贴图方式进行说明,但是这个假设过强,还需要在后序的严重细致分析才能断定。个人觉得还是过强,才有了后序的文章中也借用了MonoDepth中的auto-mask机制。

回过头再看一下文章对于深度差异的描述:
D d i f f ( p ) = ∣ D b a ( p ) ? D b ′ ( p ) ∣ D b a ( p ) + D b ′ ( p ) D_{diff}(p)=\frac{|D_b^a(p)-D_b^{'}(p)|}{D_b^a(p)+D_b^{'}(p)} Ddiff?(p)=Dba?(p)+Db?(p)Dba?(p)?Db?(p)?
其中, D b ′ D_b^{'} Db?代表的是经过 D b D_b Db?差值之后的结果。之所以这样做的原因是按照相机位姿warp之后的深度并不是在图像网格上对其的,因此使用差值的方式去减少误差,详见下图:
在这里插入图片描述
文章的意图是实现warp之后的深度差异最小化,则其约束描述为:
L G C = 1 ∣ V ∣ ∑ p ∈ V D d i f f ( p ) L_{GC}=\frac{1}{|V|}\sum_{p\in V}D_{diff}(p) LGC?=V1?pV?Ddiff?(p)
更近一步将这里得到的信息运用到光度重构中的权重mask被描述为:
M = 1 ? D d i f f M=1-D_{diff} M=1?Ddiff?

至于像上面提到的第二篇文章里面提到的ARN模块,其是建立在不同数据集的统计上来的,这里将KITTI和NYU数据集的旋转平移特性进行分析得到下面的像素分布:
在这里插入图片描述
相当于说NYU数据集存在更多的旋转分量(因为手持),因而文章专门设计了一个ARN模块去减少旋转带来的影响,从而提升整体自监督深度估计的性能。这里更大程度上是提供了一种分析问题的思路,不同数据集情况也不一样,参考价值有限。

3. 实验结果

“SC-SfMLearner-Release”的性能比较:
在这里插入图片描述
“sc_depth_pl”的性能比较:
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-27 10:59:45  更:2022-02-27 11:00:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:42:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码