问题
人类的视觉系统是通过双眼的立体视觉来感知深度的。通过大量实际场景的经验积累以后,人类可以在只有一张图像的情况下,判断图像中物体的前后距离关系。

在计算机视觉领域,单目深度估计试图模拟人类的视觉,旨在在只有一张图像作为输入的情况下,预测出每个像素点的深度值。

目前通用的解决方案是依赖深度学习强大的拟合能力,在大量数据集上进行训练,试图获取深度估计的能力。这一“暴力”解法尽管在某些特定数据集的测试场景上取得了优异的结果,但是网络的泛化能力较差,很难迁移到更一般的应用情形,无法适应不同的光照条件、季节天气,甚至相机参数的变化。其中一个具体的例子就是,相同的场景在不同光照条件下的输入图像,经过同一个深度估计网络,会出现截然不同的预测结果。

造成这一结果的原因在于,从人类感知心理学的相关研究中可以发现人的视觉系统更倾向于利用形状结构特征进行判断,而卷积神经网络则更依赖纹理特征进行判断。

例如,给定一只猫的图像,保留猫的轮廓,再使用大象的纹理去取代猫的皮毛纹理,人类倾向于认为图像的类别是猫,但是网络却会判定为大象。这种不一致性,会导致网络强行学习到的规律和人类不一致,很难完成对人类视觉系统的模拟。具体到深度估计领域,图像的纹理变化,例如不同的光照、天气、季节造成的影响都会对模型产生较大的影响。

另一个更为严重的问题,是网络容易根据局部的颜色信息来进行判断,而不是根据图像整体的布局。比如,深度网络会把前方路面上的白色卡车误认为是白云,将较近距离的卡车判断为较远距离的云,这种误判在自动驾驶场景中非常致命,会导致车辆无法对白色卡车进行合理规避,酿成严重事故。

目录

  • 摘要
  • 1.引言
  • 2.Related Work
    • 2.1.Monocular Depth Estimation
    • 2.2.Domain Adaptation and Generalization
    • 2.3.Image Translation and Style Transfer
  • 3.Depth-specific Structural Learning
    • 3.1.S2R-DepthNet
    • 3.2.Structure Extraction Module
    • 3.3.Depth-specific Attention Module
  • 4.Experiments
  • 个人总结

摘要

人类可以从草图而不是真实图像中推断场景的三维几何结构,这表明空间结构在理解场景深度方面起着基础性作用。我们是第一个探索深度特定结构表征学习的,它捕捉深度估计的基本特征,忽略不相关的style information。S2R深度网(Synthetic to Real DepthNet)可以很好地直接推广到看不见的真实世界数据,即使它只针对合成数据进行训练。S2R DepthNet包括:

  • 结构提取(STE)模块,该模块通过将图像分解为域不变结构和域特定样式组件,从图像中提取域不变结构表示;
  • 深度特定注意(DSA)模块,它学习特定于任务的知识来抑制与深度无关的结构,以便更好地进行深度估计和泛化;
  • 一个深度预测模块(DP),用于根据特定于深度的表示来预测深度。

在不访问任何真实图像的情况下,我们的方法甚至优于最先进的无监督域自适应方法,该方法使用目标域的真实图像进行训练。此外,当使用少量标记的真实数据时,我们在半监督设置下实现了最先进的性能。

1.引言

  • 图1:我们所学的结构表征的可视化。可以看出,尽管来自合成数据集和真实数据集的输入彩色图像在外观上非常不同,但我们的结构表示有许多相似之处,例如布局和object的形状等。此外,深度特定结构图抑制了平滑表面上与深度无关的结构,例如道路上的车道和墙上的照片。

