一、论文简述
1. 第一作者:Xiaoxiao Long
2. 发表年份:2021
3. 发表期刊:CVPR
4. 关键词:深度估计、MVS、transformer、时间相关性
5. 探索动机:现在针对视频进行深度估计的方法没有充分考虑时间相干性,效率也不高。
these methods, especially for videos, have significant room for improvement in terms of temporal coherence and computational efficiency.
6. 工作目标:由两个独立的网络学习局部特征信息和全局语义信息解决上诉问题。
Our insight is that for depth estimation the local feature information and global semantic information can be learned by two separate networks, as inspired by recent Mixtureof-Experts models.
7. 核心思想:we propose a hybrid cost regularization network, consisting of two complementary expert sub-networks: a 2D ContextNet focusing on 2D global context information, and a shallow 3D MatchNet concentrating on 3D local matching information.
- We proposed an Epipolar Spatio-Temporal (EST) transformer that propagates temporal coherence to perform joint depth estimation of multiple frames to make estimated depth maps more temporally coherent.
- We designed a hybrid network for cost regularization that consists of two expert networks to learn 3D local matching information and 2D global context information separately. This decoupling approach achieves faster speed and consumes less computational resources than using a single fully 3D network in prior works.
- Based on these two contributions we developed a new mutli-view method for generating temporally coherent depth maps from videos.
8. 实验结果:
- By explicitly disentangles these two different types of information, our hybrid network consumes much less GPU computational resources and achieves faster running speed.
- Extensive experiments demonstrate that our method achieves higher accuracy in depth estimation and significant speedup than the SOTA methods.
9.论文&代码下载:
https://github.com/xxlong0/ESTDepth
二、实现过程
1. ESTDepth概述
在训练阶段,以一段5帧的视频剪辑作为输入{It−2,It−1,It, It+1, It+2},结合短期时间相干性估计中间3帧目标帧的深度图。在推理阶段,模型通过一个极线时空内存(ESTM)推断操作来传播整个视频的长期时间相干性。简单地说,有以下四个部分:
- 混合代价体的产生。对于每个目标图像及其源图像,首先使用浅特征提取器提取特征图。对特征图进行单应性变化,构造原始匹配体,再通过MatchNet进行正则化,得到正则化的匹配体。同时,利用ContextNet提取目标图像的上下文特征体。最后,它将匹配体和上下文体连接在一起,形成混合代价体。
- 极线时空转换器。对所有得到的混合体应用EST变换器,使其具有时间相干性。
- 深度提取。初始深度图首先从转换后的代价体中提取出来,并通过RefineNet进一步改进。
- 极线时空记忆(ESTM)推理操作。在推理阶段,该操作在整个视频中传播长期的时间一致性。
2. 混合代价体产生
为了提高计算效率,我们利用两个专门的子网络MatchNet和ContextNet,分别学习两种类型的代价体,3D匹配体和2D上下文体。
2.1. 匹配体生成
将帧It与其相邻的帧It−1、It+1分别作为参考图像和源图像。参考图像和其中一个源图像,分别记为Ir和Is。
特征提取。通过空间金字塔池化(SPP)提取特征得到,32通道,下采样为原始图像的1/4特征图。
原始匹配体。通过单应性变化,得到源视图变化后的特征体Fs,维度为C×D×H×W,D = 64。最后,将Fs与Fr连接起来,维数增加到2C×D×H×W。对于N个源图像,获得N个原始匹配体。
MatchNet。对N个原始匹配体进行3个3D卷积处理,通道数降为C,然后对这些体进行视图平均池化,将不同源图像的信息聚合,得到单个聚合体。再进行一系列3D卷积正则化。只学习局部特征。
2.2. 上下文体生成
先前的方法采用3D正则化网络,将二维上下文信息与3D局部匹配线索混合学习,并将网络做得非常深,以提高对两类信息的学习能力。作者观察到全局上下文信息本质上是二维信息,因此不需要使用3D网络来学习。因此,将全局上下文信息与局部匹配信息解耦,并使用一个称为ContextNet的2D网络来学习前者。这使得网络更简单,从而更有效地训练和运行。
ResNet-50作为上下文网络,提取全局上下文信息,输出特征体C'×H×W,其中C'为特征通道数,与平面数D相同。为了融合3D匹配体和2D上下文体,将上下文体扩展到1xDxHxW,与正则化的匹配体连接,得到混合代价体Ct:(1+C) xDxHxW,对图像It−1、It、It+1分别做三次,得到三个Ct-1,Ct,Ct+1。
3. 极线时空transformer
为了将时间相干性与三个混合代价体Ct−1,Ct, Ct+1联系起来,提出了一个新的极线时空(EST)transformer。
一致性约束。光度一致性假设:空间中一3D点,在不同图片上投影,投影附近的图像纹理应具有高度相似性。因此,将深度估计制定为占用估计问题:如果图像的像素(u, v)具有深度值d,则Ct中的体素(u, v, d)被占用,即Ct的学习特征编码了每个体素的占用概率。将混合代价体视为在不同视图下对同一个3D世界空间的多次占用度量,即对于世界空间中的一个3D点,其对应的体Ct−1、Ct、Ct+1的体素应保持相似的嵌入向量。
极线变化。为了将时间相干性与混合体相关联,将混合体转换至相同的相机坐标空间。如下图,将混合volume转换到同一相机坐标系,将Ct-1和Ct+1 warp到和Ct相同的坐标系中,相当于相机在两个不同位置拍摄,转换到同一相机坐标系中。对于重叠区域,两个warp体和Ct在体素中应该包含相似的特征。
EST transformer。将transformer的混合体Ct表示为查询体,Ct−1和Ct+1表示为内存体。为提高计算效率,没有在混合体上应用ESTtransformer,而是首先将查询体和内存体送入两个并行且相同的卷积层,分别生成两个新的压缩特征映射键k∈C/2×D×H×W,值v∈C/2×D×H×W。将记忆键和记忆值记为km和vm,并warp到Ct的相机空间,得到warp键和值记为kw和vw。然后计算查询键kq与warp键kw之间的相关性,得到相关体,度量kq与kw的相似性。最后应用softmax层得到注意力体X∈1×N×D×H×W:
式中xi∈1×1×D×H×W表示查询与第i个内存体的warp键的相似度,N为内存体的个数,·为点积。
注意力图X用于从所有warp的内存值vw中检索相关值,以确定从何时和何处检索相关内存值。最后,将查询值和检索值融合在一起,得到最终输出C¯q:
其中vi w是第i个warp内存值,f(·,·)表示融合函数。
文中探讨了两种类型的融合函数:连接融合和自适应融合。对于连接融合,只是简单地将查询值和检索值连接在一起,不引入可训练的参数。但是,由于遮挡或表面反射,检索值中可能存在不正确的信息,而连接操作将所有信息平等地整合在一起。为了避免将错误的信息传播到当前估计,我们提出了一个自适应融合操作来融合查询值和检索值:
其中⊙表示Hadamard积,w, r∈D×H×W是两个度量检索值可信度的的学习权重,g(·,·)是卷积层。ESTtransformer除另有说明外,均为自适应transformer。
将EST transformer应用于另外两个混合代价体Ct−1和Ct+1,得到三个代价体C¯t−1、C¯t和C¯t+1。首先对转换后的体应用两个卷积层,生成大小为D × H × W的中间体,然后在深度维度上使用softma子,从而得到概率体P。
4. RefineNet和深度回归
通过soft argmax从概率体P中计算期望深度图。将概率体回归的深度图表示为初始深度图,其尺寸与原始图像尺寸相比缩小了4倍,细粒度特征丢失,边界边缘呈锯齿状。因此,使用两阶段的RefineNet来逐步对初始深度图进行上采样,并增强细粒度特征,从而产生1/2分辨率的深度图和全分辨率的深度图。此外,在应用ESTtransformer之前,还从混合代价体中提取了深度图。因此,得到了四个阶段的估计深度图,将混合代价体、转换代价体和两阶段RefineNet的四种类型的深度图表示为Ds = 0,1,2,3。
与之前工作中使用的单视图深度损失不同,利用多视图深度损失提供多个监督信号:
i为目标图像的索引,N为目标图像的数量,D为真实深度图,|| ||为L1范数。权重λ设置为0.8。
5. 极线时空内存推断
在训练阶段,模型以5帧的短视频序列作为输入,联合估计三个具有短期时间相干性的目标图像的深度图。为了在整个视频中传播长期的时间相干性,提出了一个极线时空内存(ESTM)推断操作
如下图所示,保持一个滑动窗口,其中包含一个参考图像和两个源图像,以估计当前帧It的深度图。使用ESTtransformer,从存储N个过去帧的键值对的内存空间中检索相关值,从而可以利用不同时空位置的有用信息来估计当前帧的深度图。当滑动窗口继续移动时,内存空间也会相应更新,通过这种操作,长期的时间相干性将在整个视频中传播。
6. 实验设置
6.1. 数据集和评估指标
使用ScanNet数据集训,整个数据集包含超过1600个室内场景,提供彩色图像,真实深度地图和相机位姿。为了评估泛化能力,在7-Scenes和SUN3D数据集的测试集上进行跨数据集评估,不进行微调。
评估指标:To quantitatively evaluate the estimated depth, we use the standard metrics defined in [9]: i) inlier ratios (σ < 1.25i where i ∈ {1, 2, 3}); ii) Absolute error (Abs); iii) Absolute relative error (Abs Rel); iv) Square Relative error (Sq Rel); iv) Root Mean Square Error (RMSE); v) RMSE in log space (RMSE log).
效率指标:To measure computational complexity of models, we adopt the following metrics: i) the number of trainable parameters; ii) the number of Multiply–Accumulate Operations (MACs); iii) inference memory usage; iv) inferencetime cost.
6.2. 实现细节
在训练阶段,使用5帧的视频剪辑作为输入。帧从30fps视频中采样,间隔为10。模型使用
Pytorch与Adam,在4个GeForce RTX 2080 Ti GPU上训练的模型7个epoch(115k迭代)。
6.3. 与先进技术的比较
ScanNet and 7-Scenes。SOTA
7. 内存和时间
8. 限制
There are several limitations we plan to tackle in the future. First, since our method takes video frames with known camera poses as input, the accuracy of camera poses will influence the performance of our EST transformer. A general framework that jointly estimates camera pose and depth maps may alleviate this problem. Second, our work takes
only a short video clip into consideration, rather than estimate depth maps in a global optimization scheme for further potential improvement of temporal coherence.