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

        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.xdnf.cn/news/144115.html

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

相关文章

【2251. 花期内花的数目】

来源:力扣(LeetCode) 描述: 给你一个下标从 0 开始的二维整数数组 flowers ,其中 flowers[i] [starti, endi] 表示第 i 朵花的 花期 从 starti 到 endi (都 包含)。同时给你一个下标从 0 开始…

数据结构和算法(8):搜索树(二叉搜索树和AVL树)

查找 所谓的查找或搜索,指从一组数据对象中找出符合特定条件者,这是构建算法的一种基本而重要的操作。其中的数据对象,统一地表示和实现为 词条(entry) 的形式;不同词条之间,依照各自的 关键码…

Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

canvas手写签名组件

效果图&#x1f447; 代码不多直接粘在这里 <template><div class"border"><canvasref"canvas"width"800"height"500"class"border-success"tabindex"0"mousedown"onMouseDown"/>&…

二叉树题目:二叉树剪枝

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;二叉树剪枝 出处&#xff1a;814. 二叉树剪枝 难度 4 级 题目描述 要求 给定二叉树的根结点 root \texttt{root} root&#xff0c;返回移除了所有…

如何用思维导图做学习计划?

在我们不断追求个人和职业发展的过程中&#xff0c;学习计划起着至关重要的作用。然而&#xff0c;很多人在制定学习计划时常常感到困惑&#xff0c;不知道如何才能制定一份周全且可行的计划。本文将介绍一种结构化思维的方法&#xff0c;以帮助你制定一份高效的学习计划。 首先…

113. 路径总和ii

力扣题目链接(opens new window) 给定一个二叉树和一个目标和&#xff0c;找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; 在路径总和题目的基础上&…

如何使用Etherscan Remix插件验证智能合约

在Moonbeam上验证合约的方式有很多&#xff0c;使用Etherscan Remix插件是最快、最简单的方式。 此示例中&#xff0c;我们展示如何在Remix上激活Etherscan插件并验证简单的增量智能合约。开始之前&#xff0c;请准备以下内容&#xff1a; MetaMask钱包 存有DEV的账户 将验证…

Linux 线程同步(重要) 互斥量

/*三个窗口卖一百张票 */#include<stdio.h> #include<unistd.h> #include<pthread.h> #include<string.h> int tickets 0; void * sellticket(void * arg) {//卖票usleep(7000);while(tickets < 100) {printf("%ld 正在卖第 %d 张票\n",…

34.CSS魔线图标的悬停效果

效果 源码 index.html <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Icon Fill Hover Effects</title> <link rel="stylesheet" h…

基于AIOps实现智慧园区极简IT运维

随着物联网、云平台、大数据、人工智能等技术的发展&#xff0c;并逐步投入到智慧园区的建设&#xff0c;传统园区数字化转型加快。园区的形式包括产业园区、教育园区、制造业园区、科研园区、社区等等&#xff0c;园区形态不断演进和发展&#xff0c;园区网承载的对象和业务也…

通过http发送post请求的三种Content-Type分析

通过okhttp向服务端发起post网络请求&#xff0c;可以通过Content-Type设置发送请求数据的格式。 常用到的三种&#xff1a; 1&#xff09;application/x-www-form-urlencoded; charsetutf-8 2&#xff09;application/json; charsetutf-8 3&#xff09;multipart/form-dat…

go语言unsafe.Pointer与uintptr

以下内容来源go语言圣经 1、unsafe.Pointer&#xff0c;相当于c语言中的void *类型的指针&#xff0c;如果需要运算需要转成uintptr类型的指针 2. uintptr uintptr是一个无符号的整型&#xff0c;它可以保存一个指针地址。 它可以进行指针运算。 uintptr无法持有对象, GC不把…

麒麟信安组织开展国产操作系统技术赋能专题培训

近日&#xff0c;为学习国产操作系统基本概念、使用与运维知识&#xff0c;应对用户单位内部信息系统国产化需求&#xff0c;来自国营洛阳丹城无线电厂的运维工程师们走进麒麟信安&#xff0c;进行了为期一周的操作系统课程学习。 针对客户此次培训需求&#xff0c;结合学员实…

基于php的物流信息公共平台设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于php的物流信息公共平…

JAVA中使用CompletableFuture进行异步编程

JAVA中使用CompletableFuture进行异步编程 1、什么是CompletableFuture CompletableFuture 是 JDK8 提供的 Future 增强类&#xff0c;CompletableFuture 异步任务执行线程池&#xff0c;默认是把异步任 务都放在 ForkJoinPool 中执行。 在这种方式中&#xff0c;主线程不会…

nginx 多层代理 + k8s ingress 后端服务获取客户真实ip 配置

1.nginx http 七层代理 修改命令空间&#xff1a; namespace: nginx-ingress : configmap&#xff1a;nginx-configuration kubectl get cm nginx-configuration -n ingress-nginx -o yaml添加如上配置 compute-full-forwarded-for: “true” forwarded-for-header: X-Forwa…

MySQL学习笔记19

MySQL日志文件&#xff1a;MySQL中我们需要了解哪些日志&#xff1f; 常见日志文件&#xff1a; 我们需要掌握错误日志、二进制日志、中继日志、慢查询日志。 错误日志&#xff1a; 作用&#xff1a;存放数据库的启动、停止和运行时的错误信息。 场景&#xff1a;用于数据库的…

MySQL高级语句(第一部分)

MySQL高级语句(第一部分)一、MySQL进阶查询1、select ----显示表格中一个或数个字段的所有数据记录2、distinct ----不显示重复的数据记录3、where ----有条件查询4、and or ----且 或5、in ----显示已知的值的数据记录6、between ----显示两个值范围内的数据记录7、通配符8、l…

#硬件电路设计VL817-Q7(B0)芯片拓展USB3.0一转四调试心得

供电电路 基于XL4005的电源供电电路 SS34肖特基二极管 ZMM5V1稳压二极管 SMAJ15A TVS &#xff08;注意这个封装搞错5V会短接&#xff09; Vout0.8*[1(R2R3)/R1] D14 SR05静电防护器件 一路稳压两路TVS 共模电感 &#xff1a; 型号&#xff1a; SDCW2012-2-900TF 品牌&#…