Home Simple Online and Realtime Tracking
Post
Cancel

Simple Online and Realtime Tracking

Simple Online and Realtime Tracking 에 대한 논문을 리뷰한 내용입니다. 혼자 공부하기 위해 정리한 내용으로 이해가 안되는 부분들이 많을 거라 생각됩니다. 참고용으로만 봐주세요. 이 논문은 1076회 인용된 논문으로 tracking 에서 유명한 논문입니다.

Abstract

이 논문은 Realtime application 을 통해 효율적인 Multiple Object Tracking 방법을 설명한다.

detection 의 성능이 tracking 성능으로 이어지기 때문에, detector를 변경하면 최대 18.9% 까지 향상시킬 수 있다.

Kalman Filter 과 Hungarian algorithm 과 같은 기본적인 조합만 사용하더라도, 엄청난 online 정확도를 보여준다고 한다.  또한, tracking 방법의 단순함을 통해 다른 tracker 보다 20배 이상 빠른 260Hz의 속도를 보여준다.

Multiple Object Tracking ( MOT )

  • MOT 는 다수의 객체들을 추적하기 위해 detection 결과들 간의 연관(association)을 수행하는 것이다.
  • detection 된 객체 정보를 기반으로 각 frame 간의 동일 객체에 대한 detection 을 association 하여 각 객체에 대한 전체 궤도를 생성한다. 그래서 robust 한 MOT를 만들기 위해 데이터 연관(data association) 알고리즘을 개발하였다.
  • MOT의 방식은 객체 detection 결과와의 결합 유무에 따라 크게 “detection-free-tracking”“tracking-by-detection”으로 구분된다. 최근 고성능 detector들의 개발됨에 따라 “tracking-by-detection” 으로 더 발전되고 있다.

image

  • tracking-by-detection의 과정 image

  • tracking-by-detection 방식의 MOT 방법은 연관(association) 방식에 따라 “batch tracking”“online tracking” 으로 구분된다.

    • batch tracking 방식은 전체 tracking 궤도를 형성하기 위해 전체 프레임에서 detection된 반응 연관을 수행한다. 전체 프레임에 대한 객체 detection 정보를 사용하여 tracking 궤도를 형성하기 때문에 온라인 트래킹보다 뛰어난 성능을 보인다. 하지만 사전에 전체 프레임에 대한 객체 detection 정보를 가지고 있어야 하기 때문에 실시간 어플리케이션에 적용하기는 어렵다.

    • online tracking 방식은 미래 프레임에 대한 정보 없이 과거와 현재 프레임의 객체 detection 정보만으로 tracking 궤도 형성을 위한 detection 반응 연관을 수행하는 방식이다. 그래서, online tracking 방식이 batch tracking 방식에 비해 실시간 어플리케이션에 적합하다. online tracking 방식은 미래 프레임 정보의 부재로 인해 긴 기간의 폐색(occusion)이나 객체 외형(appearance) 변화에 대해 취약하고, tracking 궤도 형성을 위한 detection 반응 연관이 어려워지는 문제가 있다. 이는 트랙 분리(track fragment) 및 IDs 전환(identity switches) 현상을 발생 시켜 tracking 성능을 저하시키는 것이다.

    image

## Introduction

본 논문에서는 각 frame에서 감지되고 bounding box로 나타내지는 Multiple Object Tracking(MOT)의 문제에 대한 tracking-by-detection 프레임워크를 보여준다.

batch tracking 접근법과는 대조적으로, 이 방법은 전과 현재의 frame에서의 detection 결과만 tracker에 제공되는 online tracking 을 주로 다룬다.

realtime tracking 의 효율성에 초점을 두어 자율 주행의 보행자 tracking 등 application 성능을 증진시킨다.

MOT 의 문제는 video sequence의 여러 프레임에서 detection을 서로 연관시키는 것이 목적인 데이터 연관(data association) 문제로 볼 수 있다.

tracker는 data association을 위해 object의 움직임과 외형을 모델링하기 위해 다양한 방법을 사용한다.

