Skip to content

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/
SlowFast
SlowFast Networks 리뷰

Human Activity 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

References


  1. Awesome-action-recognition-README-ef12a5c.md.zip