본문 바로가기

AI 논문

[꼼꼼하게 논문 읽기]Bytrack: Multi-Object Tracking by Associating Every Detection Box ( 2022 )

728x90
반응형

안녕하세요. WH입니다.

transformer 관련 논문 하나와 tranfer learning 논문 리뷰를

마무리하지 못한 체 넘어오게 됐는 데,

곧 마무리 하겠습니다.

오늘은 22년 4월에 나온 tracking 관련 논문입니다.

시작하겠습니다.

반응형

Abstract

  Multi-object tracking( MOT ) 는 비디오에서 objects의 identities와 bounding box를 추정하는 것을 목적으로 하는데요. 많은 방법들이 scores가 threshold보다 높은 detection boxes를 associating함으로써 identities를 얻습니다. 낮은 scores의 objects는 버려집니다. 이 과정은 non-negligible true object missing과 fragmented trajectorise 문제( 무시하면 안되는 물체를 놓치거나 궤적이 조각나는 현상 )를 야기합니다. 이 문제를 해결하기 위해, 자신들을 간단하고 효과적이면서도 generic association method를 제안한답니다. 해당 method는 high score box만이 아닌 모든 detection box를 associating함으로써 tracking한다고 하네요. low score detection boxes를 위해, 그들의 유사도를 활용해  backgroud detections를 제거하고 true object를 복구한다고 하네요. SOTA의 9가지 tracker에 적용했을 때, 자신들의 방법은 IDF1 score에서 지속적인 향상을 보였다고 합니다. MOT의 SOTA를 달성하기 위해, 간단하면서도 강력한 tracker, ByTrack을 설계했다고 합니다. 그 아래는 성능에 대한 이야기가 나옵니다. 쉽게 이야기하자면, 뭐 성능은 당연히 SOTA고요. 2022년 6기준 tracking 성능이 가장 좋습니다. 좀 더 덧붙이면 v100 기준 30FPS가 나오는 데 edge에서 활용하기에는 무리가 있어보입니다.

 

Introduction

  Tracking-by-detection은 현재 MOT를 위한 가장 효과적인 paradigm 입니다. 비디오에서 complex scenarios 때문에, detectors는 불완전한 예측을 하기 쉬운데요. stae-of-the-ar MOT method는 low confidence detection boxes를 제거하기 위해 true positive/ false positive trade-off 를 다뤄야 합니다. 그러나 low confidence detection boxes를 모두 제거하는 것이 올바른 접근 방법일까요? 논문의 저자들은 'NO'라고 답합니다. Low confidence detection boxes는 때떄로 object의 존재를 나타냅니다. 가령 가려진 물체를 예로 들 수 있겠지요. 이런 objects를 제거하는 것은 irreversible eroor를 야기할 수 있습니다. 그리고 non-neligibel missing detection 이나 fragment trajectories를 야기하기도 하지요.

