투빅스 14기 김민경
1. Multiple Object Tracking(MOT)란?
- 다중 객체 추적(Multi-Object Tracking, MOT)은 다수의 객체들을 추적하기 위해 detection 결과 간 연관(association)을 수행하는 과정이다.
- 즉, detection된 객체 정보를 기반으로 각 프레임 간의 동일 객체에 대한 detection 반응을 연관(association)하여 각 객체에 대한 전체 궤도를 완성한다.
따라서 보다 robust한 MOT를 위해 다양한 데이터 연관(data association) 알고리즘이 개발되었다.
(MOT 문제 = 데이터 연관(data association) 문제로 볼 수 있음)
- MOT 기술은 감지 시스템, 자율 주행 시스템과 같은 실생활 분야에 기반 기술로 광범위하게 사용되고 있다.
- MOT 방식은 객체 detection 결과와의 결합 유무에 따라 크게 "detection-free-tracking 방식"과 "tracking-by-detection 방식"으로 구분된다.
최근 고성능 detector들이 개발됨에 따라, "tracking-by-detection 방식"으로 대부분의 연구가 진행되고 있다.
- tracking-by-detection의 과정
출처 : Weiqiang Li, Jiatong Mu, Guizhong Liu School of Information and
Communication Engineering, Xi’an Jiaotong University, Xi'an, China
- tracking-by-detection 방식의 MOT 방법은 연관(association) 방식에 따라 크게 "배치 트래킹 방식"과 "온라인 트래킹 방식"으로 구분된다.
- 배치 트래킹 방식은 전체 트래킹 궤도를 형성하기 위해 전체 프레임에서 detection된 모든 객체 정보에 대해 반복적인 detection 반응 연관을 수행한다.
전체 프레임에 대한 객체 detection 정보를 사용하여 트래킹 궤도를 형성하기 때문에 온라인 트래킹 방식보다 좋은 트래킹 성능을 보인다.
그러나, 사전에 전체 프레임에 대한 객체 detection 정보를 가지고 있어야하기 때문에 실시간 어플리케이션에 적용하기는 어렵다.
- 온라인 트래킹 방식은 미래 프레임에 대한 정보 없이 과거와 현재 프레임의 객체 detection 정보만을 사용하여 트래킹 궤도 형성을 위한 detection 반응 연관을 수행하는 방식이다.
따라서, 온라인 트래킹 방식이 배치 트래킹 방식에 비해 실시간 어플리케이션에 더욱 적합하다.
온라인 트래킹 방식은 미래 프레임 정보의 부재로 인하여, 긴 기간의 폐색(occlusion)이나 객체 외형(appearance) 변화에 대해 취약하며, 트래킹 궤도 형성을 위한 detection 반응 연관이 어려워지는 문제가 발생한다.
이는 트랙 분리(track fragment) 및 IDs 전환(identity switches) 현상을 발생 시켜 트래킹 성능을 저하시킨다.
2. Methodology
출처 : CPU 환경에서의 실시간 동작을 위한 딥러닝 기반 다중 객체 추적 시스템
(김경훈, 허준호, 강석주)
(1) Detection
- CNN 기반 detection을 활용하기 위해 Faster RCNN detection 프레임워크를 이용한다.
- Faster RCNN?
출처 : Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
-
두 단계로 구성된 end-to-end 프레임워크
-
첫 번째 단계에서 특징을 추출하고,
두 번째 단계에서 영역을 제안한 다음, 각 후보 영역에 대해 CNN을 사용하여 해당 영상에 대해 분류를 하는 방법
-
(참고) R-CNN 계열의 object detection 네트워크는 높은 detection 성능을 보이지만, 처리 속도가 매우 느리다는 단점을 가지고 있음.
-
논문에 따르면 detection 성능을 향상시킬 수 있는 다른 아키텍처로 교체할 수 있기 때문에, 실시간 처리에 더 적합한 Single Shot Multi-box Detector(SSD), YOLO 등의 object detection 네트워크로 대체할 수 있을 것 같다.
-
여기서는 Faster RCNN에서 제공하는 두 네트워크 Faster RCNN (ZF: Zeiler and Fergus)와 더 깊은 Faster RCNN(VGG16)를 비교한다. (PASCAL VOC dataset으로 기본 파라미터로 학습되었음)
-
본 연구에서는 보행자에만 관심이 있으므로, 다른 모든 클래스는 무시하고 출력 확률이 50% 이상인 사람 detection 결과만 트래킹 프레임워크에 전달한다.
-
실험 결과
Faster RCNN detection(ZF, VGG16) vs. ACF detection
-
Faster RCNN(VGG16)이 기존 온라인 트래커인 MDP와 Proposed 방법 모두에 대해 최고의 트래킹 정확도를 이끌어 냄을 보여준다.
-
detection 품질이 트래킹 성능에 상당한 영향을 미친다는 것을 알 수 있다.
(2) Estimation Model
- object tracking의 task는 객체의 위치(position)를 예측하는 것이다.
- 본 논문에서는 motion estimation 방법으로 이전 순간의 타겟 state에서 현재 순간의 타겟 state를 예측하는 칼만 필터(Kalman filter) 방법을 사용한다.
- (참고) 칼만 필터는 초창기 방법이고, 2021년 현재는 딥러닝의 발달로 RNN과 LSTM 기반의 motion model을 사용함.
- 칼만 필터 알고리즘의 흐름도
출처 : 확장칼만필터 기반 주파수 조정용 ESS의 SOC 추정 연구. (권순종, 최진혁, 임지훈, 이성은,
김종훈)
- 칼만 필터는 노이즈가 선형적 움직임을 가지는 타겟의 state를 추적하는 재귀(recursive) 필터이다.
- 확률 이론에 기반한 예측시스템으로, 노이즈를 포함한 데이터가 입력되었을 때 노이즈를 고려하여 정확한 estimation이 가능하다.
- 또한, 시간에 따라 진행한 측정을 기반으로 하기 때문에 해당 순간에만 측정한 결과만 사용한 것보다는 좀 더 정확한 estimation이 가능하다. (바로 이전 시간외의 측정값은 사용 x)
- 각 estimation 계산은 예측(prediction)과 보정(correction) 두 단계로 나눌 수 있다.
- 예측(prediction)은 이전 시간에 추정된 상태에 대해, 그 상태에서 입력이 들어왔을 때 예상되는 상태를 계산하는 단계이다.
- 보정(correction)은 앞서 계산된 예측 상태와 실제로 측정된 상태를 토대로 정확한 상태를 계산하는 단계이다.
- 동영상의 이전 프레임에서 object detector를 통해 얻어진 타겟의 state(bbox 좌표 u,v와 bbox의 scale s, 가로세로 비율 r)를 통해, 이후 프레임의 타겟 state(u˙,v˙,s˙)를 예측한다. (r은 일정하다고 가정)
- detection이 타겟과 연결되면, detection된 bbox는 칼만 필터를 통해 속도 성분이 최적으로 해결되는 타겟 state를 update하기 위해 사용된다.
- 타겟과 detection이 연결되지 않으면(unmatched), 선형 속도 모델을 사용하여 correction 없이 단순히 state가 예측된다.
- unmatched가 Tlost번 계속되면 대상 ID가 deleted된다.
출처 : https://zhuanlan.zhihu.com/p/133678626
(3) Data Association
- Data Association은 MOT 방법을 기반으로 한 tracking-by-detection의 핵심 단계이다.
- 헝가리안 알고리즘(Hungarian algorithm)은 일반적으로 사용되는Data Association 최적화 방법이다.
- 칼만 필터를 이용해 확보한 예측값은 이후 프레임에서 새롭게 detection한 객체와의 association에 적용된다.
- 그 후, 기존 타겟들의 각 detection과 모든 예측되는 bbox들 사이의 IoU distance로 assignment cost matrix를 계산한다. 그리고 Hungarian algorithm을 사용하여 최적으로 해결한다.
- 또한, 타겟에 대한 detection이 IoUmin보다 작은 assignment를 거부하기 위해 최소 IoU가 부과된다.
출처 : https://mickael-k.tistory.com/48
-
(a) : 이전 Kalman filter에서 나온 결과
-
(b)의 초록색 : 현재 detector에서 나온 box
-
이 둘을 IoU시킨 후 Hungarian에서 짝을 찾아 주어 (c)처럼 ID가 할당 된다.
-
IoU 트래커의 전체적인 과정
출처 : Multiple Object Tracking with Motion and Appearance Cues Weiqiang Li,
Jiatong Mu, Guizhong Liu
3. Experiments
- 동적, 정적 카메라 시퀀스를 모두 포함하는 MOT 벤치마크 데이터베이스에 의해 설정된 다양한 테스트 시퀀스 세트에서 트래킹 구현의 성능을 평가한다.
(1) Metrics
- 하나의 단일 점수를 사용하여 Multiple Target Tracking 성능을 평가하기가 어렵기 때문에, 표준 MOT 지표와 함께 [Y. Li, C. Huang, and R. Nevatia, “Learning to associate: HybridBoosted multi-target tracker for crowded scene,” in Computer Vision and Pattern Recognition. 2009, IEEE.]에 정의된 평가지표를 사용한다.
- MOTA (↑) : 다중 객체 트래킹 accuracy.
- MOTP (↑) : 다중 객체 추적 precision.
- FAF (↓) : 프레임 당 오경보 수.
- MT (↑) : 주로 추적되는 궤적의 수. 즉, 타겟은 수명의 최소 80%에 대해 동일한 레이블을 가지고 있음.
- ML (↓) : 대부분 손실된 궤적의 수. 즉, 타겟은 수명의 최소 20% 동안 추적되지 않음.
- FP (↓) : false detections 수.
- FN (↓) : missed detection 수.
- ID SW (↓) : ID가 이전에 추적된 다른 객체로 전환된 횟수.
- Frag (↓) : miss detection으로 인해 추적이 중단된 fragmentations 수.
- (↑)가있는 평가 측정 값은 점수가 높을수록 더 좋은 성능을 나타낸다.
- (↓)가있는 평가 측정 값은 점수가 낮을수록 더 좋은 성능을 나타낸다.
- True positives은 해당 Ground Truth bbox와 50% 이상 overlap 되는 것으로 간주된다.
- 제안된 SORT 방법 vs. 여러 다른 baseline tracker
- 다른 방법과 비교했을 때 SORT는 온라인 트래커에서 가장 높은 MOTA 점수를 달성하며, 훨씬 더 복잡하면서 가까운 미래 프레임을 사용하는 SOTA인 NOMT와 비교할만하다.
4. Conclusion
- 본 논문에서는 프레임 간 prediction과 association에 초점을 맞춘 simple online tracking 프레임워크를 제시한다.
- tracking 품질이 detection 성능에 크게 의존하며, 최근의 detection 기술 발전을 활용함으로써 기존 트래킹 방법만으로 SOTA tracking 품질을 달성할 수 있음을 보여주었다.
- 기존의 다른 방법들은 속도와 정확성 측면에서 trade-off 관계를 보여주는 반면, 논문에서 제시된 프레임워크는 속도와 정확성 측면에서 동급 최고의 성능을 달성했다.
- 제시된 프레임워크의 단순성은 baseline으로 매우 적합하므로, 새로운 방법이 객체 재식별(re-identification)에 집중하여 long term occlusion를 처리할 수 있다.
- 정리하자면, SORT의 가장 큰 특징은 Faster R-CNN을 기반으로 한 타겟 detection 방법과 SOTA의 정확성을 달성하면서 Multiple Target Tracking 속도를 크게 향상시키는 칼만 필터 알고리즘 + Hungarian 알고리즘을 사용한 것이다.
Reference
- Simple Online and Realtime Tracking. (2 Feb 2016). Alex Bewley, ZongYuan Ge, Lionel Ott, Fabio Ramos, Ben Upcroft
- Development of Video-Detection Integration Algorithm on Vehicle Tracking. 오주택, 민준영, 허병도, 황보희
- Online Multi-Object Tracking by Learning Discriminative Appearance with Fourier Transform and Partial Least Square Analysis. Seong-Ho Lee, Seung-Hwan Bae
- Multiple Object Tracking with Motion and Appearance Cues Weiqiang Li, Jiatong Mu, Guizhong Liu School of Information and Communication Engineering, Xi’an Jiaotong University, Xi'an, China
- Towards Real-time Multi-object Tracking in CPU Environment Kyung Hun Kima, Jun Ho Heoa, and Suk-Ju Kanga
- Object Tracking Method using Deep Learning and Kalman Filter Gicheol Kima, Sohee Sona, Minseop Kima, Jinwoo Jeonb, Injae Leeb, Jihun Chab, and Haechul Choia
- https://mickael-k.tistory.com/48
- https://zhuanlan.zhihu.com/p/133678626
투빅스 14기 김상현
이번 강의는 SORT 논문 리뷰 강의로 김민경님께서 진행해주셨습니다.
MOT에 대한 개념부터 SORT의 방법론까지 자세하게 설명해주셔서 SORT algorithm에 대해 이해할 수 있었습니다.
유익한 강의 감사합니다!