文章目录

  • 1 概述
    • 1.1 题目
    • 1.2 摘要
    • 1.3 代码
    • 1.4 Bib
  • 2 方法
    • 2.1 总览
    • 2.2 空间自编码
    • 2.3 动作自编码器
    • 2.4 方差注意力模块
    • 2.5 聚类
    • 2.6 训练优化目标
    • 2.7 异常得分

1 概述

1.1 题目

2022:时空分离视频异常检测 (Video anomaly detection with spatio-temporal dissociation)

1.2 摘要

由于异常的模糊定义和来自真实视频数据的视觉场景的复杂性,视频中的异常检测仍然是一项具有挑战性的任务。与之前利用重建或预测作为辅助任务来学习时间规律性的工作不同,本工作探索了一种新颖的卷积自编码器架构,该架构可以分离时空表示以分别捕获空间和时间信息,动机则是异常事件通常有着不同于正常事件的外观和/或运动行为:

  1. 空间自编码器通过学习重构第一帧 (First individual frame, FIF) 的输入来对外观特征空间的正态性建模,而时间部分则以前四个连续帧作为输入,RGB差异作为输出来模拟 光流的运动。外观或运动行为不规则的异常事件会导致较大的重建误差;
  2. 为了提高快速移动异常值的检测性能,利用基于方差的注意模块并将其插入运动自编码器以突出显示大的运动区域;
  3. 提出一种深度K-means聚类策略来强制空间和运动编码器提取紧凑的表示。

1.3 代码

Torchhttps://github.com/ChangYunPeng/VideoAnomalyDetection

1.4 Bib

@article{Chang:2022:108213,
author      =  {Yun Peng Chang and Zhi Gang Tu and Wei Xie and Bin Luo and Shi Fu Zhang and Hai Gang Sui and Jun Song Yuan},
title       =  {Video anomaly detection with spatio-temporal dissociation},
journal     =  {Pattern Recognition},
volume      =  {122},
pages       =  {108213},
year        =  {2022},
doi         =  {10.1016/j.patcog.2021.108213}
}

2 方法

2.1 总览

对于异常事件检测任务,训练集中只包含正常事件,因此一个高效的解决方法是在无监督设置下习得正常训练视频的规律。本文将空间信息和运动信息与双流架构分离,并分别利用重建和预测作为空间流和运动流的辅助任务。如图1所示,对于给定的视频剪辑 x x x,算法的处理分为三个主要步骤:

  1. 空间编码器 E a E_a Ea​使用第一帧 x f i f x_{fif} xfif​作为输入,以获取包含视频中场景和对象信息的空间表示 z a z_a za​。随后 z a z_a za​传递给空间解码器 D a D_a Da​以获取重构结果 x ‾ f i f \overline{x}_{fif} xfif​;
  2. 运动编码器 E m E_m Em​以除了最后帧的视频 x c l i p s x_{clips} xclips​作为输入。 E m E_m Em​中嵌入了所提出的基于方差的注意力模块以凸显高速移动区域。运动解码器 D m D_m Dm​用于生成 x f i f x_{fif} xfif​及 x l i j x_{lij} xlij​与输入动作表示 z m z_m zm​之间的RBG差异 x d i f f x_{diff} xdiff​,其中生成的表示记为 x ‾ d i f f \overline{x}_{diff} xdiff​;
  3. 深度K-means最小化汇聚表示 r r r和聚类中心 C C C之间的距离,以促使空间编码器和动作编码器提取到一些共同信息。

为了检测给定的视频剪辑 x x x是否包含异常,将最终的预测结果 x ‾ l i f \overline{x}_{lif} xlif​与 x l i f x_{lif} xlif​进行比较,以衡量预测质量。最终将预测质量与它们与集群的距离进行融合,以获得最终的异常分数


  图1:视频异常检测架构。时空信息被分解为两个子模块:空间自编码器 E a E_a Ea​和 D a D_a Da​用于FIF重构,而时间自编码器 E m E_m Em​和 D m D_m Dm​用于预测FIF和LIF (Last individual frame) 与输入连续视频帧之间的RGB差异。编码器和解码器分别由三个ResNet构成,区别在于LeakyReLU代替了所有的ReLU,以及使用用像素混洗层 (Pixel shuffle) 替换步幅卷积层,以逐步提高空间分辨率。为了进一步约束这两个流,引入了一种深度K-means聚类策略来提取紧凑表示,如紫色区域。此外利用了一个基于方差的注意力模块,它可以自动为运动分配一个重要性权重

2.2 空间自编码

