第一次发博客,想记录一下最近所学的东西。目前课题研究方向大致为异常检测,可能会做到校园的异常行为检测,故从知网上搜到了一篇比较新的基于深度学习的人群异常行为检测综述,在这里做一个总结,方便日后的查看。

摘要

首先,针对人群异常行为检测任务及其现状进行介绍;其次,重点探讨卷积神经网络、自编码网络和生成对抗网络在人群异常行为检测任务上的研究进展;然后,列举该领域常用的数据集,并比较和分析了深度学习方法在 UCSD 行人数据集上的性能;最后,总结人群异常行为检测的任务难点,并对该领域的未来发展趋势进行展望。

基于深度学习的异常检测算法

早期的人群异常行为检测研究多利用手工特征描述符来表示行人外观和运动特征,构建对应的特征空间,然后使用传统机器学习算法进行人群异常行为检测。其中,手工特征描述符主要包括轨迹、梯度方向直方图(HOG)、光流直方图(HOF)、混合动态纹理和光流场等低级视觉特征。由于监控场景种类繁多,人群运动复杂,人群密度随时变化,低级视觉特征提取方法难以捕获到有效的、稳健的行为特征,直接影响了基于此类特征的异常检测方法的性能。

随着深度学习相关研究的蓬勃发展,研究人员开始探索基于深度学习的人群异常行为检测,并取得了一系列的成果。与早期传统方法相比,深度学习方法注重提取视频中的行人外观和运动的高级特征,从而更有效地区分正常行为和异常行为。本文归纳总结了基于有监督、无监督/弱监督学习方式下深度神经网络的优缺点,梳理了卷积神经网络(Convolutional  Neural Network , CNN ) 、 自 编 码 网 络 ( Auto-encoder , AE ) 和 生 成 对 抗 网 络 ( Generative Adversarial  Networks,GAN)3 类神经网络模型在人群异常行为检测任务上的研究工作。

1.基于CNN的异常行为检测

CNN凭借其强大的特征学习能力,可以用于提取

(1)行人行为的空间特征学习,表示行人的外观的高级特征,但同时也会忽略了运动信息;

(2)行人行为的时空特征学习,与RNN、光流特征融合或者将C2D扩充至C3D,可以学到时空特征,同时提取视频帧中的外观和运动信息。

1.1基于空间特征学习的方法

监督学习模式:

CNN常作特征提取器和分类器,对预标记的正常行为和异常行为进行分类。但只能用于检测预定义的异常行为,由于预定义的异常范围有限,无法检测未定义的异常行为。

无监督/半监督学习模式:

CNN 常用作行人行为外观特征提取器,通过传统机器学习算法判别是否是异常行为,而不判定具体异常行为的类别。此方式可以检测出更多类型的异常行为,是目前异常行为检测的热点研究方向。

根据异常行为检测方法步骤的不同,可以将基于空间特征学习的方法分为两大类:

(1)两阶段法

        CNN用于提取特征,再采用异常检测模块来检测异常行为。异常检测模块常用机器学习算法:SVM、高斯分类器、归一化方法等。

(2)一阶段法

        直接采用end-to-end学习方式计算异常得分。

优缺点:基于空间特征检测异常方法能提取人群中行人外观的高级特征,并在异常检测中取得了良好的性能,但忽略了视频序列中的运动信息和时间结构。

1.2基于空间特征学习的方法

        行人的行为动作是一系列运动形成的,故要考虑视频帧之间的关联关系。同时提取视频帧的空间、时间特征。根据提取时间特征的方式不同,可以分为三类:

(1)融合光流特征(光流图)

(2)融合序列模型(LSTM、ConvLSTM)

CNN可以从光流和视频帧中提取运动、外观特征,而LSTM与卷积融合可以直接提取时空特征,其中CNN-LSTM模型加入注意力模型可以更专注于在视频帧图像中的显著区域提取特征,同时使得 LSTM 也更方便地捕获运动信息。(论文:Abnormal Behavior  Recognition  Using  CNN-LSTM with  Attention  Mechanism)

(3)三位时空特征(3D卷积)

