해당 논문은 크게 세 부분으로 나뉘어 있다. video instance recognition, video local aggregation, IDT이다.
"Unsupervised Feature Learning via Non-Parametric Instance Discrimination" 논문에서 제시된 방법으로 unsupervised learning에서 input data를 각각의 개별적인 class로 두는 것이다.
local aggregation은 encoded input data를 k-menas clustering을 통해 판별하는데 이때 non-parametric loss를 사용한다. 그리고 EM framework를 사용해 각각의 데이터를 대표하는 가우시안 분포를 찾아낸다.
하지만 3D ConvNet의 단점이 2D ConvNet이 spatial정보를 추출하는 만큼 spatial-temporal 정보를 추출하지 못한다. 특히, 유사한 배경에 다른 행동을 취하는 동영상일 경우 동일한 class가 나오는 경우가 있다. 따라서 dense trajectory를 이용해 행동을 encode한다.
큰 그림으로 보자면 먼저 IDT cluster를 사용해 수렴할때까지 학습을 시킨 뒤 3D ConvNet과 함께 fine-tuning을 실시한다.
딥러닝 기반 비지도 학습에서는 neural network가 유사한 input data를 가깝도록 embedding하는 것이 중요하다. classification model에서는 softmax를 주로 사용한다. 이때, 각 instance가 학습이 가능한 weight vector를 이용한다. 하지만 instance간의 explicit한 비교를 막기 위해 weight vector를 각각의 embedding vector로 replace한다.
의미상으로 유사한 instance 간의 distance를 줄이기 위해 두 종류의 neighbors를 사용하여 negative log likelihood를 구성한다.
C는 k-means clustering algorithm을 적용하여 같은 cluster 내에 존재하는 embedded data를 구한다. 그리고 B는 consine distance를 사용해 지정한 범위 안에 들어오는 C가 아닌 embedded data를 의미한다.
하지만 이때 k-means algorithm의 hyper parameter 등과 같은 요인으로 인해 noise가 생길 수도 있다. 따라서 각각 다른 조건으로 clustering을 실시하고 stable한 결과가 나오도록 한다.
"Local Aggregation for Unsupervised Learning of Visual Embeddings" 논문에서 나온 loss를 사용했다.
3D ConvNet의 다소 부족한 feature extraction 능력을 보완하기 위해 "Action Recognition with Improved Trajectories" 논문에 나온 IDT (Improved Dense Trajectory)를 그대로 적용하였다.
IDT를 적용하면 위에 나온 예제 이미지와 같이 무수히 많은 descriptor가 존재한다. 따라서 compact vector로 만들어 준다. 먼저, PCA를 실시하고 그 후 GMM을 적용한다. 그러면 trajectory descriptor x를 각각 GMM 요소의 미분 값들을 쌓는다.
ref.