由于某些异常对象与特定对象部分关联,因此其自身的静态外观是一个有用的线索。为了检测包含空间特征,例如风景和外观等的异常对象,输入视频 x x x的第一帧将输入空间编码器,以获取用于重构的、包含必须空间信息的瓶颈潜在空间 (Bottleneck latent-space) z a z_a za​,其输入目标是最小化 x f i f x_{fif} xfif​与 x ‾ f i f \overline{x}_{fif} xfif​之间的重构误差。

给定单独的一帧,空间编码器将其转换为外观表示 z a z_a za​,空间解码器生成重构结果 x ‾ f i f \overline{x}_{fif} xfif​:
z a = E a ( x f i f ; θ e a ) (1) \tag{1} z_a=E_a(x_{fif};\theta_e^a) za​=Ea​(xfif​;θea​)(1) x ‾ f i f = D a ( z a ; θ d a ) (2) \tag{2} \overline{x}_{fif}=D_a(z_a;\theta_d^a) xfif​=Da​(za​;θda​)(2)其中 θ \theta θ表示模型参数。图2描述了空间解码器的主要结构。编码器 E a E_a Ea​和解码器 D a D_a Da​都由三个ResNet块构成:

  1. 编码器:删除每个块中的batchnorm层;于块之后添加batchnorm层;
  2. 解码器:将ResNet块中的下采样层 (Downsampling layer) 替换为像素混洗层 (Pixel shuffle layer),以减少棋盘伪影 (Checkerboard artifacts);
  3. 所有块的ReLU层替换为LeakyReLU


  图2:空间解码器的结构,视频帧均被缩放为 256 × 256 256\times256 256×256

为了使得空间自编码器习得外观特征空间的规律性,计算了 x f i f x_{fif} xfif​和 x ‾ f i f \overline{x}_{fif} xfif​之间的均方误差
l a = ∥ x f i f − x ‾ f i f ∥ 2 (3) \tag{3} l_a=\|x_{fif}-\overline{x}_{fif}\|_2 la​=∥xfif​−xfif​∥2​(3)

2.3 动作自编码器

大多数基于双流的卷积网络利用扭曲的光流作为运动建模的来源。尽管运动特征非常有用,但光流估计的昂贵计算成本阻碍了依赖于光流的方法用于许多实时实现。受[13]启发,利用一种新颖的运动表示来模拟光流的运动,该运动是通过视频帧之间的RGB值的差异直接获得。图3表明,可以假设从光流中捕获的运动表示可以从RGB的差异中学习。因此,构建了一个运动自动编码器来生成与连续视频帧输入的RGB差异。通过用产生的RGB差异模拟光流的运动,运动自编码器可以学习时间规律,其捕获的特征表示包含基本的运动信息。对于给定的视频剪辑 x x x ,将除LIF之外的所有其他帧作为输入,并将最后一个视频帧和第一帧之间的RGB 差异作为目标。


  图3:视频帧、RGB差异,以及光流示意

图4展示了运动自编码器的架构,其骨架是U-Net和2D CNN。动作编码器 E m E_m Em​将 x c l i p s x_{clips} xclips​转换为动作表示 z m z_m zm​,并生成RGB差异 x ‾ d i f f \overline{x}_{diff} xdiff​:
z m = E m ( x c l i p s ; θ e m ) (4) \tag{4} z_m=E_m(x_{clips};\theta_e^m) zm​=Em​(xclips​;θem​)(4) x ‾ d i f f = D m ( z m ; θ d m ) (5) \tag{5} \overline{x}_{diff}=D_m(z_m;\theta_d^m) xdiff​=Dm​(zm​;θdm​)(5)与空间自编码器类似, E m E_m Em​和 D m D_m Dm​均包含三个ResNet,以及去除批量归一化层与替换ReLU为LeakyReLu。而不同在于,运动编码器和运动解码器之间存在跳跃连接,运动解码器中的每个块都处理上采样运动表示和低级特征的连接。为了防止生成结果过度平滑,计算了:

  1. l 2 l_2 l2​距离;
  2. x ‾ d i f f \overline{x}_{diff} xdiff​与 x d i f f x_{diff} xdiff​之间的梯度损失,

以使得结果更接近目标值。动作自编码器的损失函数 l m l_m lm​定义为:
l m = ∥ x d i f f − x ‾ d i f f ∥ 2 + ∑ d ∈ { x , y } ∥ ∣ g d ( x d i f f ) ∣ − ∣ g d ( x ‾ d i f f ) ∣ ∥ 1 (6) \tag{6} l_m=\|x_{diff}-\overline{x}_{diff}\|_2+\sum_{d\in\{x,y\}}\|\ |g_d(x_{diff})|-|g_d(\overline{x}_{diff})|\ \|_1 lm​=∥xdiff​−xdiff​∥2​+d∈{x,y}∑​∥ ∣gd​(xdiff​)∣−∣gd​(xdiff​)∣ ∥1​(6)其中 g d g_d gd​表示视频帧沿着空间 x x x和 y y y轴的图像梯度。


  图4:运动自编码器的结构。输入是4个堆叠的帧。

