Occlusions, Motion and Depth Boundaries with a Generic Network for Disparity, Optical Flow or Scene

首先看效果:(需要下载...120Mb)

Occlusions, Motion and Depth Boundaries with a Generic Network for Disparity, Optical Flow or Scene这篇是基于FlowNet2.0 基础上再做的提高,发在ECCV2018上

论文: pdf

project:他们的网站

感觉含金量不如2.0

翻译:

Occlusions, Motion and Depth Boundaries with a Generic Network for Disparity, Optical Flow

or Scene Flow Estimation

用于视差,光流或场景流估计中具有遮挡,运动和深度边界的通用网络

摘要。 遮挡在视差和光流估计中起重要作用,因为匹配成本在遮挡区域中不可用,遮挡表示深度或运动边界。 此外,遮挡与运动分割和场景流估计相关。 在本文中,我们提出了一种有效的基于学习的方法来估计遮挡区域与差异或光流。 估计的遮挡和运动边界明显改善了现有技术。 此外,我们在流行的KITTI基准测试和良好的通用性能上呈现具有最先进性能的网络。 利用估计的遮挡,我们还显示了运动分割和场景流估计的改进结果。

 

1

介绍

当将密集对应应用于更高级别的任务时,除了原始对应之外,通常还需要附加信息。一个图像中被遮挡在另一个图像中的区域对于获得由于缺少测量而可能不可靠的估计的指示是重要的。估计遮挡区域的典型方法是通过计算两个方向上的对应关系并在事后验证它们的一致性。然而,由于遮挡和对应是相互依赖的[17,32],并且遮挡的存在已经对对应估计本身产生负面影响,因此后处理是次优的并且导致不可靠的遮挡估计。

视差图和流场中的另一个有价值的额外信息分别是显式深度和运动边界。参考Black&Jepson的经典着作[4],“运动边界可能对导航,运动结构,视频压缩,感知组织和对象识别有用”。

在本文中,我们优化地将遮挡估计以及深度或运动边界估计与基于FlowNet 2.0 [18]的视差或光流估计的深度网络相结合,并将这些量明确地作为输出提供。与许多先前的工作相比,这导致了大大改进的遮挡和边界估计以及更快的整体运行时间。我们通过测量遮挡和运动边界的准确性来直接量化这种改进。我们还量化了这种改进的准确度对运动分割的影响。

此外,我们改进了[29,11,18]中差异和光流估计网络实现的一些细节,这为我们提供了KITTI基准测试的最新结果。 此外,如果我们不将它们微调到特定场景,则网络在各种数据集上显示出良好的通用性能。 虽然这些是较小的技术贡献,但它们与光流和差异的应用非常相关。 最后,利用最先进的光流,视差和遮挡估计,我们将所有内容放在一起,以高帧率实现良好的场景流性能,仅使用2D运动信息。 使用我们预测的遮挡作为输入,我们提出了一种网络,该网络学习插入遮挡区域以避免在计算场景流的两个视差图之间的运动补偿差异时的错误或缺失信息。

 

2相关工作

CNN的光流估计。 基于深度学习的光流估计是由Dosovitsky等人开创的。 [11],他提出了端到端的可训练编码器 - 解码器网络。 Ilg等人改进了这项工作。 [18],他介绍了一堆细化网络。 Ranjan和Black [34]关注效率,并提出了一个基于粗到细原理的小得多的网络。 孙等人。 [42]通过引入不同金字塔等级的相关性来扩展这一想法。 他们的网络称为PWC-Net目前实现了最先进的结果。 然而,粗到细的方法伴随着众所周知的限制,即无法估计小的快速移动物体的流动。 虽然这对基准测试的平均误差影响不大,但小对象对于应用场景中的决策非常重要。

CNNs的视差估计。对于视差估计,Zbontar等。 [52]是第一个提出Siamese CNN匹配补丁的人。使用传统的SGM方法[14]进行后处理产生了视差图。 [28,38]提出了用CNN增强SGM的其他方法。 Mayer等人提出了第一个端到端学习框架。 [29]。名为DispNetC的网络来自Dosovitskiy等人的FlowNetC。 [11]仅限于整流立体图像。它包括一个产生成本量的相关层,该成本量由网络进一步处理。肯德尔等人。 [21]提出了GC-Net,它使用3D卷积来处理成本量,同时沿着差异维度并使用可微分的softargmin操作。庞等人。 [31]通过在顶部堆叠一个细化网络来扩展DispNetC,类似于FlowNet 2.0 [18],不同之处在于第二个网络在残差设置中构成。在这项工作中,我们还利用最多三个网络的网络堆栈并使用它们的剩余细化。

