论文研读《JOTS: Joint Online Tracking and Segmentation》

来源:互联网 发布:淘宝813是什么活动 编辑:程序博客网 时间:2024/04/29 17:26

JOTS: Joint Online Tracking and Segmentation

      这篇文章是2015年新出的CVPR中的一篇有关运动跟踪和分割的文章。涉及到online tracking,superpixel, spectral matching technique, multi-part segmentation,unified energy optimization iteration等知识,如果能彻底的搞懂论文和代码,必定会有很大收获!

    作者主页及代码:作者主页 论文下载

    一直都对贡献代码的作者致意崇高的敬意,他们为我们这些小白提供了很好的入门资料,为大家节省了很大的工作量。这篇文章的作者是今年刚从中科院自动化所毕业的博士,以第一作者发表了TIP,TPAMI,CVPR,ECCV等计算机视觉领域的顶会顶刊,膜拜啊!废话不多说,以下是我对本文的精华总结。文章中还有很多没看懂的地方和理解有误的地方,大家共同学习。

一、       简介

    本文把多部件跟踪和多部件分割(multi-part tracking and segmentation)统一到一个联合的能量优化框架中来实现在线视频目标分割。图像分割的目的是根据空间域的某些特征(比如颜色、灰度值、纹理)将像素分类,而跟踪是根据时间域的连续性对像素分类,很显然两者相辅相成,统一到一个框架内用于在线视频分割应该是极好的。具体说来,multi-part tracking为segmentation提供连续运动信息和结构约束条件,而segmentation可以产生精确地局部外观和位置信息,促进tracking。上述两个过程使用RANSAC的方法不断地迭代优化,从而保证得到精确的结果。程序流程图如下:


    具体步骤:

1、使用超像素分割方法SLIC生成当前帧的多个候选部件,图1a中间图就是SLIC分割后的结果。图1a下图黄色和绿色点分别表示目标和背景超像素的几何中心位置(作者只列出了部分背景超像素的中间位置)。

2、使用谱匹配技术将当前帧产生的超像素和上一帧学习到的目标部件进行匹配,得到各部件在当前帧的预测位置。图1b就是帧08、09的匹配过程。

3、上一步得到的目标尺度放大(确保将目标全部包含进去)作为bounding box作为后续分割区域。图1d就是从原图截取出的bounding box,这样使得后续超像素分割区域变小,边界更精确,计算量更小。

4、能量迭代最小化过程(图1c)。不同颜色表示不同的部件,这部分是本文的重点。图1d中的红色轮廓即为最终的目标分割结果。

二、       能量函数表达

   目标能量函数形式如下:

    等式最右边从左到右分别是数据项(data term,根据当前标记和多部件模型确定)、光滑项(smooth term,描述邻域像素间的相互作用)、正则项(regularization term,限制像素标记,避免过拟合)。

数据项定义如下:


   是外观能量,实际是计算一个像素p就外观特征(颜色)而言属于模型Mi的可能性(通过计算像素p在模型Mi的HSV颜色空间直方图所对应的bin值得到)。

  是位置能量,实际是根据像素p到中心位置的距离(水平和垂直方向两个单高斯模型的积),计算p就位置特征而言属于目标的可能性。

   同理,可以计算一个像素属于背景的数据项能量。和目标模型不同的是,由于背景模型包含多个子模型,背景模型的能量取所有背景子模型中的最小能量(为什么?)。

光滑项定义如下:


   直观的理解就是,如果两个相邻像素有相似的外观(颜色),那么可以认为这两个像素属于同一个物体,如果这两个像素赋予同样的标记,则这两个像素的光滑项应该有较小的能量惩罚,否则将得到一个较大的能量惩罚。另外,目标和背景的运动情况通常有明显的区别,尤其在物体边界(因为运动不连续),所以综合外观和运动信息可以有效地区分运动目标和背景。分别是两个相邻像素p,q的颜色、光流场的欧几里得距离。

正则项定义如下:


    引入正则项的目的是为了避免过拟合问题。注意:以上的定义都是对目标模型而言的,对于背景模型,正则项始终设为0(为什么?)。

   下面分别介绍等式右边的三类正则项:

1)面积

   基本思想是:面积比较大的子模型(即超像素)不能很好的处理较大的目标形变。同时,面积较小的子模型又容易受到背景噪音的影响,所以对子模型的大小进行了约束。具体定义如下计算公式:


  表示子模型Mj中的像素总数。上式表示各模型大小(像素总数)的标准方差。

