반응형
⭐ DeepSORT는 tracking을 진행할 때, Re-id (Association) 단계에서 사용되는 알고리즘이다. 본 논문은 2017년에 IEEE International Conference on Image Processing (ICIP)에 발표된 논문이다.
[배경 지식] Tracking의 단계(Tracking-by-Detection)
- 논문에 대해 살펴보기 전에 tracking이 이루어지는 단계를 살펴보자.
- 여러가지 물체를 한 카메라에서 동시에 추적하는 Multiple object Tracking(MOT) 문제에서 tracking-by-detection 방식이 가장 흔히 사용되고 있는 방식이다.
- tracking-by-detection 방식이란?object detection 단계는 흔히 활용되는 yolo나 centerNet등이 사용된다.
- data association 단계는 detection에서 찾은 object들이 이전의 frame의 object와 같은 object인지 찾는 단계이다. SORT가 대표적인 IOU 방식 기반의 data association 알고리즘이다.
- 그림에서와 같이 object detection과 data association의 2 stage 방식으로 최종의 final trajectory를 얻는 방식을 의미한다.
Introduction
바로 DeepSORT 알고리즘을 설명하기에 앞서 기존에 association metric으로 많이 활용되던 SORT알고리즘에 대해서 간단히 살펴보자.
SORT 알고리즘
- 동작 방식
- 생각보다 간단한 방법을 사용한다.
- Kalman filtering을 이미지에 적용한다. 이는 다음 bounding box의 위치에 대한 예측값을 출력한다.
- Hungarian method를 활용하여 association을 진행한다. 매칭 알고리즘인 것이다. 칼만 필터링을 통해서 나온 예측값과, detector에서 나온 detection 결과값을 association하는 것이다. 두 box를 IOU하면 매칭된 값들이 생기게 된다.
- 생각보다 간단한 방법을 사용한다.
- 단점
- Identity Switches : IOU기반으로 매칭을 하기 때문에 물체의 방향이 바뀌는 등의 경우에, 같은 물체인지 잘 인식하지 못한다.
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 정보도 활용한다.
- Appearance 정보 : appearance descriptor
- 각각의 bounding box에 대해서 appearance descriptor을 하나씩 두고 절댓값 1을 가진다.
- 각 track에 대해서 cosine distance를 구하는데 이 거리가 일정 임계치를 기준으로 assiciation의 대상인지 아닌지를 판단하게 된다.
-
- 따라서 위 2가지를 모두 결합한 결과를 활용하여 association problem을 풀게 된다.
Matching Cascade
- 본 논문에서는 Matching cascade라는 알고리즘을 제시한다. 위에서 설명한 metric이 포함되어 있고 그를 matrix로 변환하여 tracking을 진행한다.
Experiments
- 실험 결과
- 본 논문에서 가장 강조하는 실험 결과는 ID switch값을 기존의 SORT 알고리즘 보다 45%나 줄일 수 있었다는 점이다.
- appearance나 motion 정보를 활용했기 때문에 확실히 precision, accuracy가 향상 되었다.
- 주목할만한 점은 20Hz의 runtime을 가진다는 것이다. 절반 가량의 시간이 CNN으로 feature을 추출하는데 걸리는 시간이라고 한다. 논문에서는 real-time을 만족 시키는 정도라고 하는데 연산량이 적은 SORT에 비해서 3배나 차이가 난다. 정확도-시간 간의 tradeoff를 보여주는 부분이다.
참고 자료
- 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
- SORT 논문(SIMPLE ONLINE AND REALTIME TRACKING) : https://arxiv.org/pdf/1602.00763.pdf
- https://www.researchgate.net/figure/Tracking-by-detection-paradigm-Firstly-an-independent-detector-is-applied-to-all_fig1_268987905
반응형