【论文阅读 09】融合门控自注意力机制的生成对抗网络视频异常检测

news2024/9/25 11:17:53

        2021年 中国图象图形学报

摘 要

背景: 视频异常行为检测是智能监控技术的研究重点,广泛应用于社会安防领域。当前的挑战之一是如何提高异常检测的准确性,这需要有效地建模视频数据的空间维度和时间维度信息。生成对抗网络(GANs)因其结构优势而被广泛应用于视频异常行为检测。

方法: 本文提出了一种改进的生成对抗网络方法,用于视频异常行为检测。该方法在生成对抗网络的生成网络 U-net 部分引入了门控自注意力机制,用于逐层分配特征图的权重,以更好地融合了 U-net 网络和门控自注意力机制的性能优势。这有助于抑制与异常检测任务无关的背景区域特征,突出不同目标对象的相关特征表达,更有效地建模了视频数据的时空维度信息。方法还包括使用 LiteFlownet 网络提取视频流中的运动信息,以保持视频序列之间的连续性。此外,引入了强度损失函数、梯度损失函数和运动损失函数,以增强模型的检测稳定性,从而实现对视频异常行为的检测。

实验结果: 作者在多个视频异常事件数据集上进行了实验验证,包括 CUHK Avenue、UCSD Ped1 和 UCSD Ped2 数据集。实验结果显示,本文方法在 CUHK Avenue 数据集上的 AUC 达到了 87.2%,比同类方法提高了2.3%。在 UCSD Ped1 和 UCSD Ped2 数据集上,本文方法的 AUC 值也高于其他方法。作者还进行了消融实验,并比较了实验结果,验证了本文方法的有效性和性能优势。