본 논문에서는 논문 visual MOT benchmark [ MOTChallenge 2015: Towards a Benchmark for Multi-Target Tracking ] 에서 수행한 관찰을 통해 얻은 정보를 통해 만든 방법을 사용한다. 얻은 정보는 다음과 같다.

  1. MHT(Multiple Hypothesis Tracking)과 MOT benchmark 에서 가장 높은 랭킹을 차지했던 JPDA(Joint Probabilistic Data Association) 를 포함한 data association 기법 사용
  2. ACF(Aggregate Channel Filter) detector를 사용하지 않는 tracker가 최상의 tracker 인 것을 볼 떄, detection 의 성능이 tracker를 방해할 수 있다.

정확한 Tracker은 속도가 매우 느리기 때문에 실시간 application에 적용이 불가능하다. 따라서 정확도와 속도 간의 조율이 필요하다.

아래 그림은 여러 tracker의 초당 프레임(FPS)[Hz]단위로 표기된 정확도와 속도 간 그래프이다.

그래프를 통해 이 두 관계는 trade-off 즉, 반비례하는 경향이 있다.

image

본 논문은 좋은 online / batch tracker 들 사이에서 전통적인 data association 기법이 부각되면서 MOT를 단순하면서 더 잘 할 수 있는지에 대해 연구한다.

