문단은 ---를 사용해서 끊었다.
Abstract
- 이 논문은 온라인과 리얼타임에 적용하기 위한, 효율적으로 개체와 연결하는 것(to associate objects efficiently)을 주 목적으로 한다.
- Detection Quality 가 Tracking의 key factor라는 걸 알아냈다.
- detector를 바꿨더니 tracking 성능이 18.9%까지 올랐다!
- Tracking Component로 Kalman Filter나 Hungarian Algorithm 같은 아주 기본적인 조합을 썼음에도 불구하고,
우리는 최첨단의(state-of-the-art) online tracker에 맞먹는 accuracy를 냈다.
- 심지어 우린 트래킹 메소드 간단하게 만들었는데 tracker updates at a rate of 260Hz 하도록 했는데, 이건 다른 최첨단 trackers보다 20배 정도 빠르다.
Introduction
- 우리는 Online Tracking과 realtime tracking에 초점을 맞췄다.
- Online tracking은 이전과 현재 프레임에서만 검출(detection)한 결과만 추적(tracking)에 전달된다.
- MOT의 문제는 data association 문제로 볼 수 있다.
- data association은 같은 물체에 대해 두 개 이상의 tracking이 수행되고 있을 때, 이를 조정하여 하나의 tracking으로 만들어주는 기법이다.
- 이 논문에서 채택한 방법은 최근 발표된 visuasl MOT observation에서 동기를 얻었다.
- Multiple Hypothesis Tracking (MHT), Joint Probabilistic Data Association (JPDA)와 같은 mature data association techniques의 부활이 있었다.
- ACF detector을 사용하지 않는 tracker가 높은 순위를 차지하면서, detection quality가 trackers의 성능을 억제한다는 의견이 제시되었다.
- 더욱이, accuracy와 speed의 trade-off 관계는 꽤 분명하게 나타난다. (Fig 1)

