《Video Saliency Detection Using Object Proposals》阅读笔记

版权声明: https://blog.csdn.net/Dorothy_Xue/article/details/82588264

1. 核心思想:

基于对象级显著性线索,通过rank排序和select选择显著对象建议(Object Proposals)【就像bounding box框出来的对象但又不是,见下文图片】,来解决显著性检测问题。

2. 为什么用对象建议?

对象建议提供更完全、更高级的表示,自然更能满足显著性对象检测的需要。

3. 主要贡献:

(1)首个通过利用对象建议来探索视频显著性检测的工作,将显著性检测问题当做是一个自动而统一的对象候选者的排序和投票过程。

(2)通过在对象级上重组各种传统的显著性对象建议来设计新的对象建议的排序和投票机制。

(3)提出的方法弥补了显著性对象检测低级特征和高级对象先验之间的不足,并取得不错的成果。

4. 相关工作:

(1)图像显著性检测

现有的显著性对象检测方法(图像)大致被分为两大类:自底向上的模型和自上而下的模型。

a. 自上而下的模型

目标是找到场景中经常被观察到的具体类别的实例(如:车、人)。因此,很难泛化到任意的场景或对象。

b. 自底向上的模型

依赖于低级视觉特征(例如颜色、纹理等信息)来预测显著性。在自底向上的方法中,基于对比的“center-surround”方法被广泛应用于推断显著图,依据的是人类将更多的注意力集中于与周围环境对比度强烈的区域。

例子:[12] 利用可区分的和选择的部分进行对比度计算,并将其融入到显著性检测框架中。而基于对比度的方法有一定的局限性,获得的显著图趋向于突出高对比度的边缘,并且对象中心暗化。为解决这个问题,一些课题组探索了一种背景先验(background prior)的方法来加强显著性预测[13]。背景先验方法认为,人类主要将注意力集中于一张图片的中心区域并且忽略边界信息。这种方法已证实边界的背景先验是有效的。然而,因为背景先验以图像边界为背景,当显著对象占据很大的地方或者贴到图像边界,这种方法都有可能失败。一些方法包括介绍外部信息,例如[14]添加了近红外图像到常规的RGB图像上来帮助检测显著性。[15]、[16]采用了监督方法将多实例融入到检测程序中。

(2)视频显著性检测

为检测动态场景下的显著性,大多数视频显著性方法使用自底向上的方法[17]-[20]。[2][21][22]这些模型通常计算局部或者全局的输入特征对比度。[22]提取了一系列时间和空间上连贯的关键点轨迹,并用一级支持向量机移除一致的运动轨迹来获取动态显著对象。最近,很多工作将视频显著性问题看作是,分别生成空间和时间上的显著图,然后再将它们结合到时空显著图中。一些方法是基于频域,注重于提取光谱域特征。大多数方法都是基于像素或超像素级。[22]使用预测的关键点,[25][19]为时空显著性计算提出了基于超像素的方法。然而,在多个显著性对象或复杂背景的情况下,这些方法可能不会为整个显著对象或背景推断出对应的显著值。

基于这些,本文在对象级区域使用了一种方法,弥补了以往工作中缺少对象级特征的缺点。

(3)对象建议分割

对象建议方法,一旦给出一张输入图像,就能输出一系列图像分割,这些分割直接生成对象候选对象,而这些候选对象很有可能包含了要找的对象。这一问题近年来得到广泛关注,因为它为其他计算机视觉课题提供了很有效的预处理过程,例如无监督视频分割[37]-[39],监督对象检测[40],弱监督对象定位[41]。特别的,对象建议被提取出来成为一系列图像分割片断,每一个都有一个分值,用来衡量其包含要找的对象的可能性。

5. 数据集

(1)首先在SegTrackV2 dataset上评估,SegTrackV2 dataset是SegTrack dataset的升级版,它每帧的多个对象都像素级GT标注。共有14个序列。

(2)Freiburg-Berkeley Motion Segmentation Dataset(FBMS)

(3)Densely Annotated Video Segmentation(DAVIS)dataset,50个视频序列,都有二值标注。

6. 基于对象建议的显著性分割

算法的核心前提是,通过在对象级上考虑少数显著性因素来从成千上万的对象建议中识别出显著区域。

对于对象建议,设计了排序方法来在时间和空间显著性因素选择显著对象建议(图c)。另外,设计了投票程序来将前景对象区域从背景中分离出来,有效生成初始的显著性预测(图d、e)。图f是优化后的初始显著图,通过考虑到对象边缘优化和时间连续性来提高模糊区域中预测的精度。

