基于视觉的行为识别 - 资料收集

发布时间 2023-06-04 20:11:53作者: 徐大树
数据集:参考收藏夹
 
论文:基于深度学习的人体行为识别

发展背景以及现状
 
基于模型的方法,通过人工或半监督的方法来定义行为的数学模型。然后匹配观测值和模型的匹配。(模型准确决定了是否能准确识别出来行为)
 
- 隐马尔科夫模型
- Dimitrios 使用混合隐马尔可夫模型
- 基于人体 3D 星型骨架模型。
 
基于相似性度量的方法,不显示定义人体行为的数学模型,而是从运动图像序列数据中学习各种人体行为。根据学习结果,在测试视频中,对行为进行分类。
 
- Meng GRN_BCM(gene regulatory network based bienenstock. cooper. and munro spiking neural networks model)方法构建行为模型,从而识别人体行为。
- Dollar 通过稀疏时空特征识别人体行为。
 
优劣:基于模型的方法,对于人体行为种类较多的情况下,难以建立准确的模型。基于相似性度量的行为识别方法,由于图像环境背景的复杂性,增加了学习行为的难度。
 
Moez 通过 3D CNN 识别人体行为
本文提出 DBNs(deep belief networks)深度信念网络
 


 
 
 
论文:Two-Stream RNN/CNN for Action Recognition in 3D Videos
https://arxiv.org/pdf/1703.09783.pdf)(https://www.youtube.com/watch?v=G0PXKCEgIoA)

To summarize, our contributions in this paper are:
A novel RNN structure is proposed, which converges13 times faster during training and costs 20% lesscomputational power at each forward pass, comparedto a normal LSTM;
Two fusion methods, i.e. decision fusion and feature fusion, are proposed to combine the proposed RNNstructure and a 3D-CNN structure [8]. The decisionfusion is easier to use, while the feature fusion hassuperior performance.
 
- 本论文的方法除了需要 RGB 图像之外,还需要 3D 的 Skeleton 信息。这确实能够提高检测的准确性,但是 3D skeleton 数据的获取,成为了另一个问题了。
 
