单目深度估计(Monocular Depth Estimation)论文阅读 2021-01-15
单目深度估计
问题公式化:求非线性映射函数
一、数据集 :
NYU Depth:视频序列和dense depth map通过RGB-D采集的,但是不是每一种图像都有深度图,因为映射是离散的。
KITTI:计算机视觉中最大的数据集包括光流、视觉里程、深度、目标检测、语义分割、跟踪,有一部分是有稀疏的深度图来自LIDAR sensor。
Make3D:有image-depth pairs 没有视频序列和stereo images 适用于有监督任务和测试无监督网络。
Cityscapes:主要用于语义分割任务包含语义lable, 也包含一些stereo 视频序列但是没有深度图 适合无监督深度估计。
二、无监督方法:
输入:序列 或 stereo images
方法分类:
1.基于多任务网络:
利用深度图、位姿检测等重构目标图,再用源图进行监督学习,公式化如下:
整体网络:
, E是位姿检测或转换网络
光一致性监督:
,再添加一些其他loss约束:如深度图光滑约束:
2.基于GAN网络:
同上类似,利用生成器重构目标图,再把判别器当作无监督loss 判断真假进行训练。
loss:生成对抗损失+深度图光滑约束
3.其他 :如域值转换网络,利用仿真的image-depth pairs来进行深度学习 再转换到真实图像上, 一起训练。
三、有监督方法 :各种各样的:利用CRF,多任务,GAN,LSTM, 语义分割等。
四、论文阅读:
1.Structured Attention Guided Convolutional Neural Fields for Monocular Depth Estimation(2018CVPR 有监督的)

创新点: CRF不是直接refine depth map 而是在中间层使用
1.多尺度特征里面加入CRF
2.pairwise里面加入注意力,最后一个特征层本来也是由前面的特征来的,可以模拟他们之间的关系
3.将CRF中需要的变量用公式表示,然后用网络实现,实现end-to-end训练
这里:先通过Y计算出A,再用Y和A计算最后的融合特征,编码中最后一层会先拿来计算A
2.Monocular Depth Prediction using Generative Adversarial Networks(2018CVPRW 无监督的)

1.利用序列监督
2.利用深度图、位姿参数仿真左右帧然后利用判别器判别
可以把判别器当成一个loss
总的loss:

3.GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose(2018CVPR 无监督的)

位姿网络公式化:
of the form (tx, ty, tz, rx, ry, rz)。
相邻帧之间的转换公式:
,T跟位姿有关
创新点 :解决遮挡和运动目标
1.分成了两个阶段:一个阶段观察静态的物体,一个阶段观察动态的物体
2.第一阶段使用了一个公式:利用深度图和位姿参数将相邻帧转换到目标帧,可进行监督学习,这个公式适用于静态目标,第二阶段利用光流来观察动态目标
几何一致性损失解决纹理模糊,好像就是一致性纠正跟梯度一致性类似
loss:两个阶段都利用photometric consistency.作为损失来监督


4.Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos(2019AAAI 无监督的)
运动物体为什么要单独处理: 摄像头运动时,所有静止的背景的位姿是一样的,但是将这个位姿用在运动的object转换到目标帧会导致错误
创新: 利用实例分割单独处理运动的物体
1.摄像头造成的运动和运动物体造成的运动,这两种object分开进行warping操作
2.里面对深度网络和位姿网络的公式化部分写的不错,易懂

loss函数:

这里的由两部分组成:背景和运动目标

网络说明:利用实例分割得到上图mask
使用卷积网络得到外观矢量:模拟每个运动物体的外观,可用于在每个帧中找到这个目标
将背景和运动物体分开了,在送进depth网络
5.FastDepth: Fast Monocular Depth Estimation on Embedded Systems(2019ICRA 有监督的)
创新:
1.在编码上用参数量少的卷积滤波器,用的MobileNet,将标准卷积分成了两步做
2.不是用pytorch编译而是TVM,通过硬件减少编译时间
感觉创新一般般,但实验做得很细致

MobileNet: 深度卷积+逐点卷积:
1.深度卷积C个KxK的卷积,分别和输入图像特征卷积,C是输入特征的通道
2.得到形状HWC的特征,在用逐点卷积得到HWN的特征
Decoder过程:先插值上采样,再卷积
6.Geometry-Aware Symmetric Domain Adaptation for Monocular Depth Estimation(2019CVPR 无监督的)
动机:
1.无监督的训练基于几何线索,但是这种方法容易受光照改变,遮挡和模糊的影响
2.在仿真图像上训练的网络可能会失败,因为在真实图像上域变化了
创新:
1.用仿真的image-depth pairs监督训练,再转换到无label的真实图像上约束,转移知识
2.加入了一个几何loss为了降低风格转换带来的误差吧
stereo images 不是序列了

网络说明:
1.在仿真图像上用L1 loss监督
2.风格一致性这里有点绕
3.加一个几何一致性损失针对深度估计这个任务,深度预测在仿真图像上表现好,不一定在真实图像上表现好,所以加一个集合loss来约束Fs和Ft
7.Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation(2019CVPR 无监督的)
没细看

8.Unsupervised Learning of Depth and Ego-Motion from Video(2017CVPR 无监督的)
没细看,但是后面好多都是基于这种:depth CNN + pose CNN

最近几年发展趋势图:来自Monocular Depth Estimation Based On Deep Learning: An Overview