2.4 方差注意力模块

监控视频大部分是静态的属于正常现象,异常行为更容易出现较大的运动变化。基于此特性,在时间自编码器中设计了一种基于方差的注意力,以自动将重要性权重分配给视频剪辑的移动部分。由于运动编码器由三个2D ResNet块组成,因此特征图的每个位置都包含跨通道的局部运动信息。它类似于包含沿时间轴的运动信息的3D卷积,而2D卷积包含特征通道内的这些信息。因此,对于那些移动较大的区域,这些嵌入的方差也会更高。因此,可以直接计算跨通道表示的平均值,然后计算每个位置的方差。

给定运动编码器第 i i i个块的嵌入运动特征 z m i z_m^i zmi​,注意力模块首先将其传递到一个卷积层:
f n ( h , w ) = W g ∗ z m i ( h , w ) (7) \tag{7} f_n(h,w)=W_g*z_m^i(h,w) fn​(h,w)=Wg​∗zmi​(h,w)(7)其中 h ∈ ( 0 , H i ] h\in(0,H_i] h∈(0,Hi​], w ∈ ( 0 , W i ] w\in(0,W_i] w∈(0,Wi​], W i W_i Wi​和 H i H_i Hi​是第 i i i个块的特征图行列数。 W g W_g Wg​是卷积层的参数。我们计算沿特征维度的方差,然后沿空间维度进行 l 2 l_2 l2​归一化以生成相应的注意力图 g n g_n gn​:
v ( h , w ) = 1 D ∑ d = 1 D ∥ f n ( h , w , d ) − 1 D ∑ d = 1 D f n ( h , w , d ) ∥ 2 (8) \tag{8} v(h,w)=\frac{1}{D}\sum_{d=1}^D\left\| f_n(h,w,d) -\frac{1}{D}\sum_{d=1}^Df_n(h,w,d) \right\|_2 v(h,w)=D1​d=1∑D​∥ ∥​fn​(h,w,d)−D1​d=1∑D​fn​(h,w,d)∥ ∥​2​(8) a t t ( h , w ) = ∥ e x p ( v ( h , w ) ) ∑ h = 1 , w = 1 H , W e x p ( v ( h , w ) ) ∥ 2 (9) \tag{9} att(h,w)=\left\| \frac{exp(v(h,w))}{\sum_{h=1,w=1}^{H,W}exp(v(h,w))} \right\|_2 att(h,w)=∥ ∥​∑h=1,w=1H,W​exp(v(h,w))exp(v(h,w))​∥ ∥​2​(9)其中 v ( h , w ) v(h,w) v(h,w)表示在空间位置 ( h , w ) (h,w) (h,w)特征图的方差。由于基于方差的注意力模块可以突出快速移动区域,同时抑制不相关的静态区域,这些与快速移动具有高度相关性的异常物体,例如在地铁入口快速奔跑的行人,将获得较大的运动损失。这有助于快速移动异常事件检测。

2.5 聚类

由于仅在正常数据上训练运动自动编码器和空间自动编码器以进行异常检测,因此自动编码器也可以在异常事件上进行泛化。 推动空间编码器和运动编码器获得压缩数据表示是必不可少的。引入了一个深度K-means,它最小化了数据表示和聚类中心之间的距离,以迫使空间编码器和运动编码器网络都提取共同的因子。

令 K K K表示簇的数量, c k c_k ck​表示簇 k k k的表示,以及 C = { c 1 , … , c K } C=\{c_1,\dots,c_K\} C={c1​,…,cK​}是表示的集合。给定空间表示 z a z_a za​和动作表示 z m z_m zm​,首先在同一空间位置的特征通道中连接这些表示以融合两个流,并将运动表示和外观表示一起训练。然后标准化汇聚表示 r r r到 [ 0 , 1 ] [0,1] [0,1]。对于提取自空间位置 h ∈ ( 0 , H r ] h\in(0,H_r] h∈(0,Hr​]和 w ∈ ( 0 , W r ] w\in(0,W_r] w∈(0,Wr​]的表示 r h , w ∈ R D r_{h,w}\in R^D rh,w​∈RD,其中 H r H_r Hr​和 W r W_r Wr​表示汇聚特征图的空间大小,我们计算嵌入描述符和每个聚类中心 c k c_k ck​的欧氏距离。

