본문 바로가기

Object Tracking 연구

DARTH 코드 분석하기 (3) Test 코드 분석 및 DARTH 성능 reproduce

DARTH 깃헙 홈페이지 https://github.com/mattiasegu/darth 에서 (1) TTA가 완료된 모델과 (2) 이를 test 하기 위해 필요한 config 파일을 다운받을 수 있다.

이번 포스팅에서는 MOT에서 학습된 모델을 DanceTrack으로 adapt 시켰을때의 성능을 확인하려한다..

◾ 이와 별개로, MOT에서 학습된 Source model을 TTA없이 그냥 DanceTrack에 inference 했을때의 성능도 측정해보자..!

TTA가 완료된 모델의 성능 측정은 tools/run/test.py 로 가능하고,, 깃헙에서 다운받은 모델, config를 전달하면 된다.

😬 DanceTrack의 경우 tset를 진행하는데에 22분정도가 걸린다. (25508 batches, 각 18.8초)

 

◾ 모델 inference 결과를 results_path에 먼저 저장해놓고,, 나중에 원하는 metric으로 성능을 측정할 수 있다.

◾ 방법은 정확히 모르겠으나 fp16 옵션을 사용해서 inference 과정을 가속화할 수 있는 것으로 보인다.

◽ 비슷한 fp16 wrapping 코드를 QDTrack의 test.py 에서도 찾아볼 수 있다.

◾ 이것도 잘 모르겠지만 😥 multiple GPU testing 도 가능하다...

◽ 이것도 QDTrack과 비슷하다 (결국 둘다 mmcv 기반이라..)

MOT $\rightarrow$ DanceTrack 을 측정했을때 깃헙에 report된 것과 완전히 동일한 성능을 얻을 수 있었다 👍

◾ 본 논문이 FP16으로 양자화를 시킨줄 알았는데,, 성능이 같은걸보니 딱히 아닌가보다..  🤔

다음으로 TTA없이 MOT에서 학습된 Souce model의 성능을 DanceTrack에서 측정해보자...

깃헙 홈페이지에 가면 Source model을 training 하기 위한 config 파일과,, 학습이 완료된 source model도 함께 올라와있다.

(1) MOT source model $\rightarrow$ DanceTrack inference 성능

(2) DanceTrack source model $\rightarrow$ DanceTrack inference 성능

위 두가지를 측정해보고,, ,깃헙 페이지와 논문에 report된 성능과 일치하는지 확인해보자..!

다음 실험을 통해 위 성능이 reproduce 되는지 확인해봐야한다.

🤔 그나저나 이 논문 seed 단하나로 실험한 것 같다. (confidence interval도 없고..) 흠흠 참 신기하구만..

오오.. 신기하네.. 거의 완벽하게 reproduce가 된다.. 하나를 보면 열을 안다고, 믿을만한 코드와 논문인 것 같다. 😁👌

 

흠.. 이젠 뭘 해야하나.. 일단 내 목적이 efficient online MOT TTA 니까.. online DARTH 성능 측정이 필요하다.

test reproduce는 잘 되는 것 같으니,, 한번 train reproduce를 해보자.

 

이상 끝! 🤷‍♂️🎶