Activity Recognition行为识别
暑假听了computer vision的一个Summer School,里面Jason J. Corso讲了他们运用Low-Mid-High层次结构进行Video Understanding 和 Activity Recognition的方法,受益颇深,在这里把他的方法总结一下:
-------------------------------------------------------------------------------------------------
1. 层次结构表示:
- 底层part 重用
- 每个object都是一个由有向和无向边连接起来的混合图
- 底层通过非线性学习让原子节点形成时空线、平面和区域
人的活动呢,就是这些object在中层和高层连接的混合图

-------------------------------------------------------------------------------------------------
2. Motion Perception——STS

Different action stimulate different subpopulation of cells.
-------------------------------------------------------------------------------------------------
3. Activity Recognition
Corso的方法:
- Low-Level:底层最effective的做法是Bag of Features,特征为bottom-up / low level的时空特征,随着时间和层次不断update。通过模版进行底层object检测;
- Mid-Level:中间层从images中检测、跟踪2D骨架pose,并通过背景内容分析动态pose;
- High-Level:高层活动组合方法为,将不同时间点的feature组成时间-概率模型。时间上进行feature的时空跟踪,概率上根据组成语法进行概率模型的组合。
- Recognition的另一种表示方法:Segmentation
思想:建立Space-Time Patch Descriptors,组成visual Words直方图,建立多通道分类器。

找出shikongHarris角点:

要求在feature上进行Densely Sample而非Sparse Sample。
提取Action Feature:f,用HOG/HOF描述


Space-Time Patch描述子形成histogram。每个histogram,是特征点在x,y,t三个分量上的直方图。

但是采用HOG、HOF存在问题,就是只能从前后帧去看,而不能考虑整个球的特征变化。出于这一想法,提出了HOG3D, 该特征在BMVC08中有文章进行具体描述,此处不予赘述,大家有兴趣去看文章吧。
-------------------------------------------------------------------------------------------------
4. 行为轨迹
采用 KLT: Kanade-Lucas-Tomasi Feature Tracker 进行特征点的跟踪,可作为局部特征检测的辅助手段。
- Trajectories by Local Keypoint Tracking
- Use Dense Trajectory(Dense sampling can improve object recognition and action recognition)
- CVPR 2011 Wang et al. “Action Recognition by Dense Trajectories.”中提出了一种方法,用一个单密度光流场跟踪轨迹
- 用HOG/HOF/MBH进行轨迹点描述

-------------------------------------------------------------------------------------------------
5. Action Bank

图中所示为Action bank的基本思想<CVPR 2012: Action Bank: A High-Level Representation of Activity in Video>
Action bank :
- 记录在不同scale和viewpoints的一个大action detector集合
- 在Ns个scales上进行检测,action bank上有Na个detector,每组action-scale上有1^3+2^3+4^3=73维向量。所以action bank特征向量共有Na*Ns*73维(关于73怎么来的可以详细参考《Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories》)
- 实际做的时候采用1-2个scale上的detector

- classifier 使用SVM分类器:
- 实现Action Bank的建立:
1. 选取UCF上的50个action,KTH上6个action和visint.org上的digging action,组成205 templates totally
2. 每个action选择3-6个不同视角、style或运动节奏的examples
3. 平均分辨率:50×120pixel;40-50frames/example
简单的说呢,就是根据不同视角、style和运动节奏来描述一个templates,由此组成了205个模版,描述57个action。
- 关于模版

-------------------------------------------------------------------------------------------------
6. 基于Human Pose方法的Activity 识别
- 将人分为不同part,进行各部分的姿势估计可以清晰的进行model描述。

- 3D Human Pose Estimation:

-------------------------------------------------------------------------------------------------
7. 基于Parts的Human Pose Estimation
模型结合了局部appearance和对称结构,有多篇文章涉及模型估计:
Pictorial Structures (Fischler & Elschlager 73, Felzenswalb and Huttenlocher 00)
Cardboard People (Yu et al 96)
Body Plans (Forsyth & Fleck 97)
Active Appearance Models (Cootes & Taylor 98)
Constellation Models (Burl et all 98, Fergus et al 03)
采用deformable part model
Slide credit: D. Ramanan. Method is from Yang and Ramanan, CVPR 2011.

Result:

- Dynamic Pose based Activity Recognition

