StrongSORT: Make DeepSORT Great Again, Yunhao Du et al., 2022을 읽고 요약한 글입니다.
⏹️ Abstract
기존의 다중 객체 추적(MOT) 방법은 tracking-by-detection 및 joint-detection-association paradigm으로 분류할 수 있다. 후자가 더 많은 관심을 끌었고 전자에 비해 비슷한 성능을 보여주었지만, 본 논문은 tracking-by-detection paradigm이 여전히 tracking 정확도 측면에서 최적의 솔루션이라고 주장한다.
본 논문에서는 classic tracker DeepSort를 다시 살펴보고 detection, embedding 및 association 등 다양한 측면에서 업그레이드 한다(StrongSORT). 또한 tracking result를 더욱 세분화하기 위해 lightweight와 plug-and-play 알고리즘을 제시한다.
첫째, 짧은 tracklet을 완전한 trajectory로 연결하기 위해 appearance-free link model(AFLink)이 제안된다. 이는 외관 정보가 없는 첫 번째 global link model이다.
둘째, 누락된 탐지를 보완하기 위해 가우스 평활 보간(GSI, Gaussian-smoothed interpolation)을 제안한다. linear interpolation(선형 보간)과 같은 모션 정보를 무시하는 대신, GSI는 Gaussian process regression 알고리즘을 기반으로 하며 보다 정확한 localization을 달성할 수 있다.
AFLink와 GSI는 다양한 tracker에 연결할 수 있으며 StrongSORT에 두 알고리즘을 추가한 최종 tracker인 StrongSORT++는 HOTA 및 IDF1 metric 측면에서 MOT17 및 MOT20에서 1위를 차지하고 1위 1.3 - 2.2를 능가한다.
1️⃣ Introduction
지난 몇 년 동안 tracking-by-detection paradigm이 MOT 과제를 지배했다. 프레임 당 detection을 수행하고 MOT 문제를 data association task로 공식화한다. 그러나 이러한 방법에는 일반적으로 detector 및 embedding과 같은 계산 비용이 많이 드는 여러 구성 요소가 필요하다. 이 문제를 해결하기 위해 최근 detector와 embedding model을 통합한 방법들이 제시되기도 했지만 이런 joint framework에서 서로 다른 구성 요소 간의 경쟁과 이러한 구성 요소를 공동으로 훈련하기 위한 제한된 데이터가 문제점이라고 주장한다.
본 논문은 DeepSort에 다양한 측면에서의 고급 구성 요소를 장착하여 제안 된 StrongSort를 제공함으로써 인기 벤치 마크인 MOT17 및 MOT20에서 새로운 SOTA를 달성할 수 있음을 보여준다. 또한 tracking result를 더욱 세분화하기 위해 lightweight와 plug-and-play 알고리즘을 제시한다.
첫째, global information을 더 잘 활용하기 위해, global link model을 사용하여 짧은 tracklet을 tracjectory로 연결할 것을 제안한다. 이는 정확하지만 불완전한 tracklet을 생성하고 오프라인 방식으로 global information과 연결한다. 이는 tracking 성능을 크게 향상 시키지만 appearance embedding에 의존한다. 대조적으로, 본 논문은 두 입력인 tracklet이 동일한 ID에 속하는지 여부를 예측하기 위해 시공간 정보만 활용하는 외관 자유 링크 모델(AFLink)을 제안한다.
둘째, 선형 보간(linear interpolation)은 누락된 detection을 보상하는 데 많이 사용되지만 모션 정보는 무시되므로 보간 위치의 정확도가 제한된다. 이 문제를 해결하기 위해, Gaussian process regression 알고리즘을 사용하여 보간을 향상 시키는 Gaussian-smoothed interpolation 알고리즘(GSI)을 제안한다.
StrongSort에 AFLink와 GSI를 적용함으로써 StrongSORT++라는 더 강력한 tracker를 얻는다.
그림 1은 StrongSORT 및 StrongSORT++를 MOT17 및 MOT20 테스트 세트의 최첨단 tracker와 비교한다.
2️⃣ Related Work
▪️ Seperate and Joint Trackers
MOT method는 seperate tracker와 joint tracker로 분류할 수 있다. Seperate tracker는 tracking-by-detection paradigm을 따르고 먼저 target을 localization한 다음 appearance, 움직임 등에 대한 정보와 연관(associate)시킨다.
본 논문은 joint tracker가 다른 구성 요소 간의 경쟁과 구성 요소를 공동으로 훈련하기 위한 제한된 데이터라는 두 가지 문제는 tracking 정확도의 상한을 제한한다고 주장한다. 따라서, tracking-by-detection paradigm이 여전히 최적의 솔루션이라고 주장한다.
최근 여러 연구는 외관 정보를 포기하고 고성능 detector와 motion 정보에만 의존했으며, 이는 MOTChallenge 벤치 마크에서 높은 실행 속도와 최첨단 성능을 달성한다. 하지만 본 논문은 데이터셋의 모션 패턴의 일반적인 단순성 때문이라고 주장한다. 외관 특징을 포기하면 더 복잡한 장면에서 robustness가 저하될 수 있기 때문에 본 논문에서는 DeepSort와 유사한 패러다임을 채택하고 다양한 측면에서 advanced techniques를 추가하여 classic framework의 효과를 확인한다.
▪️ Global Link in MOT
풍부한 global information을 활용하기 위해 global link moel로 tracking result를 세분화하는 방법도 있다. 시공간 및 외관 정보를 사용하여 정확하지만 불완전한 tracklet을 생성한다. 이후 이러한 tracklet은 오프라인 방식으로 global information을 탐색하여 연결된다.
본 논문은 두 tracklet 사이의 link 신뢰도를 예측하기 위해 모션 정보만 활용하는 AFLink 모델을 제안한다. 적절한 모델 프레임 워크와 훈련 프로세스를 설계함으로써 AFLink는 다양한 최첨단 tracker에 혜택을 준다. 이는 MOT 작업을 위한 첫 번째 appearance-free and lightweight global link model이다.
▪️ Interpolation in MOT
선형 보간(linear interpolation)은 누락된 detection을 위해 복구 된 trajactory의 공백을 메우는 데 많이 사용된다. 이는 모션 정보를 무시하여 복원된 bounding box의 정확도를 제한한다. 누락된 위치를 예측하려면 추가 카메라 모션 보상(CMC, camera motion compensation) 모델 과 칼만 필터가 필요하지만 본 논문은 가우스 프로세스 회귀(GPR, Gaussian process regression) 알고리즘을 기반으로 비선형 운동을 모델링할 것을 제안한다. 추가적인 시간 소모적인 구성 요소 없이, 본 논문이 제안한 Gaussian-smoothed interpolation 알고리즘(GSI)은 정확성과 효율성 사이에서 좋은 균형을 달성한다. 본 논문은 GPR을 사용하여 MOT 과제를 연구하고 보간 된 localization을 개선한다. 또, adaptive smoothness factor를 제시한다.
3️⃣ StrongSORT
▪️ Review of DeepSORT
DeepSORT는 2가지 프레임워크, 즉 appearance branch와 motion branch로 간략하게 요약할 수 있다. appearance branch에서는 각 프레임에서 detection이 되면 인물 재식별 데이터셋인 MARS 에서 사전 훈련된 deep appearance descriptor(a simple CNN)가 적용되어 appearance feature를 추출한다. feature bank 메커니즘을 사용하여 각 tracklet에 대한 마지막 100 프레임의 feature를 저장한다. 새로운 detection이 입력 되면서, i번째 tracklet의 feature bank Ri와 j번째 detection의 feature fj 사이의 가장 작은 cosine distance는 Eq(1)로 계산된다.
distance는 association procedure 동안 matching cost로 사용된다.
motion branch에서, 칼만 필터 알고리즘은 현재 프레임에서 tracklet의 위치를 예측한다. 이후, mahalanobis distanche는 tracklet과 detection 사이의 spatio-temporal dissimilarity를 측정하는 데 사용된다. DeepSort는 이 motion distance를 gate로 사용하여 발생할 수 없는 연관성(association)을 필터링한다. 이후 associations task를 사용하여 global assignment 문제를 해결하지 않고 series of subproblem으로 해결하기 위해 matching cascade 알고리즘이 제안된다.
핵심 아이디어는 더 자주 보이는 객체에 더 큰 일치 우선 순위(greater matching priority)를 부여하는 것이다. 각 association subproblem는 헝가리안 알고리즘을 사용하여 해결한다.
▪️ Stronger DeepSORT
DeepSort에 비해 개선된 점은 그림 2에서 볼 수 있듯, appearance branch의 경우 원래 단순한 CNN을 대체하기 위해 더 강력한 appearance feature extractor인 BoT(https://arxiv.org/pdf/1906.08332.pdf)가 적용된다. ResNeSt50을 백본으로 사용하고 DukeMMCreID 데이터셋에 대한 pretrain을 통해 훨씬 더 많은 차별적인 feature를 추출할 수 있다.
또한 feature banck를 feature update 전략으로 대체하여 지수 이동 평균(EMA, exponential moving average) 방식으로 i번째 tracklet 프레임에 대한 appearance 상태 'e'를 Eq(2) 같이 업데이트한다.
여기서 'f'는 현재 일치 된 검출의 appeareance embedding이고 α = 0.9는 momentum 용어이다. EMA 업데이트 전략은 matching quality를 향상시킬 뿐만 아니라 시간 소비도 줄인다.
motion branch의 경우 camera motion compensation에 ECC를 채택한다. 또한 vanilla 칼만 필터는 w.r.t. low-quality detection에 취약하며 detection moise의 scale에 대한 정보를 무시한다. 이 문제를 해결하기 위해 노이즈 공분산 Rk를 다음과 같이 정의한다.
Eq(3)를 적응적(adaptive)으로 계산하는 공식을 제안하는 NSA 칼만 알고리즘을 GIAOTracker에서 가져온다. 여기서 Rk는 사전 설정된 상수 측정 노이즈 공분산이고 ck는 상태 k에서 감지 신뢰 점수이다.
또한 매칭 시 appearance feature distance만 사용하는 대신 appearance 및 motion 정보로 assignment 문제를 해결한다. Cost matirx C는 다음(Eq(4))과 같이 appearance cost Aa와 motion cost Am의 가중치 합이다.
여기서 중량 계수 λ는 0.98로 설정된다.
또, DeepSort에서 matching cascade 알고리즘이 사소하지 않지만 tracker가 더 강해질수록 혼란스러운 association에 더 robust 해지기 때문에 tracker가 더 강력해짐에 따라 성능을 제한한다는 것을 발견했다. 따라서 추가적인 사전 제약 조건은 matching 정확도를 제한하기 때문에 matching cascade를 vanilla global linear assignment로 대체한다.
4️⃣ StrongSORT ++
▪️ AFLink
tracklet에 대한 global link는 매우 정확한 association을 추구하기 위해 여러 연구에서 사용되지만 일반적으로 미세 조정하기 위해 계산 비용이 많이 드는 구성 요소와 수많은 하이퍼파라미터에 의존한다. appearance feature에 과하게 의존하면 noise에 취약하다.
본 논문은 시공간 정보에만 의존하여 두 tracklet 사이의 연결을 예측하기 위해 appearance-free model인 AFLink를 설계했다.
그림 3은 AFLink 모델의 2가지 프레임 워크를 보여 준다.
두 개의 트랙렛 Ti와 Tj를 Input으로 한다. 여기서 Tθ = {fk, xk, yk} N~k=1은 최근 N = 30 프레임의 frame fk와 position(xk, yk)로 구성된다. 제로 패딩은 30프레임보다 짧은 프레임에 사용된다. temporal module은 7 × 1 커널로 temporal dimension을 따라 convolution하여 feature를 추출하기 위해 적용된다. 그런 다음 fusion module은 1 × 3 convolution을 수행하여 서로 다른 feature dimension, 즉 f, x, y의 정보를 통합한다.
두 가지 feature map은 각각 feature vector로 pooling되고 squeeze된 다음 풍부한 시공간 정보를 포함하도록 연결(concatenate)된다. 마지막으로, MLP는 연관성에 대한 confidence score를 예측하는 데 사용된다. 두 branch의 temporal module과 fusion module은 안 묶여 있음을 주의해야 한다. Association 하는 동안, 시공간 제약이 있는 불합리한 tracklet 쌍을 걸러낸다. 그 다음 global link를 predicted connectivity score로 linear assignment task(헝가리안 알고리즘)로 해결한다.
▪️ GSI
보간은 누락된 detection으로 인한 trajectory의 공백을 메우기 위해 주로 사용되지만 motion 정보를 사용하지 않아 정확도가 제한적이다. 이 문제를 해결하기 위해 single object tracker, 칼만 필터, ECC와 같은 전략들이 제시되었지만 본 논문은 nonlinear motion을 모델링하기 위해 Gaussian process regression을 사용하는 lightweight interpolation 알고리즘을 제시한다.
i번째 trajectory에 대한 GSI 모델은 Eq(5)를 통해 공식화 된다.
여기서 t∈F는 프레임이고, pt∈P는 프레임 t에서의 위치 좌표 변수(즉, x, y, w, h)이며, ϵ∼N(0,σ^2)은 Gaussian noise이다. tracked되고 linearly interrpolated된 길이 L인 trajetory S(i) = {t(i), p(i)t}L~t=1가 주어질 때, 비선형 모션 모델링 작업은 함수 f^(i)를 fitting함으로써 해결된다. 가우스 프로세스 f(i)∈GP(0, k(·, ·))를 따른다고 가정하면 여기서 k(x, x`) = exp(-||x-x'||^2/2gp^2)는 radial basis function kernel이다.
새로운 프레임 세트 F*가 주어지면 가우스 프로세스의 특성에 기초하여, smoothed positions P*은 Eq(6)에 의해 예측된다.
여기서 K(·, ·)는 k(·, ·)에 기반한 covaqriance function이다. 또한, 하이퍼파라미터 λ는 trajectory의 smoothness을 제어하며, 이는 trajectory의 길이와 관련이 있다.
하이퍼파라미터 λ를 단순히 길이 l에 적응하는 함수(Eq(7))로 설계한다.
여기서 π는 10으로 설정된다.
그림 4는 GSI와 선형 보간(LI, linear interpolation)의 차이의 예를 보여 준다. raw 추적 결과(주황색)는 일반적으로 노이즈가 많은 jitter를 포함하며, LI(파란색)는 모션 정보를 무시한다. 본 논문이 제시한 tracked+GSI(빨간색)는 adaptive smoothness factor로 entire trajectory를 평활화(smoothing)하여 두 문제를 동시에 해결한다.
5️⃣ Experiments
▪️ 5.1 ~ 5.4 생략
▪️ Limitations
StrongSORT와 StrongSORT++에는 여전히 몇 가지 제한이 있다.
joint tracker와 여러 개의 appearance-free separate stracker에 비해 상대적으로 낮은 running speed가 main concern이라 계산 효율성 향상에 대한 추가 연구가 필요하다.
또한, IDF1과 HOTA에서 1위를 차지하지만, MOTA는 약간 낮으며, 이는 주로 detection score의 높은 threshold로 인해 많은 missing detection으로 인해 발생했다. AFLink의 경우 누락된 연관성을 복원하는 데는 좋은 성능을 발휘하지만 잘못된 연관성 문제에 대해서는 도움이 되지 않는다. 구체적으로, AFLink는 ID mixed-up trajectory를 정확한 tracklet으로 분할할 수 없다.
따라서 보다 강력하고 유연한 global association 전략을 개발하기 위한 향후 작업이 필요하다.
SORT부터 DeepSort, StrongSort까지 차근차근 논문을 읽고 정리를 해 보니 sort 알고리즘을 이용한 tracking은 어느정도 감을 잡은 것 같다.
그리고 논문을 읽은 후 flowchart까지 그려보니 좀더 이해가 잘 되었다.
그래서 StrongSORT도 flowchart를 간단하게 그려보았는데 DeepSORT에서 변경된 부분이 별로 없어서 큰 흐름은 그대로 가는 것 같아 수정을 많이 하지는 않았다.
사실 이 flowchart가 맞는 건지도 모르겠다.. 자신이 없음...
그러니 이 flowchart에 대해 누구든 지적이나 의견 제시 해주신다면 정말 감사합니다!
논문을 읽은 후 주관을 가지고 요약, 정리한 글이므로 해당 포스팅에 대한 이의 제기, 다른 의견 제시 등 다양한 지적, 의견은 언제나 대환영입니다!
댓글로 남겨주시면 늦더라도 확인하겠습니다!!!