遮挡估计。闭塞和光流估计相互依赖,因此是典型的鸡与蛋问题[17,32] .Humayun等。 [16]通过在广谱视觉特征和预先计算的光流上训练分类器,确定事后遮挡。 Pérez-Rúa等。 [32]不需要密集的光流场,而是需要运动候选,用于确定是否存在“合理的重建”。许多其他方法试图共同估计光流和遮挡。 Leordeanu等。 [27]基于各种特征训练分类器,包括当前的运动估计,并在流量的能量最小化期间​​重复使用它。孙等人。 [41]利用超像素和局部分层的能量配方,共同优化层,光流和遮挡。 Hur等人的最新研究成果。 [17]通过将相应的约束集成到能量公式中,使用两个图像的前向和后向流之间的一致性。由于遮挡与深度变化直接相关[12],因此在视差估计方法[12,19,9,44]中明确考虑它们是很常见的。

在本文中,我们表明,训练网络进行遮挡估计显然是有益的,特别是如果训练的网络与视差或光流估计的网络公式相结合。我们不会尝试解决鸡与蛋的问题,而是使用联合训练程序来解决这个问题。

深度和运动边界估计。在许多能量最小化方法中,深度或运动边界估计隐含地包括在平滑约束中的异常值的鲁棒性的形式中。通常,这些边界不明确。 Black&Fleet [4]是一个例外,他估计平移运动和运动边界。在分层运动分割方法中,运动边界也是明确的。其中大多数假设是预先计算的光流,并且只有少数人共同估计分割和流动[40,8]。 Leordeanu等。 [26]介绍了一种边界检测器的组合优化方法,该方法也覆盖了运动边界,而大多数其他方法都使用了外部图像边界检测器[1,10]。 Sundberg等。 [43]使用gPb [1]和LDOF [6]来计算与图像边界相邻的区域之间的运动差异。 Weinzaepfel等人。 [49]使用在外观和运动线索方面训练的结构化随机森林。雷等人。 [25]提出了一个完全卷积的暹Siamese络,该网络接受了注释视频分割的训练。仅使用视频分割地面实况进行训练,他们能够在推理期间推断出边界点的运动。对于视差和深度边界,问题非常相似,并且大多数上述方法也可以应用于差异。贾等人。 [20]使用条件随机场从颜色和深度图像推断深度边界。在本文中,我们通过联合训练程序获得深度和运动边界

通过联合细化以及遮挡和差异或流动。

场景流量估计。 场景流量估算首次通过Vedula等人的工作推广。 [45]后来被变分方法所主导[15] [33] [47]。 Vogel等人。 [46]将场景流估计的任务与超像素分割相结合,使用分段刚性模型进行正则化。舒斯特等人。 [37]提出了一种变分方法,用于从稀疏匹配中插入稀疏场景流估计。 Behl等人。 [3]提出了一种3D场景流方法,该方法利用实例识别和3D几何信息来获得无纹理,反射和快速移动区域的改进性能。

在本文中,我们仅基于估计对应关系来研究场景流估计,而不使用3D几何信息。 Mayer等人提出了类似环境中唯一基于学习的方法。 [29],但表现不佳。

3网络架构

我们研究用CNN估计遮挡和深度或运动边界以及视差和光流。为此,我们建立了FlowNet [11]的卷积编码器 - 解码器架构和FlowNet 2.0 [18]的堆栈。我们的修改如图1(a)所示。为简单起见,我们在下面提到流程案例。差异情况类似。

在我们的[18]版本中,我们放弃了小排量网络。事实上,我们重新实现的版本的实验表明,如果没有它,堆栈可以在小位移上表现良好。我们仍然保留以前的融合网络,因为它也执行平滑和锐化(见图1(a))。我们用网络名称中的字母“R”表示该网络(例如FlowNet-CSSR)。此网络仅用于细化,不会看到第二个图像。我们通过整合Pang等人的建议进一步修改堆栈。 [31]并向细化网络添加剩余连接。与[18]中一样,我们也输入了warp的图像,但省略了亮度误差输入,因为这些可以很容易地由网络计算。