9.视频分割:Beyond Points for Video Understanding
标准方法:
- meanshift
- Graph-Based
- Hierarchical graph-based
- Nystrom normalized cuts
- Segmentation by weighted aggregation
ECCV 2012 Xu, Xiong and Corso的方法:将视频看做一个流,根据流向和时间上的马尔科夫假设建立一个估计构架,进行video分割。
Segmentation: S = {S1, S2, ... , Sm}
Input Video: V = {V1, V2, ... , Vm}(时间序列上的输入流)
取S*=arg min E(S|V)
在一个layer的分割中采取:

在整个hierarchy中采取同样假设:



<ECCV 2012 Xu, Xiong and Corso>
from: http://blog.csdn.net/abcjennifer/article/details/7976145
Activity Recognition行为识别的更多相关文章
- Heterogeneity Activity Recognition Data Set类别
Heterogeneity Activity Recognition Data Set:https://archive.ics.uci.edu/ml/datasets/Heterogeneity+Ac ...
- Host–Parasite(主从关系): Graph LSTM-in-LSTM for Group Activity Recognition
This article aims to tackle the problem of group activity recognition in the multiple-person scene. ...
- Recent papers on Action Recognition | 行为识别最新论文
CVPR2019 1.An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognit ...
- Face Recognition 人脸识别该如何测试
猪圈子,一个有个性的订阅号 01 测量人脸识别的主要性能指标有 1.误识率(False;Accept;Rate;FAR):这是将其他人误作指定人员的概率; 2.拒识率(False;RejectRate ...
- PokerNet-poker recognition: 扑克识别 (6)
文章目录 准备 最终结果 未来改进 准备 机器: Titan XP 12GB, 64GB RAM, 机器非常强,可靠. 下次有机会购买RTX 2080 Ti 试试 最终结果 错误率可以达到万分之一,非 ...
- 基于Deep Learning 的视频识别方法概览
深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者.互联网视频在最近几年也特别火,短视频.视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器.当这两个火碰在一起,会 ...
- 行为识别(action recognition)相关资料
转自:http://blog.csdn.net/kezunhai/article/details/50176209 ================华丽分割线=================这部分来 ...
- 【计算机视觉】行为识别(action recognition)相关资料
================华丽分割线=================这部分来自知乎==================== 链接:http://www.zhihu.com/question/3 ...
- android第一行代码-3.activity之间的调用跟数据传递
前面两节所有应用都是同一个activity中的,是时候讲activity之间交互的操作了,此后会涉及到intent这个概念,这也算一个新的里程碑开始. 主要内容包括intent的使用,以及activi ...
随机推荐
- 典型:Eayui项目aspx页面引用js
<link href="../Scripts/easyui1.3.5/themes/default/easyui.css" rel="stylesheet" ...
- android 开发 system/app目录下面有多个重复包名的apk,会不会冲突
环境:已经拥有了root权限的android系统,我们的apk是开机启动 测试:将2个相同的版本拷贝到系统system/app目录下面 adb root #获取root权限,前提是已经开放了root权 ...
- boost之bind
bind1st bind2nd在stl里面有具体的实现,只是只能绑定两个参数. boost里面的bind使用bind(Fun f,A1 a1,A2,a2...)产生一个对象,这个对象可以有占位符,可以 ...
- C# TcpListener的编程要点
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...
- NYOJ-32 组合数 AC 分类: NYOJ 2013-12-30 07:42 189人阅读 评论(0) 收藏
#include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf(&q ...
- 查看Centos系统信息命令
linux命令行具有强大的功能,我们安装vps后,首先应该知道系统信息,查看这些信息,你会发现Linux命令很简单,你可以按照下面的命令练习. linux系统信息 # uname -a # 查看内核/ ...
- ECMAScript 5.1中对属性的操作
此操作只针对新版本浏览器. Object.defineProperty(obj,'name',{configurable:true/false,enumberable:true/false,value ...
- acdream1116 Gao the string!(扩展KMP)
今天是字符串填坑的一天,首先填的第一个坑是扩展KMP.总结一下KMP和扩展KMP的区别. 在这里s是主串,t是模式串. KMP可以求出的是以s[i]为结尾的串和 t前缀匹配的最长的长度.假如这个长度是 ...
- [STL]heap和priority_queue
一.heap 在STL中,priority_queue(优先权队列)的底层机制是最大堆,因此有必要先来了解一下heap.heap采用完全二叉树的结构,当然不是真正的binary tree,因为对于完全 ...
- java 反射创建对象并传入参数
/* * 通过反射创建带参数的对象 */ public Object Creatobject(String ClassPath, Object[] Params) throws Exception { ...