假设I=\left \{ I_{1},I_{2},... \right \}是输入帧序列,第t帧为I_{t},应用静态图像排序方法来生成对象建议P_{t}=\left \{ p_{t}^{1},p_{t}^{2},...} \right \}(图b)。这些对象建议通过[34]中的方法生成,并且每一帧都生成了几百个对象候选对象。与过分割不同的是,这些对象建议更像显著性对象,因为他们有更明显的边缘,它们与周围的像素有明显的对比。根据[34]中的对象分值(这些分值衡量了候选对象中包含了显著对象的可能性),本文为每一帧选择了前200个候选对象。对于I_{t}帧中的每个对象建议p_{t}^{n},本文根据空间和时间显著因素计算了其排序分值R\left ( p_t^n \right ),定义为:

R(p_t^n)=R^F(p_t^n)+R^M(p^n_t)【1】

其中,R^FR^M分别是指帧间视觉显著性分值和运动显著分值。然后根据排序分值R来对对象建议P_t排序,并选择显著的对象建议。(后面还介绍了通过重叠方法将所有显著的对象建议融合到一起来获得初始的显著预测)。

(1)空间显著分析

在显著性检测中常提到大量的显著性先验,其中广泛应用的是背景先验(background prior)和中心-周围对比先验(center-surround contrast prior)[8][13][31]-[33][60]。在早些时候,这两种先验方法都应用于低级集合中运算,例如像素或超像素[47][48][54]。这样做的一个比较明显的缺点就是不能将显著区域当做一个整体,因为每一个先验都只处理图像的一小部分。为了计算帧内的显著值,本文将传统的低级空间显著性因素拓展到了对象级。本文为对象建议重新定义了background prior和center-surround appearance prior。另外,本文借鉴了[34]中的对象分值,这些分值代表了一个对象建议可能含有显著对象的可能性,将这种对象分值融合到了本文的显著性预测中。

本文的空间显著分值R^F的公式如下:

R^F(p_t^n)=F_{obj}(p_t^n)+F_{bg}(p_t^n)+F_{cnt}(p_t^n)【2】

其中F_{obj}(p_t^n)代表[34]中的对象分值,在提取对象建议候选对象的过程中获得。F_{bg}(p_t^n)代表background prior分值,F_{cnt}(p_t^n)代表center-contrast分值。上面所有分值都归一化到[0,1]之间。

①对象建议background prior:

背景区域与图像边缘相连接有很大的概率,这种概率就是所谓的背景先验。[13]中提出了一种区域级background prior叫做边界连通。边界连通定义为这样一种比率:

边界连通=边界区域周长/该区域面积平方根

然而[13]中也提到,在像素级或超像素级计算这种衡量可能会很困难,因为边界连通是基于对象级的,并且图像自身的硬分割(软分割:允许被分割的区域重叠;硬分割:被分割的区域不能有重叠)就是很困难的没有解决的问题。[13]中采用了一种软公式来在超像素级上计算边界连通。这种方法适用于对象建议,因为对象建议代表一种可能的对象分割。然后基于重组的边界连通介绍了proposal background prior分值,代表了贴近图像边缘的部分更有可能是背景。对象建议p_t^n的background prior分值定义为:

F_{bg}(p_t^n)=exp\left (-\frac{p_t^n\bigcap Bnd(I_t)}{\sqrt{Area(p_t^n)}}\right)【3】

其中Bnd\left(I_t \right )是指I_t帧的边缘像素,Area\left(p_t^n \right )是指对象建议p_t^n的像素数量。根据这个等式,如果一个对象建议多次碰触到帧的边缘,它将被赋予比较高的背景先验分值,也就是说他几乎不可能被当做是显著性对象建议。

从上图中可以看出,与图像边缘连接的越多,越有可能被当做是背景区域,即使显著性对象被包含在这个对象建议中,但背景区域在整个帧中占有比较大的比例,图(b)。

②对象建议center-surround contrast

基于对比先验的显著性方法通常需要知道对象区域与其周围区域之间的关系。在本文的方法中,对象建议对比  衡量了 视频帧中p_t^n与其周围环境的对象 相同的可能性。本文最后计算了p_t^n的CIELab颜色空间直方图,并将p_t^n区域扩张了10像素作为对象建议的相邻区域。对象建议p_t^n的对比分值F_{cnt}计算公式如下:

F_{cnt}\left(p_t^n \right )=1-exp\left(-\chi ^2\left(Hist_c\left(p_t^n \right ),Hist_c\left(Dil\left(p_t^n \right ) \right ) \right ) \right )【4】

其中,Dil\left(p_t^n \right )是指p_t^n的扩张区域,\chi ^2\left(p^n_t,Dil\left(p_t^n \right ) \right )是指L1范式的外观直方图之间的卡方距离(chi-squared distance)。

(2)时间显著性分析

在处理视频时,除了外观,运动也为显著性检测提供了很有利的因素,因为与周围环境相比像素突然变化很容易引起更多的注意。本文设计了一种基于运动对比度的显著性方法,首先利用大位移光流法(large displacement optical flow)[45]计算光流。为获得更鲁棒的运动信息,本文在时间域上平滑了初始的光流图。运动显著性分值计算方法如下:

R^M\left(p_t^n \right )=M_{bg}\left(p_t^n \right )+M_{grd}\left(p_t^n \right )+M_{cnt}(p_t^n)【5】

其中,M_{bg}是指运动对比分值,M_{grd}是指基于光流梯度的分值,M_{cnt}是指运动一致性分值。

①平滑光流

显著性对象不一定会在整个视频序列中移动。在标准的光流中,静态的物体将会导致不连续性和不精确性。为保持时间连续性并获得更鲁棒的光流预测,本文利用高斯滤波器G,对I_t帧 在时间上平滑光流预测o_t,公式如下:

o_t=\frac{\sum_{i=-l}^{l}G(i;0,1)\times o_{t+i}}{\sum_{i=-l}^{l}o_{t+i}}【6】

其中,l是指在平滑过程中相邻帧的数量。

②基于运动对比的显著性

前景对象的运动模型与背景的运动模型通常是不一样的。本文设计了一个背景运动对比分值M_{bg}(p_t^n)来对这项观察进行建模。一个对象建议,通过【3】计算得到的背景先验分值F_{bg}小于e^{-1},将会被当做是背景。基于此,本文计算了每一个对象建议和背景建议之间的运动对比BP(是一个比值?)。

特别地,给出了两个连续帧I_tI_{t+1}之间平滑的光流o_t=(u,v),对象建议p_t^n的运动分布由以下两项表示:光流大小的归一化直方图o^{grad}=grad(\sqrt{u^2+v^2}),以及光流方向的分布o^{ori}=arctan(v/u)。基于运动特征flow=\left \{ o^{grad},o^{ori} \right \}的直方图Hist_f,本文计算了p_t^n的运动对比分值M_{bg},公式如下:

M_{bg}(p_t^n)=1-exp\left(-\chi ^2\left(Hist_{flow} (p_t^n),Hist_{flow}(BP)\right ) \right )【7】

注意这里的分值是基于相对运动的,因此可应用于移动相机拍摄的场景。

③运动梯度求和

运动对比的基本原理是对象的运动模型有别于背景的运动模型。不同的运行模型造成速度和方向的不一致。显著性对象边缘的光流梯度将会很大。因此本文利用运动梯度求和技术[39]计算了运动梯度分值M_{grd}(p_t^n),这个分值被定义为对象建议p_t^n的边缘的光流梯度的平均Frobenius范数,公式如下:

M_{grd}(p_t^n)=\left \| o_t \right \|_F=\sqrt{\sum_{i=x,y}^{ }\sum_{j=x,y}^{ }\left | (\mu _i,v_j) \right |^2}=\sqrt{\mu ^2_x+\mu ^2_y+v^2_x+v^2_y}【8】

其中o_t=(\mu ,v)是指连续帧I_tI_{t+1}的平滑光流。\mu _x\mu _y是x方向上的光流梯度,v_xv_y是y方向上的光流梯度。

④对象建议连续性

随着时间推移显著性对象区域是连续的,因此在相邻帧之间,显著的对象建议也应该保持时间上的连续。在I_t帧中,根据前一帧的显著性对象建议,本文为每个对象建议p_t^n定义了一个帧内分值。特别的,根据前面的光流,I_{t-1}帧的每一个对象建议p_{t-1}^n都可以变形到I_t帧。然后,本文预测了I_t帧的对象建议p_t^n和变形的对象建议之间的重叠。这就生成了时间连续分值M_{cnt},公式如下:

M_{cnt}(p_t^n)=\frac{\hat{p}^n_{t-1}\cap p^n_t}{Area(p^n_t)}【9】

【本帧中有显著对象,根据连续性,在下一帧也应该有,所以变形后得到的应该跟实际的差不多,也就是分子越大越好】

