Learning video saliency from human gaze using candidate selection

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

【阅读笔记】

一、图像显著性与视频显著性的区别

图像显著性中,颜色、高对比度、还有人物等,都是图中最能引起观察者注意的,当看着一张图几秒钟时,观察者可以扫描到许多个感兴趣的区域。

而当观察者看一段视频时,每帧只有很短很短的观察时间,因此注意力主要集中于一个最显著的点。

如下图,(a)是观看静态图像3秒钟得到的图像显著性,(b)是观看相同画面的视频的一帧中的视频显著性。可以看出视频中的显著映射更紧密,更集中于单个对象,而在图像中就不那么集中单一了。

二、本文提出的方法

本文不是在每一帧上单独地检测显著区域,而是根据之前视频帧的注视点映射(fixation map)预测当前帧注视的位置。

三、本文的贡献

  1. 主要贡献是:由于视频中的显著性区域很少,如果在每个像素上去计算显著性,会造成很大的冗余。而本文选择了一组候选的注视位置,并只在这些位置上计算显著性。(另外本文认为注视点在帧与帧之间的变化很小,并且当注视点明显变化时,也会在很大程度上限制在局部区域内变化,也就是说它只在小范围内变化,因此检测时只处理少量可能含有显著区域的候选对象。)
  2. 提出了一种方法来学习连续帧之间注视点转移(gaze transition)的条件概率。

四、大纲

  1. 为每帧提取候选对象
  2. 对每个注视点位置进行特征提取
  3. 为每个候选对象学习或预测注视概率

1. 候选对象提取

本文考虑三种候选对象:

① 静态候选对象:由于局部对比度引起注意(局部低级特征)的区域,不考虑运动信息。

② 运动候选对象:由于帧之间的运动引起注意的区域。

扫描二维码关注公众号,回复: 3692747 查看本文章

③ 语义候选对象:由高级人类视觉处理得到

其中静态候选对象和语义候选对象分别在每一帧上单独生成;运动候选对象是在相邻帧之间使用光流计算得到的。每个候选者的位置都是用Gaussian blob表示的,表征为其均值的空间坐标及其协方差矩阵。【blob特征就是一团,一坨东西,它并不一定是圆形,总之它就是那么一坨独立存在的特征】【协方差矩阵,决定样本分布的圆扁程度

① 静态候选对象:

因为视频是由一系列单独的帧组成的,所以要先根据它的静态因素选择候选对象。给定一个感兴趣的帧,这篇论文计算了它的GBVS(graph-based visual saliency,由Harel等人提出的)。选择GBVS而不选用其他图像显著性的主要原因有两个:

  • GBVS能够准确地预测静态图像中人类注视点的位置
  • 与更精确的那些方法相比,GBVS计算速度更快

用GBVS得到的图像saliency map,我们希望在这上面找到最能引起注意的候选者区域(candidate regions)【可能不止一个】。所以接下来将该saliency map进行归一化,把归一化后的saliency map当作一个分布,用它来在大量的随机点上取样,取出来的点再用mean-shift进行聚合,【一种聚类算法,往特征点最密集的地方走,参考https://blog.csdn.net/guo1988kui/article/details/75047285】聚合的中心就是candidates的位置。

最后,通过将Gaussian拟合到candidate周围位置的显著映射上,预测每个candidate的协方差矩阵。【本文不使用高斯混合模型的原因是因为,本文希望在这个分布尽量宽的范围内得到峰值】

② 运动候选对象

首先计算连续帧之间的光流,并且只保留光流值比较大的,滤掉其他光流值小的像素。由于我们感兴趣的是局部运动对比度,所以我们在光流大的地方应用高斯差分(Difference-of-Gaussians, DoG)。接下来得到运动候选对象的方法与获取静态候选对象时方法一样,都是先用mean-shift进行聚合,再进行Gaussian拟合。

【DoG高斯差分:DoG是灰度图像增强和角点检测的方法。我们知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去躁过程。DoG是两幅高斯图像的差,具体到图像处理来讲,就是将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图。】

