[논문 리뷰] Beyond SOT: Tracking Multiple Generic Objects at Once, WACV'24

2024. 3. 29. 10:00Object Tracking

Motivation

  • Visual Object Tracking은 Generic Object Tracking (GOT)과 Multiple Object Tracking (MOT)으로 나누어짐.
  • GOT는 비디오의 첫 프레임에 annotation된 bounding box를 tracking하는 문제임.
  • MOT는 predefined category list에 속하는 물체만을 추적하는데 반해, GOT는 첫 프레임에 box가 주어지기만 하면 category가 무엇이든지간에 추적하기 때문에 real-world application에 써먹기 좋은 task임.
  • 하지만 지금까지는 single-object GOT가 주로 연구되어 왔는데, multi-object GOT benchmark dataset이 없어서 그럼.
    • 예를들어 LaSOT [1]이나 GOT-10k [2]데이터셋은 single-object만을 다룸
    • 최근에 Generic Multiple Object Tracking을 타겟한 GMOT-40 [3] 데이터셋도 나오긴 했는데, 첫 프레임에 하나의 bounding box가 주어지면 같은 category에 속한 모든 box를 추적하는 문제임.
  • Multi-object GOT을 위한 new benchmark dataset (LaGOT)과 strong baseline (TaMO)을 제안할거임.

LaGOT

  • LaGOT은 LaSOT을 기반으로 만들었기 때문에 LaSOT의 특징을 따라감
    • 비디오의 평균 길이는 81초 (or 30 fps 비디오니 2430 frames)
    • 평균 track의 길이도 2430 frames인걸 보면 비디오의 처음부터 끝까지 이어지는 track으로 구성된듯 함
    • Challenging tracking scenarios: fast moving objects, camera motion, various sizes, frequent occlusions, scale changes, motion blur, camoflage, appearance changes, and go out of view
  • LaSOT의 single track에 최대 9개의 track을 추가해 LaGOT을 구성함
    • 102개의 different categories
    • 총 528k 개의 annotated objects
    • 한 비디오당 평균 track 개수는 2.9개, track 길이는 71초.
    • Track의 최소 길이는 4초.
    • 31개의 category 추가 (e.g., propeller, tires, fabric bag).
    • 비디오 수가 LaSOT보다 많아진 이유는 (280 -> 294) object association이 애매한 경우 sub-sequences로 나눴기 때문.
  • LaGOT을 구성하기 위해 (TAO, GMOT-40 대신) LaSOT을 선택한 이유
    • TAO는 비디오의 길이가 평균 33초로 짧고, outdoor road scene은 vehicle과 pedestrian이 대부분을 차지함 (60%). Indoor scene은 rare categories가 많지만 static하고 짧은 시간 동안만 보임. 또한, annotation이 너무 sparse함 (1 fps).
    • GMOT-40은 비디오에 하나의 category에 속하는 물체만 너무 많음. 또한, 비디오의 개수도 적고 길이도 짧음. Category도 10개 뿐임.

  • Tracking 할 때에는 fps도 중요한데, 30 fps (LaSOT)에서 10 fps (LaGOT)로 줄이는게 성능에 영향을 미칠까?
    • LaSOT 데이터셋을 이용해, 5개의 recent trackers에 30 fps와 10 fps의 비디오가 각각 주어졌을 때의 성능을 비교함.
    • Sucess rate AUC의 mean relative error가 0.237%로 미미한 것으로 확인됨.
    • Valmadre [4]가 말하길, dense하게 적은 비디오에 annotation 할 바에 sparse하게 많은 비디오에 annotation 하는 것이 가성비가 좋다고 함.

TaMO

  • Single object tracker인 ToMP [5]를 multiple object tracker로 단순 확장한 느낌.
    • 참고로 이 논문 저자 = ToMP 저자임 (ETH Zurich에서 ToMP 쓰고 Google Research 인턴가서 TaMO 씀).