3DCNN是对2DCNN的扩展,增加了时间维度,能同时对外观和时空信息建模。

比较经典的是基于MIL多实例学习的异常行为检测算法(论文:Real-world Anomaly Detection in Surveillance Videos),文献使用深度多示例排序框架检测异常,利用深度异常排名模型计算正常包和异常包中示例的异常得分,并从正常包和异常包中分别选择得分最高的示例,来训练多层感知器用于异常检测。

优缺点:基于 CNN 提取视频中的时空特征方法,融合了外观和运动特征,以捕获到更多的正常和异常行为高级特征的差异,从而提升检测效果。

2.基于自编码网络的异常行为检测

自编码网络(AutoEncode,AE)由编码器和解码器组成,主要用于数据降维和特征提取。给定只包含正常行为的视频数据,以训练自编码网络,经过训练的自编码网络能够以较低的误差重构正常行为,利用相似性度量方法计算重构误差来评估异常。此外,经过自编码网络的编码器操作之后能将正常行为数据分布映射成隐变量分布,利用隐藏特征。表示来检测异常。

(重构其实是现在异常检测的重要方向之一,另一个方向则是预测。重构是通过对正常行为进行编码解码,减少重构误差,使得AE只能对正常数据进行重构,而对异常数据不能很好的进行重构,该方法不仅可以检测出异常数据,还能够发现异常所处的区域。不过因为AE具有很强的学习能力,有可能会把异常行为也学习了进去,所以也有了很多改进,如MemAE。预测则是对每一帧的下一帧进行预测,然后与真实的下一帧图像进行误差减少训练。)

2.1基于相似度量的方法

相似性度量方法通过比较原始图像和卷积自编码网络(Convolutional  Autoencode,CAE)输出的重构图像之间的相似性来检测异常,其过程如下所示:

原始视频帧能够充分反映行人的外观信息,光流图像能够反映视频中前景目标的运动信息,CAE可将两者信息融合以提取行人的外观和运动特征。

优缺点:基于卷积神经网络的相似性度量方法,利用多特征融合方式来重构正常和异常行为,缩小了正常行为的重构误差,同时增大了异常行为的重构误差,在一定程度上提高了检测效果。

2.2基于隐藏特征表示学习的方法

由于自编码网络具有良好的学习能力和泛化能力,可以很好地重构异常行为,因此导致了异常行为的遗漏检测,可通过编码器学习高维数据到低维隐藏特征表示,然后利用隐藏特征的潜在分布来建立表示正常行为的模型,其过程示意图如下:

MemAE(论文:Memorizing Normality  to  Detect  Anomaly:  Memory-Augmented  Deep  Autoencoder  for Unsupervised  Anomaly  Detection)考虑到正常行为具有多样性,存储模块记录
正常行为数据编码之后的深度特征来表示正常行为的各种模式。文献提出的网络模型由编码器、存储模块和解码器组成。在训练过程中,编码器输入正常视频帧并提取特征,存储模块同时记录并更新正常数据的隐藏特征。在测试阶段,编码器输入测试视频帧并提取查询特征,存储模块检索与查询特征最相关的特征,然后将这些特征输入到编码器进行重构。

优缺点:基于隐藏特征表示学习方法认为正常行为数据的潜在特征分布符合一定的规律,而异常行为的潜在特征则不符合该规律。通过特定算法寻找和发现该类规律,以达到检测异常行为的目标。

3.基于GAN的异常行为检测

GAN的火热近年来都是有目共睹的,其通过对抗训练,使生成器、判别器达到纳什平衡状态。其在异常行为检测中大致过程如下:

3.1基于生成器检测异常(测试阶段只是用生成器)

基于生成器检测异常,即在测试阶段仅使用生成器生成的图像,不经过鉴别器的识别,直接计算生成图像和原始图像之间的相似性来检测异常。常用于计算生成图像和原始图像相似性的方法有:欧氏距离、均方差(MSE)和峰值信噪比(PSNR)。

初始阶段,生成器重构正常模式下的原始图像,联合鉴别器,经过对抗训练,生成器学会了更准确地生成重构图像,提高了重构图像和原始图像的相似性(有点像AE)。

