多层记忆增强外观-运动对齐框架用于视频异常检测 论文阅读

MULTI-LEVEL MEMORY-AUGMENTED APPEARANCE-MOTION CORRESPONDENCE FRAMEWORK FOR VIDEO ANOMALY DETECTION 论文阅读

  • 摘要
  • 1.介绍
  • 2.方法
    • 2.1外观和运动对其建模
    • 2.2.记忆引导抑制模块
    • 2.3. Training Loss
    • 2.4. Anomaly Detection
  • 3.实验与结果
  • 4.结论

论文标题:MULTI-LEVEL MEMORY-AUGMENTED APPEARANCE-MOTION CORRESPONDENCE FRAMEWORK FOR VIDEO ANOMALY DETECTION

文章信息:
在这里插入图片描述
发表于:ICME 2023(CCF B类会议)
原文链接:https://arxiv.org/abs/2303.05116
源代码:无

摘要

基于AutoEncoder的帧预测在无监督视频异常检测中发挥着重要作用。理想情况下,在正常数据上训练的模型可以产生更大的异常预测误差。然而,外观和运动信息之间的相关性没有得到充分利用,这使得模型缺乏对正常模式的理解。此外,由于深度AutoEncoder不可控制的可推广性,这些模型不能很好地工作。为了解决这些问题,
我们提出了一个多级记忆增强外观运动对应框架。通过外观-运动语义对齐和语义替换训练,探索外观和运动之间潜在的对应关系。
此外,我们还引入了一种内存引导抑制模块,该模块利用与正常原型特征的差异来抑制跳跃连接引起的重建容量,实现了正常数据的良好重建和异常数据的不良重建之间的折衷。
实验结果表明,我们的框架优于最先进的方法,在UCSD Ped2、中大大道和ShanghaiTech数据集上实现了99.6%、93.8%和76.3%的AUC。

1.介绍

本文共享如下:

  • 提出了一个多级记忆增强的外观-运动对齐框架,该框架使用正常和异常数据之间的外观和运动语义一致的相关性间隙来发现异常。
  • 介绍了一种多尺度记忆引导抑制模块,它实现了对正常数据的良好重建和对异常数据的较差重建之间的折衷。
  • 在三个基准数据集上的大量实验表明,所提出的框架优于最先进的方法。

2.方法

如图1(a)所示,所提出的多级记忆增强外观运动对应框架由三部分组成:双流编码器、解码器和多尺度记忆引导抑制模块(MGSM)。我们将视频帧剪辑和相应的光流输入到双流编码器中。
外观自动编码器 E φ E_φ Eφ用于学习外观特征,运动自动编码器 E θ E_θ Eθ用于学习运动特征。
所提出的外观-运动语义对齐损失作用于瓶颈编码层的外观和运动特征,并且我们将运动特征而不是外观特征馈送到解码器 E φ E_φ Eφ中,以预测未来帧,其中建立了外观和运动信息之间的关系。同时,所提出的MGSM利用了多个编码层的多尺度下采样特征,在抑制异常数据的同时,加强了对正常数据的预测。以下小节详细介绍了所有组件。
在这里插入图片描述

2.1外观和运动对其建模

在这里插入图片描述
如上图所示:外观编码器输入t个帧,用于预测第t+1帧,外观编码器 E φ E_φ Eφ得到的输出为 f a f_a fa,运动编码器输入对应的t张光流图,外观编码器 E θ E_θ Eθ得到的输出为 f m f_m fm。为了让外观和运动对其,作者最小化了 f a f_a fa f m f_m fm的余弦距离(目的应该是更好的结合外观和运动的信息),如公式(1)所示:
在这里插入图片描述
此外,为了对外观和运动信号具有共同行为语义的显式关系进行建模,作者将外观特征 f a f_a fa替换为运动特征 f m f_m fm到解码器 D φ D_φ Dφ中,以预测未来的帧。由于只有前景物体的运动信息在形式上,这将减轻复杂背景的副作用,也直接建立外观和运动之间的互补关系。

2.2.记忆引导抑制模块

