S3R:Self-Supervised Sparse Representation for Video Anomaly Detection 【ECCV 2022】

论文笔记        

        【摘要】视频异常检测(VAD)旨在定位视频序列中的意外动作或活动。现有的主流VAD技术要么基于单类方法(假设所有训练数据都是正常的),要么基于弱监督(仅需要视频级正常/异常标签)。为了建立解决两个VAD设置的统一方法,我们引入了自监督稀疏表示(S3R)框架,该框架通过探索基于字典的表示和自监督学习之间的协同作用,在特征级别对异常概念进行建模。通过学习字典,S3R有助于两个耦合的模块(en-Normal和de-Normal)重建片段级特征并过滤掉正常事件特征自监督技术还能够生成伪正常/异常样本,以训练异常检测器。我们通过大量实验证明,对于单类和弱监督的VAD任务,S3R在流行的基准数据集上实现了最新的性能。

1.引言

        根据关于训练视频序列的注释或假设,最近处理VAD任务的努力可以分为无监督和弱监督技术。无监督的VAD场景,我们而被称为单类VAD。识别正常和异常模式的广泛采用的方法是嵌入空间学习或数据重构。

        弱监督的VAD假设视频级正常/异常标签被用于训练。与无监督的VAD相比,获得此类视频级标签需要更多的人力,但可以实现显著的性能提升。解决弱监督VAD的一种流行策略是包括多实例学习(MIL)。具体而言,基于MIL的弱监督VAD算法将每个视频和片段分别视为包和实例,每个包的注释(指示包是否包含至少一个异常实例)在训练阶段是已知的。

        在处理VAD任务时,对异常事件的所有可能场景进行详尽建模是不可行的。我们的方法将V AD视为分布外问题。正常事件字典无法很好地重建或解释的视频片段被认为涉及异常事件。为了实现这一想法,我们开发了自监督稀疏表示(S3R框架,通过用自监督技术推广基于字典的表示来建模特征级异常的概念。我们进一步MIL策略注入到所提出的S3R中,以形成一种统一的基于重构的方法,用于有效解决无监督的VAD和弱监督的VAD任务

        总之,S3R学习一个正常事件字典,用于生成两个相反的网络模块,即en-normal和de-normal,以重构片段级别特征并过滤掉正常事件特征。这两个模块相互补充,使我们的片段级和视频级异常分类器能够更好地区分处理后的特征。借助于自监督技术,我们可以生成更多关于特定字典的伪异常数据,以优化异常检测器训练。由于推理中的所有样本在训练阶段都是不可见的,因此S3R确实可以充分区分不可见的正常片段和不可见的异常片段。

        我们通过对单类和弱监督VAD任务进行实验,验证了S3R的有效性,其中包括对三个流行数据集(即ShanghaiTech、UCF-Crime和XD-Volence)的模型评估。我们还消融了S3R内的每个模块,以评估其有效性。据我们所知,S3R是第一个可以应用于单类和弱监督V AD任务的统一框架。我们强调以下主要贡献。

        - 我们引入了一种新的自监督稀疏表示(S3R)框架,用于通过(离线)学习字典和自监督学习来建模和生成特征级异常。我们的实验结果支持了这种策略在解决V AD任务中的优势。

        - 我们提出了两个耦合模块,en-Normalde-Normal,从而形成了一个统一的框架,用于处理单类和弱监督任务。

        - 我们的方法在单类和弱监督视频异常检测任务上实现了优于其他艺术状态的显著性能提升。

图1:所提出的S3R框架将字典学习与自监督技术相结合,以对特征级异常的概念进行建模。首先,特征提取器E将每个未修剪的视频x表示为片段级特征F,并且收集所有正常训练视频\widehat{X}以构建任务专用字典。接下来,en-Normal模块使用F和字典来重构特征\widehat{F}。然后,de-Normal模块探索F和\widehat{F}的差异以过滤出正常事件模式。最后,过滤的特征准备好区分片段级和视频级特征的正常和异常事件。

2.相关工作

2.1异常检测    

        异常检测旨在发现与正常数据有细微或显著差异的不规则模式。随着深度神经网络的显著发展,几种类型的异常检测研究正在蓬勃发展。Ruff等人[29]使用了模拟的基于图像的数据集,并在早期的单类框架中解决了该问题,因为缺少相应的数据。单类异常检测旨在确定测试图像是否属于所述类。在开发单类异常检测之后,提出了名为MVTec AD[2]的工业数据集,该数据集具有用于制造检查的像素级注释。使用MVTecAD进行异常检测的目的在于图像级异常分类或像素级异常定位。各种工作使用不同的方式处理MVTec,如知识蒸馏[3]、自我监督学习[18]和元学习[45]。

       另一个更具挑战性的异常检测利用时间信息,称为视频异常检测,搜索视频片段中的意外动作或非法活动。具体来说,在现实世界应用中,需要为所有类型的异常检测估计整个异常模式。因此,通常完成多种类型的异常检测方法都是基于无监督的方式,假设在训练期间只访问正常数据,但其不适合称为无监督的V AD。一些文章从不同的角度研究了单类VAD。例如,Liu等人[20]将VAD作为视频预测框架,并基于GT和预测的未来帧之间的差距来测量异常分数。另一项工作[21]提出了一种基于重建光流的多级存储器增强自动编码器,具有跳跃连接。此外,一些方法[11,15]将预训练的对象检测器嵌入模型中,并使用运动提示来处理VAD。最近,在训练阶段包含视频级别标签的具有弱监督的VAD[34]显示出明显的进展。这是相当可观的,并将人工注释与性能进行权衡。与无监督V AD相比,几种方法有明显的改进。例如,RTFM[36]使用视频中多尺度时间场景的特征量值来选择前k个片段,并确定其是否属于异常视频。MSL[19]提出了多序列学习,并设计了排他/独有的(exclusive)排序损失来选择最异常的序列。与之前的工作相比,我们引入了一种具有灵活性的体系结构,可以同时处理单类和弱监督的VAD。

2.2视频特征提取器

        最近,基于神经网络的模型在处理动作识别任务方面取得了显著的性能提升,并用作强大的视频特征提提器,以在下游任务中获得稳健的表示。这些流行的模型分为两大类:双流网络[9,32,41]和3D网络[5,28,37,47]。双流网络分别利用RGB图像和堆叠的光流线索来生成外观和运动特征。3D网络直接使用原始视频体积来学习时空表示。在本文中,我们遵循当前在VAD上的努力,并使用后一种风格作为视频特征提取器,即I3D,来编码未修剪的视频并获取片段级表示F。

2.3自我监督稀疏字典学习

        字典学习的目标是使用字典中的元素找到线性组合,同时尽可能保持权重的稀疏性。通过字典学习的优化,冗余原子被过滤掉,并保留了中心原子[1]。Cong等人[8]提出了字典上的稀疏重建损失,以估计测试阶段局部和全局异常事件的异常分数。Lu等人[22]采用了这种策略来编码监控视频中的正常事件模式,并通过约束稀疏系数来提高运行时间速度。Luo等人[23]提出了伴随叠加递归神经网络的时间相干稀疏编码,以加快测试阶段的时间。与大多数以前专注于加速的工作相比,我们探索了稀疏表示学习的能力,并优化了从视频特征提取器中获得的所有特征以形成通用词典DU和任务专用词典DT。值得注意的是,由于最标准的视频特征提取器(如C3D或I3D)是在Kinetics-400上预先训练的[16],我们分别使用Kinetics400和目标数据集来制定DU和DT。然后,生成的字典被用于特征重构和伪标签生成。

        自我监督学习旨在增加标签,而无需手动注释。最近一些处理VAD的作品通过生成伪标签来采用这种策略[10]。例如,Pang等人[26]提出将有序回归公式化为借口任务。该模型最初学习伪正常帧和正常帧的异常分数,并将伪标签应用于端到端检测器。Feng等人[10]提出通过MIL训练生成器,并预测异常视频片段的伪标签,并在自训练方案中解决V AD。在本文中,我们引入伪标签生成来处理VAD。通过比较,我们使用非参数稀疏字典学习在潜在表示空间中生成视频级伪标签

3.方法

        学习执行视频异常检测通常在两种不同的设置中进行。第一种是单类公式,即所提供的训练数据仅包括描述基本正常活动的视频样本。尽管单类场景已明确假设训练数据均来自正常类别,但在大多数先前的工作中,将其称为无监督VAD任务并不合适[12,35,43]。与无异常假设不同,另一个流行的设置被称为弱监督的VAD任务。在这种情况下,训练集中的视频样本按其视频级别标签分类为正常(标签0)和异常(标签1;然而,帧级标签不能精确定位异常活动的精确片段。为了便于演示,我们在下文中将视频异常检测的两个设置称为oVAD(“o”表示一个类)和wVAD(“w”表示弱监督)。

        我们旨在开发一种统一的基于重建的方法,该方法可以有效地应用于解决oVADwVAD任务。为此,我们考虑建立一种字典学习方法,结合自我监督技术,在特征层面对异常概念进行建模,无论我们正在探索两种VAD设置中的哪一种。在接下来的章节中,我们将首先阐述我们解决oVAD任务的方法,因为由于训练数据中缺少异常样本,该问题更具挑战性,然后解释我们的方法如何也适用于解决wVAD任务。

3.1 oVAD的稀疏表示

        单类VAD假设在训练集X={xi}中只能访问无异常的视频。现在给定未修剪的帧级视频x∈X,我们将x分解为T个片段的片段级视频序列V=\{v_t\}_{t=1}^T,其中每个片段vt包括16个连续帧。我们跟随之前的工作[6,10,19,36],采用预先训练的I3D网络[5]作为每个片段级视频V的默认特征提取器E,得到片段级表示F=\{f_t\}_{t=1}^T,其中f_t \in R^C表示每个编码的片段级特征。

        字典学习[17,25]假设基础过于完整,并倾向于稀疏表示来简洁地解释给定样本。对于无异常视频样本的训练集X,我们有动机学习其字典D对应的N个原子。更具体地,我们将字典学习技术应用于每个表示F=E(x)\in R^{T\times C}并优化为

_{D,\{w_t\}}^{argmax}\textrm{}\sum_{x\in X}^{}\sum_{t=1}^{T}(||f_t -Dw_t ||^2 +\lambda ||w_t ||_0 )

(1)

其中D\in R^{C\times R}是VAD字典的结果,并且w_t \in R^N是受稀疏先验约束的系数向量。由于D的推导特定于训练数据集X,我们将使用符号DT来强调(1)中的基础字典是特定于任务的。

3.2 具有两个模块的字典

        利用从(1)中学习到的任务特定词典DT,我们可以设计两个相反的网络组件:en-Normalde-Normal模块给定片段级特征F,前者用于获得其重构的正常事件特征,而相反,后者用于过滤掉正常事件特征。这两个模块相辅相成,是我们异常视频检测方法的核心。

        en-Normal模块。利用学习到的任务特定词典DT,我们设计了一个基于字典的注意力模块,以更好地关联片段级特征F和生成的DT从而产生相应的正常事件特征。由于假设DT跨越所有正常事件模式的特征空间,我们使用注意力机制[38,42]重新加权关于DT的片段级输入特征F,以获得重构的正常事件特征\hat{F}。特别是,我们使用线性嵌入Ø来投影F和DT。注意力在嵌入空间中计算,并定义为:

\hat{F} = softmax(\o ^q(F)\o ^k(D_T)^T\o ^v(D_T))

(2)

其中,qkv分别表示用于导出query、key和value嵌入的线性函数,如[38,42]所示。因此,我们基于F自适应地从字典DT中引入正常事件模式,以重建正常特征。图2描述了如何从输入特征F和DT获得正常事件特征。

图2:en-Normal的流程。该模块采用片段级特征F和任务特定词典DT,通过注意力机制重建特征F。

        de-Normal模块。与之前的设计相反,de-Normal模块旨在降低输入视频特征中的正常事件模式。因此,期望过滤掉与正常事件相关的模式,并且剩余的模式可以用于推断输入视频是否包括异常事件。实际上,给了片段级特征F \in R^{T \times C}和重构正常特征\hat{F} \in R^{T \times C}。我们首先通过多尺度时间网络(MTN)[36]探索时间相关性,并检索增强的特征为\varphi (F) \in R^{T \times C}\varphi (\hat F) \in R^{T \times C},其中φ代表MTN操作。接下来,我们在时间上使用全局平均池化(表示为g(·))来收集全局事件,其中每个通道都包含正常或异常语义。我们表达了g(φ(F))g(\varphi ( \hat F))\in R^C的检索到的跨视频语义为S∈RC,其公式化为它们的通道方向差异,

S=g(\varphi (F))-g(\varphi (\hat F))

(3)

        注意,来自(3)的跨视频语义S移除了正常事件语义通道。因此,跨视频语义S能够抑制用于描述那些正常事件的语义特征。为了进一步保持跨视频语义的异常事件通道,同时抑制正常事件通道,我们使用SENet-style[14]操作来探索通道关系,并获得 用于在输入视频表示内 抑制正常事件的相应通道尺度,如下:

\delta =\sigma (MLP(S))

(4)

U=\delta \bigodot F,\hat U =(1-\delta )\bigodot \hat F

(5)

其中MLP包括两个全连接层以探测通道方向的关系,σ表示Sigmoid激活,以及⊙ 表示通道乘法。尺度向量δRc表示保持异常事件的通道级权重,而1− δ表示关注正常事件的通道权重。最后,我们使用多个全连接层,再分别使用U和g(\hat U)来预测片段级别 P={ pt} 和视频级别 p 概率。(见图3)

图3. de-Normal模块的说明。该模块采用F和\hat F之间的通道差异来形成交叉视频语义S。然后,导出通道尺度δ以抑制S以描述正常事件。

3.3基于字典的自我监督学习

        我们已经描述了如何从无异常训练数据中学习特定于任务的字典DT,并使用它来建立两个用于实现视频异常检测的有用模块。然而,如图1所示,所提出模型的整体训练隐含地假设了包括异常事件(即标签1)的训练数据的可用性。鉴于oVAD设置不提供除无异常之外的训练数据,我们提出了有效的自我监督技术,以生成与给定字典D相关的伪异常数据

假设现在我们得到了一个训练集 \hat X ,下面列出了基于D生成伪异常视频的步骤

1.收集 \hat X 中的所有正常视频以形成训练集X(这一步骤是为了考虑wVAD;否则,我们已经有X= \hat X)。 

2. 对于D中的每个原子,计算其与X的平均余弦相似度,并根据它们的相似度得分以升序获得排名列表。

3.将D分成两个大小相等的字典,D=Di∪Dr,其中Di包括排名前半部分的那些无关原子,Dr包括剩余的相关原子。自监督方案使用Di生成伪异常特征,使用Dr生成伪正常特征。

4.通过从X中采样,对于一个表示为F=\{f_t\}_{t=1}^T的正常视频,我们通过如下步骤替换其2×t片段来创建异常视频:

(a)我们从F中随机选择t个片段。对于每个片段,我们从Di中随机选择n个原子\{d_j \}_{j=1}^n作为伪异常候选。

(b) 我们进一步应用加权融合来获得一个新的片段特征

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值