###《High-level event recognition in unconstrained videos》

时间:2023-02-17 13:10:39

Author:

Yu-Gang Jiang, Shih-Fu Chang

事件检测的目标就是自动识别给定视频序列中的感兴趣事件。进行视频事件检测通常很困难,特别是在网络中非限制的视频。在非限制情况下,视频质量可能很差,包括严重的相机移动,弱光,背景干扰和遮挡等。但是,随着视频数量的急剧增长,人们急需寻找一个有效的方法对视频事件进行检测识别。我们将探讨视频事件检测中常用的特征,模型,数据集以及评价标准。最后,给出视频事件检测中未来仍需探索的方向。

#@author:       gr
#@date: 2015-02-03
#@email: forgerui@gmail.com

一、介绍

高层或者复杂事件在我们的定义中指的是在特定场景下发生的动态目标交互行为。两种主要的事件包括活动事件和社会事件。前者包括做蛋糕,换轮胎等,后者有生日聚会,游行等。视频事件识别技术有许多应用,比如网络视频搜索,消费者视频管理,智能视频广告。

我们可以将视频分类按复杂度进行划分。运动是低级特征,它可以被应用在人类行为识别[1]中,它是一个目标的基础属性。接着还有活动或行为,它是一系列运动序列。它含有更多的语义信息,也更复杂,可能是多个对象之间的交互行为。最后,便是对整个视频复杂的事件识别,视频序列包含的信息更多,通常还会有一些干扰信息。当然,对视频的语义理解也会变得更加困难。

视频事件识别系统中有许多挑战。最常见的问题就是计算得到的低层特征与语义之间的巨大鸿沟。现在的方法大多直接使用计算得到的特征直接进行分类。也就是说,这些分类器尝试在特征与视频事件标注的标签之间建立联系,但这种方法始终存在问题,因为我们知道当前的特征无法完全来表示视频的语义信息,这也导致这些年视频事件识别的进展很缓慢。

二、特征表示

特征在视频分析中十分关键。好的特征可以对一些变化鲁棒,使得在不同情况下的相同类别的事件可以被正确识别。主要可以利用两种特征。一个是视觉,它可以描述目标的外观信息,场景设置,还可以捕捉运动信息。另外一个是听觉,可能包含音乐,背景声音或者对话。这两个方面都非常有用,许多研究都设计了视觉和听觉两方面的特征。

2.1 基于帧的外观特征

基于外观的特征是计算一个单独帧的特征。他们不包含视频序列的时间信息,但它们被广泛使用,因为它们比较容易计算,并且可以获得相对较好的结果。我们把现在的工作分为局部特征和全局特征,我们将在下面分别讨论。

2.1.1 局部特征

一个视频帧可以使用具有判别的局部特征表示。局部特征的提取包括两个步骤:检测和描述。检测是确定平稳图像块的过程。实际上,对图像块进行均匀或者稠密采样并保存下特征,可以减少计算量,并且需要的存储空间更小。

在许多检测算法中,使用最多的是高斯差分(DoG)[2],它检测出中心区域不同于周围区域的点,其它使用比较多的是Harris-Laplace,Hessian,MSERs(maximally stable extremal regions)。Harris和Hessian主要是检测角点,MSER主要进行区域检测。

一旦局部块确定之后,下一步就是对这个区域进行描述,使得描述子可以对旋转,尺度,视角,光照变化鲁棒。由于描述子是从小的区域而不是整帧图像计算得到的,所以它一定程度上可以降低遮挡和背景干扰带来的影响。

人们设计了许多描述子。最著名的就是尺度不变特征变化(SIFT)[2],它把图像块划分到相同大小的网格,每个风格使用梯度方向直方图描述。SIFT的主要思想是一个图像块由它的主梯度方向表示,这使得SIFT具有良好的旋转不变性。许多视频分析系统[3]里都使用了SIFT特征。为了提高计算效率,Bay等人提出了SURF[4]。

此外,还有一些比较流行的描述子。梯度方向直方图(HOG)[5]由Dalal和Triggs提出,它主要获取图片的边界分布信息。局部二值模式(LBP)[6]是另外一个纹理特征,它使用了像素和邻域像素比值的二值形式来标注每个像素。

2.1.2 全局特征

