본문 바로가기

개발자/Computer Vision

[Tracking] 딥러닝 DNN 기반 트래킹 정리(2편 DeepSORT 알고리즘) - 작성중

반응형

DeepSORT는 tracking을 진행할 때, Re-id (Association) 단계에서 사용되는 알고리즘이다. 본 논문은 2017년에 IEEE International Conference on Image Processing (ICIP)에 발표된 논문이다.

 

DeepSORT의 구조와 작동 원리

우선 DeepSORT의 전반적인 모델 구조

 

SORT With Deep Association Metric

그렇다면 제안된 방식을 보다 자세히 살펴보자.

우선 DeepSORT는 SORT알고리즘의 Kalman filtering 방식과 frame-by-frame으로 data association을 진행하던 기존의 방식을 유지한다.

 

1. Track Handling and State Estimation : 물체의 위치 예측하기

  • Kalman filter prediction : bounding box 좌표를 입력으로 받는다. 일정한 상수로 물체가 velocity를 가지는 motion을 가지고 있다고 보고, linear observation model을 따른다고 여긴다.

2. Assignment Problem : 물체 매칭 시키기

  • 본 논문에서는 assignment를 정확하게 하기 위해서 기존에 사용하던 Hungarian 알고리즘에서 motion과 appearance 정보를 추가하였다.
      • Mahalanobis distance란? 평균과의 거리가 표준편차의 몇 배인지를 나타내는 값. 이 수치는 값이 얼마나 발생하기 힘든 값인지를 나타내는 수치라고 볼 수 있다.
      • 칼만 필터의 예측 결과 값과 detection 결과와의 Mahalanobis 거리를 구한다. 따라서 거리가 일정 임계값보다 큰지 판단한다.Motion 정보 : (squared 제곱이 된) Mahalanobis distance
      • 칼만 필터링과의 거리만을 이용하면 물체의 대략적인 위치 만을 어림짐작 하는 것이다. 따라서 appearance 정보도 활용한다.
    1. Appearance 정보 : appearance descriptor
      • 각각의 bounding box에 대해서 appearance descriptor을 하나씩 두고 절댓값 1을 가진다.
      • 각 track에 대해서 cosine distance를 구하는데 이 거리가 일정 임계치를 기준으로 assiciation의 대상인지 아닌지를 판단하게 된다.
  • 따라서 위 2가지를 모두 결합한 결과를 활용하여 association problem을 풀게 된다.

Matching Cascade

  • 본 논문에서는 Matching cascade라는 알고리즘을 제시한다. 위에서 설명한 metric이 포함되어 있고 그를 matrix로 변환하여 tracking을 진행한다.

matching cascade 알고리즘

 

 

Experiments

  • 실험 결과
    • 본 논문에서 가장 강조하는 실험 결과는 ID switch값을 기존의 SORT 알고리즘 보다 45%나 줄일 수 있었다는 점이다.
    • appearance나 motion 정보를 활용했기 때문에 확실히 precision, accuracy가 향상 되었다.
    • 주목할만한 점은 20Hz의 runtime을 가진다는 것이다. 절반 가량의 시간이 CNN으로 feature을 추출하는데 걸리는 시간이라고 한다. 논문에서는 real-time을 만족 시키는 정도라고 하는데 연산량이 적은 SORT에 비해서 3배나 차이가 난다. 정확도-시간 간의 tradeoff를 보여주는 부분이다.
     

experimental results

결론

DeepSORT 논문에서는 SORT에 Pre-trained 된 CNN를 추가하여 Appearance 정보를 포함한 Metric을 사용하는 방식을 제안했습니다. 이런 확장을 통해 더 긴 Occlusion 동안 추적이 가능해졌습니다. 아래 그림은 긴 Occlusion 동안에도 동일한 ID를 유지하며 추적을 수행한 결과입니다. 이런 우수한 성능으로 인해 DeepSORT는 다른 SOTA Tracker와 견줄 수 있게 되었습니다. 그러면서도 DeepSORT는 실시간으로 실행되는 Online Tracker입니다.

 
  • DeepSORT에서 CNN 모델이 총 두 개 활용됩니다. Faster R-CNN과 Appearance Feature를 추출하기 위해 사용되는 CNN 모델이 있습니다. 어떤 방식으로, Faster R-CNN의 Backbone 구조를 변경하여 두 개의 모델을 하나 통합하는 방식이 있다면 더 모델의 속도를 더 빠르게 할 수 있겠다는 생각을 했습니다.
  • SORT와 DeepSORT는 Track의 속도만을 고려하는데, 만약 Track의 가속도 정보까지 고려하는 Tracker를 개발하면 더 좋은 성능을 낼 수 있지 않을까란 생각을 해보았습니다.
 

 

 

참고 자료

  • DeepSORT 논문(SIMPLE ONLINE AND REALTIME TRACKING with a deep association metric) : https://ieeexplore.ieee.org/abstract/document/8296962
  • DeepSORT github : https://github.com/nwojke/deep_sort
  • SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC, Wojke et al., 2017–05–21
  • Understanding Kalman Filters with MATLAB, MATLAB Korea, 2022–02–07
  • MS-Faster R-CNN: Multi-Stream Backbone for Improved Faster R-CNN Object Detection and Aerial Tracking from UAV Images, Avola et al., 2021–04–25
반응형