안녕하세요. WH입니다
오늘은 MOTR에 대해서 알아보는 시간을 가져보겠습니다
Abstract
objects의 Temporal modeling은 MOT의 key challenge인데요. 현존하는 methods는 motion-based 와 appearance-based 유사도 heristics를 통해 detections를 associating 함으로써 track하는데요. association의 post-processing 특성은 비디오 seauence에서 temporal variations의 end-to-end 이용을 prevent합니다.
이 논문에서는, MOTR를 제안하는데요. DETR의 확장판입니다. 전체의 비디오에서 tracked instances를 모델링하기 위해 track query를 소개합니다. Tack query는 frame-by-frame으로 전 시간에 걸처 반복적인 예측을 수행하기 위해 transfered 되고 updated 됩니다. 저자들은 track queris와 newborn object queris를 train하는 tracklet-aware label assignment를 제안합니다. 나아가 저자들은 relation modeling을 강화하기 위해 temporal aggregation network와 collective avergae loss를 제안합니다. DanceTrack에서의 실험적 결과는 MOTR이 SOTA method를 넘어선다고 말하는데요. ByteTrack, TrackFomer 그리고 transTrack을 특정 영역에서 넘어섰다고 말하고 있네요
Introduction
MOT( multiple object tracking ) 은 continuous image sequences에서 instances의 trajectories( 자취 )를 예측하는데요. 많은 존재하는 methods은 MOT temporal association를 appearance와 motion으로 나눕니다( appearance variance는 Re-ID similarity와 쌍으로 대게 계산됩니다. 반면 motion은 IoU나 Kalman Filtering에 의해 modeled 되고요 ) 이 방법들은 post=processing을 위한 similarity-based matching을 요구합니다. 이는 frames를 통해 temporal information flow의 bottelneck이 되죠. 이 논문에서, 저자들은 joint motion과 appearance modeling이 특징인 완전 end-to-end MOT framework를 소개하는 것을 목적으로 합니다.
최근, DETR이 end-to-end object detection을 위해 제안되었는데요.( 20년엔가.. ). DETR은 object detection 을 set prediction problem으로 formulates합니다. Fig 1. (a) 에서 볼 수 있다시피, object queris( objects의 decoupled representation )는 Transformer decoder에 입력되고 objects queries의 representation을 update하기 위해 image feature과 interacted 합니다. Bipartite matching은 나아가 object queries 와 ground-truths 사이에 one-to-one assignment을 위해 적용합니다. object Detection과 차이는, MOT는 sequence prediction probelm으로 여기집니다. end-to-end DETR에서 sequence prediction하는 방법은 opening question입니다.
반복적인 prediction은 machine translation에서 popular한데요. output context는 hiddens state에 의해 표시됩니다. sentence는 translated words를 예측하기 위해 decoder 안에서 hidden state과 반복적인 interact를 하는 특징이 있는데요. machine translation에서 이 이점에 영감을 받아, 저자들은 MOT가 object sequences set을 요구하기 때문에 MOT를 set of sequence problem으로 여겼다고 합니다. 각 sequence는 object trajectory와 상관관계가 있습니다. 기술적으로, 저자들은 DETR의 object query를 object sequences를 예측하기 위한 track query 확장 했는데요. Track queris는 object track의 hidden state의 역할을 합니다. track queris의 representations는 Transformer decoder에서 updated됩니다. 그리고 Fig.1 (b)에서 보여지는 바와 같이, 반복적으로 object trajectory를 예측하기 위해 사용됩니다. 특별히, track queries는 frame features에 의해 self-attention과 cross-attention을 통해 업데이트 됩니다. updated track queries는 bounding box를 예측하는 데 사용됩니다. one object의 track은 다른 frames에서 one track quey의 모든 predictions로 부터 얻어집니다.
위의 목표를 이루기 위해, 저자들은 두가지 문제를 해결해야 했다고 합니다.
1) one track query로 one object를 track 해야함
2) new born과 dead object를 deal with 해야함
첫 번째 문제를 해결하기 위해, 저자들은 training 동안 tracklet-aware label assignment ( TALA)를 소개합니다. TALA는 one track query의 예측은 same identity를 가진 bounding box sequences에 의해 지도학습됩니다. 두번 째 문제를 해결하기 위해, 저자들은 variable lengths의 track quey set을 유지합니다. newborn objects의 Queries는 이 set에 합쳐지고, dead objects 의 query는 제거됩니다. 이런 방식으로 MOTR은 명확한 track associations를 inference 에 요구하지 않습니다. 게다가, track queris의 반복적인 update는 appearance와 motion 모두에 관해 temporal modeling을 가능하게 합니다.
temporal modeling을 강화하기 위해, 저자들은 collective average loss( CAL )과 temporal aggregation network ( TAN )을 제안합니다. CAL를 가지고 MOTR는 training 동안 input으로써의 video clips를 받습니다. MOTR의 파라미터는 전체 video clip에서 계산된 overall loss에 기반해서 업데이트됩니다. TAN은 Transformer에서 key-query mechanism을 통해 track query의 이전 상태로 부터 historical information을 aggregate하기 위한 shortcut을 나타냅니다.
MOTR은 simple oneline tracker인데요. label assignment의 약간의 변형을 가지고 DETR에 기반해 쉽게 개발할 수 있습니다. MOTR은 end-to-end MOT framewor이고 track NMS나 IoU rkxdms post-processes가 필요없습니다. MOT 17과 DanceTrack dataset에서 애서 실험적 결과는 MOTR은 전도유망한 업적을 달성했습니다. 자신들의 기여를 요약하면 아래와 같습니다.
- end-to-end MOT framework를 제안했음 ( joint manner로 apperacne와 position variances를 명확하게 학습할 수 있음 )
- MOT를 set of sequence predition 문제로 formulate했음. 반복적인 update와 prediction에 대해 이전 hidden state으로부터 track query를 생성했음
- track queris와 objects 사이의 one-to-one assignment를 위해 tracklet-aware label assignment를 제안했음. newborn and dead tracks를 다루기 위한 entrance and exit mechanism을 제안했음
- temporal modeling을 강화하기 위해 CAL과 TAN을 제안했음
Related Work
Transformer-based Architectures
Transformer는 machin translation을 위해 전체 input sequence로 부터 information을 aggregate하기 위해 소개되었습니다. Transformer는 self-attention과 corss-attention mechanisms을 포함하는데요. 이것 때문에, transformer는 speech processing과 computer vision 분야에 점차적으로 알려지기 시작했습니다. 최근 DETR은 CNN과 Transformer 그리고 bipartite을 end-to-end object detection을 수행하기 위해 통합했는데요. fast convergence를 위해서 Deformable DETR은 deformable attention modul을 transformer incoder와 decoder에 적용했습니다. ViT은 image classification을 위한 순수 transformer architecture로 만들어 졌습니다. 게다가, Swin Transformer는 굉장한 효율을 보여주는 shifted windowing scheme( local window에서 self-attention을 수행하기 위한 ) 제안했습니다. VisTR은 video instance segmentation을 수행하는 direct end-to-end parallel sequence prediction framework을 사용했습니다.
Multiple-Object Tracking
지배적인 MOT method는 tracking-by-detection paradigm을 따랐습니다. 이 approackes는 대게 먼저 objects를 각 frame에서 localize하기 위해 object detector를 사용하고 나서 tracking results를 생성하기위해 adjacent frames 간 track association을 수행합니다. SORT는 Kalman Filter와 Hungarian algorith을 합침으로써 track association을 시행했습니다. DeepSORT와 Tracktor는 extra cosine distance를 소개했고 track association을 위해 appearance similarity를 compute했습니다. Track-RCNN, JDE 그리고 FairMOT는 joint training framework에서 상위 object detector branch에 Re-ID를 더했습니다. 이는 object detection과 Re-ID feature learning을 통합했습니다. TransTrack과 TrackFormer는 MOT를 위한 transformer-based frameworks를 개발했죠. setion 3.7에서 이들을 직접 비교한다고 하네요
Iterative Sequence Prediction
encoder-decoder architecture를 가지고 sequence-to-sequence를 통해 Predicting sequence 것은 machine translation에서 popular합니다. seq2seq framework에서, input은 encoder network에 의해 intermediate representation으로 encoded되는데요. 그런다음 task-specific context information을 가진 hidden state는 decoder network을 통해 target segquece를 생성하기 위해 intermediate representation을 가지고 반복적으로 intracted하고 introduced 됩니다. iterative decode process는 몇몇 iterations를 포함합니다. 각 iteration에서 hidden state decodes는 target sequece의 하나의 element입니다.
Method
Query in object Detection
DETR은 detect object를 위해 고정된 길이 set의 object queris를 소개했습니다. object queries는 Transformer decoder 에 입력되고 image features의 representation을 update하기 위한 transformer encoder로 부터 추출된 image features와 interacted합니다. Bipartite matching은 updated object queries와 ground-truths의 one-to-one assignment를 위해 적용합니다. 저자들은 object query를 " detect quey " 로 쓰겠다고 말합니다.
Detect Query and Track Query
MOT에 object detection으로 부터 DETR framework를 적용할 때 두 가지 문제가 발생했습니다
1) one track queries로 one object를 track하는 방법
2) new born and dead object를 handle하는 방법
저자들은 detect queries를 track queries로 확장했습니다. Track query set는 동적으로 updated됩니다. 또한 length 는 variable입니다. Fig 2에서 보여지는 바와 같이, track qury set는 비어있는 체로 초기화 됩니다. 그리고 DETR의 detect query는 ( T_2에서 object 3 ) newborn object를 detect하는데 사용됩니다. detected bojects의 hidden states는 다음 frame을 위한 track queries를 생성합니다. dead objects에 할당된 track queries는 track query set에서 제거됩니다. ( object 2 at T_4 )
Tracklet-Awar Label Assignment
DETR에서 one detect query는 ground-truths와 all detect quries 간의 bipartite matching을 수행함으로써 label assignment가 수행되기 때문에 image의 any object에 할당됩니다. 반면 MOTR에서는, detect queries는 newborn objects를 detect하는데에만 사용되는 반면 track queries는 all tracked objects를 예측합니다. 이 문제를 해결하기 위해 저자들은 TALA를 제안합니다.
일반적으로 TALA는 two strategies로 구성됩니다. detect queries에 대해, 저자들은 newborn-only로서 DETR에서 assignmet strategy를 변형했습니다. bipartite matching은 newborn objects의 ground-truths와 detect queris 사이에 시행됩니다. Track queries에 대해. 저자들은 target-consistent assignment strategy로 설계했습니다. Track queries는 이전 frame의 same assignment를 따릅니다. 그렇기 때문에 앞서언급된 bipartite matching에서 제외됩니다.
공식적으로, 저자들은 track queries의 predictions를 아래와 같이 표기합니다.
그리고 detect queris의 predictions와 newborn objects의 ground-truths를 각각 아래와 같이 표기합니다.
track queris와 detect queris에 대한 label assignment results는 w_tr과 w_det로 표기합니다. frame i에 대해, detect queries의 label assignment는 newborn objects와 detect queris 사이의 bipartite matching으로 부터 얻을 수 있고 식으로 나타내면 아래와 같습니다.
L은 DETR에서 정의된 pair-wise matching cost이고 옴_i는 detect queries와 newborn objects 사이의 모든 bipartite matches의 space 입니다. Track query assignment를 위해 , last frame으로 부터 newborn objects와 tracked objects를 위한 assignments를 합칩니다. 식으로는 아래와 같습니다.
첫번 째 frame에 대해, track query assignment는 비어있습니다 ( set 0 ) 왜냐하면, 첫 번 째 frame에는 tracked object가 없기 때문입니다. 따라나오는 연속적인 frames에 대해, track query assignment는 이전 track query assignment와 newborn object assignment와 concatenation합니다.
실제로, TALA strategy는 Transformer의 powerful attention mechanism 덕분에 간단하고 효과적입니다. 각 frame에서, detect queries와 track queries는 concatenated되고 their representation을 update하기 위해 Transformer decoder에 입력됩니다. Detect queries는 newborn objects만을 detect합니다. Transformer decoder의 self-attention에 의한 query interaction이 tracked objects를 detect하는 detect queries를 억압할 수 있기 때문입니다. 이 mechanism은 중복 박스가 low scores로 suppressed 되는 DETR에서의 duplicate removal과 유사합니다.
MOTR Architecture
MOTR의 architectur는 아래 Fig. 3에 나타나있습니다. Video sequence는 frame features를 추출하기 위한 Deformable DETR encoder와 convolutional neural network ( CNN )에 입력됩니다.
첫 번 째 frame에서, track query는 없습니다. 저자들은 고정된 length learnable detect queries를 Deformable DETR decoder에 넣습니다. 연속적인 frame에 대해, 저자들은 이전 frame과 learnable detect queries로 부터 track queries의 concatenation을 decoder의 입력으로 줍니다. 이 queries는 bounding box 예측을 위한 hidden state를 생성하기 위해 decoder에서 image feature과 ineract 합니다. hiddens state는 다음 frame을 위한 track queris를 생성하기 위해 QIM ( query interaction module )에 입력됩니다.
training phase 동안, 각 frame의 label assignment는 sec. 3.3에 나타나있습니다. video clip의 all predictions는 prediction bank에 모입니다. 저자들은 collective average loss ( CAL )을 제안하는데 sec 3.6에 나와있답니다. inference time 동안, video stream은 online으로 처리되고 각 frame에 대해 prediction을 생성합니다.
Query Interaction Module
이번 section에서, QIM ( query interaction module )을 상세하게 설명합니다. QIM은 object entrance와 exit mechanism과 temporal aggregation network을 포함합니다. ( TAN )
Object Entrance and Exit
위에서 언급한 것처럼, video sequence에서 몇몇 objects는 intermediate frame에서 나타나거나 사라집니다. 저자들이 newborn and dead object를 다루는 방식이 소개되는데요. any frame에 대해, track queries는 detect queris와 concatenated 됩니다. 그리고 transformer decoder에 넣습니다. 이는 hidden state를 생성하죠. Fig 4.의 왼쪽 부분에서 볼 수 있습니다.
training 동안, dead objects의 hidden state는 matched objects가 ground-truths 에서 사라지거나 predicted bounding box와 target 사이의 IoU( intersection-over-union ) 가 threshold 0.5보다 낮으면 제거됩니다. 이것은 해당 hidden states 는 이 objects가 현재 frame에서 사라진다면 filtered 될 수 있음을 말합니다. 반면 rest hiddens state는 보존됨을 말하구요. newborn objects에 대해, 해당 hidden state는 eq.1에 정의된 w^i_det ( newborn object 의 assignmen )t에 기반해 유지합니다.
inferece를 위해, Fig 4.에서 보여지는 바와 같이, 저자들은 tracked objects의 사라짐과 newborn objects의 appearnace를 결정하기 위해 predicted classification scores를 사용합니다. objects queris에 대해, classification scores가 entrance threshold t_en보다 높은 predictions는 유지되고 다른 hidden states는 제거됩니다. track queries에 대해. classification scores가 exit threshold t_ex보다 낮은 predictions는 제거됩니다. 다른 hidden state는 유지됩니다.
Temporal Aggregation Network
저자들이 temporal relation modeling을 강화하고 tracked object를 위한 contextual priors를 제공하기 위해 QIM 의 temporal aggregateion network를 소개한다고 하네요. Fig 4에서 볼 수 있는 바와 같이, TAN의 input은 tracked objects에 대해 filtered hidden state 입니다. temporal aggregation을 위한 last frame으로 부터 track query를 모았다고 합니다. TAN은 Transformer decoder layer의 변형이라고 합니다. last frame과 filtered hidden state으로부터의 track query는 더해져서 MHA ( multi head attention )의 key와 query component가 된다고 하네요. MHA 이후에, 저자들은 feed-forward network ( FFN )을 적용하고 다음 결과들은 frame의 track query set을 생성하기 위해 newborn objects를 위한 hidden states를 concatenated한다고 합니다.
Collective Average Loss
samples를 training은 track의 temporal modeling에 대해 중요한데요. MOTR는 temporal variances를 Kalman Filtering 같은 hand-crafted heuristics 보다 data로 부터 학습합니다. Common training strategues는 ( 두 frames 안에서 training 하는 것 같은 )은 long-ragne object motion의 training samples를 생성하는 것을 실패하는 데요. common method와 다른점은, MOTR 은 video clips를 input으로 받습니다. 이런 방식으로, long-range object motion의 training samples는 temporal learning을 위해 생성될 수 있습니다.
frame-by-frame로 loss를 계산하는 대신, collective average loss ( CAL )은 multiple predictions를 모으는데요. 그런 다음 whole video sequence를 가진 loss는 ground-truths에 의해 계산됩니다. matching results는 w입니다. CAL은 whole videos sequence의 overall loss인데요. objects의 수에 의해 normalized 되며 식은 아래와 같습니다.
V_i는 frame i에서 ground-truths objects의 수를 나타냅니다. V^i_tr 과 V^i_det는 frame i 에서 tracked and newborn objects의 수를 나타냅니다. L은 single frame loss입니다. 이는 DETR의 detection loss와 유사합니다. single-frame loss L은 아래와 같이 공식화할 수 있습니다.
L_cls는 focal loss입니다. L_l1은 L1 loss를 나타내고 L_giou 은 generalized IOU loss입니다. 람다_cls, 람다_l1 그리고 람다_giou는 해당 weight coefficients입니다.
Discussion
DETR에 기반해 , TransTrack과 TrackFomer는 MOT를 위한 transformer-based frameworks로 개발하였습니다. 그러나 저자들의 방식은 두 가지와 비교해 큰 차이를 보입니다.
TransTrack
TransTrack은 독립적인 몇몇 short tracklets와 합쳐 full track을 모델링합니다. track-by-detection paradigm과 유하사게, TransTrack은 MOT를 2 가지 sub - task로 decouples합니다.
1) 두 개의 인접한 frames를 가지고 short trackletsdm로써 object paris를 detect 함
2) IoU matching함으로써 full tracks로써 short tracklets를 associate 함
MORT은, IoU-matching이 요구되지 않는 track query의 반복적인 업데이트를 통해 end-to-end manner로 a full track을 모델링합니다.
TrackFormer
TrackFormer는 저자들의 track query 아이디어를 공유하는데요. 그렇지만, TrackFormer는 두 개의 인접한 frames를 학습합니다. short-range를 가지고 학습하는 것은 weak temporal learning 을 야기합니다. 그럼으로 TrackFormer는 duplicate tracks를 filter out하기 위해 heuristics ( Track NMS 와 Re-ID 특징 )을 사용합니다. MOTR은 CAL과 TAN을 가지고 더 견고한 temporal motion을 학습합니다. Tab 1은 아래에 있고 아래서 각각 비교해 보여줍니다.
이 뒤로 나오는 내요은 실험에 관한 내용과
결론들로 구성되어있습니다.
이하 내용은 생략하겠습니다.
내용을 나누지 않고 써보았는데
사실 너무 긴것 같아요. 앞으로는 나눠서 올리겠습니다.
이상 WH였습니다. 감사합니다.