文献(Abnormal  Event Detection  in  Videos  Using  Generative Adversarial  Nets)使用两个 cGAN 分别将原始图像映射成光流图和将光流图映射成原始图像,通过比较生成光流图和真实光流图之间的差异及使用额外的CNN 捕获生成视频帧和真实视频帧之间的语义信息差异来联合检测异常区域。

基于生成器检测异常的方法的检测效果优于自编码网络中基于相似性度量的方法。由于对抗训练的参与,该类方法通常不稳定,以至于在每个训练步骤产生的结果都会有小幅度的波动。

3.2基于联合生成器鉴别检测异常(测试阶段同时使用生成器和鉴别器)

3.3基于鉴别器检测异常

4.数据集及各算法的效果展示

5.未来发展展望

人群异常行为检测虽然已有一些经典的算法在公共数据集上取得了不错的效果,但还面临着如下困难:1)人群行为复杂度高且变化多,使得异常行为多样化,对提出的行为模型识别异常行为的能力要求高;2)如何保证在复杂场景如遮挡、光线变化等条件下对人群异常行为检测的准确性;3)很多算法计算量大且精度低,在实时处理和检测精度之间实现平衡是一个研究难点。在未来一段时间内,人群异常行为检测领域的研究将呈现如下发展趋势。

(1)关键帧的选取。利用仅包含正常行为的训练数据集建立正常行为模型的方法通常使用连续视频帧提取深度特征,存在信息冗余和计算时间复杂度高的问题。因此,如何设计一种关键帧选取算法,能够充分表示视频中人群行为的外观和运动信息。

(2)正常行为模型的表示能力。人群异常行为检测的挑战就是需要具有处理罕见且正常行为活动的能力。这种行为在正常训练视频数据中很少出现,但通常会导致错误的阳性异常检测。一个好的正常行为模型能够表示训练视频中出现的所有正常行为,并检测出偏离该模型的所有行为。因此,如何提高正常行为模型的泛化能力和检测能力是今后的研究热点之一。 
(3)跨场景的异常行为检测模型。现有方法大多针对单一固定的场景来训练正常行为模型,无法有效地进行跨场景的异常行为检测。在实际应用中,对每个监控场景分别训练模型会带来很大的工作量。如何将场景信息融入到异常行为检测模型中是未来可供研究的方向之一。 
(4)算法复杂度问题。现有高性能的异常行为检测算法的复杂度较高,在人群密度较大的场景下将消耗大量的计算资源,且不能实时进行在线检测异常。如何在保证算法的检测效果的前提下,改进和设计低复杂度和高运行速度的异常行为检测算法是今后研究的方向之一。 
(5)异常行为的描述。异常行为的种类有很多,没有明确的定义,因此不清楚是什么原因导致了异常行为的发生。若将异常行为结合环境及其上下文信息,生成简短的异常行为描述文本,解释异常行为发生的原因,有助于检测异常行为是否属于误报警。

6.个人感想

看了这篇综述能够大概了解到异常行为检测的一些方法以及各方法的优缺点,同时也能够了解现在大家所做的情况,有挺多论文还需要看,但在此之前,还要好多基础知识需要补充,比如RNN、LSTM、Attention机制等等,下面将会总结一下最近对这些方面的了解。

引用:

徐涛,田崇阳,刘才华.基于深度学习的人群异常行为检测综述.计算机科
学. https://kns.cnki.net/kcms/detail/50.1075.TP.20210607.1316.026.html