单目深度估计试图模拟人类的视觉,旨在在只有一张图像作为输入的情况下,预测出每个像素点的深度值。常用于自动驾驶,3D场景重建,机器人航行等。最近,基于深度卷积神经网络(DCNN)的各种算法在有足够多注释数据的情况下取得了良好的性能。然而,获取深度注释既昂贵又耗时。最近的一些方法研究了通过视图重建从立体图像对(stereo images pairs)或视频序列进行自监督深度估计。但在现有的数据集中,立体图像对或视频序列可能并不总是可用的。此外,这些模型通常局限于训练数据域,难以扩展到各种应用场景。

一些研究人员转而使用合成图像(synthetic images)进行训练,这样可以直接获得深度标注。然而,合成数据和真实数据之间通常存在域差异,这是由不同域的风格差异造成的。为了解决这个问题,一些域自适应方法尝试对齐合成图像和真实图像的特征空间,或将合成图像转换为逼真的图像。然而,这些方法都需要在训练过程中访问目标域的真实图像,收集各种场景的真实图像是不实际的。

鉴于上述限制,我们考虑一个更实用的域泛化场景。在我们的设置中,我们只使用大量标记的合成数据,在训练阶段无法访问目标域的任何真实图像。与域自适应方法相比,这是一项更困难的任务,因为在训练过程中,我们甚至不知道真实世界图像的样式。

为了更好地概括深度估计,我们需要寻找这项任务的基本表示。结构信息对于这项任务非常重要,之前的一些工作探索将启发式结构信息引入网络架构或损失函数。我们是第一个探索学习深度特定结构表示的,用于泛化深度估计。图像表示可以分解为域不变结构组件(domain-invariant structure component)和特定于域的样式组件(domain-specific style component)。结构组件可进一步分为深度特定结构组件(depth-specific structure component)和深度无关结构组件(depth-irrelevant structure component)。深度特定结构组件是深度估计中最重要的部分,可以有效地从合成域转移到真实域。

为了获得特定于深度的结构表示,我们首先用结构提取(STE)模块,通过将图像分解为结构和样式组件,从图像中提取一个通用的域不变结构映射。然而,我们由此获得的结构表示是一个通用的低级别图像结构,其中包含大量相关结构,例如光滑表面上的结构(例如道路上的车道或墙上的照片)。此外,我们还提出了一个深度特定注意(DSA)模块,用于从输入图像中提取高级语义信息,并帮助抑制深度无关结构。由于只有特定于深度的结构信息才能从STE和DSA模块传递给深度预测(DP)模块,因此我们在合成数据上训练的S2R可以很好地推广到未知的真实世界图像。

我们将所学的结构表征和深度特定的结构表征可视化,如图1所示。尽管来自合成图像数据集和真实图像数据集的图像之间存在明显的风格差异,但我们学习的结构图和特定深度的结构图有许多相似之处。此外,特定于深度的结构图丢弃了与深度无关的结构,例如车道。高亮显示的天空是无穷远点的参考线索,有助于深度估计。

2.Related Work

2.1.Monocular Depth Estimation

单目深度估计任务旨在从单个图像中估计深度。之前的工作探索了网络结构,或与其他任务联合训练,例如normal、光流(optical flow)和分割(segmentation)。所有这些工作都是在特定域的数据集上进行训练和测试的,不考虑域差距。这些方法容易过拟合在指定的训练数据集上,缺少泛化性。然而,获取各种深度注释既昂贵又耗时。一些自监督方法将视频序列或立体图像对作为训练数据,并使用图像扭曲和重建损失来代替显式深度监督信号。然而,对于这些方法来说,动态对象和低纹理区域仍然是一个挑战。我们的工作是第一次探索另一个有希望的方向,即仅使用合成数据训练并直接对真实数据进行测试。

2.2.Domain Adaptation and Generalization

