论文笔记-Monocular Depth Estimation as Regression of Classification using Piled Residual Networks

  • 论文信息

    • 标题: Monocular Depth Estimation as Regression of Classification using Piled Residual Networks
    • 作者:Wen Su, Haifeng Zhang, Jia Li, Wenzhen Yang, Zengfu Wang
    • 机构:浙江理工大学、中国科学技术大学
  • 代码链接

  • 论文主要贡献

    • 提出堆叠残差网络用于探索不同尺度上下文、不同抽象级别的用于全分辨率的深度图预测的特征
    • 中心信息增益损失用于提取类判别特征,这使得深度值预测的锐度得以改进,能够提高深度图中的不同物体的区分度
    • 将深度估计看作是分类特征的回归问题,使用卷积层寻找从类判别信息到深度值之间的映射关系
  • 论文要点翻译

    • 摘要
      • 单目深度估计是场景理解中一个极具挑战的任务,现有的工作通过提取邻域的局部特征对深度值进行回归或者分类,但是不管是回归还是分类,最终得到的结果都不能满足现实场景需要,而且局部的上下文并不足以准确预测深度值
      • 本文为了解决这个问题,将深度估计问题看作是类别相关的特征的回归问题,通过使用堆叠残差 CNN 进行实现
      • 本文框架分为两个工作阶段:(1)精心设计的 DCNN 网络用于将分度值在不同尺度的不变空间进行分类,模型通过堆叠残差路径利用所有尺度的上下文信息,更深层的网络捕捉高级的语义特征,具有更广范围的上下文信息,从初始几层网络提取的特征作为具有局部上下文的细粒度信息;应用中心信息增益损失函数生成同类相同、不同类相异的判别特征信息;(2)利用卷积层将类判别特征映射到连续深度值,不获取类别标签而是回归深度值
      • 实验结果表明模型在室内室外数据集都具有 SOTA 性能
    • 引言
      • 深度估计是计算机视觉领域的重要任务,其他的场景理解、语义分割、三维重建和机器人导航等任务都可以从深度估计任务中获益。之前的许多工作基于双目立体图像进行深度估计,也有的方法基于运动的方法进行深度估计,但是这些任务都不是真正的从单张图片的深度估计
      • 现实场景的应用中,单目的例子是随处课件的,在 web 中和社交媒体中、真实的地产和购物点等都有许多户内外的场景的单目图像,因此根据单张图像进行深度估计是一个有广泛的研究价值的领域
      • 之前的单目深度估计方法主要依赖于集合模型和非参数方法,在缺乏环境假设的情况下,单目深度估计是一个典型的病态问题,因为捕获的密度或者颜色变化条件可能对应到许多不同的深度条件下的场景,为了解决这个歧义问题,可以从真实图像与真实深度的成对的数据集中学习深度与图像之间的映射关系,基于学习的这些方法当中,CNN 方法可以提取层次化的特征并有效利用不同尺度的上下文信息,这些方法通常使用 CNN 提取多层的上下文信息和结构信息,然后将深度估计问题看作是一个典型的回归问题,或者将深度值划分为不同的离散数值区域进而将深度估计作为一个分类问题进行解决;层次化的特征中,某一层特征只能包含特定尺度的信息,概率图模型经常用来利用更长范围的或者全局的信息
      • 尽管这些方法已经取得了不错的结果,但是这些方法仍然难以获取精确的深度估计结果,主要是由三个问题导致的:(1)将深度估计问题作为是致密回归问题或者是像素级分类任务,分类的标签可以是深度值或者是某个离散的深度值标签,对于具体的任务而言,通常根据固定的相机参数,预测值与相机采集的真实深度值之间的差异常常作为监督信号用来训练深度神经网络,离相机远近不同的像素实际上预测值和真实值之间的差异大小不同,因此导致离相机较近的点通常预测性能不佳(loss 通常较小);(2)手工提取的特征通常是局部的,而 CNN 提取的不同层次的特征,某一层网络只具有特定的感受野也,只能获取有限范围的上下文信息;(3)许多用在深度估计网络中的骨干 CNN 网络都是用在图像分类任务中的 CNN,网络架构中的连续的池化层和非单元的卷积补偿使得数据的分辨率下载,空间数据被抽象,这种下采样使得分辨率降低,难以提供全分辨率的预测结果
      • 本文将深度估计任务看作是对分类特征的回归任务,通过使用本文提出的堆叠残差神经网络进行实现,工作主要分为两个阶段:类判别特征提取和深度估计。
      • (1)类判别特征提取:将连续的深度值离散化为不同尺度的不变空间中,给每个深度值一个类别标签,通过使用堆叠残差 CNN 对标签进行分类,本文认为所有曾的特征都有助于深度估计,高级的语义信息能够帮助图像区域的类别识别,底层的视觉特征则可以帮助生成锐度较高、边缘清晰的深度图,更深层的网络能够捕获更长范围的上下文信息,捕获高级语义信息,这些信息再通过低层的具有局部上下文信息进行改进和优化;为了得到全分辨率、具有类别判别性、多尺度的特征图,本文通过堆叠残差的形式利用所有感受野尺度的信息,结合中心信息增益损失,进一步强化提取的特征图的类别判别行;不同标签的特征被分离,使得深度值可以更具有区别性,有相同标签的特征被聚为一类,以此使得对应的深度值更加圆滑
      • (2)深度估计,学习带有多尺度上下文的类判别特征和连续深度值之间的关系,通过 log-cosh loss 作为监信号训练卷积层
    • 相关工作
      • 深度估计:传统方法、深度学习方法、
    • 方法
      • 网络结构
        • 场景中通常包含不同大小的物体,很多小物体可能非常重要但是却经常是难以寻找的,而大物体经常超过 CNN 的感受野,这使得深度图的预测经常是不连续的,因此,再预测的时候应当注意不同的子区域,这些区域可能包含不起眼的小物体或者超出范围的大物体,实际上,基于 CNN 的深度估计任务,其精确的往往就受限于这些物体
        • 通常,某一物体点的深度预测不仅仅依赖于该点本身,还受到一定尺度的周围上下文的影响,因此仅仅从局部邻域提取特征预测深度值有局限性,将邻域像素的信息进而周围的上下文信息进行组合才能有效预测深度,从局部邻域提取的特征使得深度图的预测能够注重物体和边缘等细节信息,而使用一定尺度的上下文信息使得深度估计能够更为精确,将局部信息混合捕获的空间信息可以提高深度估计的精确性和细节性
        • 全局上下文信息包含对整个场景的理解信息,这些可以作为消失点、物体位置和空间对齐的线索信息。DCNN 模型中,感受野的大小可以粗略的表明局部上下文的包含程度,低层的网络通常有小范围的感受野,包含的是有限范围的邻域的特征图,随着网络层的递增,感受野变大,卷积层获取更大范围的上下文信息,这些特征更好地描述了物体的位置、空间信息和其他的抽象语义信息
        • 空间金字塔是不同尺度物体检测和识别的系统中的重要组件,受到目标检测领域的启发,将空间金字塔改进用于深度估计任务,本文据此提出堆叠残差卷积神经网络,将但尺度的任意大小的图像作为输入,通过 CNN 的层次化的特征表示,集成局部和全局的上下文信息,这和骨干网络相互独立
        • 模型包含自底向上的通路、残差卷积单元和自顶向下通路
        • 自底向上通路是骨干网络的前馈过程,使用 ResNet-50 作为骨干网络,接受 RGB 作为输入后得到层次化的特征图,由大到小包含 4 层分辨率,每层分辨率是前一层的 1/2,实现过程中,选择非线性激活曾之前的输出作为参考集的特征图,比起原图而言相当于具有4、8、16、32倍的感受野。选择不同的4个尺度进行表示,这些特征用于创建特征金字塔,金字塔输入之后的残差卷积单元,由非线性激活层和3x3卷积层组成,输入的特征图经过 1x1 卷积进行转换,通道数分别为 1024、512、256 和 64,转换也将不同分支的特征图进行重采样调整大小,以便于进行加和混合
        • 自顶向下通路将高分辨率的特征图进行混合,将低分辨率但是语义层次高的特征图进行混合,这些特征图和邻域的细粒度的特征图进行混合,产生混合高分辨率、具有至少两个尺度上下文信息的特征图;一方面,通过自底向上通路的特征都,结合残差卷积单元对特征进行强化,另一方面,这些特征被采样为高分辨率,最终组合成特征,计算全分辨率深度。最终的特征强调每个尺度的上下文信息,最终使用两个带有卷积、批正则、ReLU的层进行深度估计,并使用 DropOut 防止过拟合
      • 分类的 Loss 函数
        • L2 Loss 不适用于本问题:(1)更大的误差有助于好的 Loss 函数,但是由于离相机近的像素深度值较小,即使预测的误差大于离相机较远的像素点,对 Loss 的贡献还是小很多;(2)平方的欧氏距离使得所有像素对误差的贡献都是一样的,无法区分小深度值得区域和深度突然变化得区域
        • 本文使用中心增益 Loss,将深度回归作为分类问题,如果预测值和真实值接近,则认为分类正确,类似【29】的方法,在给定深度值范围 [ α , β ] [\alpha,\beta] [α,β] 上,将其离散化到 log 空间中,为了考虑所有可能的深度值,加上 [ α ∗ = α − ϵ , β ∗ = β + ϵ ] [\alpha^*=\alpha-\epsilon,\beta^*=\beta+\epsilon] [α=αϵ,β=β+ϵ],log 空间中,相对较小的和相对较大的深度也能合理估计,每个像素的深度值和每个区间的深度代表值相等,如果两个像素的标签相同,则应当有相同的深度值,通过 CNN表示每个像素的特征后,这些特征能有效用于判别像素的类别标签,进而用于预测深度,视觉上,同一物体的深度值应当是相似的或者是渐变的,而不同物体和背景之间的深度值通常是突变的,有锐度较大的边缘,基于这个直觉观察, 使用下面的形式化 Loss:
        • L = L H + L C L=L_H+L_C L=LH+LC
        • L = − 1 N ∑ i = 1 N ∑ D = 1 M H ( D i ∗ , D ) log ⁡ ( P ( D ∣ z i ) ) + λ 2 ∑ i = 1 N ∥ z i − C D i ∗ ∥ L=-\frac{1}{N}\sum_{i=1}^N\sum_{D=1}^MH(D_{i}^*,D) \log (P(D|z_i))+\frac{\lambda}{2}\sum_{i=1}^N\|z_i-C_{D_i^*}\| L=N1i=1ND=1MH(Di,D)log(P(Dzi))+2λi=1NziCDi
        • L H L_H LH 表示真实深度值和预测深度值之间的信息增益差异, H ( p , q ) = e − α ( p − q ) 2 H(p,q)=e^{-\alpha(p-q)^2} H(p,q)=eα(pq)2 是 信息增益矩阵,这使得预测值接近真实值的区域对更新网络权重的贡献更大
        • L C L_C LC 表示致密的像素级标签的中心 loss,这使得输出的特征和中心特征接近,这个确保同一个区间的深度值有相似的值,视觉上约束深度的渐变性,即:物体一个 Patch 上的像素具有相似的深度值,提供了物体表面的深度连续性,这也使得输出的特征更具有类别判别性
      • 根据分类特征的回归
        • 之前的方法常常将每个像素的深度值设置为对应的深度值区间的中值,本文认为这不合理,在分类问题中,每个类别有中心特征,在连续回归问题中,一个标签对应某个范围的深度值,也就是说特征代表的是一个深度值区间,逻辑上需要对单像素进行从分类网络到特征的一致性映射,为了将分类和回归在同一网络中考虑,需要使用卷积层建立从特征图到深度的预测,本文使用基于中心信息增益损失的 PRCN 作为提取特征的网络,在使用 sigmoid 激活函数引入非线性,利用 log-cosh 损失引入监督信号,得到比 L2 更好的效果,即:
        • L = ∑ i = 1 N log ⁡ ( cosh ⁡ ( D i ∗ − D i ) ) L=\sum_{i=1}^N\log (\cosh (D_i^*-D_i)) L=i=1Nlog(cosh(DiDi))
        • 当误差较小,上述的 log-cosh 误差接近于 L2 误差,当误差较大时,接近 L1 误差,由于这个特征,异常点的预测值不会对最终的结果造成很大的印象

你可能感兴趣的:(计算机视觉,论文笔记,深度学习,python,计算机视觉,神经网络,机器学习,深度学习)