- 가장 좋은 online 및 batch tracker에서, 고전적인 data association 기술의 중요성이 대두됨에 따라
가장 좋은 tracker에 사용된 detections를 사용하는 것과 함께,
어떻게 MOT를 심플하게 만들고, 잘 동작하게 만들 것인가를 탐구했다.
- Occam's Razor에 의해, detection component를 넘는 appearance features는 tracking에서 제거된다.
- 바운딩 박스의 위치와 사이즈가 motion estimation과 data association에 사용된다.
- short-term과 long-term에서의 occlusion과 같은 이슈도 무시한다.
- object re-identification는 상당한 오버헤드를 만든다. 즉, 리얼타임에서는 잠재적으로 사용을 제한한다.
- 이런 디자인 철학은 다른 visual trackers들과 많이 대조된다.
- 걔네들은 다양한 edge cases이랑 detection errors 다루는 거 다 포함한다...
- 근데 우리는 대신 일반적인 frame-to-frame associations을 다루는 걸 효율적이고 믿을만 하게 할거다.
- detection errors에 견고해지는 거에 초점을 맞추기 보다는
- detection problem을 바로 해결할 수 있도록 최근 발전한 visual object detection을 이용할거다.
- CNN based detector인 common ACF pediestrian detector를 비교해서 보일거다.
- 그리고 tracking 쪽에선, Kalman filter는 motion prediction 위해서,
Hungarian method는 data association 위해서 사용해.
- 우리 이거 '다양한 환경 속 보행자 추적'을 위해 적용한거긴 한데,
- CNN의 flexibility를 생각해봐. 아마 자연스럽게 다른 object classes에 일반화 가능할거야.
이 논문의 main contributions은 ...
- 우리는 MOT에서의 CNN based detection의 힘을 믿어✨
- Kalman Filter와 Hungarian algorithm을 기반으로 한 실용적인 추적 접근법은 최근 MOT benchmark에서 제시되었고, 평가되었어.
- 코드는 오픈소스로 개방할거야. 너네 위해서...ㅎ
Literature Review
간단하게 MOT 관련 논문을 소개해보겠다.
-
전통적인 MOT는 Multiple Hypothesis Tracking (MHT) 또는 Joint Probablisitic Data Association (JPDA) filters를 사용했다.
- JPDA filters는 객체 지정(object assignment)에 높은 불확실성이 있을 때 결정을 지연시킨다.
- 이런 접근법에서의 결합적 복잡성(The combinatorial complexity of these approaches)은 아주 커져서(exponential), 매우 역동적인 환경에서의 실시간 활용을 하는 상황에선, 추적된 객체가 이런 접근법을 비실용적으로 만든다.
-
Rezatofighi et al.은 visual MOT에서 JPDA formulation을 revisit했다.
- 목표는, 최근 개발된 integer programs를 이용하여 효율적인 JPDA 근사화를 활용해서 결합적 복잡성 이슈를 해결하는 것이었다.
-
비슷하게 Kim et al.은 appearance model을 사용했다.
- 하지만 여전히 결정을 지연시켜서 online tracking에 적합하지 않았다.
- 많은 online tracking 방법은 appearance models을 빌드하는 것을 목적으로 둔다.
- appearance model은 각 객체들의 appearance models이기도 하고, 하나의 global model이기도 하다.
- online learning을 사용한다.
- appearance models에 추가로, 움직임(motion)이 자주 포함된다.
- 움직임은 검출(detection)을 tracklets으로 연관시키는데 도움을 준다.
- tracklets은 객체의 짧은 구간 경로를 말한다. 여기서 '짧은 구간'은 'n개의 프레임'을 뜻해서, n개의 프레임마다 계산된 경로라고도 생각할 수 있다.
보통 5~6 프레임 정도 계산하여 경로를 구한다.
- 만약 이분(bipartite) 그래프 매칭으로 모델링되는 일대일 대응관계(one-to-one correspondences)만을 고려한다면,
헝가리안 알고리즘과 같은 전역 최적해(globally optimal solutions)를 사용할 수 있다.
- Geiger et al.은 헝가리안 알고리즘을 두 단계 프로세스로 사용했다.
- 1단계 : 인접한 프레임 간 검출(detections)을 연관시킴으로써 tracklets을 구성한다.
- 기하학(geometry)과 외관 단서(appearance cues)가 결합되어 유사도 행렬(affinity matrix)을 만든다.
- 2단계 : tracklets은 서로 연결되어 가려짐(occlusion)으로부터 발생된 손상된 궤도(broken trajectories)를 연결한다(bridge).
- 이 두 단계의 association method는 이 접근법을 batch computation(일괄 계산)하는 것을 제한한다.
- 우리 접근법은 추적 컴포넌트(tracking component)에서 영감을 받았지만, association을 한 단계로 간소화 했다.
Methodology
우리 제안 방식의 핵심 구성요소는 검출(detection), 이후 프레임으로의 객체 상태 전파(propagating object states into future frames), 현재 검출(current detection)과 존재하는 객체(exisiting objects) 연관시키기, 그리고 추적된 객체의 수명 관리하기(managing the lifespan of tracked objects)가 있다.
Detection (검출)
Estimation Model
- 표현 모델(representation model)과 움직임 모델(motion model)은 타겟의 ID(identity)를 다음 프레임으로 전파하기 위해서 사용되어 지는데,
우리는 이것을 객체 모델(object model)이라고 한다.
- 우리는 각 객체의 프레임간 이동을 linear constant velocity model을 사용해서 근사화 한다.
- 이것은 다른 객체와 카메라 움직임과는 독립적이다.
- 각 타겟의 상태는 다음과 같이 모델링 된다.
- x=[u,v,s,r,u.,v.,s.]T
- u and v represent the horizontal and vertical pixel location of the centre of the target,
while the scale s and r repre ent the scale (area) and the aspect ratio of the target’s bounding box respectively.
Note that the aspect ratio is considered to be constant.
- 검출(detection)이 타겟에 연관되어 지면, 검출된 바운딩 박스(detected bounding box)는 타겟의 상태를 업데이트 하는데 사용된다.
- 속도 요소는 Kalman filter framework를 통해 최적화된다.
- 만약 타겟에 연관되어 지는 검출이 없다면, 상태는 linear velocity model을 사용한 보정(correction) 없이 단순히 예측되어 진다.
Data Association
- 검출한 것들을 존재하는 타겟에 지정할 때, 각 타겟의 바운딩 박스의 기하학적 구조는 현재 프레임에서 새로운 위치를 예측함으로써 추정된다.
- assignment cost matrix는 intersection-over-union(IOU) distance로 계산될 수 있다.
- 존재하는 타겟으로부터, 각각 검출된 것과 모든 예측된 바운딩 박스들 사이의 IoU distance를 이용한다.
- 할당(assignment)는 헝가리안 알고리즘을 통해 최적화된다.
- 추가적으로, 검출이 타겟에 IOUmin보다 작게 오버랩되면 할당(assignment)을 거부하기 위해 minimum IOU가 도입된다.
- 우리는 바운딩 박스들의 IOU distance가 은연중에 지나가는 타겟에 의한 단시간 가려짐(short term occlusion)을 다루는 것을 확인했다.
- 구체적으로, 한 타겟이 가려짐 객체(an occluding object)에 의해 덮혀질 때, IOU distance는 비슷한 크기를 가진 검출을 적절하게 선호하므로, 가리는 물체(occluder)만 검출될 수 있다. // 무슨 뜻이지..
- 이것은 가리는 타겟(occluder target)을 검출을 통해 보정할 수 있을 뿐만 아니라, 가려진 타겟은 할당을 받지 않았기 때문에 영향을 받지 않게 할 수도 있다. // 진짜 무슨 뜻이지??
Creation and Deletion of Track Identities
- 만약 객체가 이미지에 들어오거나 나간다면, 고유한 ID(unique identities)가 생성되거나 없어져야 할 것이다.
- 추적기(tracker)을 만들기 위해, 우리는 IOUmin보다 적게 오버랩 되는 검출된 것(any detection)들을 untracked object로 표시한다.
- 추적기는 바운딩 박스의 기하학을 통해 초기화 되는데, 속도는 0으로 세팅된다.
- 이 시점에서 속도는 관측되지 않으므로, 속도 요소의 공분산(covariance)은 이런 불확실성을 반영하여 아주 큰 값으로 초기화 된다.
- 추가적으로, 새로운 추적기는 타겟이 검출에 연관되어질 수 있는 보호 관찰 기간(probationary period)를 겪는다.
- 이는 충분한 증거를 축적하기 위함인데, 추적의 거짓 양성(false positive)를 막기 위해서이다.
- TLost frames동안 객체가 검출되지 않으면 추적은 종료된다.
- 이는 추적기와 localization errors의 무한한 증가를 막는데,
- 이것은 검출기(detector)가 장시간 보정 없이 예측함으로써 야기된다.
- 모든 실험에서 TLost=1로 세팅되었다. 이유는 두 가지인데,
- 등속모델(constant velocity model)은 실제 동역학에서 부족한 예측 변수(predictor)이기 때문이고,
- 우리는 frame 간 tracking에 주요하게 관심이 있어서, object re-identification은 우리 일 너머에 있는 일이기 때문이다.
- 추가적으로, 잃어버린 타겟을 빨리 삭제하는 게 효율성에 도움이 된다.
- 만약 객체가 다시 나타나면, 추적이 새로운 id로 암시적으로 재개될 것이기 때문이다.
Experiments
- MOT benchmark database 사용했다.
- 움직이는 카메라, 가만히 있는 카메라 시퀀스 모두 포함되어 있다.
- Kalman filter covariances와 IOUmin과 TLost 파라미터를 튜닝하기 위해서, training setrㅘ validation set을 같은 거 썼되 나눠 썼다.
- detection은 FrRCNN(VGG16) 썼다.
Metrics (지표)
멀티 타겟 트래킹 성능을 측정하는데 하나의 점수만 사용하는 것은 어렵기 때문에, 우리는 표준 MOT 지표를 따르는 평가 지표를 활용했다.