Figure 2 (a)와 (b)는 이런 문제를 보여줍니다. frame t1에서 저자들은 0.5보다 높은 score로 3 개의 다른 tracklets 초기화했습니다. 그러나 t2와 t3에서 occlusion( 가려짐 )이 발생했고, red tracklet와 상관있는 detection score가 낮아지게 되었습니다. 이 detection boxes는 thresholing mechanism에 의해 제거되고 red tracklet은 그에 따라 사라지게 됩니다. 그럼에도 불구하고, 만약 저자들이 모든 detection box를 고려대상에 넣었다면. 더 많은 false positive가 있을겁니다. 예를 들자면 figure 2 (a)의 t3 에서 가장 오른쪽 box를 생각하시면 되겠네요. 매우 적은 method들이 이 detection dilemma 문제를 다루고 있다고 합니다.

  이 논문에서, 저자들은 tracklet을 가지고 유사도는 low score detection에서 배경과 objects를 구별하는 strong cue를 제공한다고 하는데요. figure 2 (c)에서 보여지듯이, 두 개의 low score detection boxes는 motion model's predicte boxes에 의해 tracklets에 매치된다고 하네요. 동시에 back ground box는 tracklet에 매치되지 않기 때문에 제거된다고 하구요.

  high scores box와 low scores box까지 모든 detection box를 매칭 과정에 모두 사용하기 위해, 저자들은 BYTE라는 association method를 제안합니다. BYTE 는 각각의 detection box가 tracklet의 기본 유닛이라는 것에 기초에서 이름을 붙였다고 하네요. 자신들의 tracking mehod는 모든 detailed detection box를 중요시한다고 합니다. 저자들은 먼저 high socre detection boxes를 tracklet에 motion similarity 나 appearance similarity에 기반해서 매칭시키고 new frame에서 tracklet의 위치를 예측하기 위해 Kalman filter를 적용했다고합니다. similarity는 predicted box와 detection box의 IoU 나 Re-ID feature distance 에 의해 계산되어진다고 합니다. Figure (2) 는 첫 매칭 이후를 보여줍니다. 그런 다음, unmatched tracklets 사이에서 second matching을 수행하는 데요, Figure 2(c) 는 second matching이후 결과를 보여줍니다. low detection scores를 가지는 가려진 사람은 이전 tracklet과 매치됩니다. backgroud( 이미지의 오른쪽 부분 ) 은 제거됩니다.

  object detection 과 association 토픽을 integrating 함으로써 MOT에서 바람직한 solution은 following association 도 detector도 아니라고 하네요. well-designed of juction area 역시 중요하다고 하는데요. BYTE의 혁신은 detection and association의 junction area에 있다고합니다. low score detection boxes가detection and assosiation을 boost하는 dridges라고 하네요. 이 integration innovation으로부터의 이점은, 즉 SOTA의 다른 9가지 tracker에 BYTE가 적용되었을 때, 주목할 만한 성능 개선을 보였다고 합니다.

  또한 저자들은 SOTA를 달성하기위해 ByteTrack을 제안한다고합니다. detection box를 얻기 위해 detector YOLOX를 사용했고 BYTE를 가지고 associate 했다고 합니다. 성능은 최고 수준을 달성했고, 뭐 잘 사용되길 바란다고 하네요.

 