最后,我们添加遮挡和深度或运动边界。虽然遮挡对于从一开始就进行细化很重要,但只有在后面的细化阶段才需要边界。因此,我们在第三个网络中添加边界。在实验上,我们还发现,在早期网络中添加深度或运动边界预测时,这些网络可以更好地预测细节,但在出现错误时会更严格地失败。尽早预测准确的边界将与细化管道的概念相反。

通常,在遮挡区域中,从第一图像到第二图像的向前流动与从第二图像到第一图像的向后流动不匹配。如果正向流被正确地插入到被遮挡的区域中,则它类似于背景对象的流动。由于该对象在第二图像中不可见,因此目标位置的后向流来自另一个对象,前向和后向流不一致。许多经典方法使用此事实来确定遮挡。

我们将其纳入图1(b)所示的网络架构中。在这个版本中,我们让网络共同估计前向和后向流量和遮挡。因此,我们修改FlowNetC以包括第二相关,该第二相关从第二图像获取特征向量并计算与第一图像中的邻域的相关性。我们连接输出并为第二个图像添加第二个跳过连接。该设置在图1(b)中显示为FlowNetC-Bi。在整个堆栈中,我们然后估计前向和后向的流量和遮挡。

在图1(c)的第三个变型中,我们将前向和后向流量估计建模为单独的流,并在每个网络之后对另一个方向执行相互warp。例如,我们使用前向流将第一网络之后的估计后向流动warp到第一图像的坐标。随后我们翻转翘曲流动的标志,有效地将其转变为向前流动。然后,网络在与输入相同的像素位置处具有前向和对应的后向流。

最后,我们使用我们的网络进行流量和差异来构建场景流扩展。对于场景流任务,需要t = 0处的视差,并且通过视差改变[29](类似于第三坐标的改变)来扩展流程。为了计算这种差异变化,可以估计差异

t = 1,将它们warp到t = 0并计算差值。但是,在存在遮挡的地方,翘曲将是不正确的或未定义的。因此,我们添加了图1(d)所示的网络,以便在给定warp的视差,遮挡和图像的情况下,为这些区域学习有意义的插值。

4

4.1Experiments

训练数据为了训练我们的流动网络,我们使用FlyingChairs [11],FlyingThings3D [29]和ChairsSDHom [18]数据集。 为了训练差异网络,我们只使用FlyingThings3D [29]数据集。 这些数据集不提供我们设置本身所需的基础。 对于FlyingChairs,使用[11]的作者提供的代码,我们重新创建整个数据集,包括后向流,运动边界和遮挡。 对于FlyingThings3D,直接提供深度和运动边界。 我们使用流和对象ID来确定遮挡。 对于ChairsSDHom,我们通过使用0.75的流量大小差异阈值来查找对象ID和流中的不连续性来计算运动边界。 为了确定地面实况遮挡,我们还使用流和对象ID。

4.2 培训计划和设置

为了训练我们的网络,我们还遵循FlowNet 2.0的数据和学习速率表[18]。我们通过网络训练堆栈网络,始终固定已经训练过的网络。与[18]相反,对于每个步骤,我们仅使用迭代次数的一半。然后初始网络有点糟糕,但事实证明,细化可以很好地弥补它。我们还发现剩余网络收敛得更快。因此,我们在堆栈上训练每个新网络,在FlyingChairs上进行600k次迭代,在FlyingThings3D上进行250k次迭代。

可选地,我们遵循与[18]中的ChairsSDHom上的小位移相同的微调程序(在这种情况下我们将“-ft-sd”添加到网络名称)。我们使用caffe框架和[18]中的相同设置,只进行了一个小修改:我们发现,在地理实例流向量的数值缩放(乘以20)会在优化过程中产生小位移的噪声。我们建议将此因子更改为1.由于这些都是微小的修改,我们在补充材料中提供详细信息。

为了训练流量和差异,我们使用正常的EPE损失。对于小排量训练,我们也应用建议的非线性[18]。为了训练遮挡和深度或运动边界,我们使用正常的交叉熵损失,其中0和1类应用于每个像素。为了结合不同种类的多种损失,我们在训练开始时平衡它们的系数,使得它们的大小大致相等。

 

待续。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值