반응형
DeepSORT는 tracking을 진행할 때, Re-id (Association) 단계에서 사용되는 알고리즘이다. 본 논문은 2017년에 IEEE International Conference on Image Processing (ICIP)에 발표된 논문이다.
DeepSORT의 구조와 작동 원리
우선 DeepSORT의 전반적인 모델 구조
![](https://blog.kakaocdn.net/dn/oTruP/btsAPjR80Xx/VFcfH7uib4sxFTUyFqkknK/img.png)
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 논문에서는 SORT에 Pre-trained 된 CNN를 추가하여 Appearance 정보를 포함한 Metric을 사용하는 방식을 제안했습니다. 이런 확장을 통해 더 긴 Occlusion 동안 추적이 가능해졌습니다. 아래 그림은 긴 Occlusion 동안에도 동일한 ID를 유지하며 추적을 수행한 결과입니다. 이런 우수한 성능으로 인해 DeepSORT는 다른 SOTA Tracker와 견줄 수 있게 되었습니다. 그러면서도 DeepSORT는 실시간으로 실행되는 Online Tracker입니다.
![](https://blog.kakaocdn.net/dn/qNwQ2/btsASbyNb1y/hTdpJ9tRMkgD0KyRdfXHw1/img.png)
- 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
반응형
'개발자 > Computer Vision' 카테고리의 다른 글
Dense Optical flow by block matching (0) | 2024.08.10 |
---|---|
Camera Geometry #0(Calibration) (0) | 2024.03.11 |
[Tracking] 딥러닝 DNN 기반 트래킹 정리(1편 SORT 알고리즘) (3) | 2023.11.24 |
YUV Image 관련 정리 (0) | 2022.09.01 |
Object Detection -YOLO [복습] (0) | 2022.05.22 |