作者:
(1)Praveen Tirupattur,中佛罗里达大学。
暴力检测是活动识别的一个子任务,即从视频中检测暴力活动。它也可以看作是一种多媒体事件检测。已经提出了一些方法来解决这个问题。这些提出的方法可以分为三类:(i) 仅使用视觉特征的方法。(ii) 仅使用音频特征的方法。(iii) 同时使用音频和视觉特征的方法。这里感兴趣的类别是第三种,其中同时使用视频和音频。本章概述了属于每个类别的一些先前方法。
首次尝试使用音频和视觉线索检测暴力行为的是 Nam 等人 [41]。在他们的工作中,音频和视觉特征都被用来检测暴力场景并生成索引,以便进行基于内容的视频搜索。在这里,提取每个镜头的时空动态活动特征,以将其归类为暴力或非暴力。此时空动态活动特征基于镜头中存在的动态运动量。
镜头中帧之间的空间运动越多,该特征就越显著。这种方法背后的原因是,大多数动作场景都涉及人物或物体的快速和大量移动。为了计算镜头的时空活动特征,需要获取镜头中的运动序列,并根据镜头长度对其进行归一化,以确保只有长度较短且帧之间空间运动较多的镜头才具有较高的活动特征值。
除此之外,为了检测枪声或爆炸产生的火焰,需要检查帧间像素强度值的突然变化。为了消除误报(例如由于相机闪光灯引起的强度变化),使用预定义的颜色表,其颜色值接近火焰颜色,例如黄色、橙色和红色。与检测大多数暴力场景中常见的血迹类似,帧内的像素颜色与包含类似血迹颜色的预定义颜色表相匹配。这些视觉特征本身不足以有效检测暴力行为。因此,还需要考虑音频特征。
音频信号能量水平的突然变化被用作音频提示。计算每一帧的能量熵,并利用该值的突然变化来识别爆炸或枪声等暴力事件。音频和视觉线索在时间上是同步的,以更高的准确度获得包含暴力的镜头。本文的主要贡献之一是强调了音频和视觉线索在检测暴力方面的重要性。
Gong 等人 [27] 也使用视觉和音频线索来检测电影中的暴力内容。他们描述了一种检测暴力内容的三阶段方法。在第一阶段,提取视频中每个镜头的低级视觉和听觉特征。这些特征用于训练分类器以检测可能含有暴力内容的候选镜头。在下一个阶段,使用高级音效来检测候选镜头。在此阶段,为了检测高级音效,使用功率谱、音高、MFCC(梅尔频率倒谱系数)和谐波突出度等低级音频特征针对音效的每个类别训练 SVM 分类器(Cai 等人 [7])。每个 SVM 的输出都可以解释为映射到 S 形的概率,S 形是 [0,1] 之间的连续值(Platt 等人 [46])。在最后阶段,使用增强技术将前两个阶段的概率输出结合起来,并将镜头的最终暴力分数计算为前两个阶段分数的加权和。
这些权重是使用验证数据集计算的,预计会最大化平均精度。Gong 等人 [27] 的工作仅集中于检测遵循通用电影制作规则的电影中的暴力内容。例如,动作场景中的快节奏声音。通过检测快节奏场景和与暴力相关的音频事件(如爆炸和枪声)来识别暴力内容。使用的训练和测试数据来自四部包含许多暴力场景的好莱坞动作片。尽管这种方法产生了良好的结果,但应该注意的是,它仅针对遵循某些电影制作规则的电影中的暴力进行优化,并且不适用于用户上传到 Facebook、Youtube 等网站的视频。
在 Lin 和 Wang [38] 的研究中,视频序列被分成多个镜头,每个镜头中的音频和视频特征都被分类为暴力或非暴力,并使用联合训练将输出组合起来。改进的 pLSA 算法(Hofmann [30])用于从音频片段中检测暴力。音频片段被分成每秒钟一小段的音频剪辑,并由包含低级特征(如功率谱、MFCC、音高、零交叉率 (ZCR) 比率和谐音突出度)的特征向量表示(Cai 等人 [7])。这些向量被聚类以获得表示音频词汇的聚类中心。然后,使用该词汇表将每个音频片段表示为音频文档。期望最大化算法(Dempster 等人 [20])用于拟合音频模型,该模型随后用于对音频片段进行分类。为了检测视频片段中的暴力,使用了三种常见的视觉暴力事件:运动、火焰/爆炸和血腥。运动强度用于检测快速运动的区域并提取每帧的运动特征,然后将其用于将帧分类为暴力或非暴力。颜色模型和运动模型用于检测帧中的火焰和爆炸并对其进行分类。同样,颜色模型和运动强度用于检测包含血液的区域,如果它大于帧的预定义值,则将其分类为暴力。视频片段的最终暴力分数是通过上述三个单独分数的加权和获得的。这里使用的特征与 Nam 等人使用的特征相同。[41]。为了结合视频和音频流的分类分数,使用了联合训练。对于训练和测试,使用由五部好莱坞电影组成的数据集,在检测暴力场景时获得了约 0.85 的精度和约 0.90 的召回率。即使这项工作也只针对电影中的暴力检测,而不是网络上的视频。但结果表明,运动和血液等视觉特征对于暴力检测非常重要。
到目前为止提到的所有方法都使用音频和视觉线索,但还有一些方法使用视频或音频来检测暴力行为,还有一些方法试图仅检测一种特定类型的暴力行为,例如拳击。接下来将简要概述这些方法。
仅有的仅使用音频来检测视频中的语义上下文的研究之一是 Cheng 等人 [11] 的研究,他们使用基于高斯混合模型和隐马尔可夫模型的分层方法来识别枪声、爆炸声和汽车刹车声。Datta 等人 [14] 尝试通过在对象级别而不是像大多数方法那样在场景级别分析暴力行为来检测仅涉及拳脚打斗、踢打、用物体击打等的视频中的人与人之间的暴力行为。在这里,检测场景中的移动物体,并使用人体模型仅检测代表人的对象。由此,人体肢体的运动轨迹和方向信息用于检测人与人之间的打斗。
Clarin 等人 [12] 开发了一个名为 DOVE 的自动化系统来检测电影中的暴力行为。在这里,仅使用血液即可检测暴力场景。系统从每个场景中提取关键帧,并将它们传递给经过训练的自组织映射,以便用标签标记像素:皮肤、血液或非皮肤/非血液。然后通过连通组件将标记的像素分组在一起,并观察可能的暴力行为。如果具有皮肤和血液成分的像素区域发生巨大变化,则认为场景是暴力的。另一项关于打斗检测的研究是由 Nievas 等人 [42] 完成的,其中使用了词袋框架以及动作描述符时空兴趣点(STIP - Laptev [37])和运动尺度不变特征变换(MoSIFT - Chen 和 Hauptmann [10])。作者介绍了一个由 1,000 个视频组成的新视频数据集,分为两组打斗和非打斗。每组有 500 个视频,每个视频的时长为一秒。对该数据集的实验在动作电影打斗场景的数据集上取得了 90% 的准确率。
Deniz 等人 [21] 提出了一种使用极端加速度模式作为主要特征来检测视频中暴力行为的新方法。该方法比最先进的动作识别系统快 15 倍,并且在检测包含打斗的场景方面也具有非常高的准确性。这种方法在实时暴力检测系统中非常有用,因为不仅准确性而且速度也很重要。该方法比较两个连续帧的功率谱来检测突然的运动,并根据运动量将场景分类为暴力或非暴力。该方法不使用特征跟踪来检测运动,这使其不受模糊的影响。Hassner 等人 [28] 介绍了一种实时检测拥挤场景中暴力行为的方法。该方法考虑了流矢量幅度随时间的变化。短帧序列的这些变化称为暴力流 (ViF) 描述符。然后使用这些描述符使用线性支持向量机 (SVM) 对暴力和非暴力场景进行分类。由于该方法仅使用帧之间的流信息,而放弃高级形状和运动分析,因此它能够实时运行。为了完成这项工作,作者通过从 Youtube 下载包含暴力人群行为的视频创建了自己的数据集。
所有这些研究都使用不同的方法来检测视频中的暴力行为,并且都使用自己的数据集进行训练和测试。它们对暴力都有自己的定义。这表明暴力检测的一个主要问题是缺乏独立的基线数据集和对暴力的共同定义,如果没有这些,不同方法之间的比较就毫无意义。
为了解决这个问题,Demarty 等人 [16] 在多媒体基准测试计划 MediaEval-2011 [1] 中提出了自动检测电影中暴力片段的基准测试。这个基准测试非常有用,因为它提供了一个一致且实质性的数据集,其中包含暴力的共同定义以及评估协议和指标。第 4.1 节详细讨论了所提供数据集的详细信息。最近关于视频暴力识别的研究使用了该数据集,下面将介绍其中一些研究的详细信息。
Acar 等人 [1] 提出了一种使用一类和两类 SVM 以监督方式合并视觉和音频特征的方法,用于电影中的暴力检测。从电影的视频镜头中提取低级视觉和音频特征,然后以早期融合的方式组合起来训练 SVM。提取 MFCC 特征来描述音频内容,并使用基于 SIFT(尺度不变特征变换 - Lowe [39])的词袋方法描述视觉内容。
Jiang 等人 [33] 提出了一种基于从局部块轨迹的外观和运动中得出的一组特征来检测暴力的方法(Jiang 等人 [34])。除了这些块轨迹外,还提取了其他特征,例如 SIFT、STIP 和 MFCC 特征,并用于训练 SVM 分类器以检测不同类别的暴力。执行得分和特征平滑以提高准确性。
Lam 等人 [36] 使用 MediaEval 提供的数据集和评估协议评估了低级音频/视频特征在暴力场景检测任务中的性能。在这项工作中,局部和全局视觉特征与运动和 MFCC 音频特征一起使用。提取镜头中每个关键帧的所有这些特征,并将其汇集起来以形成该镜头的单个特征向量。训练 SVM 分类器根据此特征向量将镜头分类为暴力或非暴力。Eyben 等人 [23] 应用大规模分段特征提取和视听分类来检测暴力。音频特征提取是使用开源特征提取工具包 openSmile(Eyben 和 Schuller [22])完成的。计算并利用色调-饱和度-值 (HSV) 直方图、光流分析和拉普拉斯边缘检测等低级视觉特征进行暴力检测。线性 SVM 分类器用于分类,简单的得分平均用于融合。
总之,几乎所有上述方法都试图使用不同的音频和视频特征来检测电影中的暴力行为,期望只有几个 [Nievas 等人 [42]、Hassner 等人 [28]],这些方法使用来自监控摄像机或其他实时视频系统的视频数据。还可以观察到,并非所有这些研究都使用相同的数据集,每个研究对暴力都有自己的定义。2011 年推出的用于暴力场景检测 (VSD) 的 MediaEval 数据集解决了这个问题。该数据集的最新版本 VSD2014 除了好莱坞电影外,还包含来自 Youtube 的视频内容,并鼓励研究人员在用户生成的视频内容上测试他们的方法。
第 3 章中提出的建议方法受到第 2 章中讨论的早期暴力检测研究的启发。在建议的方法中,音频和视觉线索都用于检测暴力。MFCC 特征用于描述音频内容,血迹、运动和 SentiBank 特征用于描述视频内容。SVM 分类器用于对每个特征进行分类,并使用后期融合来融合分类器分数。
尽管这种方法是基于早期的暴力检测研究,但它的重要贡献在于:(i)检测不同类别的暴力。早期的暴力检测研究仅集中于检测视频中是否存在暴力。我们提出的这种方法是最早解决这一问题的方法之一。(ii)使用 SentiBank 特征描述视频的视觉内容。SentiBank 是一种视觉特征,用于描述图像中的情绪。该特征以前用于检测视频中的成人内容(Schulze 等人 [52])。在这项研究中,它首次用于检测暴力内容。(iii)使用来自网络的图像生成的三维颜色模型来检测代表血液的像素。这种颜色模型非常稳健,在检测血液方面表现出非常好的效果。(iv)使用嵌入在视频编解码器中的信息来生成运动特征。与其他方法相比,这种方法非常快,因为每个像素的运动矢量都是预先计算并存储在视频编解码器中的。下一章(第 3 章)将详细介绍这种方法。
[1] http://www.multimediaeval.org