Related Work

  Object Detection in MOT

  object detection은 가장 active한 topic 중 하나입니다. MOT의 기초가 되기도 하구요. MOT 17 dataset은 DPM, Faster-R-CNN, SDP과 같은 popular detector에 의해 얻어진 detection 결과를 제공하는데요. 많은 methods가 해당 데이터 셋에 기반하여 tracking performance를 개선하는 데 초점을 맞춘다고합니다.

  Tracking by detection

  object detection의 굉장한 발전을 이용해, 더 많은 methods 들이 더 높은 trcking performance를 얻기 위해 more powerful detector를 사용하기 시작했는데요. one-stage object detector RetinaNet은 몇몇 연구에 적용되었다고 하네요. CenterNet 은 가장 인기있는 detector로 simplicity와 efficiency를 위해 많은 method에 사용되고 있습니다. YOLO series 정확도와 속도에 balance를 위해 역시 수 많은 연구에 사용되고 있습니다. 그 수많은 연구들은 detection box를 tracking을 위한 single image에 직접 사용합니다.

  그러나 missing detections와 low scoring detections의 수는 비디오 sequence에서 occlusion이나 motion blur가 발생할 때 증가되는 데요. 때문에 이전 frame의 information이 video detection performance를 강화하기 위해 사용됩니다.

  Detection by tracking

  Tracking은 더 정확한 detection box를 얻는 데 도움을 주기 위해 적용되는데요. 몇몇 연구는  다음 frame에서 tracklet의 위치를 예측을 위해서 그리고 detection result를 강화하기 위한 detection box와 predicte boxes를 결합을 위해 kalman filter나 single object tracking( SOT )를 사용합니다. Other method 는 following frame의 feature representation 을 강화하기 위해 이전 frame의 tracked box를 사용합니다. 최근 transformef-based detector가 몇몇 method에 frame 간 propate boxes 능력을 이용하기 위해 사용되었는데요. 저자 자신들의 방식 역시 detecion boxes의 reliability 강화화기 위해 유사하게 사용했다고 하네요.

  다양한 detectors를 가지고 detaction boxes를 얻은 이후에, 많은 MOT method는 high score detection boxes 만을 유지하고 data association의 input으로써 이 박스들을 사용하는데요. 이것은 low score detection boxes 가 tracking 성능에 위해가 되는 많은 backgrounds를 포함하기 때문입니다. 그러나 저자들은 많은 occluded objects 가 low scores를 가지고 올바르게 detected 될 수 있다는 사실을 관찰했습니다. missing detections를 줄이고 trajectoris를 지속하기 위해 저자들은 모든 detecion boxes와 associate 를 유지했다고합니다.

  Data Association

  Data association은 multi-object tracking의 핵심인데요. data association은 먼저 traklets와 detection box사이의 유사도를 계산합니다. 그리고 similarity에 따라 그들을 매치하는 다른 방식을 사용합니다.

  Similarity metrics

  Location, motion and apperance는 association을 위한 useful cue ( 유용한 단서 ) 인데요. SORT 는 location과 motion cue를 매우 간단한 방식으로 합칩니다. SORT는 먼저 새로운 frame에서 tracklet의 위치를 예측하기 위해 kalman filter를 적용하고 나서 similarity로써 predicted boxes와 detection boxes 사이에 IoU를 계산합니다. 몇몇 최근 method는 low frame rate이나 large camera motion case에서 robust result를 달성하기 위해 object motions을 학습하기 위해 network를 설계합니다. Location and motion similarity는short-range matching에서 정확합니다. Apperance similarity는 long-range matching에 도움이 됩니다. 어떤 object는 오랜 기간의 가려지는 시간 이후 appearance similarity를 이용해서 re-identified 될 수 있습니다. Appearance similarity는 Re-ID features의 cosine similarity에 의해 측정될 수 있습니다. DeepSORT 는 detection boxes로부터 appearance features를 추출하기 위해 stand-alone Re-ID features를 적용합니다. 최근에 joint detection and Re-ID models는 simplicity 와 efficiency 때문에 더욱 인기를 얻고 있습니다.

  Matching strategy

  similarity computation 이후에 matching strategy는 objects에 identities를 할당합니다. 이는 Hungarian Algorithm이나 greedy assignment에 의해 행해지는데요. SORT는 detection boxes를 tracklet에 한번 mathcing함으로써 매치합니다. DeepSORT는 cascaded matching strategy를 제안합니다. 먼서 detection boxes를 가장 최신의 tracklets에 매치합니다. 그리고 나서 lost tracklets에 매칭합니다. MOTDT는 먼저 appearance similarity를 매치를 위해 사용하고 나서 IoU similarity를 unmatched tracklets를 매치하기 위해 사용합니다. QDTrack 은 appearacne similarity를 bi-directional softmax operation을 통해 probability로 변환합니다. 그리고나서 matching을 성공시키기 위해 nearest neighbor search를 적용합니다. Attention mechanism은 frame 간 boxes를 직접 propagte 할 수 있고 명확하게 associaiton을 수행할 수 있습니다. 최근 methods는 following frame에서 tracked objects의 location을 찾기 위해 track queries를 제안했습니다. matching은 Hungarian Algorithm의 사용 없이 attention interaction process에서 명확하게 수행되었습니다.

  모든 method는 better associaion methods를 설계하는 방법에 초점을 맞춥니다. 그러나 논문의 저자들은 detection boxes가 사용되는 방법이 data association의 upper bound를 결정한다고 주장하며 자신들은 모든 detection boxes를 사용하는 방법에 초점을 맞췄다고 합니다.

