이 논문은 CVPR'21에 publish된 논문으로 2023.12.19 기준 269회의 citation을 보유하고 있다.
이 논문은 Siamese network (Re-ID methods) 처럼 feature similarity를 사용해서 association을 수행하는 논문인데, 특이한점이 있다면 1) cost volume 이라는 것을 사용한다는 것과, 2) association에 사용했던 정보 (cost volume)을 warp 시켜서 detection에 이어서 사용한다는 것이다. 논문은 https://arxiv.org/abs/2103.08808에서 찾아볼 수 있고, 코드는 https://jialianwu.com/projects/TraDeS.html에서 확인할 수 있다.
Introduction
먼저, 이 논문은 MOT 방법에 크게 두 갈래가 있다고 설명한다 (아래 이미지 참고).
(1) Tracking by Detection (TBD) : 먼저 detection을 수행하고, 다른 network이나 algorihtm을 통해 associationi을 수행
👉 end-to-end training 이 안되고, two-stage processing이 안된다는 단점이 있다. (잘만 된다면 이게 왜 단점?🤔)
(2) Joint Detection and Tracking (JDT) : detection과 tracking (association)을 동시에 수행.
👉 하지만 기존의 JDT 방법들은 다음과 같은 단점들이 존재
1) detection을 수행할때 tracking 정보를 활용하지 않는다.
2) 기존의 Re-ID loss가 tracking 성능을 저해시켰다.
이 논문(TraDeS)은 기존의 CenterTrack 이라는 MOT work에서 발전한 논문이며, CenterTrack 처럼 1) object center와 2) center간 offset (displacement) 을 예측한다. 여기에 더해서, TraDeS는 특별히 두가지 scheme (CVA, MFW)를 제안했다.
CVA (Cost Volume based Association) : point-wise re-embedding similarity 비교를 통해 offset을 예측
👉 대충 간단히 말해 여러 frame 사이 embedding이 비슷한 두 object를 찾고, 그 차이를 offset으로 예측하는 것이다.
MFW (Motion-guided Feature Warper) : feature를 detection head에 전달하기 이전에 여러가지 정보를 적용한다.
👉 구체적으로, CVA에서 계산한 offset 정보와 이전 frames의 features 정보를 규합하여 적용한다.
👉 기존의 JDT method와 다르게 motion clue (offset 정보)를 사용해 detection을 향상시킨다는 특징이 있다.
Method : CVA (Cost Volume based Association)
Cost Volume. 위 overview figure에서 보이는 C 👉 $(H_c \times W_c \times H_c \times W_c)$ 에 대응되는 정보이다. feature extractor output $f$를 별도의 embedding network $\sigma(\cdot)$에 통과시켜 얻은 re-ID embedding $e^t$를 통해 계산하는데, 아래와 같이 두 feature 간의 cosine similarity로 cost $C$가 정의된다.
current frame의 모든 point $(i,j)$ 에 대해 past frame의 모든 point $(k,l)$이 대응되기 때문에 4차원의 $(H_c \times W_c \times H_c \times W_c)$ cost volume이 생성된다. 여기서 cost라는 의미가 살짝 애매한데, 정확히는 cost보다는 likelihood가 더 적절한 표현인 듯 하다.
👉 한줄로 설명하자면,, t frame의 feature $(i,j)$와 t-$\tau$ frame의 feature $(k.l)$ 사이의 similarity를 측정하고,, 이 similarity가 높게 나타나는 위치를 offset으로 사용한다.
아래 M, V이 각자 너비, 높이에 대응되는 template이 되고,,, 여기다 0~1 사이의 $C$를 곱해서 offset $O$을 얻어낸다.
Training of CVA. Association은 맞다/틀리다 의 두가지 결과만 존재하므로 binary prediction을 위한 loss를 설계할 수 있다. TraDeS는 foreground-background imbalance 해결을 위해서인지 focal loss를 사용하였고,,, negative pair (association 실패) 에 대해서는 loss를 주지 않았다 (도대체 왜?? 🤔🤔🤔)
Method : MFW (Motion-guided Feature Warper)
MFW의 역할은 두가지이다. 1) CVA의 offset정보와 과거의 feature $f$를 사용하여 정보를 생성하는 것과 2) 현재와 과거의 정보를 규합하여 feature를 향상시키는 것이다.
Temporal Propagation. 이름 그대로, 이전 frame $t - \tau$의 정보를 현재 frame $t$에서 detection 등에 사용할 수 있도록 가공하는 과정이다. 먼저 이전 frame의 feature에 center map을 곱해서 center attentive feature $\bar{f}^{t-\tau}$를 만든다.
👉 center attentive feature란 무슨 class든 간에 뭐라도 object가 있는 부분만 highlight시킨 feature map을 말한다.
이후 center attentive feature $\bar{f}^{t-\tau}$ 와 CVA에서 얻은 offset 정보를 결합하여 propagated feature $\hat{f}^{t-\tau}$를 계산한다.
👉 이 과정에서 deformable convolution을 사용한다고 하는데 관련 설명이 매우 빈약하다.
Feature Enhancement. 앞에서 과거 frames ($t-1, t-2, ..., t-\tau$)의 propagated features $\hat{f}$를 계산하였으니, 현재 feature와 과거 feature들을 합해서 feature enhancement를 하면 된다. 별건 아니고, 여러 feature들을 단순히 weight $w$를 사용하여 가중평균한다. 👉 여기서 weight $w$는 neural net이 예측하는 값인데,, 단순 평균보다 미세하게(..) 좋다고 한다.
Method : Tracklet Generation
Data Association. 기존의 TBD방식과 다르게 TraDeS는 offset $O^c$을 모델이 직접 예측해주기 때문에, 이 값을 사용하여 association을 수행하면 된다. 총 두가지 round 를 통해 data association이 진행된다.
(1) First round : 현재 $t$ frame의 $(i,j)$ 위치의 object와 이전 $t-1$ frame의 $(i,j)+O^c$ 위치의 object를 associate한다.
👉 이때 radius $r$을 두어서 약간 벗어난 offset 예측도 함께 고려하는 듯 하다.
(2) Second round : $t-1$에 없었던 object가 새롭게 나타난 경우이다 (새로운 track이거나, occluded되었었던 track이다). 이전 history에 있는 모든 track의 embedding과 similarity를 계산한다.
👉 similarity가 높다면 Re-Idenfication, similarity가 낮다면 new track을 initialize한다.
TraDeS Loss. TraDeS는 2D detection, 3D detection, segmentation, CVA loss 를 전부 고려한 multi-task learning이다. (어질어질하다.) centerTrack 을 안읽어서 좀 애매하긴한데 아마 이전 논문이랑 비슷한 방식이 아닐까 싶다.
Experimental Results
이상 끝!!! 💪😮🤜
'Object Tracking 공부' 카테고리의 다른 글
GTR : Global Tracking Transformers 논문 공부 (0) | 2023.12.21 |
---|---|
ByteTrack: Multi-Object Tracking by Associating Every Detection Box 논문 공부 (0) | 2023.12.12 |
MOTR: End-to-End Multiple-Object Trackingwith Transformer 논문 공부 (0) | 2023.12.01 |
GHOST: Simple Cues Lead to a Strong Multi-Object Tracker 논문 공부 (0) | 2023.11.30 |
SiamMOT: Siamese Multi-Object Tracking 논문 공부 (0) | 2023.11.27 |