【paper】Unsupervised Monocular Depth Estimation with Semantic-aware Representation
文章目录
驱动因素
学术贡献
系统架构
网络概述
深度估计与语义分割
基于SceneNet的自监督学习
- Experiment
论文地址:Self-supervised Monocular Depth Estimation of Semantically-Aware Representations
Motivation
对于场景理解与表示方面,在深度信息获取过程中,depth能够提供的是一种立体结构的信息特性;而segmentation(简记为seg)则提供了语义层面的信息描述。值得注意的是,在涵盖的内容方面,两者确实存在一定的相似性。因此,在深度预测任务中采用无监督学习方法并结合有监督学习策略来提升深度图预测的效果。
contribution
1、揭示了当前无监督深度预测方法可能存在的"不匹配问题"(会在下面详细阐述)
2、提出了一种名为ScenceNet的架构,能够同时获取几何信息与语义信息(具体内容将在后文介绍)
3、通过端到端的网络结构设计,作者得以利用多种数据集进行训练
4、实现了最先进水平的表现
Framework

作者的目标是直接从单目图像中推断深度信息。然而,在实际操作过程中,他所预测的是被称为视差(disparity)的一个量度。由于视差与深度之间存在特定的关系式可知,在无监督的情况下预测深度时采用的主要方法是基于左右眼立体图像计算视差。The aim is to simultaneously address both unsupervised depth prediction and supervised segmentation tasks.Therefore, he has proposed an end-to-end framework that integrates these tasks for joint training.
overview of network
详细分析网络的工作流程:该网络的输入为单目RGB图像,并基于此进行处理以生成深度信息。该网络的主要来源分为两类:第一类是来自立体视觉数据(左、右眼视角),用于估计深度信息;第二类是带有语义分割标签的RGB图像(左、右眼视角),用于生成语义分割结果。
从我的角度来看,这个问题似乎与多任务学习密切相关。然而,在我的理解中,默认情况下这一现象已经被作者所观察到并加以指出了。他进一步指出,在现有的多任务框架中,默认的做法是每个任务都配备独立的子网络结构,在这种情况下还需要额外进行微调操作……这样的设计在跨数据集迁移时显得不够高效。因此他提出了采用共享编码解码器的创新性思路以解决这一问题
通过编码操作生成的特征图中包含着图像的关键信息,在传递至解码器前会与一个标记张量t一同传递到解码器中以区分分割层和深度估计层。
3、通过融合feature map和t信息后输入到解码模块中,在最后一层预测层依据t的值决定具体操作步骤。softmax输出结果包括分类标签(seg)或者平均池化所得视差(disparity)。
depth estimation&semantic segmentation
深度估计采用无监督学习方法,在原有Godard方法的基础上有所改进。G的方法是从左眼图像I_l出发直接计算得到左右眼视差图d_l和d_r;然而由于这一过程会导致预测得到的右眼视差图d_r与真实右眼图像I_r之间出现差异(mismatch)。因此为了校正这一预测结果与实际图像之间的差异问题作者采用了镜像反转操作(flip)。
self-supervised learning of SceneNet
在技术领域中通常被称为自监督,在其核心机制是利用生成的segmentation mask来优化disparity估计。具体操作则通过文中所述的数学公式来实现。
Experiment
分别在KITTI和Cityscapes数据集上进行实验研究,并观察到模型性能得到了显著提升。通过对比实验分析发现,在多个测试场景中均取得了显著的进步。同时,在详细的对比测试中进一步验证了各组件的工作状态。
在整个训练过程中,在单块GTX 1080显卡上占用了一个完整的训练周期(约32小时),并采用批量大小为4、经过20个epoch的训练方案。
写在最后:这篇论文的主要贡献并不复杂:提出了一种能够通用地解决multi-task问题的方法框架;此外还改进了无监督深度估计技术;并附加了一种基于自监督学习的技术模块。
我认为这些多任务共享同一个encode-decode架构非常有趣。目前很少有研究能够开发出一种通用性的多任务解决方案;然而这些共享网络结构也面临着训练上的挑战。
