关注“
FightingCV
”公众号
回复“
AI
”即可获得超100G人工智能的
教程
1 引言
根据世界银行的数据,过去五年全局犯罪率有所上升。监控摄像头通常被部署以帮助威慑暴力,提供实时监控并收集犯罪或暴力活动的证据。得益于技术的进步,监控系统越来越经济实惠,部署也变得更加容易。随着部署的监控摄像头数量的增加,对于人工操作员来说,手动监控摄像馈送变得既昂贵又具有挑战性。因此,对于简化暴力检测(VD)的过程,实现自动化监控摄像头的方法具有极大的需求,这种方式要更加准确和高效。
为了应对从视频中高效、自动地检测暴力的挑战,需要有效的计算机视觉方法。如卷积神经网络(CNN)和最近基于Transformer的架构等深度学习方法,在解决与计算机视觉相关的自动暴力检测问题上显示出巨大潜力。暴力检测的成功在很大程度上取决于视频中出现的物体和人。当暴力事件的相关特征没有被正确捕捉时,检测变得困难,例如当涉及暴力事件的人距离较远并且只占画面的一小部分时,正如在RWF-2000数据集中的一个示例视频中看到的图2(a)。尽管已经探索了不同的机制用于自动暴力检测,但由于跟踪和提取涉及暴力的快速移动人或者物体、低分辨率场景和遮挡相关问题等挑战,仍有机会进行改进。
另一个研究问题涉及到寻找一种在视频中检测暴力的有效且健壮的处理架构。理想的架构应该能够同时捕捉时间维度和空间维度上的局部和全局重要特征。如文献[29, 30]所讨论的,基于CNN的架构能更好地捕捉局部重要特征,但不是全局重要特征;而文献[14]认为,在Transformer架构中的自注意力机制似乎能更好地在时间上捕捉全局重要特征。然而,由于二次计算复杂度[24],Transformer架构可能难以处理视频数据。因此,探索一种新颖的解决方案,结合卷积捕捉局部时间特征的优点和Transformer捕捉全局特征的轻量级注意力机制是值得的。
在本文中,作者提出了一种名为CUE-Net的新颖架构,它结合了空间
裁剪
与UniformEV2架构的增强版,该增强版融合了卷积和自注意力的优点。在这个架构中,作者提出了一种改进的Efficient Additive Attention(MEAA),这是一种新颖的高效注意力机制,它将自注意力的二次时间复杂度降低,以捕捉重要的全局时空特征,从而减轻上述瓶颈。据作者所知,这是首次在视频暴力检测的背景下研究结合了卷积、自注意力以及改进的Efficient Additive Attention机制的模型。
作者的贡献如下:
-
作者提出了CUE-Net,这是一种新颖的视频暴力检测分析架构,它融合了一种改进版的UniformEV2架构以及Modified Efficient Additive Attention(MEAA),这是一种新颖的注意力机制,用于捕捉重要的全局时空特征。
-
作者在视频输入主学习算法之前,根据检测到的人数引入了一种空间裁剪机制,使方法聚焦于暴力发生的区域,同时不丢失重要的周围信息。
-
作者在RWF-2000和RLVS数据集上的结果创造了新的最先进水平,超过了最近发布的方法。
2 Related Work
本节概述了当前针对VD的最先进方法,并将在暴力检测背景下使用的不同方法分为作为动作识别任务与异常检测任务的两类。
Deep Learning Architectures for Violence Detection using Anomaly Detection
在异常检测场景中,暴力事件被视为偏离日常正常事件的稀缺异常事件。算法学习表征正常事件的特征,而暴力检测是基于检测不在正常分布中的事件。然而,在实际中,正常行为与异常行为之间的界限可能模糊。在现实情况下,根据不同条件,相似的行为可能是正常的也可能是异常的,例如,拳头撞击的动作在友好击拳中是正常的,但在暴力一拳中则是异常的[21, 31]。[27]的工作提出通过深度多实例学习(MIL)框架来学习异常,将视频视为一个包含每个视频短片段/剪辑的包,每个包中的实例。
然而,[28]认为,在数据中占主导地位的正常(非暴力)实例在很大程度上影响了异常实例的识别,尤其是当异常事件是微妙的异常,与正常事件相比仅显示出很小的差异时。当试图将VD问题置于异常检测的背景下时,通过主要关注正常情况的外观学习,而不是关注暴力行为发生的上下文来识别暴力(异常)事件。通常,暴力也取决于上下文以及场景中发生的行为。以这种方式训练来检测异常的模型可能不足以理解某些暴力行为发生的上下文,因此可能无法很好地泛化,因为它们的主要任务不是学习暴力事件的具体上下文特征[3]。
Deep Learning Architectures for Violence Detection in an Action Recognition Context
[30]的工作首次使用了3D-CNN与softmax分类器进行暴力检测。作为一个预处理步骤,首先识别出有人存在的帧,基于这样的前提:暴力行为只会在有人在场时发生。然后,3D-CNN从过滤后的帧中提取时空特征,并通过softmax层对结果进行分类。[26]在动作识别空间中引入了一种新颖的方法,通过学习使用人体骨架点之间的人际关系来进行暴力检测。
与之前的参考文献不同,[26]从视频中提取人体骨架序列,构建了3D骨架点云,并使用图卷积网络(Graph CNNs)将这些3D骨架点云视为非欧几里得图进行交互学习。[26]是首批在真实世界监控暴力检测数据集(RWF-2000)上评估性能的论文之一,而几乎所有之前的文献都是在非监控数据集上进行评估,如曲棍球打斗数据集。[8]引入了一种新颖的深度架构,包括两个同时进行的流水线,一个使用姿态估计模型提取人的骨架,另一个估计帧之间的动态时间变化,两个流水线的输出通过加法融合在一起,即使其中一个输入提供零值信号也能传递信息。
在RWF-2000数据集上,当前最先进的暴力检测方法依赖于视频Swin Transformer。这项工作采用了一种方法,基于帧的颜色、纹理和运动特征,使用
颜色直方图
、灰度共生矩阵和光流从视频中提取关键帧。然后,视频Swin Transformer从处理视频的小块开始,逐渐将它们融合到更深层次的 Transformer 层中,在时空背景下创建分层表示。这种方法使得从局部到全局上下文中聚集特征成为可能。
总之,使用动作识别来构建暴力检测问题比异常检测具有优势。最近的文献更多地关注提取暴力动作的丰富和代表性特征,并为了从正常活动中分离出暴力动作而获得更好的上下文理解。
3 Proposed Method
在本节中,作者首先阐述作者的工作动机,然后详细讨论作者提出的CUE-Net方法。
动机
:作者的工作从动作识别文献中获得灵感,因为它为视频动作识别提供了一个有效的监督方法。在动作识别领域,引入了一种新颖的深度架构,称为统一 Transformer (UniFormer),它通过同时实现卷积和自注意力模块,简洁地整合了3D卷积和时空自注意力的优点,以在计算复杂度和准确性之间取得平衡。
后来,统一器版本2(UniformerV2)架构修改了之前统一器架构中的这些模块,以同时实现并在 Pipeline 末端融合,以捕捉相关的时空特征。此外,UniformerV2利用预训练的
ViT
嵌入来初始化架构的某些部分,以便更好地利用来自大型图像数据集的预训练知识。
然而,自注意力与序列长度的二次计算复杂度相关,这使得处理如视频中 Token 的长序列具有挑战性。为了缓解这个问题,[24]引入了一种重新设计的注意力机制,名为高效加性注意力,如图1(a)所示。这个提出的机制使用Key-值交互,用元素乘法和线性变换替换昂贵的矩阵乘法操作。然而,据作者所知,这些方法尚未被研究用于暴力检测任务。这为作者提供了一个修改和增强所讨论概念的机会,以创建一个改进的、定制的解决方案,用于暴力检测问题。
CUE-Net Architecture
作者介绍了作者的新颖架构,即空间裁剪增强型统一器V2与改进的效率加性注意力网络(
CUE-Net
),如图2所示,用于视频中的暴力检测。该架构包含五个主要组件,分别为:(a) 空间裁剪模块;(b) 3D卷积 Backbone 网络;(c) 局部统一块V2;(d) 全局统一块V3;以及(e) 融合块,这些组件的灵感来源于前一段中讨论的激励因素。
3.1.1 Spatial Cropping Module
进行视频空间裁剪的动机是基于观察到的暴力行为通常是在两个人或更多人之间发生的。作者选择提取行人,并使用包含行人的最大边界框来空间裁剪视频帧,这样既不会丢失围绕行人的信息,又能通过移除行人不在的环境部分来最大化关注的重要区域。作者选择不进行时间上的裁剪,以避免因未检测到行人而造成的信息丢失。
当视频
(其中
、
、
和
分别代表视频帧的时间维度、高度、宽度和颜色通道)输入到这个空间裁剪模块时,为了检测行人,作者使用了YOLO(You Only Look Once)V8算法,该算法在单次传递中使用基于CNN的架构对物体进行分类,其中整个图像作为输入。算法1详细阐述了视频中最大边界框的空间裁剪过程。如果检测到多个行人,它将输出
,这是空间裁剪后的视频。如果只检测到一个人或没有人,
将是整个初始视频,以确保该方法不会遗漏任何信息。
3.1.2 3D Convolution Backbone
随后,之前模块裁剪的空间视频帧
作为输入传递到3D卷积 Backbone 网络中,在这里使用3D卷积(即3
16
16)将输入视频编码并投射为时空标记
,(
,
,
和
分别代表时间维度、帧的高度和宽度以及隐藏维度)。之后,根据原始的ViT设计,执行空间下采样16
,然后进行时间下采样2
以减少时空分辨率。在整个架构模块中,保持编码的隐藏维度
不变,以方便残差连接。在这一阶段结束时,处理过的输入被发送到Local UniBlock V2。
3.1.3 Local UniBlock V2
局部UniBlock V2被特别引入以在作者的CUE-Net架构中建模局部依赖关系。这是由于作者进行的消融研究,从UniformerV2架构中未经修改地提取出来的。在这里,使用了两种类型的多头关系聚合器(MHRA)单元,即局部时间MHRA(LT_MHRA)和全局空间(GS_MHRA),以及前馈网络(FFN)模块。此块的输入是
,即前一个3D卷积 Backbone 网络的输出,此块通过FFN后输出
。
局部UniBlock V2内的处理可以表示为:
(2)
其中
表示层归一化。一个多头关系聚合器(MHRA)单元连接多个头,可以描述为:
在作者的工作中,第
个 Head 的关联聚合器由
表示,其中
表示表征 Token 间关系的亲和力矩阵,并且在LT_MHRA和GB_MHRA中相应地改变
以达到各自的目标。线性投影由
表示。使用一个可学习的融合矩阵
,在连接由
表示的 Head 时整合
个 Head 。
LT_MHRA
:局部时间MHRA(LT_MHRA)接收来自3D卷积 Backbone 网络的输入
,在上一段中描述的亲和力矩阵
的帮助下实现深度卷积(DWConv),因为该单元的目标是减少局部时间冗余并从局部时空上下文中学习局部表示。该单元输出
。
GT_MHRA
:全局时间MHRA(GT_MHRA)接收LT_MHRA单元的输出
,并在亲和力矩阵
的帮助下实现来自ViT架构[7]的多 Head 自注意力(MHSA),因为该单元的目标是利用从大型图像数据库中学到的ViT的丰富图像预训练。为了实现这一目标,GT_MHRA单元使用沿时间维度膨胀的图像预训练ViT嵌入进行初始化,并且该单元的输出为
。
FFN
:前馈网络(FFN)模块接收GT_MHRA的输出
,并包含两个由GeLU[10]激活函数分隔的线性投影。FFN在Local UniBlock V2的最后实现,以输出
。
3.1.4 Global UniBlock V3
全局UniBlock V3被特别引入,用于在作者的CUE-Net中对时空尺度上的全局长距离依赖关系进行建模。这个全局UniBlock V3由三个基本单元组成,分别是动态位置嵌入(DPE)单元、改进的有效加性注意力(MEAA)单元,以及最终的前馈网络(FFN)模块。这个块的输入是
,它是前一个局部UniBlock V2的输出,而全局UniBlock V3在FFN单元的末端输出
。这个块内的处理过程可以用以下方式表示,其中
表示层归一化:
(7)
DPE
:动态位置嵌入(DPE)单元接收来自前一个局部UniBlock V2的输入
,并使用简单的3D深度时空卷积(DWConv)与零填充来编码视频在时空上的位置信息,因为视频在空间和时间上都是变化的。DPE块的输出是
。
修改后的高效加性注意力(MEAA): 在修改后的高效加性注意力(MEAA)单元中,通过建模可学习 Query
与来自DPE单元的所有时空标记
之间的关系,将这个 Query
转换为视频表示,借助这种修改版的高效加性注意力。如图3(b)所示,可学习的 Query 向量
通过两个线性层投影到 Query (
) 中,同时
投影到Key (
) 中,其中
是标记长度,
是隐藏维度的数量。之后,另一个可学习的参数向量
与 Query
相乘,目的是学习 Query 的注意力权重。这导致输出
,可以认为是全局注意力 Query 向量:
随后,使用学习到的注意力权重导出全局 Query 向量
:
其中
表示逐元素乘法。
最后,在全局 Query 向量
与Key矩阵
之间进行逐元素乘法,以融合这两个实体,最终结果的维度为
。上述过程成本较低,与标记长度的线性复杂度相比,而获取自注意力具有二次复杂度。然后,将线性层应用于这个逐元素乘法,并从
添加残差连接,以及最后的线性层以产生输出:
为了获得输出
,沿着
维度计算均值以得到一个整体表示。
FFN
:与前面Local UniBlock v2中的FFN模块类似,这个前馈网络(FFN)接收GT_MHRA模块的输出
,由两个线性投影组成,中间通过一个GeLU 激活函数,在Global UniBlock V3的最后输出
。
3.1.5 Fusion Block
在CUE-Net架构的最后部分,一个融合块将全局UniBlock的最终token