CNN,
RNN,
LSTM,
 


 
 
 
论文:Sequential Deep Learning for Human Action Recognition - Liris-5228(http://liris.cnrs.fr/Documents/Liris-5228.pdf

对人行为的识别可以从关注点上,有一定的区分:
- 轨迹的识别
- 身体动作的识别(身体作为整体)
- 关节动作的识别(需要分析身体的各个部位和关节)
- 面部表情的识别
 
如果引入周围的环境,还涉及到:
- 场景环境的识别
- 人与人,人与物互动的识别
 


 
 
论文:ACTION_RECOGNITION_USING_VISUAL_ATTENTION_1511.04119(http://shikharsharma.com/projects/action-recognition-attention/)(https://arxiv.org/abs/1511.04119

- Attention Model
- RNN
- Long Short-Term Memory (LSTM) units
 
Dataset: 
UCF-11(YouTube Action), ( http://crcv.ucf.edu/data/UCF101.php )
HMDB-51,
Hollywood2
 
Download the code and tried to run it. But I don't know the format of his configuration file.
 


 
 
论文:Recurrent_Models_of_Visual_Attention(https://arxiv.org/pdf/1406.6247v1.pdf

 


 
 
 
 
 
论文:Joint Action Recognition and Pose Estimation From Video

还是比较新的论文,看摘要是采用了姿态和动作估计结合的方式。简单的看了应该是“预定义模型的”,没有采用深度学习。


 
 
 
 
 
论文:Model-based Human Action Recognition (https://www.youtube.com/watch?v=lhUfo4Cyfgs

基于预先建模的行为识别。但是比较老了的一篇论文了。


 
 
 
 
 
论文:Real-time Action Recognition by Spatiotemporal Semantic and StructuralForests(https://www.youtube.com/watch?v=eD5b8d7hV6E

剑桥的一篇论文,但是比较老了,2010 年的。而且,没有采用深度学习的方法。


 
 
 
 
 
论文:2D Action Recognition Serves 3D Human Pose Estimation(https://www.youtube.com/watch?v=ajswsWVWQvY

相关但是略微有些老的文章,把多张图的动作识别结果,作为 3D 动作估计的输入?


 
论文:Coupled Action Recognition and Pose Estimation from Multiple Views(https://www.youtube.com/watch?v=2UCX41U6z-M

从多视图来估计动作,和上面的一篇采用的方法比较类似,比较老了。


 
 
 
论文:Efficient Human Pose Estimation from Single Depth Images(https://www.youtube.com/watch?v=ZXI6gko7kG4

通过深度信息来进行动作估计。好像是微软研究院做的,很不错,但是需要类似于 kinect 的设备。


 
论文:
Xu_Efficient_Hand_Pose_2013_ICCV_paper,
Robust 3D Hand Pose Estimation in Single Depth Images, from Single-View CNN to Multi-View CNNs,(https://www.youtube.com/watch?v=hVlwE1yF8-c

通过深度信息来进行手势动作的估计。


 
 
 
开源项目:

// github 测试 KTH 数据集的代码
https://github.com/tejaskhot/KTH-Dataset
 
// matlab 代码,使用 KTH 测试数据,但是没有 training 源码
// Human Action Recognition using KTH Dataset
https://cn.mathworks.com/matlabcentral/fileexchange/55111-human-action-recognition-using-kth-dataset?requestedDomain=www.mathworks.com
 
// 与论文 [ACTION_RECOGNITION_USING_VISUAL_ATTENTION_1511.04119] 配套的代码
https://github.com/kracwarlock/action-recognition-visual-attention
 
// 姿态估计的源码 (https://www.youtube.com/watch?v=pW6nZXeWlGM
https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation
https://github.com/CMU-Perceptual-Computing-Lab/openpose
 
// two stream
https://github.com/wadhwasahil/Video-Classification-2-Stream-CNN
 
https://github.com/chihyaoma/Activity-Recognition-with-CNN-and-RNN
 
// 这个库是关于 action-recognition 的资料汇总
https://github.com/jinwchoi/Action-Recognition
 
 


 
 
 
一些其他的方法:

Kmeans,
KNN,
 


 
 
 
资料网站:

// 一本书 Computer Vision — ECCV 2012. Workshops and Demonstrations: Florence
https://books.google.com.hk/books?id=7a-7BQAAQBAJ&pg=PA316&lpg=PA316&dq=htp://www.nada.kth.se/cvap/actions/&source=bl&ots=csdTbPJ5Kh&sig=TPhUeQPhY42203lcaKiBYiBbiqw&hl=zh-CN&sa=X&output=html_text
 
// 一个计算科学和信息网站
http://liris.cnrs.fr/
 
// 发表论文预印版的网站
https://arxiv.org/
 


 
 
 
教学视频:https://www.youtube.com/watch?v=b9ynYGX3lGY

 


 
 
 
教学视频:// youtube 上的一个系列讲座  https://www.youtube.com/watch?v=ecbeIRVqD7g

 


 
 
 
教学视频:
// youtube 上的一个讲座  Human Action Recognition,比较好的入门讲座 2012年
https://www.youtube.com/watch?v=6MyGJ2lB65s  lesson1
https://www.youtube.com/watch?v=sgcVOOZI8bw lesson2

Mr. Ivan Laptev
INRIA, WILLOW, ENS/INRIA/CNRS UMR 8548, Laboratoire d'Informatique, École Normale Supérieure, Paris
 
 
1 视频中提到,只通过一些点,是无法判断一个人的行为的。同理,仅仅通过一张静态图片,有时候也很难确定人的行为。但是,如果是通过一些点的动画,人就可以进行一些行为理解。 这和吴恩达讲解的机器学习理论有互通之处。
 
吴恩达提到,如果想知道,提供给机器的信息是否足以完成其学习,可以通过人主观的来判断,当前的信息,人是否可以做出一定的推断。如果人可以,那么说明信息量是足够的。如果人都不可以,那机器也很难推断。
 
疑问:但是,这里有一个问题,就是人在真实环境判断行为的时候,显然不会单单只凭借人相关的信息,也会根据环境信息来判断。这样的环境信息,如何让机器来一起学习呢??场景信息也很重要。scene。
 
2 对于行为检测,可能有许多方向。目前可知道的方向是:
2.1 对于预先定义的一些行为,进行识别检测。
2.2 对于异常行为进行检测。未必需要定义具体的行为类别,但是可以判断出异常。
 
3 图像时 2D 的,但实际的信息是 3D 的。所以,信息一定会有一定程度的丢失。这在估计人的姿态的时候,还是有一定的影响。但是,人脑(人眼)接受的信息也基本上是 2d 的。也许可以采用 3d 姿态估计。如果使用 kinect 采集到 3D 的信息,那么姿态估计要容易很多,而且效果也更好。如果采用 2D 的话,则仍然比较困难。
 
4 作者也提到,pose != action
 
5 估计动作可以根据:shape,motion(移动轨迹),motion 的估计,可以提供更多的语义,但我们目前还做不到。图像里介绍了一下光流法。
 


 
 
 
Demo 演示资料:

https://www.youtube.com/watch?v=lhUfo4Cyfgs      检测站立,行走,坐,躺,弯腰 的演示。
https://www.youtube.com/watch?v=RNvUuE4I5jU 
https://www.youtube.com/watch?v=eD5b8d7hV6E  (Real-time Action Recognition by Spatiotemporal Semantic and Structural Forests.pdf)
https://www.youtube.com/watch?v=ajswsWVWQvY
https://www.youtube.com/watch?v=hHHmWmJG9Rw   异常行为状态检测
https://www.youtube.com/watch?v=xKz5DxDWawI   An Efficient Star Skeleton Extraction for Human Action Recognition Using Hidden Markov Models
 


 
 
 
付费资料:

// Deep learning based human behavior recognition in industrial workflows
http://ieeexplore.ieee.org/document/7532630/