结论: 实验结果表明,本文提出的方法更适合视频异常行为检测任务,它有效地提高了异常行为检测模型的稳定性和准确性。同时,使用视频序列帧间的运动信息可以显著提升异常行为检测性能。

 

 0  引言

        视频中的异常检测是指在监控视频中识别不符合预期的行为事件。这一领域的应用广泛,包括智能安防、智能家居和医学康复等,具有重要的研究意义和实际价值。视频异常检测面临多个挑战:

  1. 异常行为的多样性:异常行为在视频中可以有各种各样的形式,难以将其全部列举或描述。
  2. 低概率事件:异常事件在视频中的发生概率通常较低,这使得异常行为的学习变得更加困难。
  3. 特征学习难度:由于异常行为的多样性和低概率,对所有可能的异常行为进行特征学习几乎是不可行的。


        传统的视频异常行为检测方法需人工提取视频中目标对象的表观轮廓、运动信息和轨迹等特征,如梯度直方图( histogram of oriented gradient,HOG) 可 表示目标对象表观轮廓的特征信息( Li 等,2015) , 通过光流特征图可捕捉目标对象的运动信息特征 ( Li 等,2015) ; 通过轨迹可提取运动目标的轨迹特 征( Ahmed 等,2019) 。但此类方法在表示形式上较 为单一且无法学习预期之外事件的特征,同时处理海量视频数据能力较弱,已较难得到新的突破。
        基于深度学习的方法越来越多地应用于视频异 常行为检测,可通过自动从海量数据集中学习数据 本身的分布规律来提取出更加鲁棒的高级特征,已 取代基于人工构建行为特征的传统方法。目前,基 于深度学习的监控视频异常行为检测方法主要分为 重构判别和未来帧预测两类。
        基于重构判别的方法认为,通过模型训练学习 正常样本在样本空间服从的分布,符合该分布的正 常样本都能较好地重构,重构误差大的样本属于异 常样本( 胡海洋 等,2020) 。Hasan 等人( 2016) 利用 卷积自编码器( convolution auto-encoder,CAE) 对目 标帧进行误差重构来检测视频中的异常行为; Luo等人( 2017 ) 通 过 利 用 卷 积 长 短 期 记 忆 自 编 码 器 ( convolution long-short term memory auto-encoder,Conv LSTM-AE) 重构目标对象的外观信息和运动信 息进行异常行为检测,提出将稀疏编码映射到堆叠 的循环神经网络 ( stacked recurrent neural network,sRNN) 框架中重构异常行为。但由于深度学习方法 具有强大的学习能力,对正常事件和异常事件的重 构结果是相似的,此类方法并不能保证对异常事件 的重构误差一定很大。因此,几乎所有基于重构误 差的方法都不能保证准确检测出异常事件。
        基于未来帧预测的方法假设正常行为是有规律 的且是可预测的,而视频中异常行为事件由于其不 确定性不可预测。该类方法可通过生成未来目标帧 的预测帧,将其与对应的视频真实帧进行对比来判 断该视频中是否包含异常行为。目前,生成对抗网 络( generative adversarial network,GAN) 在视频异常 检测领域已取得突破性进展,其网络架构可很好地 用于预测。Liu 等人( 2018) 提出基于 U-net 的条件 生成对抗网络进行异常行为检测,同时加入 Flownet光流网络对运动特征约束; Dong 等人( 2020) 在此基 础上提出基于对偶生成对抗网络模型,利用双生成 器和双鉴别器的对偶结构分别对外观和运动信息进 行异常判别; Nguyen 等人( 2019) 提出采用卷积自编 码器学习空间结构,将空间特征输入 U-net 中与运 动信息相关联从而进行异常检测。
        基于生成对抗网络的视频异常行为检测方法通 过生成器 U-net 的良好性能捕获了训练样本空间特 征,但仍存在一定的局限性( 马钰锡 等,2019) ,主要 表现为: 1) 虽然已能够检测出视频中的异常行为,但如何有效建模空间维度信息和时间维度信息提高 异常检测的精度仍是目前研究领域的重难点; 2) 针 对目标对象的空间特征的提取,基础的 U-net 无法 建立长距离依赖性,不能将特征信息进行有效连接;3) 除数据样本的空间特征外,时间信息也是视频的 一个重要特征。现有大多数工作对视频的时间信息 特征利用不够充分。
        为了更好地解决此问题,本文提出一种融合门 控自注意力机制的生成对抗网络方法,在 U-net 生 成器部分中逐层引入门控自注意力机制来更好地学 习视频样本的空间维度信息,同时采用 LiteFlownet网络来对视频样本的时间维度信息进行更好地提 取。但该模型易受噪声影响,需同时加入强度损失 函数、梯度损失函数和运动损失函数加强模型检测 的稳定性以实现对异常行为的检测。
        本文的贡献主要有以下 3 个方面: 1) 考虑视频序列帧之间的时间和空间 2 维关系,提出一种改进 的异常行为检测模型。利用生成对抗网络中的生成 模块对视频中的空间特征进行提取,利用 LiteFlownet 光流网络对运动信息的时间特征进行提取,引入门控自注意力机制对特征图进行加权处理,实现了 视频序列之间时空特征更有效的表达。2 ) 引入门控自注意力机制,逐层对 U-net 采样过程中的特征 进行加权计算。该自注意力机制在视频帧的单层特 征中对远距离且具有空间相关性的特征进行建模, 可自动寻找图像特征中的相关部分,提高对视频帧 中时间和空间两个维度的特征响应。3) 选用 LiteFlownet 光流网络对运动信息进行提取,得到视频帧 之间的时间关联,进一步提高了该模型的检测性能。

 

2  方法

模型组成部分: 融合门控自注意力机制的生成对抗网络模型包括以下 4 部分:

  1. 生成模块:使用引入了门控注意力机制的 U-net 模型(AGs U-net)来生成预测帧。
  2. 损失约束模块:用于施加损失约束,包括强度损失和梯度损失函数,以进行空间约束。
  3. 对抗训练模块:利用马尔可夫判别器(Patch GAN)进行训练,通过对抗学习来优化模型。
  4. 异常判别模块:用于识别异常行为。