在早些时候,一些系统中使用全局表示,提取图像的全局颜色,纹理或边界信息。使用最多的是姿色直方图,颜色矩,Gabor纹理[7]。大多数这些全局特征采用基于网格的表示,这样就加入了场景的空间分布信息。这些特征在每个网格内单独计算,最后把每个网格的特征连接起来形成最终的表达。这个简单的策略在许多图片/视频分类工作上都有效。

2.3 音频特征

音频特征对视频分析来说很有价值,特别是当视频是在现实环境下获得的。美尔频率倒谱系数(MFCC)是一个在声音分类上使用最多的音频特征。MFCC表示了音频信号的短期能量波谱,它是基于长期的非线性美尔频率的线性余弦变换。Xu等人[8]使用了MFCC和另外一个音频特征叫做ZCR(zero crossing rate)。哨声和观众喝彩是检测犯规和得分的重要依据。Baillie和Jose[9]使用了类似的框架,但只使用了MFCC特征去进行基于声音的事件检测。

2.5 Bag of features

2.5.1 BoW

直接使用特征匹配即使在有索引的情况下,计算代价还是很高。

这种问题可以使用BoW解决。受文本处理中词袋模型的启发,可以将整个视频看作一个'document',将特征聚类的中心点作为一个'word'。

2.6 summary

1. 多特征融合

单独使用一个特征对于事件识别来说是不够的,需要使用多特征(frame-based, spatio-temporal, acoustic)融合的方法。

2. BoW

BoW现在是最好的事件检测模型,但它没有能力去获得深层语义信息,不能理解动作或者交互。其次,它丢失了组件的时空信息。除此之外,在将原始特征转换为单词时的量化也是一个问题。

三、识别方法

给定了特征表达,事件识别可以通过不同的分类器实现。这是一个典型的机器学习过程。先用标注好的视频进行模型训练,再用训练好的模型对新视频进行事件识别。我们将介绍核分类器,主要讨论SVM,使用最多的事件识别分类器;图方法,它可以明确地在低级特征事件之间建模。

3.1 核分类器

近年来许多系统都在使用核分类器[11]。通过核方法,线性分类器可以被应用来进行非线性分类。在许多核方法分类器中,SVM是大家使用最多的,它可以在许多工作中获得较好的性能,包括视频事件识别。事件识别经常建模成基于低层表达的一对多模式,也就是针对每个事件训练一个二分类SVM。给定测试视频的特征向量x,二分类SVM的决策函数定义如下:

\[f(x)= \sum_i\alpha_i y_i K(x_i, x)-b
\]

其中K(x_i,x)是核函数对第i个训练视频和测试样例x的输出结果。y_i是视频x_i的标签。如何选择核函数对分类性能影响很大。对于SIFT的BoW表示,已经证明 χ^2高斯核是最合适的。

SVM的性能和一些参数有关。参数的值主要和数据的分布有关,不同工作取得值也不一样。如何选取合适的参数,一般采用交叉验证,评估范围中的参数,并选取性能最好的。

直接使用分类器在某些情况可以满足要求,但它们不能对理解复杂事件的语义结构提供帮助。比如事件“换车轮”,明显包含如下几个子类,“打开汽车行李箱”,“使用扳手”,“顶起汽车”等等。词包表达把信息放到一个长特征向量中,并不能提供这些语义结构信息。采用一个基于概念的分层分类框架可以加入这种结构信息。最简单的方法就是采用两层SVM。第一层去检测语义概念,第二层基于第一层的模型输出去识别事件类别。

3.2 图模型

过去一些年里人们有许多工作是利用图模型处理序列数据。大多数方法组合概率和图理论去寻找序列数据的结构信息。这些方法可以被分为两类:直接图模型和间接图模型。前者中包括隐马尔可夫模型(HMMs),贝叶斯网(BNs),后者包括马尔可夫随机场(MRFs),条件随机场(CRFs)。

最简单的直接图模型是HMM,采用状态空间建模,其中当前状态的结果只依赖于它的上一状态。Yamato等人[12] 的工作就是在行为和事件识别中使用有向图,其中作者提出了HMMs进行识别网球事件。在他们的方法中,他们先利用背景差分并二值化提取人物,在8 ×8的图像块中提取特征并表示每帧图像。这些特征之后转换成符号序列,其中每个符号表示输入图像序列中的关键帧。对每个行为,使用前面的符号序列训练一个离散HMM。

四、应用需求

4.1 事件定位与描述

1. 时空定位
2. 文本描述

4.2 数据量与效率

五、评价标准

现在已经有许多关于行为识别的数据集,而事件识别中的活动比行为识别中的要复杂,常见的行为识别数据集有:

KTH,

Weizmann,

IXMAS,

UCF11,

UCF Sports,

UCF50 action dataset,

UCF101 - Action Recognition Data Set,

the Hollywood Movie dataset,

Human Motion Database (HMDB).

VIRAT Video Dataset: The dataset is designed to be realistic, natural and challenging for video surveillance domains in terms of its resolution, background clutter, diversity in scenes, and human activity/event categories than existing action recognition datasets.

5.1 公共数据集

1. TRECVID MED datasets

受分析网络中视频需求的需要,NIST 在2010时定义一个新的工作,多媒体事件检测(MED)。每年会更新或扩展数据集。MED2010中只定义了3个事件。在MED2011中事件数增长到15类。现在版本的MED标注只标注到视频级别,MED的任务也是进行视频级的事件分类。

2. Columbia consumer video (CCV) dataset

在2011年,CCV从网络上收集数据,这些数据通过普通人收集,没有专业的后期处理。它们很多是网络分享的视频。CCV中定义了20个类,包括物体(例如,猫,狗),场景(沙滩,操场),体育事件(棒球,滑雪),社会活动事件(毕业,音乐会)。CCV中的也是在视频级上标注。类别根据Kodak数据集进行定义。

3. Kodak consumer video dataset

Kodak数据集由Eastman Kodak公司的100名员工收集。一共有1358个视频,25个类别。与MED和CCV数据集比较,Kodak数据集的缺点是类别间变化不够大。许多视频都是在相同场景下捕获的,这可能导致过拟合问题。

除此之外,还有许多其它数据集可以用来进行视频分析,比如LabelMe和MCG-WDBV。LabelMe可以让我网络用户去标注事件类别,提纲或者运动物体的时空位置。但是由于标注过程需要大量时间,而且没有任何回报,所以到目前为止,LabelMe的数量和类别都很有限,很难拿来进行视频事件分析。MCG-WEBV是中科院整理的Youtube视频集,包含234414个视频,在一些主题事件上进行标注,如“加沙的冲突”,这只通过视频内容分析很难处理。当前使用这个数据集的工作主要是视频主题跟踪

5.2 评价矩阵

事件检测的结果可以有许多评价标准,主要由应用的需求来决定。我们现在考虑最简单、使用最多的情况,就是判断一个视频中是否存在某事件。这就是分类问题:给定一个兴趣事件,识别系统可以对每个输入视频计算置信得分。

平均精确度(AP)和规一化检测代价(NDC)是使用最广的事件检测性能评估标准。AP和NDC的输入都是视频根据置信得分排序的列表。下面我们将分别介绍AP和NDC。

1. Average Precision

AP是在一个precision-recall曲线下的近似区域,反映了测试视频的排序质量。用R表示数据集中相关视频的数量,对任何索引j,\(R_j\)表示相关视频在最高的第j个列表中的数量。AP定义如下:

\[AP = \frac{1}{R}\sum_j \frac{R_j}{j} \times I_j
\]

其中,如果第j个视频是相关的,\(I_j = 1\);否则为0.

2. Normalized detection cost

NDC是TRECVID MED的官方评估矩阵。不同于AP评估排名列表的质量,NDC需要一个识别阈值。置信得分在阈值之上的视频被认为是相关的。给定一个阈值,首先定义\(P_{MD}\)(漏检率)和\(P_{FA}\)(误报率):

\[P_{MD} = \frac{misses}{targets}
\]

\[P_{FA} = \frac{false alarms}{total videos - targets}
\]

其中,\(targets\)是数据集中包含目标事件的总数。那么NDC可以如下计算:

\[NDC = \frac{C_{MD} \times P_{MD} \times P_T + C_{FA} \times P_{FA} \times (1 - P_T)}{min(C_{MD} \times P_T, C_{FA} \times (1 - P_T))}
\]

其中,\(P_T\)是事件的先验概率(如,\(\frac{targets}{total videos}\));\(C_{MD}\)和\(C_{FA}\)分别是\(P_{MD}\)和\(P_{FA}\)的权重参数。

3. Partial area under DET curve
4. spatio-temporal localization
5. Multimedia event recounting

5.3 讨论会和最近的方法

六、未来方向

1. 更好的低层特征

有许多工作致力于设计更好的低层特征,代表的就是SIFT, STIP,与传统的全局特征,比如颜色和纹理,它们极大地提高了事件识别率。但很明显这些特征还不能充分地表示复杂事件。传统的基于灰度的特征在图片和视频处理中已经遇到了瓶颈。

