CVPR2018:Combining CNNs and Geometric Constraints for Hierarchical Motion Segmentation

摘要

运动分割的传统方法是采用几何约束去理解运动。现代cnn方法在运动检测上超越了一些著名结构,但也许不能精确描述著名的几何约束方法。作者提出了一个统计的刚体运动模型,基于角度预测约束。然后把这个分段刚体运动组合到了复杂可变形和铰接的对象,同时用到CNN的语义分割和一个第二对象层次的统计学模型。这种方法组合了传统的几何知识和cnn领域的模式识别能力,并在大范围的运动分割基准数据集上取得了卓越的表现。

介绍

理解运动是我们理解世界的基础,从预测眼前的未来到理解行为和相互作用,甚至是定义对象本身。在这项工作中,我们重新审视了移动摄像机视频中运动分割的经典问题,这是理解和解释运动的第一步。运动分割是一个有趣的问题,因为它结合了视觉的子领域,其中几何是一个强大的约束 , 理解图像在相机运动下如何变化,还有一些“混乱”的问题,如分割和灵活移动物体的变形,其中几乎没有硬几何约束。这个思路出现了一系列的方法,大多数使用了几何方法同时很大程度上忽略了外表(),另外的一些试着用CNN结构学习整个pipeline(),并尝试学习图像模式和流模式。单独使用运动线索而没有用到运动物体外观模型的方法可能会在流有噪声,模糊或难以确定的情况下失败。这种纯粹的几何方法经常理解运动不够充分。运动物体的外表必须被考虑到。这就表明了需要使用到深度学习的方法去解决这个问题。当然,CNN在物体识别上表现很卓越(),它擅长在图像以及视频中找到目标()和图像分割()。然而,有的情况单独的外表不足以很好的分割。特别是在有伪装的动物运动的数据集情况下,其中运动的对象在很多帧上几乎是消失的。这篇文章中,作者使用了经典的方法和现代用作外表建模的CNN组合运动模型并获得的很好的结果。作者设计了一个分层的运动分割系统,其中第一阶段识别简单的刚体运动成分,第二阶段整合这些成分成为完整的对象,受启发于对每帧进行语义分割()。

这个新的分层系统允许使得第一个低级阶段专注于透视投影的几何形状,将帧分割成其刚性运动。然后在第二阶段,可变形的和铰接的对象,像行人和动物,被建模为一个组合了许多刚体运动成分,如语义分割的结果那样。当运动分析和语义分割都没有错误时,它们的组合结果在多标签运动分割问题上有重大提升。作者贡献如下:
1.两步分层运动分割模型:分割一帧为刚体运动;使用来自SharpMask()的目标知识组合这些刚体成为可描述铰接和变形的目标对象模型,如人或动物。
2.一种新的光学流统计模型,作为对基本运动场的噪声测量。
3.一个贝叶斯方法用于计算一个相关于光学流向量的三维运动方向的似然,其中我们整合了不可观测的运动场大小。这允许我们以与透视投影和我们的统计模型一致的方式将像素分配给刚性运动模型。
首先是定义运动分割。作者关注经典的运动分割定义,其中主要是分割出相对于背景运动的所有的目标。即便如此,仍有一些细节需要提出来弄清楚,如ground truth应该是什么样的。比如,在风中摇曳的灌木从是否应该被分割为一个运动的目标。这些问题在 A detailed rubric for motion segmentation有讨论,并且这个工作调整了他们的关于ground truth的定义。作者在三个与传统的运动分割相定义一致的基准数据集上报告了结果。 Freiburg-Berkeley Motion , Complex Background , and Camouflaged Animals. Davis data set是一个受欢迎的视频分割基准数据集,其中聚焦于分割显著性目标而不是所有的运动的目标。但作者的方法不是为此设计的,作者用讨论目标分割与运动分割的关系以及在此数据集上的结果作为补充的材料。

相关工作

