【原创】Liu_LongPo 转载请注明出处

【CSDN】http://blog.csdn.net/llp1992

近期在关注 crowd scene方面的东西。由于某些原因须要在crowd scene上实现 anomaly detection。所以看到了这篇论文,该论文是眼下在crowd scene中进行abnormal detection做的最好的,记录下笔记当做学习资料。

传统的 anomaly detection中,非常多突发事件监測都是基于motion information的,这样就忽略了由于appreance导致可是又没有造成 motion abnormal的情况下的漏监測。 比方卡车超重在桥上行走

传统的光流法,像素变化直方图,或者是背景差分法都非常难应用于 crowd scenes ,由于此时的背景是 dynamic的。

也有将 motion 和 appreance 结合在一起进行abnormal detection的

在crowd scene中,非常多一般的abnormal even detection方法都不能取得非常好的效果,由于crowd scene的背景是常常剧烈变化的,传统的方法不能充分检測到这样的变化。

关于Anomaly detection的,关注得不多,眼下看到的方法有以下几种:

  • Social force model
  • Optical flow

social force model 主流的Optical flow方法有点不同,它主要是考虑crowd scene中的Froce,因此就没有Optical flow中的遮挡问题

该论文提出的方法也是基于 Optical flow的,能够适用于 coherent and incoherent scene。创新点例如以下:

  • 利用粒子轨迹对crowd scene进行建模,并提出具有代表性的trajectories 来对复杂的crowd flows进行建模
  • 在 crowd context 中引入 chaotic dynamics(混沌动力学),并通过调节一系列的 chaotic invariant feature来抽取 复杂的crowd motions 信息,这能够用来进行 anomaly detection
  • 提出一个概率框架来进行anomaly detection and localization

Significance of Crowd Scene Analysis

  • 管理大量人群在有限空间的聚集事件
  • 突发事件检測、定位以及警告
  • 集群监督,公共场所监控,安全控制等等

例如以下图,是不同密集层度的集群

challenge

  • 检測的人群目标密度非常大
  • 有多种运动目标的密集层度,如上图
  • 传统方法
    • 是适合在稀疏空间
    • 会受到严重遮挡,检測目标小,目标appreance相似的问题

另外,在crowd scene中,非常多一般的abnormal even detection方法都不能取得非常好的效果,由于crowd scene的背景是常常剧烈变化的,传统的方法不能充分检測到这样的变化

论文的Idea

拉格朗日质点动力学 + 混沌不变量

  • 框架例如以下:


论文创新点

  • 眼下唯一利用粒子轨迹聚类来对crowsed scene 进行建模
  • 在 crowd context中引入混沌不变量
  • 能够处理连贯和不连贯的人流

Particle Advection

当中,T T 是视频帧。WW 是视频帧的宽度, HH 是视频帧的高度

Cluster Particle Trajectories

  • 原则:几条轨迹流可能仅仅是有一个单一的运动目标产生
  • 方法:聚类
    • step1 : 去除那些相对运动量比較少的点或轨迹。由于它们包括的运动信息比較少
    • step2 : 依据轨迹流的位置信息进行K-means聚类
  • 输出:聚类后的代表性轨迹流

在step1中去除点或轨迹的标准是轨迹流的方差。设定阈值 ϵ\epsilon, 去除那些方差比ϵ\epsilon小的轨迹流

var{(Xtw,Yth)}<ϵ

var\{(X^t_w,Y^t_h)\}

轨迹流聚类后例如以下:



这些聚类后的轨迹流就是 representative trajectories。

实验结果证明,突发事件检測基本上对cluster number不敏感

Chaotic Invariants

  • Representation of scenes: Representative trajectories
  • To identify the scene’s dynamics in terms of the dynamics of representative trajectories: lChaotic dynamics by measurable chaotic invariants

论文中说到,运用上面提取的 representative trajectories 能够创建一个基于 Chaotic Invariants 的模型。该模型能够 handle both coherent and incoherent scenes and offer a description using only two features

也就是两个Chaotic Invariants:largest Lyapunov exponent :L 和 correlation dimension:D。

此外,为了进行 anomaly detection。还添加了feature M。代表的是轨迹流 xx 和 yy 的平均坐标 MM

对于 Chaotic Invariants。我个人不是非常懂,理解得不太好。

假设有懂得人还望指教。

Feature Set

由上面可知,本模型得到的特征集例如以下: F={L,D,M}F=\{L,D,M\}

  • L: Largest Lyapunov exponent
  • D: Correlation dimension
  • M: Mean of representative trajectories (Only necessary for position-caused anomalies)

则求解 LL 和 DD 的步骤例如以下:



求解过程还是挺好懂的,就是先找一条轨迹流的最邻近的轨迹流组成轨迹流pairs,然后进行求解LL 和 DD

Advantages of the Algorithm

  • Proven to be insensitive to the changes in time delay, embedding dimension, size of data set and to some extent noise
  • Ensure L>0 for condition of chaotic analysis

计算chaotic feature 时须要的特征比較多,因此本文在轨迹中插入一些点来达到每一个事件序列都有500个点

Anomaly Detection

Definition of anomaly: Spatiotemporal change of scene/system dynamics (chaotic or/and positions)

  • Global anomaly: entire change of dynamics
  • Local anomaly: dynamics changes near particular spatial points
  • Approach: Probabilistic model

详细方法例如以下:

首先运用GMM算法描写叙述正常场景的概率密度函数:

P(Γ|Φ)=∑k=1KwkN(Γ;uk,Σk)

