[논문 리뷰] Tracking Persons-of-Interest via Unsupervised Representation Adaptation
Multi Object Tracking의 하위 도메인이라 할 수 있는 Multi Face Tracking과 관련된 프로젝트를 진행하기 위해 논문 서베이를 진행하였습니다.
Multi Object Tracking은 매년 새로운 모델이 등장하며 기술의 발전을 보여주고 있는 반면, 얼굴에 특화되어 있는 Multi Face Tracking 분야는 산업에서의 필요성이 분명히 존재함에도 불구하고 논문의 수가 턱없이 부족하고 연구가 충분히 진행되고 있지 않다는 느낌을 많이 받았습니다.
서베이 하였던 논문 중 가장 최신의 메이저 학회 논문인 Tracking Persons-of-Interest via Unsupervised Representation Adaptation을 공유드리며 이 분야에 대한 연구 및 프로젝트를 진행 중이신 분들께 조금이나마 도움이 되었으면 합니다.
본 논문은 2020년도 IJCV(International Journal of Computer Vision)에 등재되었습니다.
Motivation
Unconstrained Videos
Unconstrained Video에 대해 설명하기 전에 Constrained Video에 대해 설명을 드리고자 합니다. Constrained Video는
- 카메라의 구도가 고정되어 있습니다.
- 카메라의 이동 속도가 느려 각도 및 구도의 변환이 안정적입니다.
- 장면 전환이 거의 이루어지지 않습니다.
대표적인 예로 CCTV 혹은 차량 블랙박스 영상을 들 수 있습니다. CCTV는 특정 공간에 설치되어 구도 및 각도의 변환이 이루어지지 않고, 한 공간을 계속 감시해야 하므로 장면 전환이 이루어지지 않습니다.
그동안의 Multi Object Tracking도 CCTV의 보행자 추적(Pedestrian Tracking) 및 차량 블랙박스의 자동차, 보행자 및 장애물 추적 위주로 성능의 발전을 거듭해왔습니다.
하지만 구도, 각도 및 장면 전환 등의 제약 조건이 없는 뮤직비디오, 드라마, 영화 등의 상업 영상에 Constrained Video에서 진행했던 Multi Object Tracking 모델을 적용하면 성능이 제대로 나오지 않는 것을 확인할 수 있습니다.
그 이유는 다음과 같습니다.
- 여러 대의 움직이는 카메라에 의해 비디오가 다양한 각도 및 장면이 생성됩니다.
- 여러 장면이 포함되어 프레임이 근접한 두 개의 장면이 확연히 다릅니다.
- 다른 장면에 같은 인물이 존재하더라도 크기, 포즈, 표정, 조명, 화장 등에 의한 다양한 외모 변화가 존재합니다.
- 저화질, 가려짐, 모션 블러, 복잡한 배경 등에 의해 Face Detection 결과의 신뢰도가 낮습니다.
Tracking by Detection
Tracking by Detection은 다음의 과정을 거쳐 진행됩니다.
- 비디오가 입력되면 프레임별로 Object Detection이 진행됩니다.
- Detection Box의 Feature 및 IoU 유사도를 비교하여 같은 Object라고 판단되는 Detection Box를 연결하여 Trajectories를 생성합니다.
이러한 방법은 Constrained Video처럼 Target이 연속적으로 검출(detect)되고 카메라가 고정되어 있거나 천천히 움직일 때에 효과적입니다.
하지만 Unconstrained Videos에서는 Object의 모양과 크기가 일관적이지 않고, 이웃한 장면에서의 Object의 움직임이 연속적이지 않기 때문에 Data Association 단계에서 큰 어려움을 겪게 됩니다.
Contribution
본 논문의 주요 기여 항목은 다음과 같습니다.
- Contextual constraints(맥락적 제약)을 통해 자동으로 발견된 샘플에 대한 deep contrastive(심층 대조) 및 triplet-based metric learning으로 얼굴의 큰 외관 변화를 설명하였습니다.
- 개선된 Triplet Loss function인 Sym-Triplet을 소개하였습니다.
- 이전 논문들이 False Positives를 수동으로 제거한 Face Track를 사용한 반면, 본 논문은 Raw Video를 입력값으로 사용하였습니다.
- YouTube에서 8개의 새로운 뮤직비디오 데이터 셋을 구축하여 Unconstrained Video에서의 Multi Face Tracking 성능을 평가하였습니다.
- DukeMTMC 데이터 셋을 활용하여 본 논문이 얼굴뿐만 아니라 보행자 등의 다른 Object를 Tracking 할 수 있음을 보여주었습니다.
Algorithmic Overview
A. Supervised Pre-training
- AlexNet architecture를 CASIA-WebFace dataset으로 training 하였습니다.
- 9,427명을 골랐으며 dataset의 80%는 training set으로, 나머지 20%는 validation set으로 구성하였습니다.
- 각 얼굴 이미지는 227 x 227 x 3 픽셀로 정규화되었습니다.
- Caffe toolbox를 사용하여 20,000번 반복할 때마다 10배씩 감소하는 초기 learning rate가 0.01인 확률적 경사 하강법(SGD)를 사용하였습니다.
B. Discovering Training Samples
- Shot detection and tracklets linking
- Shot Change Detection(장면 전환 탐지) 방법을 활용하여 비디오를 장면 별로 분할해 줍니다.
- 두 개의 임곗값(two-threshold) 방법을 이용해 각 프레임별로 Face Detection을 진행합니다. (two-threshold strategy는 더 좋은 방법으로 대체될 수 있습니다.)
- 외관, 위치, 크기의 유사도에 기반하여 인접한 프레임의 Face Detection Box를 연결하여 Tracklet을 생성합니다.
- 5 프레임보다 짧은 Tracklet은 삭제됩니다.
2. Spatio-temporal constraints
Tracklet의 집합을 사용하여 동일 인물 혹은 다른 인물에 속하는 positive 혹은 negative training sample 쌍의 large collection을 발견할 수 있습니다.
- Positive pair: 하나의 Tracklet에 있는 모든 쌍의 얼굴은 한 사람의 것입니다.
- Negative pair: 같은 프레임에 나타나는 두 개의 얼굴 tracklet에는 다른 사람의 얼굴이 포함되어 있습니다.
Spatio-temporal Constraints(시공간 제약)만을 사용하였을 때는 두 가지의 문제점이 생길 수 있습니다.
- Positive 얼굴 쌍은 종종 모양 변형이 작습니다.
- Negative 얼굴 쌍은 모두 동일한 장면에서 동시에 발생하는 Tracklet에서 생성되어 다른 장면에서 생성된 동일한 얼굴을 구분하거나 연결하기 어렵습니다.
이러한 문제점들을 해결하기 위하여 Contextual Constraints를 사용합니다.
3. Contextual constraints
얼굴 특징만을 활용하는 것이 아니라 옷의 특징도 함께 활용하여 Tracking을 진행하는 것을 의미합니다.
위의 뮤직비디오처럼 처음부터 끝까지 등장인물이 같은 옷을 입고 등장한다면 얼굴 특징만을 활용하는 것보다 인물 구분을 훌륭하게 잘 해내지만, 장면이 전환되었을 때 같은 인물이 다른 옷을 입고 있다면 오히려 Face feature가 비슷해도 옷의 feature 때문에 인물 구분을 정확히 해내지 못한다는 단점이 존재합니다.
C. Learning Adaptive Discriminative Features
본 논문에서는 Discriminative Feature를 학습하기 위해 사용되는 세 가지의 Loss를 소개하였습니다.
- Contrastive Loss
Constrastive Loss는 그림 좌측 및 위의 식에서 확인할 수 있듯이 비슷한 특징을 가진 두 얼굴은 Positive Pair로, 그렇지 않은 두 얼굴은 Negative Pair로 분류합니다.
2. Triplet Loss
Triplet Loss는 비슷한 특징을 가진 두 얼굴은 서로 가깝게, 그렇지 않은 두 얼굴은 서로 멀어지게 하여 학습을 시킵니다. 하단의 그림에서 같은 사람의 얼굴은 원으로, 다른 사람의 얼굴은 세모로 표현하였습니다.
3. Symmetric Triplet Loss
Symmetric Triplet Loss(SymTriplet Loss)는 본 논문의 저자들이 Triplet Loss의 문제점을 지적하고 수정한 Loss Function입니다. 기존의 Triplet Loss는 좌측 그림에서 파악할 수 있듯이, 파란색 원과 마젠타의 특징 비교는 진행됐지만 빨간색 원과 마젠타는 그렇지 않은 것을 확인할 수 있습니다.
SymTriplet Loss는 모든 얼굴 사이의 Feature를 비교하여 더 확실한 Discriminative Feature를 학습할 수 있도록 하였습니다.
D. Linking Tracklets
Adaptive Discriminative Feature를 학습한 후에 획득한 Tracklet을 연결하여 최종 얼굴 Trajectories를 획득할 수 있습니다.
- 같은 장면 안에 존재하는 Tracklet을 연결합니다.
학습된 Deep Network를 사용하여 Face Detection Box에서 Feature를 추출한 후, 시간, 운동학 및 외관 정보를 사용하여 Tracklet 사이의 연결 확률을 측정합니다. 그 후 Hungarian Algorithm을 사용하여 동일한 Label의 Tracklet을 연결합니다. - 장면 사이의 Tracklet을 연결합니다.
Experiments
Datasets
- Frontal Video
- BBT dataset: 미국 TV 시트콤 “빅뱅 이론”
- BUFFY dataset: 미국 TV 시트콤 “The Buffy the Vampire slayer”
- YouTube에서 수집한 Music Video dataset
Evaluation Metrics
- Weighted Purity: 클러스터링의 품질을 측정합니다.
- CLEAR MOT: Multi Object Tracking에서 주로 사용되는 측정 기법입니다. Recall, Precision, F1, FAF, IDs, Frag, MOTA, MOTP 등을 측정합니다.
Results
MOTA 값이 평가에서 가장 중요한 요소인데, 논문에서 제안한 방법의 MOTA 값이 제일 높은 것을 확인할 수 있습니다.
또한 Contrastive, Triplet, SymTriplet 세 가지 Loss Function을 적용하여 비교한 실험 결괏값이 존재하는데, 논문에서 제안한 SymTriplet의 성능이 제일 잘 나오는 것을 확인할 수 있습니다.
실제로 Bounding Box를 출력해 본 결괏값은 다음과 같습니다. ID가 초반 Frame부터 후반 Frame까지 큰 변화 없이 유지되는 것을 확인할 수 있습니다.