为了构成聚类目标函数的连续泛化,采用软分配来计算数据表示 z i z_i zi​与聚类中心 C C C之间的距:
D ( r h , w , C ) = ∑ k = 1 K e − α ∥ r h , w − c k ∥ 2 ∑ k = 1 K e − α ∥ r h , w − c k ∥ 2 ∥ r h , w − c k ∥ 2 2 (10) \tag{10} D\left(r_{h, w}, C\right)=\sum_{k=1}^K \frac{e^{-\alpha}\left\|r_{h, w}-c_k\right\|_2}{\sum_{k=1}^K e^{-\alpha\left\|r_{h, w}-c_k\right\|_2}}\left\|r_{h, w}-c_k\right\|_2^2 D(rh,w​,C)=k=1∑K​∑k=1K​e−α∥rh,w​−ck​∥2​e−α∥rh,w​−ck​∥2​​∥rh,w​−ck​∥22​(10)其中 α \alpha α是一个可调整参数。深度K-means的目标函数定义为:
L c l u s t e r = ∑ h = 1 , w = 1 H r , W r D ( r h , w , C ) (11) \tag{11} L_{{cluster }}=\sum_{h=1, w=1}^{H_r, W_r} D\left(r_{h, w}, C\right) Lcluster​=h=1,w=1∑Hr​,Wr​​D(rh,w​,C)(11)为了初始化聚类中心,首先训练运动自编码器和空间自编码器以产生有意义的表示,并结合空间损失 l a l_a la​和运动损失 l m l_m lm​ 。在对两个自编码器进行预训练后,随机选择几个运动表示及其相应的空间表示,然后对级联表示应用K-means算法以获得初始聚类值。深度K-means聚类也是在只包含正常事件的训练集上训练的,每个聚类中心可以被视为训练数据集中的某种正态性。测试集上的异常事件不会影响集群中心。在异常事件检测期间,不再优化聚类中心。通过将此类聚类项添加到架构中,空间和运动自动编码器可以提取更紧凑的表示。

2.6 训练优化目标

优化目标中包含了三个部分:

  1. 空间损失 L a L_a La​;
  2. 运动损失 L m L_m Lm​;
  3. 聚类损失 L c l u s t e r L_{cluster} Lcluster​:最小化数据表示和簇中心的距离。
    L o s s = L a ( x f i f , x ‾ f i f ) + L m ( x d i f f , x ‾ d i f f ) + λ r L c l u s t e r (12) \tag{12} Loss = L_a(x_{fif},\overline{x}_{fif})+L_m(x_{diff},\overline{x}_{diff})+\lambda_rL_{cluster} Loss=La​(xfif​,xfif​)+Lm​(xdiff​,xdiff​)+λr​Lcluster​(12)

2.7 异常得分

由 x ‾ f i f + x ‾ d i f f \overline{x}_{fif}+\overline{x}_{diff} xfif​+xdiff​生成的预测帧 x ‾ l i f \overline{x}_{lif} xlif​可用于异常检测,即在所有像素位置上计算 x l i f x_{lif} xlif​和 x ‾ l i f \overline{x}_{lif} xlif​之间的欧几里德距离来衡量预测的质量。进一步测量了相应的连接表示与聚类中心 C C C之间的距离,因为每一个簇中心都可以被视为常态。我们根据公式10计算所有空间位置的距离,然后使用最接近的插值将损失图上采样到输入大小,表示为 D u D_u Du​。对于给定的测试视频序列,将异常分数定义为它们的预测质量和聚类距离的乘积:
s = 1 D u ∥ x l i f − x ‾ l i f ∥ 2 (13) \tag{13} s=\frac{1}{D_u\|x_{lif}-\overline{x}_{lif}\|_2} s=Du​∥xlif​−xlif​∥2​1​(13)高得分意味着视频片段越正常。计算完所有视频序列的得分后,对损失进行归一化以获得每个视频帧在 [ 0 , 1 ] [0,1] [0,1]范围内的分数 S ( t ) S(t) S(t):
S ( t ) = s − min ⁡ t ( s ) max ⁡ t ( s ) − min ⁡ t ( s ) (14) \tag{14} S(t)=\frac{s-\min_t(s)}{\max_t(s)-\min_{t}(s)} S(t)=maxt​(s)−mint​(s)s−mint​(s)​(14)