许多运动分割论文都集中在二元运动分割的问题上,其中像素被分类为移动或背景的一部分,但是没有在不同的运动对象之间做出区分()。其它的(),像这篇文章 一样,解决了多标签运动分割问题,其中为每个独立运动的对象提供了单独的标签。在本节的其余部分中,我们不区分二元和多标签运动分割。关于运动的信息主要是产生于连续帧中匹配的像素。这可以是稀疏点轨迹或光学流的形式。基于稀疏点轨迹的方法在运动分割上取得了好的结果。给定光学流,相同位移的像素点被分 组为对象。然后跟踪这些对象,以便随着时间的推移对它们进行一致的分割。然而,基于追踪的方法经常分割到没有移动的对象。两帧之间的像素位移是一个关于深度和运动的函数,因此基于聚类的运动追踪形成的簇不仅仅是关于独立的运动对象,也是关于不同深度下的对象。基于遮挡的方法受到类似深度相关问题的影响。
基于透视投影的方法总体上比基于投影几何的方法更精确,因为后者在建模图像变换时省略了某些约束(例如正交性约束)()。Bideau发展了一个基于光学流的全自动运动分割方法。遵循透视投影的几何形状,基于光学流动方向对帧进行分割。假设基础运动场幅度等于光学流动幅度,它们使用运动场幅度来对每个流动矢量方向的信息量进行建模。不像Bideau,作者以贝叶斯方式整合未知运动场的大小,而不是假设它的值等于流量大小。一些目前的工作已经利用对象分割和语义信息进行录像对象分割和运动流估计。与这些工作不同,作者的工作将对象级语义知识与经典视角几何中的想法相结合,以准确分割移动物体。

方法

作者的运动分割系统是估计背景区域和一组刚性对象来(自动)初始化。并为此调整了公开的初始化代码。在此系统中,作者考虑了两个独立的运动概念:刚体运动:能被转换刚体3D区域描述的运动。对象运动:能被建模为包括一个或多个刚体运动成分。
在整个录像中,作者维护了一组刚体运动。但这个组可能被扩展以包含更多的新发现的运动或者如果发现没有更多的证据关于以前的刚性运动则缩减。多个刚性运动在一起能描述非常复杂的对象运动。此方法维护了一组这样的对象运动,它们通常对应于现实世界的对象,如汽车,行人或者动物。而背景,通常指静态环境,能够被建模为单刚性运动。算法一给出了大体的主要循环。来自前一时间步骤的几种类型的信息被用作当前时间步骤的先验信息。这包括每个刚体运动分量的(软概率)掩模,每个对象的(软概率)掩模,以及迄今为止如何将刚性分量分配给对象的历史。此外,我们还结合了当前光流的新信息()和SharpMask的区域提案()。主要步骤:

3.1.去除旋转流

我们寻求一个相机的旋转,使得在从光学流动中减去该旋转之后,剩余的流动对应于纯粹的平移运动。这对于一个静态背景区域来说是对的,因为这里像素位移仅仅是被摄像机运动影响而不会是单独运动的对象。对于第一帧不会去处理出一个估计的背景区域。因此通过RANSAC()找到该旋转。对于接下来的帧,可以根据前一时间的步骤得到背景区域的估计,和仅仅 是根据背景像素得到摄像机旋转的估计。除非另有说明,否则本文讨论的所有剩余光学流动都是指光学流动的平移分量,即在移除相机旋转后的光学流动。
3.2估计刚性运动分量并将每个帧中的像素分配给刚性运动分量

系统的下一步是估计一组J个刚体运动模型Mj,j = 1 ... J,并将当前图像中的每个像素分配给其中一个运动模型。如上面图一所示,直观上的,我们想在图像中发现一组关于刚性结构的移动,然后判断哪些像素属于哪些运动模型。刚性运动模型描述了一个刚性对象的3D运动方向,而不是这个运动的幅度。设(U,V,W)是相机相对于物体的平移运动。设(X,Y,Z)是投影到图像中的(x,y)的点的3D中的真实世界坐标。设f是摄像机的焦距,运动场向量(u,v)在图像中的位置(x,y)由以下转换式给出