为了取代手动特征,一些研究已经使用深度学习方法自动学习特征。这些自动学习的特征已经取得了相同甚至超过人工特征。除了视觉特征外,声音也是一个重要的特征。融合声音和视觉特征可能会进一步提高效果。

2. 更好的模型

大多数现在的系统都是对视觉特征进行BoW表示并利用SVM分类,但这个方法经过多年的研究优化,已经达到当前最高的准确率,进一步提升的空间非常有限。那有没有更有前景的方案?

虽然解决方法不明确,但近期有此在神经网络的研究提高了准确率。这些方法已经在手写字符识别,图片分类方面取得了巨大的突破。Xu等人[16]提出了一个在神经网络更具判别性的特征,他们在最大池化之后按照邻域信息进行编码。Gan等人[17]提出一个深度卷积神经网络,使用关键帧作为输入进行视频级的事件检测。通过反向传播,作者利用显著图找到对这个事件最重要的关键帧。为了加入视频中的运动信息,Andrej等人[18]讨论了几种融合技术,可以利用将几帧作为输入到神经网络,也可以将两帧分别输入两个网络,然后在最后全连接层进行连接,这样,神经网络就可以在发现帧间的运动信息。

除此之外,可以利用先验知识对现在的模型进行优化。对于人类来说,外部知识对感知来说同样重要,我们相信这对设计鲁棒的识别系统很重要。虽然当前基于先验的模型没有取得巨大进展,但这个方向仍然值得探索。

3. 事件上下文和属性

复杂事件通常可以被进一步分解成一些概念的序列(行为,场景,目标,声音等等),它们更容易被识别,因为他们语义粒度更小,因此可以通过视觉或声音区分开来。一旦我们拥有很多的上下文概念检测器,检测结果就可以用来进行事件推理。这方面当前也有许多研究。在计算机视觉领域,最近有一种基于属性的方法被应用于许多视觉识别工作。但还要注意一些问题:是否是手动指定概念或者属性(监督学习),还是从当前的词汇表中自动生成(非监督学习);需要多少个概念或属性;是否存在一个全局的词汇表可以应用到任何领域;怎样可靠地检测这些概念,如何在事件和概念之间建模。这些问题都需要深入的探索。虽然这看起来是一个难题,但一旦这些问题得到解决,识别复杂事件就会变得更容易。

4. Ad hoc事件检测

Ad hoc事件检测是指在当前可用样例较少,先验知识较少的情况下进行事件检测。视频检索方面需要这种技术。用户提供一个或几个感兴趣事件,系统需要在有限时间获取相关的视频。这种问题经常被叫做"one-shot"或者"few-shot"学习。很明显基于先验的方法并不能解决这个问题。监督学习分类器也由于太少的样例无法使用。可以利用文本中的信息去在标注和未检测的概念间产生语义相似性,这可以产生新的概念。如果视频通过使用概念进行离线索引,未知事件的在线检索和检测便变得可能,因为相同事件的视频很可能拥有相似的概念分布。也就是说,事件检测可以通过测量查询样例视频和数据库视频之间的概念向量相似性解决。这把Ad hoc事件检测问题转变成最近邻搜索问题,其中可以通过哈希技术或索引技术实现高效实时的检索。

5. 更好的事件重述(Better event recounting)

虽然很多应用都需要这样的技术,但这方面的研究工作还是很有限。准确的视频事件重述很具有挑战性,它不仅需要高的内容识别率,还要一个有效地自然语言模型让最后生成的描述尽可能地自然。识别大量的概念(有层次地组织)是一个很好的方法,但也存在问题。如何去修正这些概念间存在的误检问题。除此之外,在网络上只分析视频内容并不足够解决这个问题,有时分析网上视频周围的文字可以帮助我们。

6. 更好的数据库

TRECVID MED虽然是一个很好的数据库,但现在的事件个数只有10-20个,比实际数量要少很多。一方面,这避免了多个事件在一个视频共同存在。另一方面,很小的数据集得出的结果不具有一般性。因此有必要去建行一个覆盖更多数量事件的数据集,这对进一步提高事件检测很有帮助。

七、结论