其中,\hat{p}^n_{t-1}是指从t-1帧到t帧,对象建议p_{t-1}^n根据光流o_t的变形区域。基于此,分子比较小的对象建议应该被舍弃。对象建议应该随着时间推移保持连续性。

(3)显著性的投票策略

根据上文,可以给出不同的显著性分值,就能根据【1】计算每个对象建议p_t^n的排序分值R(p_t^n)。本文为每帧定义了一系列对象建议,其中最高的20%为显著对象建议。本文定义P^S_t\subset P_t作为这个高分值对象建议集的子集,令m是P^S_t中显著对象建议的个数。本文提出了一种投票策略来预测显著性。从显著对象建议p^i_t\in P^S_t中生成一个二值掩膜M^i_t,其中,如果像素x属于对象建议p^i_tM^i_t(x)=1,反之则为0。对于每个像素x,通过累加选中的对象建议P^S_t的二值掩膜来计算显著值。【意会】计算公式如下:

O_t(x)=\frac{1}{m}\sum_{i}^{ }M^i_t(x)【10】

进一步归一化这个值来获取初始显著预测:

S^{Ini}_t(x)=1-exp\left(-\frac{O_t(x)}{\sigma ^2} \right )【11】

其中,\sigma是归一化显著图的一个常数,通过实验,值设为3.

7. 时空显著性优化

(1)对象边缘优化

第一个目标是优化显著图来获得更精确的对象边缘。首先,应用SLIC[49]从I_t帧中提取超像素R_t=\left \{ r_t^1,r^2_t,... \right \}。【每帧约500个超像素】。计算超像素r^i_t的初始显著性S^{Ini}_t(r^i_t)作为它的像素的平均显著值。然后,超像素R_t被分成三部分:1)前景区域F_t(显著区域);2)背景区域B_t;3)不确定区域U_t

F_t=\left \{ r^f_t|S^{Ini}_t(r^f_t)> \tau ^{high},\forall r^f_t\in R_t \right \}

B_t=\left \{ r^b_t|S^{Ini}_t(r^b_t)> \tau ^{low},\forall r^b_t\in R_t \right \}

U_t=R_t-F_t-B_t【12】

其中,两个阈值\tau ^{high}=0.8,\tau ^{low}=0.2

然后本文通过基于图论的方法优化不确定区域的显著值。对于每一帧,建立一个无向加权图超像素作为节点任意两个相邻超像素(r^i_t,r^j_t)之间有边相连,根据平均CIELab颜色空间和平均光流大小的特征,将权值定义为欧几里得距离。因此,用[4]和[51]中的方法在任意两个超像素间计算测量距离d^{geo}(r^i_t,r^j_t),然后在任意两个背景超像素和任意两个前景超像素之间添加边,权值设为0。每个不确定的超像素的显著值r^u_t\in U_t作如下定义:

S^{Ref}_t(r^u_t)=1-exp\left(-\max_{r^f_t\in F_t}d^{geo}(r^u_t,r^f_t)\times \min_{r^b_t\in B_t}d^{geo}(r^u_t,r^b_t) \right )【13】

这个公式的理论基础是,当不确定区域与背景超像素较远并且靠近前景超像素时,不确定的区域r^u_t应该有高显著性概率

(2)时间显著一致性

为了进一步提高优化过的显著预测S^{Ref}的时间连续性,本文介绍了一种随着时间推移,传播每帧显著图的传播过程[52]。对于第一帧I_1,使用优化过的对象建议显著图S^{Ref}_1来初始化位置先验。接下来的帧,超像素r^j的显著值由以下公式计算:

S^{Fin}_{t+1}(r^j_{t+1})=\frac{\sum_{i}^{ }\phi (r^i_t,r^j_{t+1})\cdot \psi (r^i_t)}{\sum_{i}^{ }\phi (r^i_t,r^j_{t+1})}S^{Ref}_t(r^i_t)

其中

\psi (r^i_t)=exp\left(-o^{grad}(r^i_t) \right )【14】

其中,\phi (r^i_t,r^j_{t+1})是指通过使用光流变形得到的超像素r^i_t和超像素r^j_{t+1}之间的重叠【前向光流传播t+1-->t】。o^{grad}同上文一样,计算运动对比分值。这个过程是独立向前向后传播的,最终的结果是这两步的平均值

最终得到的结果更准确。

【许多词汇不知道专业说法,只可意会,欢迎指导】

【供本人阅读笔记用】

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/82588264