当前位置: 首页 > 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…...

C++多线程编程(第三章 案例2,条件变量,生产者-消费者模型)

目录 1、condition_variable1.1、生产者消费者模型1.2、改变共享变量的线程步骤1.3、等待信号读取共享变量的线程步骤1.3.1、获得改变共享变量线程共同的mutex1.3.2、wait()等待信号通知1.3.2.1、无lambda表达式1.3.2.2 lambda表达式 样例代码 1、condition_variable 等待中&a…...

Go语言使用AES加密解密

Go语言提供了标准库中的crypto/aes包来支持AES加密和解密。下面是使用AES-128-CBC模式加密和解密的示例代码: package mainimport ("crypto/aes""crypto/cipher""encoding/base64""fmt" )func main() {key : []byte("…...

MAC ITEM 解决cd: string not in pwd的问题

今天使用cd 粘贴复制的路径的时候,报了这么一个错. cd: string not in pwd eistert192 Library % cd Application Support cd: string not in pwd: Application eistert192 Library % 让人一脸懵逼. 对比一下,发现中文路径里的空格截断了路径 导致后面的路径就没有办法被包含…...

解决跨域的几种方式

解决跨域的几种方式 JSONPCORS(跨域资源共享)代理 JSONP 利用script标签可以跨域加载资源的特性,通过动态创建一个script标签,然后将响应数据作为回调函数的参数返回,从而实现跨域请求资源。该方式只支持 GET 请求方式…...

单片机-LED介绍

简介 LED 即发光二极管。它具有单向导电性,通过 5mA 左右电流即可发光 电流 越大,其亮度越强,但若电流过大,会烧毁二极管,一般我们控制在 3 mA-20mA 之间,通常我们会在 LED 管脚上串联一个电阻&#xff0c…...

ERROR:GLOBAL_INITIALISERS: do not initialise globals to 0

错误信息 ERROR:GLOBAL_INITIALISERS: do not initialise globals to 0 表示全局变量的初始化值不应该为0。这个错误通常出现在一些编程语言(如C、C)的编译过程中,以帮助程序员避免一些潜在的问题。 在一些编程语言中,全局变量的…...

高德地图,绘制矢量图形并获取经纬度

效果如图 我用的是AMapLoader这个地图插件,会省去很多配置的步骤,非常方便 首先下载插件,然后在局部引入 import AMapLoader from "amap/amap-jsapi-loader";然后在methods里面使用 // 打开地图弹窗mapShow() {this.innerVisible true;this.$nextTick(() > {…...

【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能

目录 1 多层索引(MultiIndex) 1.1 创建多层索引 1.1.1 从元组创建多层索引 1.1.2 使用 set_index() 方法创建多层索引 1.2 访问多层索引数据 1.3 多层索引的层次切片 1.4 多层索引的重塑 2 自定义函数和映射 2.1 使用 apply() 方法进行自定义函…...

javaee springMVC 一个案例

项目结构 pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…...

Android T 窗口层级其三 —— 层级结构树添加窗口(更新中)

序 尚未添加窗口的层级结构树&#xff0c;如图 DisplayArea层级结构中的每一个DisplayArea&#xff0c;都包含着一个层级值范围&#xff0c;这个层级值范围表明了这个DisplayArea可以容纳哪些类型的窗口。 每种窗口类型&#xff0c;都可以通过WindowManagerPolicy.getWindowLa…...

班级网页模板/哈尔滨网站优化流程

转自&#xff1a;李熠链接&#xff1a;juejin.im/post/5cfbe8c7e51d4556da53d07f前言去年的某个时候就想写一篇关于接口的吐槽&#xff0c;当时后端提出了接口方案对于我来说调用起来非常难受&#xff0c;但又说不上为什么&#xff0c;没有论点论据所以也就作罢。最近因为写全栈…...

关于加强门户网站建设的通知/关于营销的最新的新闻

三好学生 2015/11/23 10:560x00 前言写这篇文章有两个原因&#xff0c;一是想介绍一下powershell的高级使用技巧&#xff0c;二是我在测试一些powershell脚本时发现了很多bug&#xff0c;提交给作者后更新的也不及时&#xff0c;于是就有了自己维护代码的想法. 接下来我会陆续…...

ping wordpress/北京搜索关键词优化

#hadoop之shell命令 ##一、启动命令 启动hadoop&#xff1a;start-dfs.sh&#xff0c;start-yarn.sh 关闭hadoop&#xff1a;stop-dfs.sh&#xff0c;stop-yarn.sh 启动hdfs时可在任意节点&#xff0c;启动yarn得在相应yarn的主节点上执行 hadoop fs -命令&#xff08;hado…...

自做网站告白如何弄/网络广告营销的概念

一、thrift返回结果封装 Thrift文件添加版本号&#xff0c;方便对thrift的版本进行控制 服务与返回的数据类型分开定义 在项目中使用Thrift提供RPC服务时&#xff0c;很多情况下我们都会将返…...

青海互动网站建设/百度之家

参考博文&#xff1a; Anaconda报NotWritableError错时解决的方法 linux下Pycharm导入Anaconda环境时出现NotWritableError错误的解决方法...

环球影城漫游卡持卡人是什么意思/东莞网站seo技术

2945:拦截导弹 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 某国为了防御敌国的导弹袭击&#xff0c;开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷&#xff1a;虽然它的第一发炮弹能够到达任意的高度&#xff0c;但是以后每一发炮弹都…...