所提出的MGSM的体系结构如图1(b)所示。MGSM被训练来学习和压缩多个原型,这些原型存储整个训练集的正态性。我们用MGSM装备编码器E和解码器 D φ D_φ Dφ之间的所有跳跃连接。MGSM使用输入编码特征和存储的正常原型之间的相似性来计算抑制器,该抑制器抑制对应编码特征的表示。它避免了学习从输入到输出的身份映射,这将使正常和异常不可分割。
在这里插入图片描述
具体而言,给定连续的帧作为输入,编码器 E φ E_φ Eφ生成一组特征图{ f 1 f_1 f1 f 2 f_2 f2,…, f L − 1 f_{L−1} fL1},其中L是下采样尺度的数量。对于每个大小为 H i × W i × C i H^i × W^i × C^i Hi×Wi×Ci的特征图 f i f_i fi,我们将其展平为一个向量,并用作记忆库的查询 q k q^k qk。对于记忆库,我们遵循[3]的方法进行实现。每个记忆库是一个可学习的矩阵 M ∈ R N × D M ∈ R^{N×D} MRN×D,由包含固定维度D的N个记忆项组成,用于在训练期间记录原型正常模式。M的第j行向量是一个记忆项 m j ∈ R D ( j ∈ 1 , 2 , . . . , N ) m_j ∈ R^D(j ∈ {1, 2, ..., N}) mjRDj1,2,...,N。类似于[3, 8],通过计算查询 q k q^k qk与每个项 m j m_j mj之间的相似性,来解决记忆化的正常性,具体表现为计算基于这种相似性的注意权重w,如公式(2)所示:
在这里插入图片描述
基于注意权重 w ∈ R 1 × N w∈R^{1×N} wR1×N,得到了一个抑制器λ。不是在以前的工作中对存储器项进行线性组合,而是通过跳过连接直接用于解码器的新特征 q ^ k \widehat{q}^k q k由公式(3)重新计算:
在这里插入图片描述
其中σ表示ReLU激活函数,max返回输入注意力权重w中的最大值,norm表示批量归一化。MGSM通过抑制编码特征的表示而不是重新生成它们来实现可控的重建能力,缓解了由于高度依赖于存储器大小而导致的不稳定的VAD性能。

2.3. Training Loss

像素损失:
在这里插入图片描述
图像梯度损失(其中i、j表示视频帧的空间索引):
在这里插入图片描述
外观运动对齐损失(理解为外观和运动的相似性,越小越好):
在这里插入图片描述
记忆模块的紧凑和分离损失:

  • 紧凑损失:
    在这里插入图片描述
  • 分离损失:
    在这里插入图片描述
    其中 m 1 i m^i_1 m1i m 2 i m^i_2 m2i表示与查询 q i q^i qi最接近的第一和第二存储器项。

最后总的损失函数如下:
在这里插入图片描述
其中, λ i n t λ_{int} λint λ g d λ_{gd} λgd λ a l i g n λ_{align} λalign λ c o m p λ_{comp} λcomp λ d i v e r λ_{diver} λdiver是平衡超参数,W是模型的参数, λ m o d e l λ_{model} λmodel是控制模型复杂性的正则化超参数。

2.4. Anomaly Detection

在测试阶段,异常评分由两部分组成:
(1) 未来帧预测误差
S p = ∣ ∣ I ^ − I ∣ ∣ 2 2 S_p=||\widehat{I} - I||_2^2 Sp=∣∣I I22
(2) 外观与运动特征的不一致
在这里插入图片描述
然后,通过使用加权策略将这两部分融合,得到最终的异常分数,具体如下:
在这里插入图片描述
其中, u p u_p up δ p δ_p δp u f u_f uf δ f δ_f δf表示所有正常训练样本的预测误差的均值和标准差,以及外观和运动特征之间的不一致性。 w p w_p wp w f w_f wf表示两个分数的权重。

3.实验与结果

作者的网络结构图如下:
在这里插入图片描述

实验结果(在3个常见的视频异常检测数据集中:):
在这里插入图片描述

4.结论

在本文中,提出了一种用于视频异常检测的多级记忆增强外观运动对应框架。
通过所提出的外观-运动语义对齐丢失和预测的语义替换,显式地对外观和异常分数之间的相关性进行了建模。
同时,所提出的MGSM不仅实现了正常数据的良好重建和异常数据的较差重建之间的折衷,而且克服了复杂场景中性能下降的问题。
在三个基准数据集上的大量实验结果表明,方法比最先进的方法性能更好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/252407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云渲染技术下的虚拟现实:技术探索与革新思考

虚拟现实(含增强现实、混合现实)是新一代信息技术的重要前沿方向,是数字经济的重大前瞻领域,将深刻改变人类的生产生活方式,产业发展战略窗口期已然形成。但是虚拟现实想要深入改变影响我们的生活,以下技术…

PyQt6 QToolBar工具栏控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计44条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

【QT】时间日期与定时器

目录 1.时间日期相关的类 2.日期时间数据与字符串之间的转换 2.1 时间、日期编辑器属性设置 2.2 日期时间数据的获取与转换为字符串 2.3 字符串转换为日期时间 3.QCaIendarWidget日历组件 3.1基本属性 3.2 公共函数 3.3 信号 4.实例程序演示时间日期与定时器的使用 …

Linux c++开发-06-使用Linux API 进行文件的读写

先简单的介绍一下open,read,write 先用open接口去打开文件,flag表示打开文件的权限不同。 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);示例 结果:

学习MS Dynamics AX 2012编程开发 2. X++语言

X是用于构建Dynamics AX功能的编程语言。X是一种与C类似的面向对象编程语言。 完成本章后,您将能够理解X语言;您将知道可用的数据类型是什么,如何创建各种循环,如何比较和操作变量,在哪里可以找到预定义的函数&#x…

TypeScript编译环境配置

TypeScript 安装和配置 全局安装TypeScript语言的编辑器npm i -g typescript用vscode打开项目文件夹,右键选择在终端中打开,在终端中输入tsc -int // tsc是ts语言的编译器,c是compile的意思 ,编译结果:在当前项目文件…

Java与前端:风云变幻的技术之路