文中回顾了常见的重要主题,包括静态基于帧的特征,时空特征,声音特征,视觉-声音融合表达,词包特征,核分类器,图模型,基于先验技术和融合技术。还讨论一些常用应用要求问题,比如事件定位和重述。然后,我们讨论了当前的数据集和评估标准,总结当前在TRECVID取得最优性能系统的关键部件。最后,我们探讨了事件检测中有前景的研究方向。

###《High-level event recognition in unconstrained videos》的更多相关文章

  1. ###《Max-Margin Early Event Detectors》

    Paper reading. #@author: gr #@date: 2014-03-11 #@email: forgerui@gmail.com Early Detection Abstract: ...

  2. 车牌识别1:License Plate Detection and Recognition in Unconstrained Scenarios阅读笔记

    一.WHAT 论文下载地址:License Plate Detection and Recognition in Unconstrained Scenarios [pdf] github 的项目地址: ...

  3. 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析

    <ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...

  4. 《精通c&num;(第6版)》【PDF】下载

    图灵程序设计丛书:精通C#(第6版)是C#领域久负盛名的经典著作,深入全面地讲解了C#编程语言和.NET平台的核心内容,并结合大量示例剖析相关概念.全书分为八部分:C#和.NET平台.C#核心编程结构 ...

  5. Reading &vert; 《TensorFlow:实战Google深度学习框架》

    目录 三.TensorFlow入门 1. TensorFlow计算模型--计算图 I. 计算图的概念 II. 计算图的使用 2.TensorFlow数据类型--张量 I. 张量的概念 II. 张量的使 ...

  6. 10慕课网《进击Node&period;js基础(一)》初识promise

    首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</titl ...

  7. 07慕课网《进击Node&period;js基础(一)》HTTP小爬虫

    获取HTML页面 var http = require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(r ...

  8. 《零基础学HTML5&plus;CSS3&lpar;全彩版&rpar;》读书笔记

    2019年1月31日星期四 1点 <零基础学HTML5+CSS3(全彩版)>开始全面学习 前提: 11月20日开始学Python,可能因为太累了,也可能遇到了瓶颈,进入了一个迷茫期,1月6 ...

  9. 《Drools7&period;0&period;0&period;Final规则引擎教程》Springboot&plus;规则重新加载

    在<Drools7.0.0.Final规则引擎教程>之Springboot集成中介绍了怎样将Drools与Springboot进行集成,本篇博客介绍一下集成之后,如何实现从数据库读取规则并 ...

随机推荐

  1. Yaf零基础学习总结3-Hello Yaf

    Yaf零基础学习总结3-Hello Yaf 上一次我们已经学习了如何安装yaf了,准备工作做好了之后我们来开始实际的编码了,码农都知道一个经典的语句就是“Hello World”了,今天我们开始入手Y ...

  2. 迅为4412开发板Linux驱动教程——总线&lowbar;设备&lowbar;驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  3. CSS Gradient文字效果

    你想创建的标题没有渲染和Photoshop每个标题吗?这里是一个简单的CSS技巧向您展示如何创建渐变文字效果,PNG图像(纯CSS,没有Javascript或Flash).你所需要的是一个空的< ...

  4. linux交叉环境的搭建以及嵌入式开发概述

    嵌入式开发概述 由嵌入式本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别,嵌入式的开发分为系统总体开发,嵌入式硬件开发,嵌入式系统软件开发3大部分 在系统总体开发中,由于嵌入式系统与硬件依 ...

  5. Unity脚本的生命周期中几个重要的方法

    1.function Update () {} 正常更新,用于更新逻辑.此方法每帧都会由系统自动调用一次.2.function LateUpdate () {} 推迟更新,此方法在Update() 方 ...

  6. centos 6&period;5 hadoop 2&period;3 初配置

    为了安装hadoop废了好大的劲才把esxi5.5给装好. 同时装了centos6.5,由于hadoop里面有个免密码登陆所以这里讲的就是免密码登陆. 看了大家的博客文章发现转发的一部分,写ubunt ...

  7. (ajax)——jquery用法

    例子:/* ajax获得状态 */                点击事件  $("#findBycname").click(function(){  var company = ...

  8. 软件开发架构、网络基础知识、osi七层模型

    一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...

  9. Photoshop一些常用的快捷键

    1.按住Alt键,点击图层上的小眼睛,只显示当前图层 2.新建纯色图层,抠图 3.Fn+ num 调整不透明度 4.Shift + num 调整流量 5.调整图层透明度,在移动工具状态下,输入数字:0 ...

  10. Oracle创建directory

    Oracle创建directory   一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述   1.新建directory的语法 CREA ...