③ 语义候选对象

首先我们都知道,当人们看视频时,总是偏向于看屏幕中心,因此本文就在视频帧的中心位置建立一个恒定大小的中心候选对象。另外也常会把注意力集中在人脸躯干上,为此本文在视频帧上使用一个人脸检测器和一个姿势检测器(poselet),这样就能提供人脸和身体的位置及大小。(另外,本文为检测到的bounding boxes进行均值非最大化抑制(mean shift non-maximal suppression),以防止对重叠部分重复检测)。

因为检测器检测到的人脸和身体是在不同尺度上检测到的,因此要将两种情况分开考虑。首先,将非常小的bounding boxes(比视频帧高度的15%还小)丢掉。对剩下的比较小的bounding boxes,在它们的中心区域建立一个单独的candidate。对比较大的bounding boxes,建立以下几个candidates:身体部分4个(头、两个肩膀、躯干),面部3个(两只眼睛、嘴和鼻子)。candidates的位置就固定在bounding boxes里,并且协方差与bounding boxes大小成正比。

2. 对动态注视点进行建模

提取了一系列candidates 后,接下来就希望找到最显著的那个。本文通过学习transion的概率来实现这一点,transition概率就是从源帧中的一个注视位置转移到目标帧中的一个新的注视位置的概率。需要注意的是,源帧不一定是前一帧,也可能是更早的几帧。

(1)提特征

为了对注视位置的变化进行建模,我们将特征向量与给定的源帧中的candidates与目标帧中的candidates组成的对关联到一起。接下来介绍每对candidates的特征向量是如何建立的:在这里特征可以分成两类:目标帧特征帧间特征。本文在对源帧特征进行实验时发现,源帧特征在学习过程中容易导致过拟合,因为它们与目标帧的特征仅有很小的不同。接下来用到的有:静态特征,运动特征和语义特征。

① 静态特征:

本文用candidate周围的局部对比度作为低级空间因素,局部对比度用下式计算:

C_l=\frac{I_n^{max}-I_n^{min}}{(I_n^{max}+I_n^{min})\cdot C_g}【1】

其中I_n^{min}I_n^{max}是candidate周围的帧强度(好像是指像素值)的最小值和最大值,C_g是全局对比度,用下式计算:

C_g=\frac{I^{max}-I^{min}}{I^{max}+I^{min}}【2】

其中I^{min}I^{max}是整个帧上的帧强度的最小值和最大值。

另外还计算了candidate周围区域的平均GBVS,将计算结果也作为一种特征加到特征集上。

② 运动特征:

首先计算光流在水平和垂直方向上的分量及光流大小,然后将目标candidate周围区域的每个DoG图的均值,加到特征向量上。

③ 语义特征:

首先加上人脸和身体的检测分值,再加上一些离散的candidate的分值,比如:motion,saliency,face,body,center,还有对应区域的大小。本文用candidate的位置到帧中心之间的Euclidean距离,来计算中心偏置。

需要注意的是,我们要在所有的目标candidates上计算所有类型的特征,不考虑candidate的类型。

(2)训练过程中的注视点转移

本文将训练过程的学习看作是一个分类问题,注视点转移是否是在给定的源candidate到目标candidate过程中发生的。为了利用上述的特征训练这样一个分类器,需要做的有:

  • 选择出相关的帧对
  • 在这些帧之间标注好的和坏的注视点转移(gaze transition)

① 为选择出相关的帧对,本文在明显的注意力转移的地方进行场景剪切。源帧选择剪切前的最后一帧。由于人眼注视到一个新的感兴趣的对象上大约需要5到10帧,所以我们在切割点后15帧的位置设置目标candidate。对于那些不太好的样本,源candidate目标candidate对则从每个剪切的场景中间选取,为保证一致性,源candidate与目标candidate之间也是间隔15帧。