然后通过图像位置(x,y)处的运动场矢量(u,v)的角度给出图像中每个点处的2D平移运动方向
这导出了我们的刚性运动模型M,其是一个h×w矩阵(h和w是图像高度和宽度),由一个 3D平移运动(U,V,W)定义。这个矩阵的元素是图像中(x,y)处像素点的运动 方向。注意到这个刚性运动模型M是独立于焦距长度f的。然而,在补充材料中显示,所有刚性运动模型M的集合与焦距无关,并且对于每个焦距,存在从3D平移运动到刚性运动模型的独特映射。通过建立刚性运动模型集不依赖于焦距,我们提出了一种方法,可以分离不同的运动而无需确定其精确形式(需要焦距)。使用我们的刚性运动模型M作为中心构建块的一个优点是它们独立于场景深度Z(在等式2中,Mxy不是Z的函数)。依赖于运动场幅度的方法隐含了对景深的依赖,因此可以通过混淆由于相机运动引起的图像运动和由于物体运动引起的图像运动而导致深度相关的分割。对每一个刚性分割建立一个刚性分割模型。下一步是检验上一帧的刚性运动分割,和建立一个描述当前每一个刚性运动区域的光流的刚性运动模型。首先,我们“前移”前一帧的刚性运动区域,以获得当前帧中相同刚性结构的近似位置。我们这时用Horn的方法对每个区域的光流向量建立运动模型,它给出了一个闭式解为了最好地计算每个区域的当前平移流量采用了最小二乘估计程序。下式描述了观察到的光学流动(ut,vt)(从光学流动中移除相机旋转之后)和来自等式1的纯平移运动矢量(u,v)之间的平方差。参数(U,V,W)被估计使得下式被最小化:
给出每个区域的估计值 [ˆ U, ˆ V , ˆ W] ,我们可以将它们用等式2变形以获得当前帧的一组刚性运动模型。 注意,i = 1 ... N是一个区域中的像素索引。下一步是将像素分配到刚性运动模型,给出一组刚性运动模型Mj, j = 1...J, 设v~t = (ut,vt) 是点(x,y)处可被观测的流向量,包含了摄像机平移和对象运动。当前目标是在(x,y)处从J个运动模型中选出给定观察到的流向量的可能性最大的模型:

将图像中的每个像素分配给该最大后验运动模型,从而将帧分割进J个刚性运动分量。使用贝叶斯法则计算这些后验概率
为了计算这个后验概率,引入了一个似然和一个先验模型,下一部分会提到。
3.3将刚性运动分量分组成集成为对象模型

等式4中将一帧分割成了刚性运动成分,非刚性移动的目标经常由多个刚性运动组成。为了能精确地对对象建模,使用CNN来生成对象提议掩码,并利用高级图像理解的语义。根据生成的对象掩码,将刚体运动模型加入一个特定的对象。因此一组刚性运动模型通常用于一个对象的建模。通过等式4给出帧的分割和一组提议掩码,形成了与刚性运动模型Mj的互斥子集Mk。每个Mk,k = 1 ... K包括属于特定对象运动的一组刚性运动模型。步骤如下:1.使用SharpMask分割方法[35]生成对象提议,以创建对象的候选掩码,并选择仅对应于移动对象的掩码。2.将刚性运动模型加入由语义分割引导的特定对象运动的集合中。
生成移动对象提议,首先,使用SharpMask的语义分割生成一组对象提议以及对应的分数,并保留前100个。我们分析这些对象建议掩码并选择最佳覆盖图像的非背景部分的子集,后者是从刚性运动模型估计的。
接下来是将刚性运动模型组合成一个特定的对象模型。给出运动对象提议的掩码和分割L,我们可以简单地将每个运动模型Mj分配给对象建议掩模,该对象建议掩模与对应于Mj的刚性运动区域具有最高交点。然而,对象建议掩模并不一定是时不变的,它们可能增大,消失或者在某一帧中遮住了其它对象。因此需要一个更加复杂的方法而不是简单地将Mj分配给对象建议掩模。为了实现短时一致分割,做出如下要求:跟踪物体随时间的变化和时间一致地将运动分量Mj分配给物体。