Occam`s Razor 에 의해 detection 요소 이외에 외형 요소는 tracking 에서 무시되고, 오직 bounding box의 위치와 사이즈만 motion estimation 과 data association 에 사용된다.

매우 드물게 발생하고, tracking에 방해되는 short-term 과 long-term occlusion에 관해서도 무시한다.

framework에 상당히 부담을 주고 불필요한 복잡성을 주기 때문이다.

객체 재식별(object re-identification) 하는 형태라면, tracking 프레임워크에 상당한 비용이 추가되어 realtime applicaion 사용에 제약이 있다고 판단된다.

다양한 dege cases와 detection errors를 처리하기 위해 다양한 구성요소를 통합시키는 visual tracker과는 다르게, 일반적인 frame-to-frame 연관을 효율적으로 사용하게끔 다루는데 초점을 둔다. (=> 단순한 모델을 만들기 위함)

detection error에 대한 견고성을 목표로 하기보다는 ACF 또는 CNN 과 같이 발전된 visual object detector를 사용해 정확도를 높인다.

또한, 본 논문에서는 고전적이지만 효율적인 Kalman Filter과 Hungarian method 를 적용하여 motion prediction 과 data association 을 처리한다. 이는 최소한의 tracking 방식으로 online tracking 의 효율성과 신뢰성을 확보하는 것이다.

본 논문은

  • MOT의 맥락에서 CNN 기반 detector 을 활용
  • 최근 MOT 벤치마크에서 평가되고 있는 Kalman Filter과 Hungarian Algorithm 을 기반으로 한 실용적인 추적 접근법을 제시 (2016 기준) 에 기여했다.

본 논문은 다음과 같이 구성되어 있다.

  • Section 2 : Multi Object Tracking 영역의 관련 문헌에 대한 간략한 검토
  • Section 3 : 제안된 lean tracking 프레임워크를 설명
  • Section 4 : 표준 벤치마크 시퀀스에 대한 제안된 프레임워크의 효과
  • Section 5 : 학습된 결과에 대한 요약 과 향후 개선

Literature Review

전통적으로 Multiple Object Tracking 은 MHT(Multiple Hypothesis Tracking) 또는 JPDA(Joint Probabilistic Data Association) 필터를 주로 사용하였다.

하지만, 이는 객체 할당에 높은 불확실성이 있는 경우 어려운 결정을 지연시킨다.

이러한 접근법의 복잡성은 추적 객체의 수를 기하급수적으로 증가시켜 높은 동적 환경안의 실시간 Application에는 실용적이지 않다.

2015년 JPDA revisited 논문과 MHT revisited 논문을 볼 때, JPDA와 MHT 의 더 효율적인 방법을 개발함하였다. 하지만 이 방법들로도 decision making을 지연시키기 때문에 online tracking에 부적합하다.

많은 online tracking 방법들은 online learning 을 통해 각각의 object[17,18,12] 또는 global model[19,11,4,5]에 대한 appearance model을 만드는 것을 중점으로 한다.

appearance model 외에 움직임은 tracklets에 의해 detection을 위해 통합된다.

이분할 그래프(bipartite graph)로 모델링되는 관련성을 고려할 때, Hungarian Algorithm 과 같은 전역의 최적 솔루션(globally optical solution) 을 사용할 수 있다.

[20]에서 Hungarian algorithm 을 두 단계 과정으로 사용한다.

  • geometry 와 appearance 들을 결합하여 유사도 행렬(affinity matrix)을 만들고 detection과 비슷한 프레임들을 연관지으면서 tracklets를 형성한다
  • occlusion에 의해 손상된 궤도를 연결하기 위해 다시 geometry와 appearance 단서들을 사용해 tracklet들을 서로 연결시킨다.

이 두 단계로 구성된 association 기법은 batch computation으로 제한시킨다.

따라서 기본적인 단서들만 이용하여 association하도록 한 단계로 단순화 시키고자 했다.

Methodology

여기서는 detection의 구성, 미래 frame 으로 object states 전파, 현재 detection 결과와 존재하는 object를 association, tracked object 의 수명 관리 를 설명한다.

Detection

backbone : ZFNet, VGG16 parameters : PASCAL VOC를 위해 학습된 기본 parameter

CNN 기반의 Faster RCNN detection 프레임워크를 사용한다.

image

Faster RCNN은 end-to-end 프레임워크로 two-stage 로 구성되었다.

첫번째 단계에서 특징을 추출하고, 두번째 단계에서 영역을 제안한 것을 바탕으로 각 후보 영역에 대해 CNN을 사용하여 뷴루한다.

Faster RCNN의 장점은 다른 Architecture 로 변경이 가능하다는 것이다. 따라서, 실시간 처리에 더 적합한 SSD, YOLO 등의 object detection으로 대체할 수 있다.

하지만, RCNN은 정확도가 높지만 속도가 매우 느리다.

본 논문에서는 Faster RCNN에 대한 ZF(zeiler and Fergus) 와 VGG16 을 비교한다.

보행자를 검출하는 것이 목표이기 때문에, 다른 클래스는 무시하고, 출력 확률이 사람일 확률이 50% 이상일 경우에만 tracking framework로 넘긴다.

기존의 online tracker 인 MDP와 논문에서 제안된 tracker 를 사용하여 detector를 비교했다.

iamge

모델을 비교하는 과정에서 detection quality가 tracking에 큰 영향을 준다는 것을 알 수 있다.

Estimation Model

image

object tracking 의 task 는 객체의 위치를 예측하는 것이다.

본 논문에서는 motion estimation 방법으로 이전 순간의 타겟 state에서 현재 순간의 타겟 state를 예측하는 칼만 필터(Kalman filter) 방법을 사용했지만, 칼만 필터보다 RNN과 LSTM 기반의 motion model을 사용하면 더 좋은 성능을 보인다.

iamge

  • kalman filter 는 노이즈가 선형적 움직임을 가지는 타겟의 state를 추적하는 재귀 필터다.
  • 확률 이론에 기반한 예측시스템으로, 노이즈를 포함한 데이터가 입력되었을 때 노이즈를 고려하여 정확한 estimation이 가능하다.
  • 또한, 시간에 따라 진행한 측정을 기반으로 하기 때문에 해당 순간에만 측정한 결과만 사용한 것보다는 좀 더 정확한 estimation이 가능하다. (바로 이전 시간외의 측정값은 사용 x)
  • 각 estimation 계산은 예측(prediction)과 보정(correction) 두 단계로 나눌 수 있다.
    • 예측(prediction)은 이전 시간에 추정된 상태에 대해, 그 상태에서 입력이 들어왔을 때 예상되는 상태를 계산하는 단계이다.
    • 보정(correction)은 앞서 계산된 예측 상태와 실제로 측정된 상태를 토대로 정확한 상태를 계산하는 단계이다.
  • 동영상의 이전 프레임에서 object detector를 통해 얻어진 타겟의 state(bbox 좌표 u,v와 bbox의 scale s, 가로세로 비율 r)를 통해, 이후 프레임의 타겟 state( u˙,v˙,s˙)를 예측한다. (r은 일정하다고 가정)

image

  • detection이 타겟과 연결되면, detection된 bounding box는 칼만 필터를 통해 속도 성분이 최적으로 해결되는 타겟 state를 update하기 위해 사용된다.
  • 타겟과 detection이 연결되지 않으면(unmatched), 선형 속도 모델을 사용하여 correction 없이 단순히 state가 예측된다.
  • unmatched가 Tlost번 계속되면 대상 ID가 deleted된다.

Image

Data Association

  • Data Association 은 MOT 방법을 기반으로 한 tracking-bt-detection의 핵심 단계이다.
  • Hungarian algorithm 은 일반적으로 사용되는 Data Association 최적화 방법이다.
  • kalman filter을 이용해 얻은 예측값은 이후 프레임에서 새롭게 detection한 객체와 association 한다.
  • 그 후, 기존 타겟들의 각 detection과 예측되는 모든 bounding box들 사이의 IoU로 assignment cost matrix 를 계산한다. 그리고 Hungrarian algorithm 을 사용하여 최적의 결과를 얻는다.
  • 최소 IoU가 정의하여 IoUmin 보다 작은 bounding box를 처리한다.

image

(a): 이전 Kalman filter에서 나온 결과 (b)의 초록색 박스: 현재 detector 에서 나온 box 이 둘을 IoU 하여 Hungarian 에서 짝을 맞춰 (c)처럼 ID를 할당하여 합친다.

Experiments

Metrics

표준 MOT 지표와 함께 이미 정의된 평가지표를 사용한다.

  • MOTA(↑) : 다중 객체 tracking accuracy
  • MOTP(↑) : 다중 객체 tracking precision
  • FAF(↓) : 프레임 당 잘못 판정된 수
  • MT(↑) : 주로 추적되는 궤적의 수. 즉, 타겟은 수명의 최소 80%에 대해 동일한 레이블
  • ML(↓) : 대부분 손실된 궤적의 수. 즉, 타겟의 수명의 최소 20% 동안 추적되지 않은 레이블
  • FP(↓) : false detection 수
  • FN(↓) : missed detection 수
  • ID SW(↓) : ID가 다른 객체로 전환된 횟수
  • Frag(↓) : miss detection에 의해 추적이 중단된 fragmentation 수

(↑) 는 점수가 높을수록 좋은 성능을 나타내고, (↓) 는 반대다.

Performance Evaluation

SORT 및 여러 다른 baseline tracker들을 비교했다.

image

SORT는 online tracker에서 가장 높은 MOTA 점수를 달성하고, 훨씬 더 복잡하면서 가까운 미래 프레임을 사용하는 SOTA인 NOMT와 비교할 정도로 좋은 성능을 가진다.

Conclusion

  • 본 논문에서는 프레임 간 prediction 과 association에 초점을 맞춘 simple online tracking framwork 이다.
  • tracking 품질이 detection 성능에 의존하고, 최근 detection 기술이 발전함에 따라 기존 tracking 방법만으로 SOTA tracking 품질을 달성했다.
  • 기존의 다른 방법들은 속도와 정확성 측면에서 trade-off 관계를 보여주는 반면, 논문에서 제시된 프레임워크는 속도와 정확성 측면에서 좋은 성능을 달성했다.
  • 제시된 프레임워크의 단순성은 baseline으로 매우 적합하기에 새로운 방법이 객체 재식별에 집중하여 long term occlusion을 처리할 수 있다.
  • 따라서 SORT의 가장 큰 특징은 Faster R-CNN을 기반으로 한 타겟 detection 방법과 SOTA의 정확성을 달성하면서 Multiple Target Tracking 속도를 크게 향상시키는 간단한 조합인 칼만 필터 + Hungarian 알고리즘을 사용했다.

Reference

  • Simple Online and Realtime Tracking. (2 Feb 2016). Alex Bewley, ZongYuan Ge, Lionel Ott, Fabio Ramos, Ben Upcroft page : page
  • https://velog.io/@mink7878/Object-Tracking-Simple-Online-and-Realtime-Tracking-SORT-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0
  • https://blog.naver.com/tlsfkaus4862/222315246114

  • gitbub https://github.com/abewley/sort
  • blog https://deep-eye.tistory.com/68
This post is licensed under CC BY 4.0 by the author.