2)轮廓

  基本思想:当目标有较大形变时,目标的某些部件可能会被遮挡,目标的范围和中心位置就不能精确的估计。下面的轮廓正则化项可以促进规则模型的并抑制不精确模型:


  用于计算二维平面内两个像素的欧式距离。表示部件模型的几何中心位置处的像素,表示由相同标号()像素组成的区域的中心位置。表示由相同标号()像素组成的边界像素集合。是方差函数,用于计算边界像素点的距离方差。(这部分不是特别理解,望大牛指点)

3)复杂度

  一般设为常数项1,用于在目标模型数目过多时对标记结果施加惩罚。

三、       能量最小化

   具体步骤:

1)前一帧得到的最优模型作为初始的多部件模型,很明显里包含错误的模型。

2)在multi-part segmentation阶段,利用 expansion算法结合正则项计算得到像素标记,从中一部分可靠的模型被选出来。

3)在multi-part tracking阶段,所选出来的模型所对应的HSV颜色空间直方图和位置模型均通过极大似然方式进行重新估计,参见能量优化函数公式(9)。

4)然后根据当前帧得到的分割区域标记结果,增加一些假设的部件模型用以扩充模型空间,得到扩展多部件模型集合

5)multi-part segmentation和multi-parttracking两个阶段不断重复迭代,产生一系列的区域标记,,…和多部件模型,,…直到能量函数(公式(2))不再减小为止。这时得到的就是最佳的标记和多部件模型.

    上述算法中的能量函数非负且具有自然的下届0,在迭代中总是保证总能量不会增加,因此该算法可以保证收敛。作者做了实验如下图:


    multi-part segmentation问题可以转化为多元(背景标记,前景多部件标记)像素标记问题,进而采用目前很流行的Markov random field框架下基于graph cut的 expansion算法进行能量最小化。其能量函数如下公式(8):


    Multi-PartTracking在获得分割区域的像素标记后,公式(8)中的平滑项已经固定(为什么?),跟踪优化问题转化为如下公式(9)形式


    对比公式(9)和公式(8)发现能量函数去掉了平滑项。求解公式(9)采用近似的方式来优化目标函数,即首先忽略正则项,并使用极大似然估计来最小化目标函数进而得到最优的部件模型。如果公式(2)总能量减少,使用估计得到的部件模型代替之前的部件模型,否则,就保留之前的部件模型。

四、       实验结果

作者的算法效果还是很不错的,在SegTrack 和SegTrack v2数据集上的测试结果见下面几个图:


      下面就几个方面对算法的优势进行评价:

1)         多个交叉的目标。其他文献中提取所有帧的目标候选区域,并关联起来进行视频分割,不可避免会产生不精确的目标候选区域,特别是目标周围有很多交叉运动的外观相似的目标出现时,比如penguin和cheetah。而本文的JOTS算法利用目标部件和近邻背景在时序上的一致性,这样能够更好的鉴别具有相似外观的目标和背景。

2)         目标突然的运动。其他文献中使用的光流容易受到背景噪声干扰,不能很好的处理目标的突然快速运动。本文使用基于谱图匹配目标区域预测可以较好处理这种情况。

3)         复杂的目标形变。其他文献中使用的超像素在不同视频帧中独立产生,可能同时包含前景和背景像素点,得到的结果不够精确;基于像素的方法也没有考虑局部约束,当目标大形变时,若背景和前景外观像素,很容易混淆。JOTS算法基于像素分割和局部约束的部件跟踪信息,并统一到一个迭代优化框架里,使得两种信息可以共享,提高分割精度。

4)         目标外观变化。其他文献直接将各帧独立产生的超像素聚合并没有直接关注所需分割的目标。JOTS算法通过在迭代优化过程中选择产生更好的目标部件模型来很好的处理目标的外观变化。

5)         目标遮挡。其他文献中产生目标候选区域可能包含之前目标被遮挡的区域,能够将其正确关联,从而获得较好的分割结果。JOTS算法虽然采样的迭代优化方法能够选择一些可靠的未被遮挡的目标部件模型来产生更加精确的分割结果,所以还是可以产生相当的结果。这是由于是基于在线时序分割,很难将之前遮挡的部分在后续帧中恢复。

0 0
原创粉丝点击