-
추적 성능은 MOT benchmark 테스트 서버의 11개 시퀸스에 대해 평가 진행했다.
-
가장 빠른 건 batch tracker(DP_NMS[23]), 정확성이 가장 좋은 건 Online Tracker(TDAM[18], MDP[12]),
All round near online method(NOMT[11])와 영감을 준 방법론(TBD[20], ALExTRAC[5], SMOT[1])들과 비교했다.
-
제안된 방법 SORT는 Online tracker들 중 가장 높은 MOTA score 기록
-
이 성능은 훨씬 복잡하고 가까운 미래 프레임을 사용하는 최신 기술 NOMT와도 견줄 만 함
-
SORT는 frame-to-frame 연관(association)에 초점을 두기 때문에, 다른 tracker들과 비교해서 비슷한 false negative를 가지면서도 잃어버린 target(ML)은 최소 기록
-
SORT는 tracklet 증가를 위해 frame-to-frame 연관에 초점을 두므로, 다른 방법과 비교해서 손실된 target의 수가 가장 적다.
Runtime
- 대부분의 MOT 방법들은 런타임 성능 희생시켜 더 높은 정확도 성능을 만드는데 초점을 둠.
오프라인 작업에서는 허용될 수 있으나, 로봇 공학이나 자율 주행에서는 실시간 성능이 필수적
- Figure 1에서 볼 수 있듯, 속도와 정확도는 여러 tracker들의 성향을 보여줌
최고의 정확도를 보여주는 방법은 속도가 가장느리며, 최고의 속도를 보여주는 방법은 정확도가 낮은 경향을 보임
(각각 Fig 1의 우하단과 좌상단)
- SORT는 전형적 단점없이 속도와 정확도의 두 가지 바람직한 속성 결합 가능 (Fig 1의 우상단)
- 추적요소는 Intel i7 2.5GHz와 16GB 메모리에서 260Hz로 동작
Conclusion
- 우리는 tracking quality가 detection performance에 매우 영향을 받는다는 것을 보였고
- 최근 개발된 검출기법을 이용함으로써, 최첨단의 tracking quality가 고전적인 tracking 방법만으로 달성되었다.
- 우리가 만든게 속도와 정확도 면에서 가장 좋은 퍼포먼스를 보였지만, 다른 방식들은 전형적으로 둘 중 하나를 희생한다.
- 제시된 프레임워크의 간결함은 장시간 가려짐 (long term occlusion)을 다룰 수 있는 object re-identification에 초점을 맞출 수 있는 새로운 방법을 받아들일 수 있는 베이스라인으로서 잘 맞는 것 같다.
- 우리의 실험은 tracking에서의 detection quality의 중요성에 초점이 맞춰져 있으므로
- 미래 연구에는 detection과 tracking 프레임워크를 면밀히 조사할 것이다!