Ⅰ. 서론
인간 행동 인식(Human Action Recognition, HAR)은 2D 또는 3D 스켈레톤 데이터 시퀀스로부터 인간의 동작을 인식하는 기술이다[1]. 인간 행동 인식 기술은 인간과 로봇 간의 상호작용, 스포츠 분석 및 감시 시스템 등의 분야 외에도 대형 사이니지의 카메라를 이용하여 인간 동작을 실시간으로 인식하고 해당 상황에 적합한 콘텐츠를 출력하는 기술로 활용할 수 있다[2].
초기 HAR 연구는 사람 골격 구조와 동작을 나타내는 hand-crafted features를 구축하는 이미지 처리 기법을 사용했다. 그러나 hand-crafted features는 hyper-parameters에 민감하며, 동작 및 궤적 포착을 위한 시공간적 특징 추출에 한계가 있다[3].
최근 딥러닝 모델 기반 HAR 연구는 비디오 시퀀스에서 스켈레톤 구조 생성 및 시공간적 특징 추출 과정을 자동화했다[4]. 초기 동작 인식 딥러닝 모델 연구는 합성곱 신경망(Convolutional Neural Network, CNN)과 순환 신경망(Recurrent Neural Network, RNN)이 주로 사용되었다[5]. CNN 기반 동작 인식 모델은 스켈레톤 데이터를 pseudo-images로 변환하여 모델 학습에 사용한다[6]. CNN 기반 동작 인식 모델은 이미지의 공간적인 정보를 내재한 특징 추출을 통해 높은 분류 정확도를 얻었다. RNN 기반 동작 인식 모델은 스켈레톤 데이터의 관절 좌표 벡터 시퀀스를 모델 학습에 사용한다[7][8]. RNN 기반 동작 인식 모델은 스켈레톤 시퀀스의 시간적인 정보를 내재한 특징 추출을 통해 높은 분류 정확도를 얻었다. 스켈레톤 데이터의 경우, 시공간적 특징 외에도 관절 간의 관계성에 크게 의존되는 경향이 있다. CNN과 RNN 기반의 인간 행동 인식은 스켈레톤 데이터 관절 간의 관계성을 고려하는데 한계점이 있다.
딥러닝 분야에서 Graph Neural Network (GNN) 기반의 연구들이 등장하였다[9][10]. GNN은 입력 데이터로 그래프 구조 데이터를 사용하는 네트워크로, 스켈레톤 그래프를 사용하는 행동 인식 분야에 적합하다. Spatial temporal graph convolutional network (ST-GCN) 기반 행동 인식 모델은 행동 인식을 위해 GNN을 도입한 최초의 모델이다[10]. ST-GCN 기반 행동 인식 모델은 graph convolution을 통해 스켈레톤 그래프의 시공간적 특징을 추출하며, 그래프의 관계성을 고려하여 학습할 수 있다. ST-GCN 기반 행동 인식 딥러닝 모델은 RNN과 CNN 기반 모델보다 우수한 분류 정확도를 달성하였다. 그러나 ST-GCN 기반 행동 인식 모델은 동작 시퀀스에서 핵심이 되는 관절과 시점을 고려하지 못하는 한계점이 있다.
본 논문에서는 몰입형 대형 사이니지 콘텐츠를 위한 spatial temporal attention graph convolutional network (STAGCN) 기반 행동 인식 시스템을 제안한다. STAGCN은 ST-GCN에 attention mechanism을 결합한 네트워크이다. Attention mechanism과의 결합을 통해 스켈레톤 그래프 노드 사이의 전역적인 관계성을 추출하고 스켈레톤 시퀀스의 핵심이 되는 관절과 시점을 고려할 수 있다.
본 논문은 다음과 같이 전개된다. Ⅱ장에서는 본 논문에서 제안한 몰입형 대형 사이니지 콘텐츠를 위한 STAGCN 기반 행동 인식 시스템에 관해 기술한다. Ⅲ장에서는 시뮬레이션 결과를 통해 모델의 성능을 확인하고 Ⅳ장에서 결론을 통해 마무리한다.
Ⅱ. STAGCN 기반 행동 인식 시스템
본 논문은 대형 사이니지의 카메라를 통해 인간 동작 인식을 수행하는 STAGCN 기반 행동 인식 시스템을 제안하며, 제안하는 시스템은 그림 1에 나타난다. 제안된 시스템의 프로세스는 다음과 같다. 우선 대형 사이니지에 부착된 카메라와 인간 포즈 추정을 통해 스켈레톤 시퀀스를 획득한다. 획득한 스켈레톤 시퀀스는 STAGCN 기반 동작 인식 모델의 입력 데이터로 사용된다. STAGCN 기반 동작 인식 모델은 스켈레톤 데이터의 시 공간적 특징을 통해 동작 인식을 수행한다. 대형 사이니지는 인식된 동작을 통해 상황을 파악하고, 상황에 맞는 콘텐츠 제공이 가능하다.
그림 1. STAGCN 기반 행동 인식 시스템의 구조.
Fig. 1. Architecture of proposed STAGCN based human action recognition system.
1. ST-GCN
ST-GCN은 STAGCN에서 활용된다. ST-GCN은 입력 데이터로 스켈레톤 그래프를 사용한다. 스켈레톤 그래프 g는 식 (1)과 같이 공식화된다.
g = (V, ℰ). (1)
식 (1)에서 V는 신체 관절에 해당하는 node(vertex)의 집합, ℰ는 각 신체 관절을 연결하는 시공간적 edge를 의미한다. V는 식 (2)와 같이 공식화된다.
V = {vti | t = 1, ..., T, i = 1, ..., N}. (2)
식 (2)에서 t는 T번째 frame, i는 N번째 관절을 의미한다. T는 frame의 개수, N은 관절의 개수이다. ℰ는 각 신체 관절을 연결하는 시공간적 edge를 의미한다. ℰ는 공간적 edge에 해당하는 intra-body edges와 시간적 edge에 해당하는 inter-frame edges로 구성된다. intra-body edges 식 (3)와 같이 공식화된다.
ES = {vti vtj | (i, j) ∈ H}. (3)
식 (3)에서 H는 연결된 관절 노드의 집합이다. Intra-body edges는 관절 노드를 연결해준다. inter-frame edges는 식 (4)와 같이 공식화된다.
EF = {vti v(t+1}i}. (4)
Inter-frame edges는 스켈레톤 프레임 간 같은 관절을 연결한다. ST-GCN은 spatial graph convolution을 통해 인접한 관절 노드 간의 시공간적 특징을 추출할 수 있다. 식 (5)는 spatial graph convolution을 나타낸다.
\(\begin{aligned}f_{\text {out }}\left(v_{t i}\right)=\sum_{v_{i t} \in B\left(v_{t}\right)} \frac{1}{Z_{t i}\left(v_{t j}\right)} f_{i n}\left(v_{t j}\right) \cdot w\left(l_{t i}\left(v_{t j}\right)\right)\end{aligned}\). (5)
식 (5)에서 fin는 input feature vector이다. B(vti)는 convolution sampling area이다. convolution sampling area는 target node vti와 neighbor node vtj 간의 거리인 1-distance로 정의된다. Zti는 vti와 1-distance에 위치한 vtj들의 cardinality를 계산하는 함수이다.
ST-GCN은 spatial graph convolution을 통해 스켈레톤 시퀀스로부터 관절 특징을 얻을 수 있다. ST-GCN은 intra-body edge와 inter-frame edge로 연결된 노드 간 중요도 차이를 반영할 수 없어 한계를 가진다. 어느 동작에서 특정 관절이나 시점이 동작 인식에 더 중요할 수 있는데, 기존의 ST-GCN 모델은 이러한 중요도 차이를 반영하지 못한다.
2. STAGCN
STAGCN은 spatial attention block, temporal attention block 그리고 multi-scale temporal convolution block으로 구성되어 있다. 그림 2는 STA-GCN의 전체적인 구조를 나타낸 그림이다.
그림 2. STAGCN의 구조.
Fig. 2. structure of STAGCN.
가. Spatial Attention Block
STAGCN에서 Spatial attention block은 스켈레톤 데이터의 관절 간 공간적 특징을 포착할 수 있다. Spatial attention block은 ST-GCN과 graph attention network (GAT)로 구성된다. GAT는 intra-body edge로 구성된 그래프 노드에 서로 다른 가중치를 할당할 수 있다. GAT에서 입력 g는 선형 변환 의해 queries QSA, keys KSA, values V로 변환된다. 선형 변환 과정에서, QSA와 KSA의 시간적 특징은 축소되고 공간적 특징은 유지된다. 반면 V는 시공간적 특징을 모두 유지한다. QSA와 KSA는 노드 간의 attention score AttnSA 계산에 사용된다. AttnSA는 식 (6)을 통해 공식화된다.
Attn = tanh(QKT). (6)
masked attention score Attnmask는 인접한 노드끼리만 서로 영향을 끼치도록 할 수 있다. Attnmask는 식 (7)을 통해 공식화된다.
Attnmask = α·(W*sAttn) + A. (7)
식 (7)에서 α는 learnable scaling factor, Ws은 weight matrix, A는 adjency matrix를 의미한다. 계산된 Attnmask는 V에 가중치를 부과하는 데 사용된다. GAT의 출력인 YGAT_S는 식 (8)을 통해 공식화된다.
YGAT_S = Σ(Attnmask · V). (8)
식 (8)에서 masked attention score를 이용해 V에 가중치를 부과하고 그 결과를 합산하여 GAT의 출력 YGAT_S을 계산한다. GCN과 GAT에서 나온 출력은 합쳐진 뒤, batch normalization을 진행한 뒤 ReLU 함수를 통과하여 spatial attention block에서 출력된다. Spatial attention block은 attention mechanism을 사용하여 관절 간의 전역적 연관성을 지닌 공간적 특징을 추출할 수 있다.
나. Temporal Attention Block
Temporal attention block은 intra-frame edge로 연결된 노드의 시간적 특징 추출을 할 수 있다. Temporal attention block은 GAT을 활용하여 inter-frame edges로 연결된 노드에 서로 다른 가중치를 할당할 수 있다. GAT에서 입력 g는 spatial attention block와 유사하게 QTA, KTA와 V로 선형 변환된다. 그러나 QTA와 KTA가 선형 변환되는 과정에서 공간적 특징이 축소되고 시간적 특징을 유지되는 점이 다르다. QTA와 KTA는 attention score AttnTA 계산에 사용된다. Attn은 식 (9)를 통해 공식화된다.
Attn = tanh(QTAKTTA). (9)
계산된 AttnTA는 V에 가중치를 부과하는 데 사용된다. GAT의 출력인 YGAT_S는 식 (10)을 통해 공식화된다.
YGAT_T = Σ(((Wt * Attn) + A) ·V). (10)
식 (10)에서 A는 adjacency matrix를 의미한다. GAT에서 나온 출력은 batch normalization을 진행한 후 ReLU 함수를 통과하여 spatial attention block에서 출력된다. Temporal attention block은 네트워크가 시간 시퀀스의 주요 시점에 집중할 수 있도록 하여 복잡한 동작의 시간적 연결성 파악에 도움을 줄 수 있다.
다. Multi-Scale Temporal Convolution Block
Multi-scale temporal convolution block은 다양한 시간 규모에서 동작의 시간적 특징을 포착할 수 있다. Multi-scale temporal convolution block의 입력 데이터는 병렬로 연결된 convolutional layers를 통해 처리된다. 각 convolutional layer는 서로 다른 kernel size를 사용하여 multi-scale에서의 시간적 특징 추출이 가능하다. Size가 작은 커널은 단기적인 움직임에 대한 시간적 특징 추출에, size가 큰 커널은 장기적인 움직임에 대한 시간적 특징 추출에 사용할 수 있다. Multi-scale temporal convolution block은 skeleton sequence로부터 multi-scale의 시간적인 특징을 추출하여 동작 인식 분류 정확도를 높일 수 있다.
Ⅲ. 시뮬레이션
1. 시뮬레이션 환경
NTU RGB+D 데이터셋은 인간 동작 인식 분야에서 3D 스켈레톤 데이터를 제공하는 데이터셋 중 하나이다[11]. NTU RGB+D 데이터셋은 2016년에 공개되었으며, 약 56,000개의 동작 시퀀스를 제공한다. 동작 시퀀스는 60가지의 동작 클래스로 구분된다. 각 동작 시퀀스에는 최대 2명의 사람이 포함되며 사람마다 25개의 관절로 구성된 스켈레톤 정보를 제공한다. 세 개의 다른 카메라 각도에서 동시에 녹화가 이루어져 다양한 각도에서의 동작을 포착할 수 있다. NTU GRB+D 데이터셋을 훈련용 데이터와 테스트용 데이터로 나누는 기준으로 X-sub과 X-view이 존재한다. X-sub(Cross-subject)은 데이터로 분리할 때의 기준이 사람이 된다. 즉 훈련 데이터와 테스트 데이터에 서로 다른 사람들이 나타난다. X-view(Cross-view)는 데이터로 분리하는 기준이 카메라 시점이 된다. 카메라 1, 2의 시점에서 촬영된 동작을 훈련용 데이터로 카메라 3의 시점에서 촬영된 동작을 테스트 데이터로 사용한다. X-sub과 X-view는 모델의 일반화 능력을 다른 관점에서 테스트해볼 수 있다.
제안된 모델을 구현하기 위해 PyTorch를 사용한다. 모델 학습은 GPU는 NVIDIA GeForce RTX 4070 1대, CPU는 13th Gen Inter(R) Core(TM) i7-13700F 2.10GHz, RAM은 64GB에서 수행되었다. 학습에 사용한 하이퍼 파라미터는 표 1에 나타난다.
표 1. 제안한 모델 학습에 사용된 하이퍼 파라미터.
Table 1. hyper-parameters for proposed model.
2. 평가 지표
모델 성능 평가를 위한 평가 지표로 top-1 accuracy metric을 사용한다. top-1 accuracy는 모델의 softmax를 통한 예측 중 가장 높은 확률값을 가지는 클래스가 ground-truth 클래스와 일치하는 비율이다.
3. 시뮬레이션 결과
표 2는 본 논문에서 제안한 STA-GCN과 기존 모델과의 성능을 비교한다. STA-GCN은 기존 모델에 비해 높은 성능을 달성한 것을 확인했다. STA-GCN은 ST-GCN보다 X-sub에서 8%, X-view에서 6.3% 높은 성능을 달성하였다. 카메라에 인식되는 사람의 신체 스펙이 다양하거나 카메라의 시점이 달라진 환경에서도 STA-GCN이 효과적으로 사용될 것으로 예상된다. 제안된 모델의 향상된 top-1 accuracy는 attention mechanism과 multi-scale temporal convolution block에 의해 달성될 수 있었다. attention mechanism은 동작 인식에 도움이 되는 핵심 노드 주의에 사용되어 동작 인식의 분류 정확도를 향상하는 데 도움이 된다.
표 2. NTU RGB+D 데이터셋에 대한 모델별 비교.
Table 2. Comparisons of the different models using NTU RGB+D datraset.
Ⅳ. 결론
본 논문에서는 몰입형 대형 사이니지 콘텐츠를 위한 STAGCN 기반 행동 인식 시스템을 제안한다. STAGCN은 스켈레톤 데이터 시퀀스 내의 중요한 시공간적 특징에 가중치를 부과하여, 동작의 핵심이 되는 관절과 시점을 고려하지 못했던 기존 방법의 한계를 해결하였다. 제안한 시스템 모델은 NTU RGB+D 데이터셋을 이용하여 시뮬레이션을 통해 기존의 행동 인식 모델과 비교했을 때 높은 성능을 달성한 것을 확인하였다. STAGCN 기반 행동 인식 시스템은 대형 사이니지의 카메라를 이용한 행동 인식 시스템에 활용될 수 있다. 사용자 혹은 방문객의 동작을 인식하고 상황에 맞는 몰입형 콘텐츠 제공이 가능할 것으로 기대된다.
References
- Y. Yin, M. Liu, Q. Zhu, S. Zhang, N. A. Hussien, and Y. Fan, "Multibranch attention graph convolutional networks for 3-D human pose estimation", IEEE Transactions on Instrumentation and Measurement, vol. 72, pp. 1-12, July 2023. DOI: https://doi.org/10.1109/TIM.2023.3292957
- Z. Sun, Q. Ke, H. Rahmani, M. Bennamoun, G. Wang and J. Liu, "Human action recognition from various data modalities: A review", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 45, no. 3, pp. 3200-3225, Mar 2023. DOI: https://doi.org/10.1109/TPAMI.2022.3183112
- Q. Wang, K. Zhang and M. A. Asghar, "Skeleton-based ST-GCN for human action recognition with extended skeleton gaph and partitioning strategy", IEEE Access, vol. 10, pp. 41403-41410, Apr 2022. DOI: https://doi.org/10.1109/ACCESS.2022.3164711
- K. Banjarey, S. P. Sahu and D. K. Dewangan, "A survey on human activity recognition using sensors and deep learning methods", 2021 5th International Conference on Computing Methodologies and Communication (ICCMC), India, pp. 1610-1617, Apr 2021. DOI: https://doi.org/10.1109/ICCMC51019.2021.9418255
- B. Hwang, et al, "Performance of exercise posture correction system based on deep learning", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 22, No. 5, pp. 177-183, Oct 2022. DOI: https://doi.org/10.7236/JIIBC.2022.22.5.177
- C. Li, P. Wang, S. Wang, Y. Hou and W. Li, "Skeleton-based action recognition using LSTM and CNN", 2017 IEEE International Conference on Multimedia & Expo Workshops (ICMEW), Hong Kong, pp. 585-590, July 2017. DOI: https://doi.org/10.1109/ICMEW.2017.8026287
- Y. Du, Wei Wang and Liang Wang. "Hierarchical recurrent neural network for skeleton based action recognition", IEEE conference on computer vision and pattern recognition, USA, pp. 1110-1118, 2015. DOI: https://doi.org/10.1109/CVPR.2015.7298714
- S. Hong, J. Bang, Y. Kim, H. Kim, "Research on Time Aligned-LSTM Human Activity Prediction Model using Time Information", The Journal of KIIT, vol. 20, no. 10, pp. 29-37, 2022 DOI: https://doi.org/10.14801/jkiit.2022.20.10.29
- Seon, et al, "GraphSAGE with contrastive encoder for efficient fault diagnosis in industrial IoT systems", ICT express, early access, July 2023. DOI: https://doi.org/10.1016/j.icte.2023.07.012
- S. Yan, Y. Xiong, D. Lin, "Spatial temporal graph convolutional networks for skeleton-based action recognition", AAAI conference on artificial intelligence, Vol. 32, No. 1, 2018. DOI: https://doi.org/10.1609/aaai.v32i1.12328
- A. Shahroudy, J. Liu, TT. Ng, G. Wang, "NTU RGB+D: A large scale dataset for 3D human activity analysis", IEEE conference on computer vision and pattern recognition, USA, pp. 1010-1019, 2016. DOI: https://doi.org/10.1109/CVPR.2016.115