ICCV 2023 | MoCoDAD:一种基于人体骨架的运动条件扩散模型,实现高效视频异常检测

论文链接: https://arxiv.org/abs/2307.07205

视频异常检测(Video Anomaly Detection,VAD)扩展自经典的异常检测任务,由于异常情况样本非常少见,因此经典的异常检测通常被定义为一类分类问题(One-Class Classification,OCC)。而对于VAD而言,属于异常情况的样本更是非常罕见,因此常见的方法仅使用大量的正常样本进行训练,这些方法会将正常视频的隐藏特征限制在一个有限的空间内,然后通过距离、概率分布差异、重构和预测误差等度量方式将空间之外的样本检测为异常。

本文介绍一篇发表在ICCV 2023上的工作,提出了一种全新的视频异常检测方法,称为运动条件引导的扩散模型MoCoDAD。该模型主要针对于视频中人体的骨骼表示进行建模,并假设视频中出现的正常现象与异常现象都是多模态的,提出使用扩散模型来对人体未来姿态进行预测。通过将视频中行人的历史运动作为条件,利用扩散过程中的迭代更新机制来拟合人体运动并生成未来帧,当生成的运动骨架信息与真实未来运动骨架信息差异较大时,就可以认定为检测到异常。作者在4个标准的人体骨架视频异常检测基准:UBnormal、HR-UBnormal、HR-STC和HR-Avenue上进行了大量的实验,证明MoCoDAD已达SOTA效果。

01. 引言

虽然计算机视觉近些年发展非常迅速,但视频异常检测仍然是一项具有挑战性的任务,这其中主要有两大原因:

(1)异常的定义非常主观,并且通常会根据上下文和应用场景的改变而变化,因此很难对其进行普遍定义。

(2)异常事件本质上是罕见的,正常事件的数据量很庞大,而异常事件数据则非常稀少,有严重的数据不平衡问题

为了解决数据稀缺的问题,现有的模型通常仅从正常样本中学习(也称为一类分类),也有学者将这种方式称为半监督学习。本文基于这种背景提出了一种运动条件引导的扩散模型(Motion Conditioned Diffusion Anomaly Detection,MoCoDAD),它假设正常和异常都是多模态的。给定一个运动序列,无论是正常的还是异常的,都首先将序列进行分割,随后将未来帧退化为随机噪声。以第一个(历史帧)清晰输入帧作为条件,MoCoDAD会对其进行多模态重建。随后在通过比较多模态分布来区分正常和异常。在正常情况下,MoCoDAD生成的运动是多样且与真实情况相关的。而在异常的情况下,模型生成的运动虽然也具有一定的多样性,但缺乏针对性

上图展示了MoCoDAD对正常和异常示例生成未来帧的效果对比,其中红色(右)和绿色(左)分别代表异常和正常的示例。在图中底部还可视化了50个未来帧的特征向量,虚线轮廓表示当前输入序列所处的分布范围,其中的红点表示与当前预测帧所对应真实帧的特征向量,在正常情况下,真实帧会处在分布的中间区域,且预测结果与真实帧是相关的。在异常情况下,真实帧会处于分布的尾部,这会产生较差的预测,并且可以突出异常现象。

02. 本文方法

MoCoDAD基于去噪扩散概率模型(DDPM),并在其基础上通过对人体运动学特征进行建模,并通过人体骨架轨迹点信息作为基本单元,通过随机平移的方式来更新每一帧的身体关节坐标进行预测

2.1 模型架构

下图展示了MoCoDAD模型的整体架构,分为两个主要模块:(1)前向轨迹扩散模型和(2)运动条件引导自编码器。其中扩散模型使用橙色块表示,其任务是根据输入序列帧来估计其中退化噪声,从而重建实际的未来帧。作者仿照先前工作AnoDDPM[1],将这一部分设置为基于U-Net的架构。随后前向扩散网络会逐渐收缩,然后将生成的姿势序列拓展到与输入序列大小相同的空间尺寸。此外,考虑到输入序列的时序维度,作者使用时空可分离GCN(STS-GCN)[2]来构建U-Net扩散层

2.2 前向轨迹扩散模型

2.3 运动条件引导自编码器

03. 实验效果