前言 近日,有关“Java已死、前端已凉”的言论在IT圈内流传甚广,引起了广泛关注和讨论。这究竟是真相还是一场对技术人员的焦虑贩卖呢?让我们一同探讨这场技术风暴带来的变化与机遇,并分享一些实用的建议。 一、技术变革的常态 …

【微服务】Spring Aop原理深入解析

目录 一、前言 二、aop概述 2.1 什么是AOP 2.2 AOP中的一些概念 2.2.1 aop通知类型 2.3 AOP实现原理 2.3.1 aop中的代理实现 2.4 静态代理与动态代理 2.4.1 静态代理实现 三、 jdk动态代理与cglib代理 3.1 jdk动态代理 3.1.1 jdk代理示例 3.1.2 jdk动态代理模拟实现…

探索顺序表:数据结构中的秩序之美(c语言实现常见功能接口)

在我们的数据结构探索中,我们已经探讨时间复杂度、空间复杂度。大家可以移步到我的上篇文章: 打开数据结构大门:深入理解时间与空间复杂度 今天,我们将深入研究另一个重要的主题——顺序表 全部的源代码大家可以去我github主页…

【LangChain学习之旅】—(1) 何谓 LangChain

Reference:LangChain 实战课 【LangChain学习之旅】— 何谓 LangChain 如何理解 LangChainLangChain 中的具体组件LangChain调用ChatGPTLangChain代理功能 如何理解 LangChain 作为一种专为开发基于语言模型的应用而设计的框架,通过 LangChain&#xff…

07-抽象工厂

意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 适用性 在以下的情况可以选择使用抽象工厂模式: 一个系统要独立于它的产品的创建、组合和表示。一个系统要由多个产品系列中的一个来配置。要强调一系列相关的产品对象的…

关于Ubuntu22.04恢复误删文件的记录

挂载在Ubuntu22.04下的固态盘有文件被误删了,该固态盘是ntfs格式的。 在网上找了很多教程,最后决定用TestDisk工具进行恢复。 现记录如下: Ubuntu安装testdisk sudo apt-get install testdisk运行testdisk sudo testdisk得到 我选择的是…

不是生活有意思,是你热爱生活它才有意思

明制汉服的设计 同样是一款很重工的外套 细节上也是做到了极致 顺毛毛呢面料 领口袖口拼接仿貂毛环保毛条 前胸欧根纱刺绣圆形布 袖子贴民族风珠片刺绣织带 门襟搭配金属子母扣,真盘扣设计 时尚经典,搭配马面裙孩子穿上 真的很有气质奢华富贵 …

Day10 Liunx高级系统设计11-数据库2

DQL:数据查询语言 查询全表 select * from 表名; 查询指定列 select 列名 1, 列名 2,… from 表名 ; 条件查询 select * from 表名 where 条件 ; 注意: 条件查询就是在查询时给出 WHERE 子句,在 WHERE 子句中可以使用如下运算符及关键 字&#…

某行 webpack 加密算法分析

本次的目标是某行购物网站的加密算法分析,网站如下 aHR0cHM6Ly93d3cuemtoLmNvbS8(注:该网站从整体上看来,是webpack加密,但是本文的实现方式,不是扣js代码也不补环境,因为最后分析此网站用的都…

把文化注入品牌,五粮液荣获“全国企业文化优秀成果特等奖”

执笔 | 萧 萧 编辑 | 扬 灵 12月15日,以“塑造优秀企业文化,凝聚企业发展力量”为主题的全国企业文化年会(2023)首次在长江首城、中国酒都、中国动力电池之都宜宾盛大举行。 凭借“弘扬和美文化,谱写高质量发展新篇章”成果…

基于FPGA的HDMI编码模块设计(包含工程源文件)

前文已经通过FPGA实现了TMDS视频编码的算法,也对单沿数据采样转双沿数据采样的ODDR原语做了详细讲解和仿真验证,本文将这些模块结合,设计出HDMI编码模块,在HDMI接口的显示器上显示一张图片。 1、整体思路 如图1所示,是…

云计算:FusionCompute 通过 FreeNAS 添加SAN存储

目录 一、实验 1.环境准备 2.FusionCompute添加CNA 3.在存储中创建LUN资源映射给CNA节点 3.添加存储资源关联CNA主机节点 4.扫描存储资源 5.将存储设备添加为数据存储 二、问题 1.FusionCompute中存储如何分类 2.存储资源与存储设备有何区别 3.FusionCompute支持哪些…

一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下再反弹,求它在第10次落地时共经过多少米,第10次反弹多高。

代码如下: 结果为: #include<stdio.h> int main() { double x 100.0, y0.0; for (int i 1; i < 10; i) { y x; x / 2; y x; } y - x; printf("第十次落地时共经过%lf米\n第十次反弹%lf米", y, x); return 0; }

Linux集群实用脚本

现有三台虚拟机&#xff0c;例如&#xff1a;node2、node3、node4 三台虚拟机配置了免密登录&#xff0c;安装了hadoop等软件。 相关集群实用脚本命令 统一执行jps命令 jpsall #!/bin/bash ​ for host in node2 node3 node4 doecho $host ssh $host jps done ​ 统一执行命…