【学习笔记】行人异常行为检测的综述相关推荐

  1. HALCON 20.11:深度学习笔记(9)---异常检测

    HALCON 20.11:深度学习笔记(9)---异常检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含 ...

  2. OpenCV for Ios 学习笔记(4)-标记检测1

    本文原始地址:OpenCV for Ios 学习笔记(4)-标记检测1 简单的标记经常是以白色块和黑色块构成的规则图形.因为我们预先知道这些因素,所以我们可以很容易检测标记. 如图: 首先,我们需要找 ...

  3. Nginx学习笔记3:Shell脚本检测Nginx服务状态

    前言 nginx 服务启动后,我们需要对其服务状态进行监控,今天学习过程中了解到一段非常有用的小脚本,不仅可以监控Nginx,也可以用来监控其他服务 脚本 A=`ps -C nginx –no-hea ...

  4. Python学习笔记Task07(异常)

    Python学习笔记Task07(异常) 2.try-except语句 try 语句按照如下方式工作:l 首先,执行try子句(在关键字try和关键字except之间的语句l 如果没有异常发生,忽略e ...

  5. 9月5日关键点检测学习笔记——人体骨骼点检测:自顶向下

    文章目录 前言 一.常用数据集 二.评价体系 1.Bounding box IoU 2.Mask IoU 3.Object keypoint similarity(OKS) 三.Top-down 自顶 ...

  6. CCSA学习笔记 第一节 思科安全解决方案综述

    CCSA学习笔记 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 1.能够对思科安全的网络安全解决方案有初步认识 2 ...

  7. 文献笔记02 网络入侵检测技术综述(信息安全学报)

    文章目录 网络入侵检测技术综述 大纲 一.入侵检测系统分类 1.基于数据来源划分 2.基于检测技术划分 二.基于传统机器学习的入侵检测 1.入侵数据处理 2.监督机器学习技术 3.无监督机器学习技术 ...

  8. (学习笔记)【目标检测】YOLO系列简单归纳

    文章目录 絮絮叨叨 一.YOLO发展史 二.逐篇学习 1.You Only Look Once: Unified, Real-Time Object Detection 2.YOLO9000 3.YO ...

  9. 传感器自学笔记第十一章——三色RGB学习笔记+高感度声音检测模块+KY-010光遮断传感器+TCRT5000循迹传感器+倾斜模块

    作者:GWD 时间:2019.06.28 三色RGB学习笔记(开关量类传感器) 一.学习要点:无 二.手册分析(开关量传感器) 1.产品用途:RGB LED 模块由一个贴片全彩 LED 制成,通过 R ...

最新文章

  1. 卧槽,面试官质疑我不会配置中心原理,看不起谁呢?
  2. Python自然语言处理 NLTK 库用法入门教程
  3. python 列表 元组 字符串
  4. vc6.0垃圾文件清理工具_干货 | 电脑清理宝典
  5. sql导入excel数据失败_nifi入门从Excel数据导入ES开始
  6. 【Boost】boost库中bind的用法
  7. 2020年10月21日 星期三 工作日志
  8. [转载] python学习笔记
  9. Ajax通讯异常12002,前端MVC框架[02] 发送AJAX请求及建立连接池
  10. python3 运行you get_一个基于Python3的神奇插件——you-get
  11. 调查显示存储虚拟化技术尚需3到5年才能成熟
  12. matlab2c使用c++实现matlab函数系列教程-std函数
  13. [转载] URL短网址生成算法原理
  14. how to be successful with salesforce
  15. supervisor进程守护
  16. [Mysql]InnoDB数据页结构(掘金小册阅读笔记)
  17. xtraReport的简易使用方法
  18. OHS 12C中导入第三方SSL证书
  19. 找工作经验贴----转自cc98 (作者ID:qzz88 ) 仅为收藏,感谢原作者的经验分享
  20. 内存超频trfc_P55平台内存超频实战

热门文章

  1. [转] iOS --- 自释放在iOS开发中的应用
  2. caffe的安装配置(CUDA7.5+VS2013)
  3. 既是回文数又是质数c语言,素数回文——输出两整数之间所有既是回文数又是素数的数 C++实现...
  4. 有道科学计算机,网易有道超级计算器获App Store推荐 打造随身数学帮手
  5. XCODE - Failed to create provisioning profile
  6. 【Unity3D】水波特效
  7. 【原创】Windows Docker 设置阿里云镜像加速
  8. 【图像处理】图像分割之(一~四)GraphCut,GrabCut函数使用和源码解读(OpenCV)
  9. 起点:如何成为一名黑客?
  10. 仓库温度湿度控制措施_仓库温度湿度控制管理制度