本文在四个标准的视频异常检测数据集上进行了实验,分别是UBnormal、HR-UBnormal、HR ShanghaiTech Campus(HR-STC)和HRAvenue。其中UBnormal数据集为计算机合成数据集。其余三个数据集均为在真实监控场景中捕获的视频。模型的评价指标选用ROC-AUC。作者选取了包含MPED-RNN、GEPC、SSMTL++和COSKAD等在内的8个常见的视频异常检测算法进行实验对比,实验效果如下表所示。

上表中前四种方法由于使用了异常片段的标签进行训练,因此不在OCC方法的范畴内(很多文献将这类方法称为弱监督方法),直接与本文方法进行对比不公平。可以看到MoCoDAD仍然取得了最好的效果,相比于同类方法COSKAD,本文方法在两个数据集上性能分别提高了3.6%和2.9%。甚至与弱监督方法相比,MoCoDAD也有非常明显的优势,例如与TimeSFormer相比,本文方法的性能基本与其持平,但参数仅为288K,而TimeSFormer的参数高达121M

为了进一步分析扩散过程对视频异常检测性能的影响,作者对扩散模型生成代数 m 和异常分数 S 的聚合策略进行了消融分析,如上图所示,图左侧表示四种不同聚合策略得到的重构误差直方图,图右测展示了模型检测AUC分数与生成代数之间的相关性,其中每条曲线对应不同的聚合统计量。

04. 总结

本文基于扩散模型提出了一种新型的视频异常检测方法MoCoDAD,作者强调,他们首次将扩散模型技术引入到这一领域,通过对人体骨架序列运动情况进行分析,MoCoDAD可以高效的理解画面中人体的运动趋势,在正常情况下,模型就可以根据观察到的历史序列对未来序列进行预测。而在异常情况下,模型在异常运动信息的引导下,会展现出与真实未来序列的偏差,通过这一偏差,就可以精确的实现异常动作的检测。此外由于MoCoDAD无需任何像素外观信息,仅对人体骨架信息进行计算,可以实现轻量化的网络设计和更好的计算效率

参考

[1] Julian Wyatt, Adam Leach, Sebastian M. Schmon, and Chris G. Willc cks. Anoddpm: Anomaly detection with denoising diffusion probabilistic models using simplex noise. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, pages 650–656, June 2022.

[2] Theodoros Sofianos, Alessio Sampieri, Luca Franco, and Fabio Gala so. Space-time-separable graph convolutional network for pose forecas ing. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 11209–11218, 2021.


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从0到1构建界面设计系统思维

