Activity Recognition
행동 인식 또는 활동 인식은 에이전트의 작업과 환경 조건에 대한 일련의 관찰을 통해 하나 이상의 에이전트의 작업과 목표를 인식하는 것을 목표로 한다.
Video Action Recognition
- MXNet: TSN, C3D, I3D, I3D_slow, P3D, R3D, R2+1D, Non-local, SlowFast
- PyTorch: TSN, I3D, I3D_slow, R2+1D, Non-local, CSN, SlowFast, TPN
비디오에서 인간의 행동을 인식합니다.
- Action Recognition in Video
- Exploration of different solutions to action recognition in video, using neural networks implemented in PyTorch.
- https://github.com/eriklindernoren/Action-Recognition
Temporal Action Detection
- Temporal Segment Network (TSN)
- 전체 비디오를 N등분, 그 N등분 내에서 랜덤한 스니펫(클립) 샘플링
- 그 스니펫들을 Spatial&Temporal 네트워크 두개에 통과시킨 후 모든 스니펫 결과들을 합쳐서 결과를 내는 모델
- Temporal Segment Network (TSN)
- Temporal Pyramid Network for Action Recognition (TPN)
- https://decisionforce.github.io/TPN/
Human Activity Recognition
- (Action Recognition) Activity Classification Approaches
- (Action Recognition) Human Action Recognition 의 현재
Human Activity Recognition (HAR) 분야에서는 첫 단계로 인간의 행위를 "인식" 하고 "분류"하는 과정으로 나눌 수 있다.
- 인간의 행위를 인식하는 과정을 거친 뒤, 적절한 라벨링을 하여 그 행동이 무엇인지 분류를 해야한다. 예컨대 "walking", "running" 등.
- 결국, Activity Classification Approach 에서 Classification algorithm을 통하여 마지막 결과에서는 각 activity label이 붙게 된다.
- Template-based approach
- 이는 심플하지만, Computational expensive 하다.
- Generative model (생성모델)
- 데이터 x와 그 데이터들의 클래스 y가 input으로 주어졌을 때, Generative model은 먼저 입력 x와 레이블 y의 조인트 확률 P(x|y)의 모델을 학습하면 P(y|x) 를 Bayes rule을 이용하여 계산하고, 마지막으로 알고리즘에서 가장 가능성있는 레이블 y를 선택한다.
- 클래스 (y)에 해당하는 데이터 (x)의 분포를 모델링하기 때문에 샘플 데이터를 생성할 수 있다.
- Generative model의 예로는 Gaussian mixture model, Hidden Markov model, Dynamic Bayesian Network 등이 있다.
- Discriminative model (판별모델)
- Generative model 과는 달리, Discriminative model은 P(y|x)를 바로 학습하기 때문에 이 값을 바로 사용해 class를 Classify 하는 것이다. 즉, 새로 들어온 input에 대해 모든 class들의 posterior를 계산하여 가장 확률이 높은 Class로 결정하는 것이다.
- Discriminative model의 예로는 Support Vector Machine, Neural networks, Relevance Vector Machine 등이 있다.
- Deep Human Action Recognition
- https://github.com/dluvizon/deephar
- 2D/3D Pose Estimation and Action Recognition using Multitask Deep Learning (Youtube 동영상)
- https://www.youtube.com/watch?v=MNEZACbFA4Y&t=6s
Skeleton Based Action Recognition
- MMSkeleton
- A OpenMMLAB toolbox for human pose estimation, skeleton-based action recognition, and action synthesis.
- https://github.com/open-mmlab/mmskeleton
-
Mmskeleton_demo_video.gif
- Multi-person Real-time Action Recognition Based-on Human Skeleton
- Apply ML to the skeletons from OpenPose; 9 actions; multiple people. (WARNING: I'm sorry that this is only good for course demo, not for real world applications !!! Those ary very difficult !!!)
- https://github.com/felixchenfy/Realtime-Action-Recognition
-
Realtime-Action-Recognition-demo-video.gif
- Residual Graph Convolutional Network (ResGCN) v1.0
- ResGCN - an efficient baseline for skeleton-based human action recognition.
- https://github.com/yfsong0709/ResGCNv1
Documentation
- Independently Recurrent Neural Network (IndRNN) - Building A Longer and Deeper RNN
- https://arxiv.org/abs/1803.04831
- Deep Independently Recurrent Neural Network (IndRNN)
- https://arxiv.org/abs/1910.06251
See also
Favprite site
- Github - awesome-action-recognition 1
- Github - Awesome-Skeleton-based-Action-Recognition
- Basic of Action Recognition 리뷰
- Deep learning for videos, action recognition
References
-
Awesome-action-recognition-README-ef12a5c.md.zip ↩