오늘은 Trajectory prediction 분야에서 baseline으로 자주 쓰이는 Social- STGCNN에 대해 포스팅하려고 합니다(●'◡'●) 2020년 CVPR에 나온 논문이고, STGCNN 모델을 기반으로 하는 모델입니다. 역시 잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다 🙋🏻♀️
Overall Architecture
우선 Social STGCNN의 이름에 GCN (Graph Convolution Net)이 들어가는 것처럼, 이 모델은 Graph Neural Net 기반의 모델입니다. Graph Neural Net (GNN)을 간단하게 요약하자면 data에서 graph 를 형성한 후, 그 graph의 node와 edge의 구성을 인접행렬(Adjacency matrix)로 표현하며 graph 특성을 학습하는 네트워크라고 할 수 있는데요.
따라서 Graph는 주로 다음과 같은 node와 node들을 잇는 edge로 구성됩니다.
Social STGCNN은 이러한 GNN의 방법중 하나인 GCN에 기반해 아키텍처를 설계합니다. (GCN에 대한 설명은 여기를 참고해주세요) 따라서 전반적인 Social STGCNN 아키텍처는 다음과 같습니다.
맨 좌측처럼 우선 Spatio-Temporal (시공간) graph를 과거 pedestrian data에서 생성하고, 이 graph의 구성과 특성을 잘 학습할 수 있는 Social-STGCNN model을 통해 미래의 보행자의 경로를 예측하는 것이죠. 그렇다면 보행자의 과거 데이터에서 어떻게 시공간 graph를 생성하는지, 그리고 이러한 정보를 잘 포착할 수 있는 model의 구조는 무엇인지 에 대해 다음 절에서 설명하도록 하겠습니다 :)
Problem Formulation
우선 model의 input과 output에 대해 정의하겠습니다. 우선 한 장소에서 보행자들의 이동을 찍은 cctv 영상 데이터가 있다고 가정해봅시다. 이 때 과거 pedestrian의 데이터 단위는 frame이 될 수 있을 것이고, 보행자별로 식별이 가능해야 특정 보행자의 미래 경로를 예측할 수 있을 것입니다. 따라서 기본 time horizon 단위는 frame 단위인 경우가 많습니다.
나아가 N명의 보행자의 경로 중 과거의 $T_o$ time horizon의 데이터가 주어지고 이를 기반으로 미래의 $T_n$ time horizon의 경로를 예측할 때, 모델의 input과 output은 다음과 같을 것입니다.
- Input : N명의 보행자들의 과거 1부터 $T_o$ 시점의 x, y 좌표 (2D space)
- Output : N명의 보행자들의 미래 $T_o+1$ 시점부터 $T_n$ 시점의 x, y 좌표를 예측 (2D space)
하지만 대부분의 Trajectory prediction 분야에서는 위 언급한 Output으로 출력되는 미래의 x, y 좌표를 Bi-variate Gaussian 분포를 따른다고 가정한 뒤, 이러한 가우시안 분포의 파라미터 $\mu$, $\sigma$, $\rho$ 를 MLE를 통해 추정하는 것을 목적으로 합니다. 즉, 다음과 같은 음의 로그 우도함수를 minimize 시키는 것이죠.
Model Description
그럼 이제 본격적으로 Social-STGCNN 아키텍처에 대해 살펴보겠습니다. 크게 모델은 ST-GCNN (Spatio-Temporal Graph Convolution Neural Network) 와 TXP-CNN (Time - Extrapolator Convolution Neural Network) 로 나뉘는데요, 전반적인 아키텍처는 다음과 같습니다.
따라서 저는 이해를 돕기 위해 크게 모델을 다음과 같이 3가지로 나누어 설명 해보려고 합니다.
1) Input으로 들어왔던 과거 보행자 좌표의 graph 표현
2) ST-GCNN 부분
3) TXP-CNN 부분
1) 과거 보행자 좌표의 Graph Representation
우선 Social-STGCNN은 GNN 기반이기 때문에, 과거의 보행자 좌표를 Graph representation 으로 표현하는 작업이 필수적입니다. 앞서 말씀드린 것처럼 Graph는 $G_t = (V_t, E_t)$ 와 같이 $V_t$ (node)와 $E_t$ (edge)로 구성되니, 각각 node와 edge에 어떤 요소가 들어가는지가 중요할 것입니다.
우선 $V_t$ (node) 에는 scene 내의 보행자의 상대위치를 나타내는 상대좌표 $(x_t, y_t)$ 로 구성됩니다. 그리고 $E_t$ (edge)는 node들이 connect 되어 있으면 1, 아니면 0으로 표현합니다.
또한 Graph에서는 노드 간에 얼마나 인접해 있는지를 $A_t$ (Adjacency matrix, 인접행렬)로 표현하는데요, 이 행렬의 element는 다음과 같은 kernel function 을 활용해 weighted adjacency matrix를 생성합니다. 그리고 이렇게 생성된 $A_t$ 는 뒤에서 normalize 과정을 거칩니다.
(cf. kernel function에 대한 ablation study는 논문을 참고해주시면 감사하겠습니다! ).
따라서 이렇게 특정 보행자의 과거 좌표를 Graph로 표현하고, ST-GCNN의 input으로 투입합니다.
2) ST-GCNN
다음은 본격적인 모델 부분입니다. 모델 중 첫 부분인 ST-GCNN Spatio-Temporal Graph Convolution Neural Network의 줄임말로, 앞선 Graph representation 을 input으로 받아 feature를 추출하기 위해 spacial-temporal convolution operations을 수행합니다.
다시 말해 이 부분에서는 Input graph에서 시공간적 정보를 담은 node embedding $\bar{V}$을 출력하는 것을 목적으로 합니다. 참고로 이 논문에서는 1개의 ST-GCNN layer를 사용합니다.
3) TXP-CNN
마지막으로 TXP-CNN은 Time-Extrapolator Convolution Neural Network의 줄임말로, 앞선 ST-GCNN의 output인 final node embedding $\bar{V}$을 input으로 받아 future trajectory에 필요한 가우시안 분포의 파라미터를 예측하는 역할을 합니다. 논문에서 Time-Extrapolator 이라는 말을 사용한 이유는 TXP-CNN이 시간 차원(temporal dimension)에서의 CNN 연산을 통해 미래의 경로를 말 그대로 extrapolate 하기 때문이라고 합니다.
이 부분은 또한 Social-STGCNN의 선행 모델인 STGCNN와 Social-STGCNN의 차별점이 되는 부분이기도 한데요, 이 부분을 추가함으로써 단순 분류를 위한 모델이었던 STGCNN과 달리 시간 차원을 고려한 future trjectory prediction 이 가능해졌다고 합니다. 참고로 이 논문에서는 5개의 TXP-CNN layer를 사용합니다.
Experiments
마지막으로 Experiments 부분입니다. Trajectory prediction 에서는 주로 evaluation metric으로 다음과 같은 두 지표를 사용합니다.
ADE는 Average Displacement Error의 줄임말로 평균적인 displacement error를 고려하는 지표이며, FDE는 Final Displacement Error의 줄임말로 마지막의 displacement error를 고려하는 지표입니다. 따라서 이를 이용해 밴치마크 데이터셋 (ETH, HOTEL, UNIV, ZARA1, ZARA2) 에서 성능을 실험한 결과는 다음과 같다고 합니다.
위의 수치적 performance로 봤을 때 그 당시 SOTA 에 가까운 성능을 보였음을 알 수 있습니다. 또한 아래의 가시적인 결과를 봤을 때도, 예전의 모델인 S-GAN 보다 가우시안 분포의 양상이 ground truth 에 가깝게 그려짐을 알 수 있습니다.
지금까지 Social-STGCNN 에 대해 리뷰해보았습니다! : )
Reference
'Autonomous Driving 🚙 > Trajectory prediction' 카테고리의 다른 글
[Trajectory Prediction] M2I: From Factored Marginal Trajectory Prediction to Interactive Prediction 논문 리뷰 (0) | 2022.09.12 |
---|