BYTE

  논문의 저자들은 간단하면서도 효과적인 generic한 data associaition method, BYTE를 제안합니다. 이전 모델과 다른데 이전 모델들은 high score detection boxes만 유지하는데 반해 자신들은 모든 박스를 사용하고 high score box와 low score 박스를 나눈다고 합니다. 먼저 high score detection boxes 를 tracklets에 associate 합니다. 몇몇 tracklets는 매치되지 않는데 high score detection box에 매치되기에 적절하지 않기 때문입니다. 이는 occlusion, motion blur size changing 이 발생할 때 주로 나타나는 현상입니다. 저자들은 low score detection box에서 object를 recover 하기 위해, 그리고 동시에 backgroud를 제거하기 위해 low score detection boxes와 매치되지 않은 tracklets을 associate합니다.

  위 그림은 pseudo-code 입니다. BYTE의 input 은 vidoe sequence v인데요. object detector Det의 결과입니다. detection score threshold를 t로 나타냅니다. BYTE의 output은 track T인데요. 각각은 track은 각 프레임의 bounding box와 identity를 포함합니다.

  비디오에서 각 frame에 대해, 저자들은 detector Det를 사용해서 detection box와 socre를 예측합니다. 저자들은 all detection boxes를 D_high , D_low에 threshold t에 따라 나누어 놓습니다. t보다 높은 score를 가진 detection box에 대해 저자들은  D_high에 낮은 detection boxes는 D_low에 놓습니다.

  이렇게 나눈 다음 kalman filter를 각 track T에서 현재 프레임에서 new location을 예측하기 위해 사용합니다. 첫 번째  associaition은 high score detection boxes와 D_high를 모든 T에 대해 수행됩니다. Similarity#1는 detection boxes와 track T의 predicted box에 대해 IoU 나 Re-ID feature distances로 계산됩니다.  그 다음 저자들은 Hungarian Algorithm을 similarith에 기반해 매칭을 끝내기 위해 적용합니다. unmatched detections 는 D_remain에 넣고 유지하고 unmatched tracks 는 T_remain에 넣고 유지합니다.

  BYTE는 highly flexible하고 다른 different association methods에 compatible 할 수 있습니다. 예를 들면 FairMot, Re-ID feature 가 * first association *에 더해질 수 있습니다. 다른것 역시 마찬가지 입니다. 실험에서, BYTE를 다른 SOTA tracker에 적용했고 주목할 만한 성능 개선이 있었다고 말합니다.

  second association은 D_low와 T_remain 에서 수행됩니다. 저자들은 unmatched traks를 T_re-remain에서 가지고 있는고 unmatched low score detection boxes는 모두 날려버립니다. 날린 box는 background로 여깁니다. IoU를 similarity#2에서 단독으로 사용하는 것이 중요함을 발견했다고합니다. low score detection boxes는 대게 occlusion이나 motion blur 가 나타나고 appearance features 가 reliable 할 수 없기 때문입니다. 따라서 Re-ID based tracker에 적용하면 appearance similaritu를 second association에 적용할 수 없었다고 하네요.

  association 이후, unmatched tracks는 tracklet에서 지워집니다. 단순함을 위해 Algorithm 1에는 track rebirth 과정이 나열되지 않았습니다. 사실 long-range association을 위해 track의 identity를 보존하는 것은 필요합니다. unmatched tracks T_re-remain 에 대해 저자들은 T_lost에 넣었다고 합니다. T_lost의 각 track에 대해 ( 오직 이 track은 어떤 frame 보다 클 때 존재합니다. ) 저자들은 track T에서 지웁니다. 반면에 lost tracks T_lost in T는 algorithm 1에서는 남겨놓았는데요. 결과적으로 저자들은 inmatched high score detection boxes D_remain 으로부터 new tracks를 초기화 합니다. 개별 frame output은 현재 frame에서 Track T의 bounding boxes와 identities 입니다. T_lost의 boxes와 identities가 output이 아니라는 점을 기억하시길 바랍니다.

    그 뒤의 내용은

뭐 자기네가 최고다로 요약되겠습니다.

오늘 논문 리뷰는 이 정도로 마무리할게요!

그럼 다음 논문에서 만나요

728x90
반응형