② 接下来需要在这些帧中获取好的和不好的注视点转移。首先,通过对注视点映射图进行平滑并将其阈值化,取前3%,将ground truth的人眼注视点聚合成簇。这样就提供了一系列易引起注意的区域。将这些区域的中心作为注视点,将源帧的注视点看作是源区域,本文将所有源区域和目标candidates组成的对,看作是训练集。目标帧注视点周围的 目标candidate,有这样的目标candidate的对被标注为好的。所以其他的对被标注为不好的。

(3)学习转移概率

  1. 首先在训练集上计算每个特征的均值和标准差,归一化每个特征,使之有零均值和单位标准差。
  2. 用归一化的特征向量及其标签训练了一个标准的随机森林分类器。
  3. 在预测阶段,训练的模型将源candidates与目标candidates之间的transition进行分类,并生成了一个分值。将这个分值归一化后作为transition概率。
  4. 通过将所有的transition聚合到一起,得到candidates的最终概率。可以用P(d)=\sum_{i\in S}^{ }P(d|s_i)\cdot P(s_i)计算,其中P(s_i)=\frac{Sal(s_i)}{\sum_{i\in S}^{ }Sal(s_i)}Sal(s_i)是源candidate的显著性,S是所有的源candidate集。

最后本文以 与高斯混合模型创建连续分布类似 的方式,生成显著图:用对应协方差的高斯替换每个候选对象,并将candidate显著性作为权重对它们进行求和。

五、实验

数据集:DIEM(Dynamic Images and Eye Movements),包含84种不同风格的高清视频,其中有预告片,广告,体育赛事等。与这个数据集一起的,每个视频大约有50位参与者的gaze tracks。

1. 验证候选对象

首先,我们希望能够证明,我们通过限定candidate集,注视点可以很好地被model。所以,本文计算了与注视点足够近的candidate位置的数量。如果注视点落在candidate的协方差矩阵定义的椭圆里,就称之为“命中”,否则“没命中”。

从所有帧上来看,平均命中率为81%,中位数是88%.这也就证明在大多数视频帧上,我们的candidate集可以很好地model注视点。

2. 性能评估

测试集:训练/测试方案follow《A. Borji, D. Sihite, and L. Itti. Quantitative analysis of human-model agreement in visual saliency modeling: A comparative study. IEEE Transactions on Image Processing, 2012.》。测试集包括有20中最具代表性的视频的所有帧。

模型在剩下的64个视频上训练。

由于我们的方法计算了从源帧的一个位置到目标帧的一个位置的转移概率,所以我们按顺序计算视频显著性。对于视频的第一帧,本文令中心位置为源candidate。接下来的视频帧,我们通过之前的源帧预测的显著图来计算转移到candidate集上的概率。

① 本文用来两种定量评估性能的度量。第一种是AUC(area-under-curve),这种方利用ROC曲线(receiver-operator curve)计算人类注视点与预测的显著图之间的相似性。AUC越高,结果越好。

AUC分别考虑每个注视点,而不是将注视点看作分布的样本。因此本文提出额外使用另外一个性能评估度量,即两个分布之间的\chi^2距离。当与ground truth的紧密分布比较时,\chi^2距离重点突出值高的显著图,而不是均匀分布的显著图。(????可能理解错了)\chi^2值越低越好。

本文将提出的显著性检测方法与五种其他方法进行了比较:

  1. humans,预测显著性的上限,并衡量了注视点映射的作用。为了计算它,我们随机地将一帧的ground truth 注视点拆分成两半,并使用\chi^2比较每一半生成的分布。通过与所述高斯核卷积来创建分布。重复10次,平均结果。
  2. 帧中间设置的Gaussian 。沿用《T. Judd, K. Ehinger, F. Durand, and A. Torralba. Learning to predict where humans look. In ICCV, pages 2106–2113, 2009.》
  3. GBVS
  4. PQFT
  5. 《X. Hou and L. Zhang. Dynamic visual attention: Searching for coding length increments. NIPS, 21:681–688, 2008.》

② 结果

猜你喜欢

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