we present a simple, effective and generic association method, tracking by associating almost every detection box instead of only the high score ones.
1. Abstract
대부분의 tracking methods은 threshold보다 높은 score를 가지는 detection boxes만 detect하고 threshold보다 낮은 score를 갖는 boxes는 제거한다.
하지만 해당 논문에서는 높은 score의 boxes만 associating하는 것이 아니라 거의 대부분의 boxes를 associating하여 tracking한다.
낮은 신뢰도의 detection boxes도 실제로는 객체를 담고 있을 수도 있기 때문이다(e.g. 무언가에 가려진 물체).
이러한 경우들을 고려하지 않을 경우 missing detection 현상과 fragmented trajectories 현상이 발생하게 된다.
2. Introduction
threshold≥0.5 기준을 만족하는 detection boxes만 tracklets로 지정한다.
이때 red tracklet은 score가 t2에서 0.8→0.4로, t3에서 0.4→0.1로 바뀌자 제거되었다. 하지만 모든 detection boxes를 고려할 경우 score=0.1을 가지는 배경까지 tracklet으로 포함되는 문제로 인해 오탐지의 가능성 또한 높아진다. ⇒ 딜레마
해당 논문에서는 낮은 score를 갖는 배경과 object를 구분하여 tracklets과 매치한다(c).
- 높은 score를 갖는 tracklets를 먼저 모션 유사성과 외관 유사성을 기반으로 하여 매칭한다.
1) 새로운 프레임에서 tracklets의 위치를 예측하기 위해 kalman filter를 적용한다.
2) 유사도는 detection box와 prediction box의 IoU나 Re-ID의 차이로 계산된다.
⇒ (b)가 해당 과정의 결과이다. - 동일한 모션 유사성을 이용하여 매칭되지 않은 tracklets(i.e. the tracklet in red box)과 낮은 score를 갖는 detection boxes를 매칭한다.
⇒ (c)가 해당 과정의 결과이다.
3. Related Work
Object detection in MOT
Tracking by Detection라는 방법론은 tracking을 위해 frame 단위의 이미지에서 detection boxes를 detector를 통해 검출한 다음에 tracking 알고리즘을 통해 프레임 간 detection boxes를 연결(data association)해주는 방식을 뜻한다. 따라서 높은 tracking 성능을 위해 좋은 detector를 선택해야 한다. 주로 사용되는 detector로는 RetinaNet, CenterNet, YOLO 등이 있다.
Data Association
Data association은 MOT의 또다른 핵심이다. Tracklets(객체 추적 경로에 관한 정보)과 detection boxes 간의 유사도를 기반으로 연결시켜주는 방법이 된다. 이때, 유사한 데이터를 매칭시키는 기준은 크게 2가지가 있다. 하나는 appearance, 다른 하나는 motion model을 이용하는 것이다.
Appearance는 말 그대로 외형을 보고 쫓아가는 것이다. 사람의 예로는 우리가 모기를 잡으려고 할 때 모기가 있는 곳에 손을 뻗으면 거기에 없는 경우가 허다하지만 다시 한참을 찾다가 다른 위치에서 모기를 발견하는 경우가 있을 것이다. 이처럼 appearance similarity를 이용하는 경우는 주로 우리 시야에서 물체가 굉장히 빨리 움직이거나 우리가 물체를 다시 발견한 시점 사이의 공백이 긴 경우(e.g. long-term occlusion)등에 효과적이다. BYTE에선 detector에 의해 detection boxes를 검출해 활용하는 것이 appearance를 이용한다고 볼 수 있다. 왜냐하면 detector가 결국 객체의 appearance를 이용해 detection을 진행하기 때문이다.
Motion model을 이용한 매칭 기법은 Kalman Filter가 대표적이다. 마치 우리가 야구공이 날아가는 것을 눈으로 쫓다가 잠깐 눈이 부셔 공을 놓치더라도 우린 저절로 포물선을 떠올리면서 곧바로 야구공의 경로를 예측해 시야에 잡아낼 수 있다. 이런 식으로 우린 추적하고자 하는 객체가 다음 step에는 어디에 위치할지 예측할 수 있는 Kalman Filter와 같은 motion model이 머릿속에 있는 것이다. BYTE에선 Kalman Filter를 통해 이미 추적하고 있던 물체의 추적 경로 정보인 tracklet을 이용해 다음 step에 위치할 prediction boxes를 예측해서 활용하는 것이 motion model를 이용한다고 볼 수 있다.
⇒ YOLOX를 통해 detection box를 얻고, BYTE를 통해 associating을 진행한다.
4. BYTE
- for 문을 통해 비디오에 존재하는 모든 frame을 순회한다.
- 각각의 frame에 대해 detector를 통해 detection boxes를 예측한다.
- 모든 detection boxes를 순회하여 threshold보다 높은 score를 갖는 boxes와 낮은 score를 갖는 boxes로 분리한다.
- 이전 프레임에서의 tracklets와 현재 프레임에서 Kalman Filter를 적용하여 예측한 prediction boxes를 생성하여 저장한다.
- 높은 score를 갖는 detection boxes와 tracklets를 유사도를 기반으로 associate한다. (First Association)
- 유사도는 detection box와 trackelets의 prediction box의 IoU나 Re-ID의 차이를 통해 계산된다. 이때 일부 tracklets는 motion blur or size changing로 인해 un-matched될 수도 있다. 매칭되지 못한 detection boxes과 trackelets는 따로 저장해둔다.
- 낮은 score를 갖는 detection boxes와 step 5에서 un-matched된 tracklets를 associate한다. (Second Association)
- 해당 과정에서 매칭되지 못한 tracklets는 배경으로 간주하고 제거한다. 해당 과정에서 매칭되지 못한 detection boxes는 score가 threshold보다 높을 경우 새로운 tracklets로 추가한다.
5. Conclusion
Tracking 기법에서 중요한 모든 지표에서 좋은 발전을 보여준다. SORT에 비하면 FPS가 0.5가 떨어지지만 이는 유의미한 수치 하락은 아니며, 오히려 ID Switching 현상이 절반 가까이 줄고 MOTA 성능이 올랐다.
- MOTA(Multi-Object Tracking Accuracy)
: MOT에서 가장 많이 쓰이는 Metric으로, False positive, False negative, ID Switch를 모두 반영하여 전반적인 tracking performance를 보여준다. - IDF1(Identification F1 score)
: MOT 알고리즘이 추적하고 있는 ID가 정답군(ground truth)과 얼마나 일치하는지를 평가하기 위한 지표로 ID에 대한 F1 점수이다. - IDs(ID switches)
: 탐지한 결과와 실제 객체에 할당되어 있는 ID가 다른 것을 의미한다.
ByteTrack은 고전적 기법인 Kalman Filter와 Hungarian Algorithm을 이용한 SORT에서 발생하는 occlusion 문제를 정확하게 파악해 간단한 방식으로 성능 향상을 보였다.
Reference
https://bokonote.tistory.com/5
ByteTrack (2021) 논문 리뷰 및 설명
1. Motivation SoTA MOT 기법들은 대부분 Tracking-by-Detection인데, detection boxes의 TP/FP trade-off를 위해 낮은 신뢰도의 detection boxes는 모두 제거하는 방식을 이용해왔다. BYTE는 이 방식이 합리적이지 않다고
bokonote.tistory.com