用户界面(UI)是人与机器之间发生交互的载体,也是用户体验(UX)的一个组成部分。用户界面由两个主要部分组成:视觉设计(即传达产品的外观和感觉)和交互设计(即元素的功能和…

中国ui设计师年终工作总结

一、萌芽阶段 记得初次应聘时,我对公司的认识仅仅局限于行业之一,对UI设计师一职的认识也局限于从事相对单纯的界面的设计创意和美术执行工作。除此之外,便一无所知了。所以,试用期中如何去认识、了解并熟悉自己所从事的行业&…

如何区分异动电动机和同步电动机

在日常的工作生活中,会遇到很多种不同类型的电动机,比如直流电机、步行电机和伺服电机等等。其中交流电机分为异动电动机和同步电动机两种,那么同步电动机和异步电动机到底有什么区别呢? 转速 同步电动机定子绕组三相电流所产生…

InnoDB 的默认隔离级别是什么?

分析&回答 大部分数据库系统(如Oracle)都将都将读提交(Read-Commited)作为默认隔离级别,而MySQL却选择可重复读(Repeatable-Read)作为其默认隔离级别。 如果没有隔离级别基础知识的话先看…

Ansible-roles学习

目录 一.roles角色介绍二.示例一.安装httpd服务 一.roles角色介绍 roles能够根据层次型结构自动装载变量文件,tasks以及handlers登。要使用roles只需在playbook中使用include指令即可。roles就是通过分别将变量,文件,任务,模块以…

Java基础知识点汇总

一、Java基础知识点整体框架 详细知识点见链接资源,注:框架是用Xmind App完成,查看需下载。 二、基础知识各部分概况 2.1 认识Java 2.2 数据类型和变量 2.3 运算符 2.4 程序逻辑控制 2.5 方法的使用 2.6 数组的定义和使用 2.7 类和对象 2.8 …

【HTML专栏2】VSCode的使用(新建HTML文件)

本文属于HTML/CSS专栏文章,适合WEB前端开发入门学习,详细介绍HTML/CSS如果使用,如果对你有所帮助请一键三连支持,对博主系列文章感兴趣点击下方专栏了解详细。 博客主页:Duck Bro 博客主页系列专栏:HTML/CS…

ChatGPT集锦

目录 1. 一条指令让ChatGPT变的更强大2. 对ChatGPT提问时,常见的10种错误描述3. Custom instructions如何设置1. 一条指令让ChatGPT变的更强大 在使用GPT的过程中,如何让AI更清晰地了解你的需求很重要?今天分享一个指令,可以让GPT成为你的好同事,与你一起分析和解决问题,…

torch.nn中的L1Loss和MSELoss

我们打开Pytorch官网,找到torch.nn中的loss function,进去如下图所示。 L1LOSS 我们先来看看 L1LOSS 损失函数的使用。下图是官网给出的描述。 L1loss有两种方式,一种是将所有误差累加作为总损失,另一种是将所有误差累加之后求平…

2023年高教社杯全国大学生数学建模竞赛参赛事项注意

MathClub数模资源,含专属思路 资源链接:点击这里获取众多数模资料、思路精讲、论文模板latex和word、学习书籍等 2023高教社杯数学建模国赛–赛前准备 一年一度的数学建模国赛要来啦!!!小编仔细阅读了比赛官方网站上…

附录1-爬虫的一些技巧

目录 1 寻找url与显示内容的关系 2 修改请求头 3 局部刷新 4 阅读返回信息 5 多尝试页面其他的使用方式 6 尝试不同类型参数 7 表单类型的post多用data发,接口类型的post多用json发 8 消除degger 9 你在浏览器上看到的html与你下载下来的html不一…

【LeetCode-中等题】47. 全排列 II

文章目录 组合并集问题汇总:题目方法一:递归回溯去重 组合并集问题汇总: 1、子集去重版本 2、组合非去重版本 3、子集非去重版本 题目 相比较46题:不需要去重:【LeetCode-中等题】46. 全排列 需要做出的改变就是&a…

C++ continue 语句

C 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。 对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do…while 循环,continue 语句…

CVE-2023-3836:大华智慧园区综合管理平台任意文件上传漏洞复现

文章目录 CVE-2023-3836:大华智慧园区综合管理平台任意文件上传漏洞复现0x01 前言0x02 漏洞描述0x03 影响范围0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 CVE-2023-3836:大华智慧园区综合管理平台任意文件上传漏洞复现 0x01 前言 免责声…

虚拟机的ubuntu 22.04无法联网问题解决

问题:虚拟机的ubuntu 22.04无法联网 解决: 找到一种配置的方式,使用命令:sudo dhclient -v

maven本地安装jar包install-file,解决没有pom的问题

背景: 公司因为权限问题,没有所有的代码,内部maven还在搭建,所以需要拿到同事的jar包,本地install: mvn install:install-file -DgroupIdcom..framework -DartifactIdcloud-api -Dversion1.0.0-SNAPSHOT …

Vue echarts 饼图 引导线加小圆点,文字分行展示

需求 重点代码 完整代码 initChart() {// 创建 echarts 实例。var myChartOne this.$echarts.init(this.$refs.Echart);myChartOne.setOption({tooltip: {trigger: "item",},title: {top: center,text: [{name| this.chartTitle.name },{value| this.chartTitle.…

数学建模--G(1,1)型的灰色预测模型的Python实现

目录 1.算法适用情况 2.算法推演步骤 3.算法核心代码 4.算法效果展示 1.算法适用情况 #1.灰色预测模型简介 """ 1.灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。 2.灰色预测…

学妹学Java(一)

⭐简单说两句⭐ 作者:后端小知识 CSDN个人主页:后端小知识 🔎GZH:后端小知识 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 Hello,亲爱的各位友友们,好久不见&#xff0…

如何实现小程序与h5页面间的跳转

接到新需求,要在小程序页面内点击按钮实现跳转h5,一开始没接触过,还挺头疼的,但真正做起来,也就那么一回事啦,废话少说,直接上 1. 配置域名 先登录小程序开发平台,将页面需要跳转的…