본문 바로가기

Object Tracking 공부

ByteTrack: Multi-Object Tracking by Associating Every Detection Box 논문 공부

이 논문은 ECCV'22에 publish된 논문으로 2023.12.12 기준 643회의 citation을 보유하고 있다. (와우!) 😮

Tracking-by-Detection 기반 MOT model에 사용할 수 있는 data association method 인데, 알고리즘이 매우 간단한 것에 비해 성능을 많이 올려주어 인기가 많은 듯 하다.😉

논문은 https://www.researchgate.net/profile/Peize-Sun/publication/355237366_ByteTrack_Multi-Object_Tracking_by_Associating_Every_Detection_Box/links/648cb184b9ed6874a5b371b7/ByteTrack-Multi-Object-Tracking-by-Associating-Every-Detection-Box.pdf에서 찾아볼 수 있고, 코드는 https://github.com/ifzhang/ByteTrack. 에서 확인할 수 있다. 

Introduction

이 논문 ByteTrack의 motivation은 다음과 같다. 기존의 Tracking-by-Detection (TbD) 기반의 MOT 방법은 detection box와 tracklet 사이 association을 수행하기전에 confidence score가 낮은 box들을 그냥 버려버리는데, 이 경우 아래 figure(b)의 빨간색 박스처럼 occlusion 등에 의해 진짜 object가 무시될 수 있다. 👉 ByteTrack은 figure(c)처럼 low confidence score를 가진 boxes를 버리지 말고, IoU score를 similarity metric으로 사용하여 association할 것을 제안한다.

(시각적인 정보 (Re-ID feature distance)를 similarity로 사용하면.. 아래와 같이 occlusion이 일어난 경우 성능이 좋지 않다 (object가 눈에 잘 안보이니까!),,, 대신 Kalman filter로 예측한 위치와의 IoU score를 쓰는게 좋다고 한다.) 

Previous method can't associate all boxes

 

이 논문은 새로운 association 알고리즘 BYTE를 제안하였고, SoTA detector YOLOX에 BYTE를 결합한 새로운 SoTA tracker ByteTrack을 제안하였다. BYTE 알고리즘이 워낙 간단해서 기존의 MOT method에 쉽게 plug-in 할 수 있고 높은 성능 향상을 보였다고 한다. 

Method : BYTE

BYTE는 아래 pseudo-code 처럼 동작하는데 이를 간단히 설명하면 다음과 같다.

(1) detector를 통해 high-confidence box $D_{high}$와 low-confidence box $D_{low}$ 를 분리한다.

(2) $D_{high}$ 는 시각적 feature 유사성을 기반으로 tracklet과 association을 수행한다.

(3) Kalman filter로 현재 frame의 object의 위치정보를 예측한다.

(4) $D_{low}$ 와 (3)에서 예측된 object사이 IoU score를 기반으로 traklet과 association을 수행한다.

(5) 기타 heuristics 수행 (unmatched box 버리기, occluded box rebirth 시키기, new track initialize 하기)

Pseudo-code of BYTE

Experimental Results

Ablation Study. Similarity 1/2는 각각 high/low-confidence box와 track을 associate할 때 사용되는 similarity metric이다. High-confidence box에는 feature similarity가 좋은 반면, low-confidence box에는 IoU score 가 좋은 것을 확인할 수 있는데,, 이는 보통 occlusion 👉 bad semantic feature quality 👉 low-confdience 로 이어지기 때문이다. 따라서 이런 경우에는 그냥 motion model (Kalman filter)에 의존해서 IoU score를 재는편이 더 안전하다.

Comparison of different type of similarity metrics used in the first association
Comparison of different data association methods on MOT17 and BDD100K validation set.
(좌) Threshold 값에 대한 comparitive study. (우) low score boxes에서 BYTE가 얼마나 많은 true positive를 구제했고, 얼마나 많은 실패 (FP) 가 있었는지 보여준다. (잘 하네!)
Results of applying BYTE to 9 different state-of-the-art trackers on the MOT17 validation set.