论文阅读 (75):Video Anomaly Detection with Spatio-temporal Dissociation (2022)相关推荐

  1. 论文阅读 (64):Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning

    文章目录 1 引入 1.1 题目 1.2 代码 1.3 摘要 1.4 Bib 2 RTFM 2.1 理论动机 2.2 多尺度时间特征学习 2.3 特征量级学习 2.4 RTFM帧级分类器 3 实验 3 ...

  2. 论文阅读 (76):Anomaly Detection in Video Sequence with Appearance-Motion Correspondence

    文章目录 1 概述 1.1 题目 1.2 摘要 1.3 代码 1.4 引用 2 方法 2.1 初始模块 (Inception module) 2.2 外观卷积自编码器 (Conv-AE) 2.3 动作 ...

  3. 论文阅读:CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Transfer

    CTF:在高维时间序列异常检测 CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Tran ...

  4. 论文阅读:**CTF: Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Transfer

    CTF:在高维时间序列异常检测 CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Tran ...

  5. 论文阅读笔记《Anomaly Detection in Nanofibrous Materials by CNN-Based Self-Similarity》

    核心思想   本文提出一种基于自相似度的异常检测方法,核心思想在于正常样本图像之间的相似性更大,而缺陷样本和正常样本之间的相似性更小,如果某个样本与正常样本之间的最小距离都超过一个阈值时,就判定为异常 ...

  6. RTFM:Weakly-supervised Video Anomaly Detection with Robust Temporal Feature【ICCV 2021】附代码注释

    论文解读 [摘要]具有弱监督视频级别标签的异常检测通常被表述为多实例学习(MIL)问题,其中我们旨在识别包含异常事件的片段,每个视频被表示为一个视频片段包(Bag).尽管当前的方法显示出有效的检测性能 ...

  7. 异常检测论文阅读笔记《MIST: Multiple Instance Self-Training Framework for Video Anomaly Detection》

    MIST: Multiple Instance Self-Training Framework for Video Anomaly Detection 论文来源:CVPR 2021 原论文地址链接 相 ...

  8. 论文阅读 (86):Normality Guided Multiple Instance Learning for Weakly Supervised Video Anomaly Detection

    文章目录 1 引入 1.1 题目 1.2 摘要 1.3 引用 2 方法 2.1 背景和动机 2.2 正态导向微调模块 2.2.1 正态更新 2.2.2 异常预测微调 2.3 学习目标 2.3.1 正态 ...

  9. Weakly Superised video anomaly detection弱监督视频异常检测

    关于弱监督的一些论文记录.(以便自己学习总结) 目录 Consistency-based Self-supervised Learning for Temporal Anomaly Localizat ...

最新文章

  1. eclipse字体大小设置_Java 设置Excel单元格格式—基于Spire.Cloud.SDK for Java
  2. java button名字_如何实现java按钮的名字输出到文本框鄙人刚学java,题目如 爱问知识人...
  3. 数据结构与算法 / 霍夫曼树、霍夫曼编码和解码
  4. url充定向 html转义,html、javascript、url特殊字符的转义诠释及使用方法详解
  5. oracle存储技术,oracle存储体系总结
  6. hihocoder 1689 - 推断大小关系(图论+二分)
  7. web策略类游戏开发(四)一个可以承载万人在线的架构
  8. 2018--20179215--《文献管理与信息分析》第三讲 英文数据库资源的发展趋势和利用...
  9. 线性表的定义和基本运算之线性结构
  10. java计算集合对称差
  11. idea插件Lombok
  12. pdf转chm_PDF转Excel的小妙招!
  13. 给妹子讲python-S01E05字符串的基本用法详解
  14. k8s启动Pod报错CrashLoopBackOff
  15. 翻遍知乎1000多个高赞回答,我找到了这7本计算机圣经
  16. ipa包瘦身之图片无损压缩瘦身
  17. im即时通讯开发:浅析MQTT通信协议
  18. 数理逻辑学习笔记[0] 命题逻辑:语义
  19. pycharm社区版安装及使用教程(win10系统)
  20. “帽子戏法”从何而来?

热门文章

  1. Linux李哥私房菜——open、close和fd
  2. 南方科技大学 matlab,姚新 | 南方科技大学
  3. AERONET AOD 数据自动化下载 + PYTHON + SELENIUM
  4. JavaScript之BOM和DOM入门
  5. Aquila: A Practically Usable Verification System for Production-Scale Programmable Data Planes
  6. 三菱fx5u和伺服定位,5u和3u定位用法不一样,这个包含触摸屏,plc程序,plc参数设置
  7. DE–A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces
  8. html(超 文本 标记 语言)
  9. 【人工智能】新工匠精神:人工智能挑战下如何成为稀缺人才
  10. 华为机试题之拼音转数字