域适应和泛化方法处理训练和测试数据集之间的域差距。域自适应方法通过查看目标域中的数据并迁移源域上训练的模型,而域泛化只在源域上进行训练,在看不见的域上进行测试。受域适应工作的启发,研究人员试图利用合成数据来训练深度估计模型,并将其转换为真实数据。这些工作大致可分为两类:对齐合成图像和真实图像的特征空间,以及将合成图像转换为逼真的图像。这些方法都需要在训练过程中访问目标域的真实图像,但收集各种场景的真实图像是不实际的。我们的方法摆脱了这一限制,因为我们不使用任何真实图像进行训练,它具有更广泛的应用潜力。

2.3.Image Translation and Style Transfer

图像翻译任务将图像从一个域翻译到另一个域。之前的工作将图像表示分解为域不变结构组件和特定于域的样式组件。具体地说,Kazemi等人提出了风格和结构分离的GAN,GAN为图像生成分离风格和结构的表示。Huang等人将图像表示分解为结构和样式编码,并将其结构编码与从目标域的样式空间采样的随机样式编码重新组合,以将图像转换到另一个域。这些工作旨在将图像从一种风格转换为另一种风格,提取出一种与领域风格分离的结构表示。我们的目标是通过消除不相关因素的影响,寻求深度估计任务的基本的与可泛化的结构表示。

3.Depth-specific Structural Learning

3.1.S2R-DepthNet

我们的S2R是一个基于深度特定结构表征的可泛化的深度预测框架。如图2所示,我们的框架由结构提取(STE)模块SSS、深度特定注意(DSA)模块AAA和深度预测(DP)模块PPP组成。为了获取深度估计的基本表示,我们设计了一个两阶段的学习pipeline:STE模块通过将图像分解为结构和样式组件来提取域不变的结构表示MsM_{s}Ms​,DSA模块通过任务特定的注意力MaM_{a}Ma​来抑制相关结构,从而生成深度特定的结构图MsaM_{sa}Msa​。

  • 图2:S2R模型概,⊗ 代表 element-wise 乘法。

3.2.Structure Extraction Module

STE模块旨在从不同风格的图像中提取域不变结构信息。STE模块包括一个用于提取结构信息的编码器εs\varepsilon_{s}εs​和一个用于将编码的结构信息解码为结构图的解码器DsD_{s}Ds​,如图2所示。

受图像翻译工作的启发,我们采用图像翻译框架来训练编码器。为了使εs\varepsilon_{s}εs​能够泛化到各种风格的图像,我们选择风格变化较大的Painter By Numbers(PBN)数据集作为图像翻译的目标域,并选择合成数据集的图像作为源域。我们使用共享的εs\varepsilon_{s}εs​来提取源数据集和目标数据集的结构。这与图像翻译不同,后者对源数据集和目标数据集使用不同的编码器。因此,εs\varepsilon_{s}εs​可以看到各种样式的数据,并提取对任何特定样式都不敏感的结构特征。在对εs\varepsilon_{s}εs​进行训练后,我们可以从合成图像中提取结构信息。在训练其他模块以保持其泛化结构提取能力时,εs\varepsilon_{s}εs​的权重是固定的。

为了恢复εs\varepsilon_{s}εs​编码信息的空间结构,我们选择使用解码器DsD_{s}Ds​重建与输入图像具有相同空间分辨率的结构图MsM_{s}Ms​。由于这个结构图没有GT,我们将结构图提供给DP模块,并使用GT的深度标签来训练DsD_{s}Ds​。我们通过鼓励结构图的值在深度图平滑的地方变小,从而在结构图中添加了一个启发式正则化损失。给定输入图像III和相应的GT DDD,训练DsD_{s}Ds​的损失为:

其中,D^\widehat{D}D是预测深度图,ppp是像素的index,▽x,▽y\triangledown_{x},\triangledown_{y}▽x​,▽y​分别是水平梯度算子和垂直梯度算子,λ,β\lambda,\betaλ,β是超参数。

3.3.Depth-specific Attention Module

