当前位置: 首页 > news >正文

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精英的学习成长社区

相关文章:

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

论文链接: https://arxiv.org/abs/2307.07205 视频异常检测(Video Anomaly Detection,VAD)扩展自经典的异常检测任务,由于异常情况样本非常少见,因此经典的异常检测通常被定义为一类分类问题(On…...

Mac电脑怎么使用NTFS磁盘管理器 NTFS磁盘详细使用教程

Mac是可以识别NTFS硬盘的,但是macOS系统虽然能够正确识别NTFS硬盘,但只支持读取,不支持写入。换句话说,Mac不支持对NTFS硬盘进行编辑、创建、删除等写入操作,比如将Mac里的文件拖入NTFS硬盘,在NTFS硬盘里新…...

Java设计模式-结构性设计模式(代理设计模式)

简介 为其他对象提供⼀种代理以控制对这个对象的访问,属于结构型模式。客户端并不直接调⽤实际的对象,⽽是通过调⽤代理,来间接的调⽤实际的对象应用场景 各⼤数码专营店,代理⼚商进⾏销售对应的产品,代理商持有真正的…...

线性空间、子空间、基、基坐标、过渡矩阵

线性空间的定义 满足加法和数乘封闭。也就是该空间的所有向量都满足乘一个常数后或者和其它向量相加后仍然在这个空间里。进一步可以理解为该空间中的所有向量满足加法和数乘的组合封闭。即若 V 是一个线性空间,则首先需满足: 注:线性空间里面…...

【MySQL】CRUD (增删改查) 基础

CRUD(增删改查)基础 一. CRUD二. 新增 (Create)1. 单行数据 全列插入2. 多行数据 指定列插入 三. 查询(Retrieve)1. 全列查询2. 指定列查询3. 查询字段为表达式4. 别名5. 去重:DISTINCT6. 排序…...

Socks5代理IP:保障跨境电商的网络安全

在数字化时代,跨境电商已成为全球商业的重要一环。然而,随着其发展壮大,网络安全问题也逐渐浮出水面。为了确保跨境电商的安全和隐私,Socks5代理IP技术成为了一项不可或缺的工具。本文将深入探讨Socks5代理IP在跨境电商中的应用&a…...

macOS通过钥匙串访问找回WiFi密码

如果您忘记了Mac电脑上的WiFi密码,可以通过钥匙串访问来找回它。具体步骤如下: 1.打开Mac电脑的“启动台”,然后在其他文件中找到“钥匙串访问”。 2.运行“钥匙串访问”应用程序,点击左侧的“系统”,然后在右侧找到…...

Debian11之稳定版本Jenkins安装

官方网址 系统要求 机器要求 256 MB 内存,建议大于 512 MB 10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)软件要求 Java 8 ( JRE 或者 JDK 都可以) Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载安装…...

kakfa 3.5 kafka服务端处理消费者客户端拉取数据请求源码

一、服务端接收消费者拉取数据的方法二、遍历请求中需要拉取数据的主题分区集合,分别执行查询数据操作,1、会选择合适的副本读取本地日志数据(2.4版本后支持主题分区多副本下的读写分离) 三、会判断当前请求是主题分区Follower发送的拉取数据请求还是消费…...

【Linux】进程概念I --操作系统概念与冯诺依曼体系结构

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法…感兴趣就关注我吧!你定不会失望。 本篇导航 1. 冯诺依曼体系结构为什么这样设计? 2. 操作系统概念为什么我们需要操作系统呢?操作系统怎么进行管理? 计算机是由两部分组…...

BRAM/URAM资源介绍

BRAM/URAM资源简介 Bram和URAM都是FPGA(现场可编程门阵列)中的RAM资源。 Bram是Block RAM的缩写,是Xilinx FPGA中常见的RAM资源之一,也是最常用的资源之一。它是一种单独的RAM模块,通常用于存储大量的数据&#xff0…...

分享一个基于python的个性推荐餐厅系统源码 餐厅管理系统代码

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、Node.js、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! &#x1…...

Mysql5.7开启SSL认证且支持Springboot客户端验证

Mysql5.7开启SSL认证 一、查看服务端mysql环境 1.查看是否开启了ssl,"have_ssl" 为YES的时候,数据库是开启加密连接方式的。 show global variables like %ssl%;2.查看数据库版本 select version();3.查看数据库端口 show variables like port;4.查看数据库存放…...

微信小程序的页面滚动事件监听

微信小程序中可以通过 Page 的 onPageScroll 方法来监听页面滚动事件。具体步骤如下: 在页面的 onLoad 方法中注册页面滚动事件监听器: Page({onLoad: function () {wx.pageScrollTo({scrollTop: 0,duration: 0});wx.showLoading({title: 加载中,});wx…...

数据可视化:四大发明的现代转化引擎

在科技和工业的蓬勃发展中,中国的四大发明——造纸术、印刷术、火药和指南针,早已不再是古代创新的象征,而是催生了众多衍生行业的崭新可能性。其中,数据可视化技术正成为这些行业的一颗璀璨明珠,开启了全新的时代。 1…...

HarmonyOS实现几种常见图片点击效果

一. 样例介绍 HarmonyOS提供了常用的图片、图片帧动画播放器组件,开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果、点击切换状态、点击动画效果、点击切换动效。 相关概念 image组件:图片…...

3D视觉测量:计算两个平面之间的夹角(附源码)

文章目录 1. 基本内容2. 代码实现文章目录:形位公差测量关键内容:通过视觉方法实现平面之间夹角的计算1. 基本内容 要计算两个平面之间的夹角,首先需要知道这两个平面的法向量。假设有两个平面,它们的法向量分别为 N 1 和 N 2 N_1 和 N_2...

deepin V23通过flathub安装steam畅玩游戏

deepin V23缺少32位库,在星火商店安装的steam,打开报错,无法使用! 通过flathub网站安装steam,可以正常使用,详细教程如下: flathub网址:主页 | Flathub 注意:flathub下载速度慢,只…...

C语言是否快被时代所淘汰?

今日话题,C语言是否快被时代所淘汰?在移动互联网的冲击下,windows做的人越来越少,WP阵营没人做,后台简单的php,复杂的大数据处理的java,要求性能的c。主流一二线公司基本上没多少用C#的了。其实…...

简化转换器:使用您理解的单词进行最先进的 NLP — 第 1 部分 — 输入

一、说明 变形金刚是一种深度学习架构,为人工智能的发展做出了杰出贡献。这是人工智能和整个技术领域的一个重要阶段,但也有点复杂。截至今天,变形金刚上有很多很好的资源,那么为什么要再制作一个呢?两个原因&#xff…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

Kafka主题运维全指南:从基础配置到故障处理

#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...