自监督单目深度估计定义:
在不使用任何地面实况标签的情况下为相机图像像素分配深度值的任务。取而代之的是,预测深度被用作几何属性,以将投影图像和目标图像之间的光度误差作为优化目标,将离散时间实例 t+1 的帧扭曲到时间 t 的前一帧。
一、论文主要贡献
1、将自监督深度估计和监督语义分割的互利跨域训练推广到具有特定任务网络头的更通用设置。
2、通过使用一种新颖的语义掩蔽光度损失来引入动态对象问题的解决方案。
3、介绍了一种检测运动 DC 对象的新方法,然后可以将其从训练损失计算中排除。
二、相关工作
处理dynamic-class(DC):
通过同时预测光流和深度,现有工作对跨任务一致性 [35,37,60,63]、几何约束 [8,49] 和变形图像的修改重建 [8,64] 造成损失,所有方法都将图像投影模型扩展到移动 DC对象。
三、方法
3.1基本参照monodepth2[20]
3.2监督语义分割
语义分割的任务被定义为从一组类 S 中为每个像素 xt,i 分配一个标签 mt,i ∈ S,这是通过一个神经网络实现的输入图像和输出分数之间的非线性映射。通过计算加权交叉熵损失来训练网络。
3.3语义指导
跨领域的多任务训练:
使用单个编码器,两个解码器,一个用于深度,一个用于分割。
使用(5)在由 yt,s 监督的源域中训练用于分割的解码器,而根据(3)和(4)在自我监督下在目标域中训练深度解码器。
对于如何将梯度从单独的解码器传播到共享编码器,选择在梯度到达编码器时按照 [15] 缩放梯度
屏蔽所有 DC 对象:(i表示pixel,t表示图像帧,s表示分割类)
由于移动 DC 对象会污染光度误差,如图 3c 所示,因此屏蔽当前帧 xt (a)以及投影帧xt′ →t(b)中存在的所有 DC 对象。
[27] 的双线性采样 bil (·) 被替换为将 mt’ 内部最近像素的值分配给 mt’ →t,i, i ∈ I 的像素。
DC目标掩码定义为,掩码在属于三帧之一中的 DC 对象的每个像素位置 i 处包含 0,否则为 1。
还考虑了来自自动掩码技术 [20,23,24] 的掩码。
检测不动的DC对象:
如果观察到 DC 对象处于运动状态,则目标图像中的扭曲语义掩码 mt′→t(也就是投影帧的)与目标图像内部的语义掩码 mt 的一致性较低,如图 4 所示。
如果它等于 1,则表示没有移动的 DC 对象,而值为 0 表示移动 DC 对象的比例很高。如果考虑时间 t′ ∈ T′ = {t−1, t+1} 的两帧,则取所有 Λt,t′ 的平均值 Λt。我们定义了阈值 θΛ ∈ [0, 1],高于该阈值的图像被认为是静态的。
从非移动 DC 对象中学习:
最后的损失函数:
在(11)中,分割和深度损失没有相互加权,因为这种加权发生在由(6)引导的反向传播的中间。
四、实验设置
网络:
基本沿用monodepth2[20]。
深度头有一个 sigmoid 输出 σt,i,它通过 1aσt,i+b 转换为深度图,其中 a 和 b 将深度值限制在 [0.1, 100] 范围内。
分割解码器使用与深度解码器相同的架构,除了最后一层有 S 个特征图。
训练:
对 RGB 图像采用零均值归一化。
数据集:
我们总是使用一个数据集来训练语义分割,而另一个数据集则用于对我们的 SGDepth 模型的深度估计进行自我监督训练。