我们的目标是学习泛化深度估计的潜在结构表示。目前,STE模块的结构图包含丰富的低层结构,包括大量与深度无关的结构,例如光滑表面上的详细纹理结构。STE模块的编码器设计用于捕获低电平特征,只需4次下采样。此外,为了更好的泛化,编码器中有很多实例Norm(IN)操作,这会导致判别特征的丢失,并且对语义特征提取有害。相比之下,许多研究人员发现高级语义知识对深度估计任务非常重要。

为了从深度估计中提取更具影响力的高层语义知识,我们设计了一个DSA模块,从原始输入图像中预测注意力图AAA。通过利用从原始图像中提取的高级语义信息,该注意力图有助于抑制与深度无关的结构。我们使用空洞残差网络构造DSA模块的编码器部分,该网络利用空洞卷积来增加感受野,同时保留局部详细信息。然后,我们使用一个解码器将编码的特征向上采样到原始分辨率,并在其后面添加一个sigmoid层来生成注意图。最后,使用获得的注意力图对一般结构图进行加权,以生成最终的深度特定结构图,如下所示:Msa=Ms⊗MaM_{sa}=M_{s}\otimes M_{a}Msa​=Ms​⊗Ma​由于我们将注意力图和结构图相乘,额外的深度无关信息很难通过这个瓶颈,DP模块被迫从这个简洁而全面的深度特定结构表示中估计深度。

我们固定先前训练的STE模块的参数,并训练DSA模块抑制相关结构,以获得深度特定的结构图。同时,对DP模块进行训练,以根据深度特定的结构图预测深度。用于训练DSA和DP模块的损失函数为:LA=∑p∣∣D^(p)−D(p)∣∣1L_{A}=\sum_{p}||\widehat{D}(p)-D(p)||_{1}LA​=p∑​∣∣D(p)−D(p)∣∣1​

4.Experiments

数据集
对于户外场景,我们使用合成的 Virtual KITTI(vKITTI)作为源域数据集。我们使用KITTI数据集作为评估的真实数据集。对于室内场景,我们使用合成数据集SUNCG作为源域数据集。我们使用真实的室内场景数据集,即NYU Depth v2,按照与之前工作相同的设置进行评估。
结果

  • 图3:中间结果的可视化。顶部和底部两行分别是S2R深度网在合成图像上训练生成的合成图像和真实图像的结果。

  • 图4:KITTI数据集上深度图的定性比较。baseline是仅在vKITTI数据集上训练的DP模块。与T2Net方法和baseline方法相比,我们的方法可以恢复清晰的对象边界,例如汽车和树木。

  • 图5:SUNCG(左)和NYU Depth v2(右)数据集上结构图的可视化。我们针对深度的表达侧重于室内场景的布局、连接和对象边界。

  • 图6:NYU Depth v2数据集上深度图的定性比较。我们的方法可以恢复清晰的对象边界,例如沙发和桌子。

  • 图7:交叉数据集的定性结果。自上而下:Cityscapes/DrivingStereo/nuScenes。

个人总结

S2R重在学习结构,克服深度网络会投入精力学习纹理的缺点。如果网络单向学习结构(即没有高层语义注意力的约束),结构图会包含丰富的低层结构,包括大量与深度无关的结构,例如光滑表面上的详细纹理结构。所以需要注意力去约束,得到简洁且具有泛化性的结构信息。

基于这些本质的结构信息,模型可以实现很良好的域泛化深度估计。