训练数据: 模型的训练数据包括正常视频帧序列,其中连续 t - 1 帧的正常视频帧按时间顺序堆叠起来,作为训练视频 I1 ,I2 ,...,It -1 ,用于输入生成器网络 AGs U-net,以预测下一帧(I't)。同时,真实帧(It)也用于训练和比较。
损失函数: 为了更好地预测正常行为下一帧,采用强度损失和梯度损失函数进行空间约束。这些损失函数有助于提高模型的性能。
运动信息处理: 为了增强相邻帧之间的运动特征相关性,采用了 LiteFlownet 光流网络,以更快速和平滑的方式提取运动信息,从而可以更准确地预测正常行为的下一帧。
异常检测: 当有异常行为样本输入时,模型将正常模式下的预测帧与实际真实值进行比较,如果误差较大,则异常分数下降,从而识别该事件样本为异常事件。

本文模型的整体框架如图 1 所示。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[学习记录] 设计模式 3. 观察者模式

观察者模式 参考: bugstack 虫洞栈Refactoringhttps://www.cnblogs.com/myseries/p/8735490.htmlhttps://www.jianshu.com/p/4f1cd513a72d 当一个行为发生时传递信息给另外一个用户接收做出相应的处理,两者之间没有直接的耦合关联。 在我们编程开发中也…

9.20 QT作业

widget.h #include <QPainter> //画家 #include <QTimerEvent> #include <QTime> #include<QTimer> //定时器类QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widge…

物联网如何助力乡村数字经济发展

在当今移动互联网时代&#xff0c;信息化数字化已经渗透了我们生活的方方面面&#xff0c;数字物联网转型也成为各个产业的重要动力。对于广大乡村来说&#xff0c;得益于网络基础设施的全面建成覆盖&#xff0c;乡村各产业也迎来数字化新业态转型&#xff0c;创新诞生了基于物…

高效管理,轻松追踪——Chrono Plus for Mac任务管理工具

Chrono Plus for Mac是一款专注于任务管理和跟踪的应用程序。它提供了一种直观、清晰的界面&#xff0c;使您能够轻松创建、安排和分类任务。无论是个人项目还是团队合作&#xff0c;Chrono Plus都能为您提供一种有效组织和管理任务的方式。 这个应用程序具有多种强大的功能&a…

windows Visual Studio 2022 opengl开发环境配置

1. 安装glew(GL), GLFW, glm, soil2-debug 还需要premake生成visual studio solution cmake for windows也要安装一个&#xff0c; 但是不用安装MinGW64, bug多 下载源码&#xff0c;找到xxx.sln文件用visual stidio打开solution编译代码&#xff0c;找到xxx.lib, xxx.dll文件…

嵌入式Linux--进程间通讯--消息队列

1.需要知道的问题&#xff1a; 1、如何创建消息队列&#xff08;A\B使用同一个队列通信&#xff09; 2、如何加消息到队列&#xff08;队列是链表&#xff09; 3、如何从队列拿到消息 消息队列&#xff1a; 消息队列&#xff0c;是消息的链接表&#xff0c;存放在内核中。一个…

爬虫异常处理技巧分享

在进行爬虫数据采集的过程中&#xff0c;我们常常会遇到网络波动和自动化验证等异常情况。这些问题可能导致爬虫运行中断或被识别为机器请求而受到限制。本文将分享一些实用的爬虫异常处理技巧&#xff0c;帮助您规避网络波动和自动化验证&#xff0c;提高数据采集的稳定性和成…

轻量型服务器能支撑多少人访问?

一、服务器配置影响访问人数 服务器的配置是影响轻量型服务器能够支撑的访问人数的关键因素之一。通常而言&#xff0c;轻量型服务器的配置普遍不高&#xff0c;适合小型团队或个人使用。如果服务器配置较低&#xff0c;那么支撑访问人数的能力也会受到限制。较为简单的应用程序…

在GIS(地理信息系统)中,常见的地理文件记录

在GIS&#xff08;地理信息系统&#xff09;中&#xff0c;常见的地理文件包括以下几种&#xff1a; .cpg&#xff08;Code Page文件&#xff09;&#xff1a;这个文件是指定地理数据文件编码的文件&#xff0c;它告诉软件如何正确地读取和解释地理数据文件中的字符编码。比如…

[BJDCTF2020]EasySearch Apache SSI漏洞

这道题有点意思 是SSI 漏洞 照样 我们先熟悉SSI漏洞是什么 SSI 服务端包含 SSI 提供了对现有html增加动态的效果是嵌入 html的指令 只有网页被调用了 才会执行允许执行命令 所以会造成rce 使用条件 当文件上传的时候 无法上传php但是服务器开启了 SSI CGI支持就可以通过 …

第二证券:算力概念强势拉升,竞业达涨停,南凌科技等大涨

算力概念20日盘中强势拉升&#xff0c;到发稿&#xff0c;竞业达涨停&#xff0c;南凌科技涨近10%&#xff0c;拓维信息涨近9%&#xff0c;亚康股份、神州数码涨约5%&#xff0c;青云科技涨逾4%。 音讯面上&#xff0c;9月19日&#xff0c;国际大学生程序设计竞赛&#xff08;…

Vue语法

目录 事件处理器 是什么 案列 表单的综合案列 定义 常用功能 组件通信 定义 父传子 ​编辑 子传父 事件处理器 是什么 事件处理器是一种函数&#xff0c;用于响应和处理事件的触发。在编程中&#xff0c;当特定事件发生时&#xff0c;可以通过事件处理器来执行相应的…

正则表达式的学习笔记

[!note] 其实这个正则表达式整体上不难, 自从这个 gpt 出来之后这种正则表达式已经不需要我们去写了, 我们并不需要自己能够去写特别深奥的代码, 我们可以将这个正则表达式交给 gpt 去做, 我们只需要能够看懂就行了, 所以学习这个正则表达式, 自己写不出来那种比较难的正则没有…

Apache Doris 快速入门

1. 基本概念 FE&#xff0c;Frontend&#xff0c;前端节点&#xff0c;接收用户查询请求&#xff0c;SQL解析&#xff0c;执行计划生成&#xff0c;元数据管理&#xff0c;节点管理等 BE&#xff0c;Backend&#xff0c;后端节点&#xff0c;数据存储&#xff0c;执行查询计划…

什么是SVG(可缩放矢量图形)?它与普通图像格式有何不同?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是SVG&#xff1f;⭐ 与普通图像格式的不同⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚…

Docker部署jar包、数据库、中间件

centos7下载docker&#xff1a;https://blog.csdn.net/qq_39997939/article/details/131005939 1、编写dockerfile https://blog.csdn.net/liben0429/article/details/126858971 2、如何确定在dockerfile安装jdk11 https://www.5axxw.com/questions/content/mc5fpt 打包镜…

python使用websocket实现多端数据同步,多个websocket同步消息,断开链接自动清理

我使用的是flask_sock这个模块&#xff0c;我的使用场景是&#xff1a;可以让数据多端实时同步。在游戏控制后台和游戏选手的ipad上都可以实时调整角色的技能和点数什么的&#xff0c;所以需要这样的一个功能来实现数据实时同步。 下面是最小的demo案例&#xff1a; from fla…

【Docker-MyCat】分库分表中间件mycat安装使用(docker版)

分库分表中间件mycat安装使用&#xff08;docker版&#xff09; 1.创建Mycat文件夹2.创建Docker文件夹3.下载Mycat并解压4.编写Dockerfile文件5.打包镜像6.启动镜像7.连接测试 想使用mycat实现mysql分库分表功能&#xff0c;但是docker镜像里&#xff0c;几乎没有mycat&#xf…

IntelliJ IDEA - Maven 在控制台Maven编译正常,但是在IDEA中不正常,表现不一致

文章目录 现象原因解决验证 现象 一个Maven项目&#xff0c;当导入到IDEA后&#xff0c;无法在IDEA中正常的编译和下载jar依赖&#xff0c;类似下面的截图。 但是在Windows控制台却可以正常编译&#xff0c;类似下面的截图。 CMD执行&#xff1a;mvn clean install -Dmaven.te…

flink集群与资源@k8s源码分析-资源I 资源请求

1 资源 资源分析分3部分,资源请求,资源提供,声明式资源管理,本文是第一部分资源请求 2 场景 资源处理有声明式处理资源和细粒度处理资源 是两个实现,两者不是并行的两种实现策略,声明式是资源申请和分配方式,粒度是指资源分割方式,细粒度按需可变的资源,粗粒度是固定…