P(\Gamma|\Phi) = \sum^{K}_{k=1}w_kN(\Gamma;u_k,\Sigma_k)

当中:

Γ\Gamma denotes a four (or six if M features are included) dimensional set of random variables with two features for each time series in x and y

KK : 高斯元的个数

uu : 均值

Σ\Sigma : 方差

Φ\Phi : 模型參数

Model Learning

Normality model: Multi-variate GMM

  • Learning by: EM + IPRA algorithm
  • Principle for judging a query as normal or abnormal: Probability of the query belonging to the normality model + ML criterion

也就是。当我们用一些正常的视频序列 SS 来训练模型P(Γ|Φ)=∑Kk=1wkN(Γ;uk,Σk)P(\Gamma|\Phi) = \sum^{K}_{k=1}w_kN(\Gamma;u_k,\Sigma_k),模型的输入每一个 representative trajectories。学习得到模型參数 Φm \Phi_m 后。就能够将測试视频流输入模型,对全部的representative trajectories输出的概率求平均值。依据最大似然准则(ML)将平均值与阈值 LthresL_{thres} 比較推断測试视频是属于normal还是abnormal。

Anomaly Localization

1.计算每一个representative trajectory 对于模型的输出概率

2.定位那些比阈值LthresL_{thres}小的representative trajectory

3.依据位置信息对它们进行聚类得到多个cluster

4.去除那些包括少量trajectories的cluster

5.剩下的那些cluster就是基本的abnormal region

Experiment Results

举个栗子,以下两个图中。人工标记黄色框汇总有人站起来跳舞,其它人在鼓掌。跳舞的人就属于 abnormal 的。

(事实上仅仅给一帧的图片我看不太出)



这是实验结果。中间的图是检測到的全部的abnormal region。右边是去除那些包括少量trajectories 的cluster后的情况,基本能够定位成功



关于 GMM和EM算法的资料:

http://blog.csdn.net/u012176591/article/details/46051431

K-means聚类和EM思想

http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006910.html

(EM算法)The EM Algorithm :

http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

高斯混合模型(GMM) :

http://www.cnblogs.com/mindpuzzle/archive/2013/04/24/3036447.html

EM及高斯混合模型:

http://www.cnblogs.com/zhangchaoyang/articles/2624882.html

$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

论文笔记:Chaotic Invariants of Lagrangian Particle Trajectories for Anomaly Detection in Crowded Scenes的更多相关文章

  1. 论文笔记《Spatial Memory for Context Reasoning in Object Detection》

    好久不写论文笔记了,不是没看,而是很少看到好的或者说值得记的了,今天被xinlei这篇paper炸了出来,这篇被据老大说xinlei自称idea of the year,所以看的时候还是很认真的,然后 ...

  2. 【论文笔记】YOLOv4: Optimal Speed and Accuracy of Object Detection

    论文地址:https://arxiv.org/abs/2004.10934v1 github地址:https://github.com/AlexeyAB/darknet 摘要: 有很多特征可以提高卷积 ...

  3. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach

    From Facial Parts Responses to Face Detection: A Deep Learning Approach ICCV 2015 从以上两张图就可以感受到本文所提方法 ...

  4. 论文笔记: LSTD A Low-Shot Transfer Detector for Object Detection

    背景知识: Zeroshot Learning,零次学习. 模型 对于 训练集 中 没有出现过 的 类别,能自动创造出相应的映射: X→Y. Low/Few-shot Learning.One-sho ...

  5. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  6. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  7. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  8. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  9. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

随机推荐

  1. [译]移动API安全终极指南

    文章主要讲了移动api调用的授权和验证问题,原文链接:The Ultimate Guide to Mobile API Security 移动API的使用是Stack Overflow和 Stormp ...

  2. 三元运算符2>1?true:false;

    1.说明: xxx?xxx:xxx; 第一个'xxx'是写条件语句,条件自己根据需求定 第二个'xxx'是当条件为真时会得到的值 第三个'xxx'是当条件为假时会得到的值 2.例子: 代码: bool ...

  3. 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建

    1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...

  4. Celery 源码解析五: 远程控制管理

    今天要聊的话题可能被大家关注得不过,但是对于 Celery 来说确实很有用的功能,曾经我在工作中遇到这类情况,就是我们将所有的任务都放在同一个队列里面,然后有一天突然某个同学的代码写得不对,导致大量的 ...

  5. Python返回Json格式定义的例子

    { "code": 0, // code为0表示成功,否则为1 "message": null, "data": { "syscp ...

  6. 【转】Entity Framework 5.0系列之约定配置

    Code First之所以能够让开发人员以一种更加高效.灵活的方式进行数据操作有一个重要的原因在于它的约定配置.现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的, ...

  7. tensorflow 从入门到上天教程一

    tensorflow 是一个google开源的深度学习的框架,执行性能良好,值得使用. caffe,caffe2 通过配置就可以拼凑一个深度学习框架,大大简化流程但也依赖大量的开源库,性能也不错.20 ...

  8. Java 8的新特性—终极版

    作者:杜琪[译] 原文链接:http://www.jianshu.com/p/5b800057f2d8 1. 简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本 ...

  9. P2757 导弹的召唤(数据加强)

    传送门 LIS的O(nlgn)模板题.加强"导弹拦截" #include <cstdio> #include <cstring> #include < ...

  10. python3.6+linux服务器+django1.11连接MYSQL数据库

    1.django创建一个项目,在项目的settings.py中配置Mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...