Architecture

  1. Generic Multiple Object Encoding
    • \(n\)개의 target object를 encoding 하고 싶은데, \(n\)개의 feature map에 하고싶진 않고 하나의 feature map으로 표현하고 싶음.
    • 그냥 ToMP의 single object encoding 방법을 multiple object encoding으로 단순 확장함.
    • \(m\) 개의 object embedding \(\mathbf{e}_i \in \mathbb{R}^{1 \times c}\)을 포함하는 object embedding pool \(\mathbf{E} \in \mathbb{R}^{m \times c}\) 이 있음.
    • Target object의 개수만큼 pool에서 object embedding을 sampling함 (without replacement).
    • Gaussian score map \(y_i \in \mathbf{R}^{h \times w \times 1}\) 과 LTRB encoding \(b^{\textup{ltrb}}_{i} \in \mathbb{R}^{h \times w \times 4}\)을 각각 object embedding에 곱함으로써, positional information이 강화된 augmented object embedding을 얻을 수 있음.
      • Center Location Encoding with Gaussian Score Map
      • Bounding Box Encoding with LTRB [6] (ToMP에선 안썼음)

    • \(f_{\textup{train}} \in \mathbb{R}^{h \times w \times c}\)을 visual feature라고 할 때, augmented object embedding을 더해줌으로써 encoded visual feature \(f^{\textup{enc}}_{\textup{train}} \in \mathbb{R}^{h \times w \times c}\)를 얻음.
  2. Model Predictor
    • Model predictor는 말그대로 target object의 "model"을 예측하는데, "model"이 뭘까?
      • Object를 특정할 수 있는 본질적인 특징을 담은 feature
      • Object가 여러 프레임에 걸쳐 등장하니 camera motion이나 deformation에 의해 다양한 모습으로 보일텐데, 이런 appearance의 변화에도 강건하게 matching시킬 수 있는 feature를 의미하는듯함.
      • 첫 프레임에서의 object appearance만 보고 이런 본질을 관통하는 feature를 예측하는게 어려운 부분일듯.
    • Model predictor 역시 ToMP의 single target predictor를 multiple target으로 확장해서 사용함.
      • Transformer encoder는 그대로 두고, transformer decoder 부분만 수정.
      • Target object embeddings \(\{e_{i}\}_{i=1 \cdots n}\)와 transformer encoder를 통과한 train 및 test frame features \(h_{\textup{train}}, h_{\textup{test}}\)을 입력으로 target models \({{\hat{\theta}_i}_{i=1 \cdots n}\)을 출력
  3. Classifier & Box Regressor
    • 여기서도 역시 ToMP와 비슷한 모델을 사용하는데, FPN을 이용해 얻은 high-resolution score map을 이용한다는 차이가 있음.
    • 예를들어 classifier는 이렇게 생김
    • Architecture 그림을 보는게 이해가 빠를듯함.
  • 장점
    • Multiple object를 동시에 추적하기 때문에 SOT 대비 confusing similar objects에 의한 id switch에 강인함.
    • Object와 인접한 시공간만 보지 않고 video 전체를 보는 global tracker이기 때문에 lost object를 re-detect 할 수 있음.
    • Category가 학습 데이터에 포함되었는지 여부와 상관없이 사용자가 추적을 원하는 물체의 box만 제공하면 됨.

Training

  • Loss는 high-resolution 뿐만아니라 low-resolution feature map에 대해서도 계산함.
  • Classification loss로는 focal loss를 사용했는데, object가 아닌 \(m-n\) 개의 object embedding으로부터는 어떤 class에도 low score를 주게끔 하는게 성능면에서나 수렴 속도면에서나 좋았다고 함 (second term in \((4)\))

  • Box regression loss로는 generalized IoU loss [7]를 사용함.

  • Details
    • Training video에서 한 장의 training frame과 한 장의 test frame을 sampling해서 image pair를 구성.
    • Frame은 re-scaled & padded to 384 x 576.
    • 다양한 데이터를 같은 비율로 활용 - LaSOT [1], GOT10k [2], TrackingNet [8], MS-COCO [9], ImageNet-Vid [10], TAO [11], and YoutubeVOS [12]
      • Tracking quality를 위해 (MOT 뿐만아니라) SOT 데이터셋을 활용하는게 중요했음.
    • Object embedding pool의 object embedding을 균형있게 학습시키기 위해, object id를 랜덤하게 부여.

Experiments

  • Compared with
    • 6 single object trackers: SuperDiMP [13], KeepTrack [14], TransT [15], STARK [16], ToMP [5], and MixFormer [17]
    • 2 multiple object trackers: QDTrack [18] and OVTrack [19]
  • Success Plot & Precision Recall Plot (compared with SOTs)
  • SOT 대비 object 수가 늘어나도 inference time이 linear하게 증가하지 않음 (A100 한 대에서 측정)
  • LaGOT 데이터셋에서의 성능 비교 (compared with both SOTs & MOTs)
  • SOT 데이터셋에서 SOT 모델과 비교해도 견줄만함.
  • Positional encoding을 어떻게 하느냐가 생각보다 중요하고 (LTRB > Gaussian), object embedding pool size는 적당한게 좋다 (LaGOT의 최대 target object 수 = 10).
  • ToMP-101 (SOT) vs. TaMO-SwinBase
  • Failure cases
    • Motion model 활용 없이 오직 appearance로만 승부보기 때문에, 날아가는 동작을 target의 특징으로 생각해버림.
    • Target이 프레임 밖으로 나가버린 경우, appearance가 가장 비슷한 object를 찾게됨.
    • Target과 너무 비슷하게 생긴 object가 있으면 헷갈림.

References

  1. LaSOT: A High-quality Benchmark for Large-scale Single Object Tracking, CVPR'19
  2. GOT-10k: A Large High-Diversity Benchmark for Generic Object Tracking in the Wild, TPAMI'19
  3. GMOT-40: A Benchmark for Generic Multiple Object Tracking, CVPR'21
  4. Long-Term Tracking in the Wild: a benchmark, ECCV'18
  5. Transforming Model Prediction for Tracking, CVPR'22
  6. FCOS: Fully Convolutional One-Stage Object Detection, ICCV'19
  7. Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression, CVPR'19
  8. TrackingNet: A Large-Scale Dataset and Benchmark for Object Tracking in the Wild, ECCV'18
  9. Microsoft COCO: Common Objects in Context, ECCV'14
  10. ImageNet Large Scale Visual Recognition Challenge, IJCV'15
  11. Tao: A Large-Scale Benchmark for Tracking Any Object, ECCV'20
  12. Youtube-VOS: A Large-Scale Video Object Segmentation Benchmark, ECCV'18
  13. PyTracking: Visual tracking library based on PyTorch, 2019
  14. Learning Target Candidate Association to Keep Track of What Not to Track, ICCV'21
  15. Transformer Tracking, CVPR'21
  16. Learning Spatio-Temporal Transformer for Visual Tracking, ICCV'21
  17. MixFormer: End-to-End Tracking with Iterative Mixed Attention, CVPR'22
  18. Quasi-Dense Similarity Learning for Multiple Object Tracking, CVPR'21
  19. OVTrack: Open-Vocabulary Multiple Object Tracking, CVPR'23