通过评估SharpMask在当前帧中检测到的对象和过去检测到的对象之间的共享刚体运动成分来跟踪对象。设Q为对象建议掩模的数目(当前帧的,1...Q作为索引)。设K为到目前帧T为止检测到的运动对象数目。刚性分割分量Lrigid(t),对象分割分量Lobject(t),问题转化为找到将当前帧的每个对象提议掩码分配给其相应对象分割的最低成本方法。这个问题能被用矩阵表达对象k和运动掩码q之间的共同刚性运动分量的数量。我们要解决的第二个一致性要求是当前帧的刚性运动模型Mj到目前为止在视频序列中检测到的K个对象在时间上的一致性分配。根据条件概率将刚性运动分量Mj分配给一个对象
刚性运动Mj是集合M(k-T) (定义当前帧T的特定对象的运动的刚性运动的集合)的一部分的概率是帧数t,其中t = 1,..., T,其中Mj被分配给M(k-t).
总之,我们首先根据其组件相似性(图2的顶行)将刚性运动分配给当前帧的Q个运动掩模。 然后,我们将刚性运动重新分配给到目前为止已经看到的K个移动对象(图2的下排)。

对象移动模型:Mk T是一组属于特定对象运动的刚体运动模型。每个刚体运动模型描述了当前帧T中一个对象 的运动的一部分。设r是集合Mk T 的索引,现在下面解释如何从一组Mk T的子集中生成一个高级的对象运动模型Ok。类似于刚性运动模型Mj,对象运动模型Ok确定每个像素位置处的运动方向。由于其刚性约束,Mj通常仅对运动运动的一部分进行建模,而高层物体运动模型通过对整个物体的整个运动方向进行建模来克服这一限制。对象运动模型Ok是在Mk T中的刚性运动模型集合上的每个像素处的MAP估计。计算每个刚性运动Mr∈MkT的概率,给出在特定像素位置(x,y)(等式7)处观察到的流动,并将最可能的运动模型分配给该像素(等式8)。

下图是一个例子
3.4将每帧中的像素分配给对象以进行最终分割

给定对象运动模型Ok,我们将帧分割成其独立移动的对象。就像之前在等式4中将像素分配给运动模型,现在的目标是在每个像素位置(x,y)中选择K个高级物体运动模型中给定光学流向量v~t的概率最高的那个:

似然性和先验的计算类似于帧到刚性运动分量的分割过程,并且在下面导出。

流量似然和先验

令~q =(r,θ)是真实的平移运动场矢量(具有幅度r和角度θ),表示总运动场减去由于相机旋转引起的分量,设vt是观察到的光学流矢量~v的平移分量。 我们将vt建模为q的噪声观测:vt = ~q + ~n. (11)
我们将流动噪声~n =(nu,nv)建模为拉普拉斯分布(对于u和v分量)的乘积,其中参数取决于运动场的大小r:

通过这些假设,给定刚性运动模型Mj(或分别给出物体运动模型Ok)的概率:

(a):运动场矢量~q仅是运动场幅度r和运动方向Mj xy的组合。
(b):vt中唯一的不确定性是由于流动噪声n。
噪声方差取决于r,流量噪声分布的参数由Sintel数据库估算。p(r | Mj xy)是给定特定运动方向Mj xy的流量大小r的概率。假设p(r)与流动方向θ无关,并将其近似为具有参数br的指数分布:
使用FBMS-59训练数据集学习比例参数br。作者在补充材料中还讨论了流量噪声方差和运动场幅度r的关系。
Prior. 在每个像素处的特定刚性运动模型上的先验概率p(Mj xy)包括关于来自前一帧的每个运动的后验概率(运动先验)的信息以及将该组件在下一帧中的位置限制为接近其预期位置。
Motion prior. 为了粗略估计根据Mj建模的运动,我们按如下方式进行:(1)我们沿着前一帧的光流传播后验概率p(Mj xy | v~t)。(2)通过从相邻的未被遮挡区域迭代平滑来内插该区域。(3)然后我们通过用7x7高斯平滑来空间分配每个运动分量存在的概率。
Location prior.位置先验将运动成分的位置限制在靠近其先前位置。如果存在具有相似运动的多个对象,则重要的是将每个对象运动由其自己的一组刚性运动分量来描述。一个刚性运动模型不能被多个运动对象所共享。因此我们以类似于运动先验的方式在空间上传播来自前一帧的难分割。
后面实验部分不再详述。
(未完)

你可能感兴趣的:(CVPR2018:Combining CNNs and Geometric Constraints for Hierarchical Motion Segmentation)