学习可泛化的特定深度的结构表示CVPR2021相关推荐

  1. 从傅里叶分析角度解读深度学习的泛化能力

    作者丨许志钦 学校丨纽约大学阿布扎比分校博士后,纽约大学库朗研究所访问学者 研究方向丨计算神经科学,深度学习理论 深度学习成功地应用在很多领域,但对它的理论理解却非常缺乏.这两年,很多理论学家把关注点 ...

  2. 思考深度学习的泛化能力

      深度神经网络往往带有大量的参数,但依然表现出很强的泛化能力(指训练好的模型在未见过的数据上的表现).深度神经网络为何会拥有如此强的泛化能力?2016年.2017年的两篇论文引起了广泛思考. 神经网 ...

  3. 【深度学习】吴恩达深度学习-Course3结构化机器学习项目-第一周机器学习(ML)策略(1)作业

    题目仅含中文!! 视频链接:[中英字幕]吴恩达深度学习课程第三课 - 结构化机器学习项目 参考链接: [中英][吴恩达课后测验]Course 3 - 结构化机器学习项目 - 第一周测验 吴恩达< ...

  4. 深度学习中交叉熵_深度计算机视觉,用于检测高熵合金中的钽和铌碎片

    深度学习中交叉熵 计算机视觉 (Computer Vision) Deep Computer Vision is capable of doing object detection and image ...

  5. 3D深度学习总结(聚焦3D深度学习的现在于未来)

    3D深度学习总结(聚焦3D深度学习的现在于未来) 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 选自The gradient[点击此处],作者:Mihir Gar ...

  6. 【深度学习】【物联网】深度解读:深度学习在IoT大数据和流分析中的应用

    作者|Natalie 编辑|Emily AI 前线导读:在物联网时代,大量的感知器每天都在收集并产生着涉及各个领域的数据.由于商业和生活质量提升方面的诉求,应用物联网(IoT)技术对大数据流进行分析是 ...

  7. 【深度学习】大牛的《深度学习》笔记,Deep Learning速成教程

    深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里,深度学习颠覆了语音识别.图像分类. ...

  8. 什么是深度学习?45分钟理解深度神经网络和深度学习 刘利刚教授

    什么是深度学习? - 45分钟理解深度神经网络和深度学习 刘利刚 中国科学技术大学图形与几何计算实验室 http://staff.ustc.edu.cn/~lgliu [绪言] 近年来,人工智能(Ar ...

  9. 【深度学习】这才是深度学习的本源

    内容来源:2019年7月26日,在长城会主办的"GMIC之院士AI论坛"上,索尔克生物研究所计算神经生物学实验室主任特伦斯进行了以"人工智能,将成科技的最大风口" ...

最新文章

  1. BIEE-CSS样式大全
  2. java 对象 输出
  3. Linux安装Kibana
  4. 前端教程丨手把手教你用 Next.js 搭建个人博客,从入门到吃鸡
  5. 异常处理-RestFul的异常处理
  6. Catalyst 6509交换机配置方案
  7. C语言试题六十九之请编写函数判断一个数是不是素数
  8. HDU-1102-Constructing Roads(并查集)
  9. [算法]有趣算法合辑[21-30]
  10. python循环语句for 循环十次_python循环语句for的使用方式,又快又好
  11. Java开发工具(Eclipse工作空间的基本配置)
  12. JavaScriptSerializer 类
  13. 系统视频教学视频教程_Amesim综合液压系统视频教程专题更新通知
  14. linux cad转pdf文件怎么打开,PDF猫CAD转PDF官方版
  15. CSDN:LaTex数学公式编辑基础
  16. 什么是Mbps、Mbs、MBs
  17. 【微信机器人】实现保存微信表情包到相册
  18. 初中计算机课堂游戏设计,如何设计初中信息技术课堂作业
  19. 《指数基金定投指南》读书笔记
  20. Alpha版本冲刺(八)

热门文章

  1. HTML系列之表单标签
  2. (转)SCJP 认证考试指南
  3. adonis.js mysql_Node.js:Adonis.js 框架 IoC container
  4. jquery (js中window.onload与jquery中$(document.ready())的区别)
  5. 禁用spotlight
  6. delegate-委托
  7. laravel php配置,配置 - Configuration
  8. 1:ML开篇之“驽马十驾,功在不舍”
  9. ctf训练 web安全暴力破解
  10. 研究生体检色弱计算机专业,研究生体检主要有什么项目 色盲会影响专业吗