Paper Reading/Review

[리뷰] Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking

  • -
728x90
반응형

이번에는 2022년에 발표된 논문인 Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking를 읽고, 리뷰해보고자 합니다.

본 논문은 2023년에 발표된 논문인 Deep OC-SORT: Multi-Pedestrian Tracking by Adaptive Re-Identification의 baseline이 되는 논문입니다.

Index
1. Background
    1.1. Limitations of Simple Online and Realtime Tracking
2. Abstract
3. Introduction
4. Related Work
5. Method
    5.1. Observation-centric Online Smoothing
    5.2. Observation-Centric Momentum
    5.3. Observation-Centric Recovery
    5.4. Whole Architecture
6. Experiment
7. Conclusion 

1. Background

1.1. Limitations of Simple Online and Realtime Tracking

  • 객체가 linear하게 움직인다고 가정
    • \( u_{t+1}=u_{t}+\dot{u}_{t} \Delta t \), \( v_{t+1}=v_{t}+\dot{v}_{t} \Delta t \)
      • \( (u,v) \) is object center point in 2D
  • kalman filter는 object가 잠시 사라지는 순간(측정 값이 없는 경우)에는, 예측값을 그대로 가져와서 사용
  • sensitive to state noise
    • \( (u,v) \)가 가우시안 분포를 따른다고 가정하면, 위의 식은 아래와 같이 표현 가능
      • \( \dot{u}=\frac{u_{t} + \Delta t - u_{t}}{\Delta t} \), \( \dot{v}=\frac{v_{t} + \Delta t - v_{t}}{\Delta t} \)
        • \( \delta_{\dot{u}} \sim \mathcal{N}(0, \frac{2\sigma_u^2}{(\Delta t)^2}) \), \( \delta_{\dot{v}} \sim \mathcal{N}(0, \frac{2\sigma_v^2}{(\Delta t)^2}) \)
        • noise가 최대인 경우는 \( \Delta t=1 \)인 경우임
    • 보통의 시나리오에서 object의 변위는 몇 픽셀에 불과하지만, 이는 곧, 추정치가 몇 픽셀의 이동만 있더라도 속도 추정에 큰 variance가 발생
      • 예측값과 측정값이 크게 다르지 않다면 큰 영향이 없지만, kalman filter를 업데이트 하기 위한 관측치가 없는 경우에는 오류가 누적되기 때문에 문제가 발생할 수 있음
  • temporal error magnification
    • kalman filter는 관측값이 없는 경우, 자체 예측만을 기반으로 state를 업데이트
    • \( t \) ~ \( t+T \) frame 사이에 occlusion이 발생한 경우, SORT의 object center point 예측값은 아래와 같음
      • \( u_{t+T}=u_{t}+T\dot{u}_{t} \), \( v_{t+T}=v_{t}+T\dot{v}_{t} \)
        • \( \delta_{u_{t+T}} \sim \mathcal{N}(0, 2T^{2}\sigma_{u}^{2}) \), \( \delta_{v_{t+T}} \sim \mathcal{N}(0, 2T^{2}\sigma_{v}^{2}) \)
      • 즉, 시간 \( T \)가 길어질수록 error는 제곱값으로 축적
    • 복잡한 장면의 경우에 큰 문제 발생
  • estimation-centric
    • 이전의 두 가지 문제는 kalman filter가 추정값 중심의 방법이기 때문에 발생하며, 관측값은 trajectory의 propagation을 위해서만 사용
    • 관측값이 추정값과 다른 점은, \( \delta_{z} \sim \mathcal{N}(0, {\sigma\prime}^{2}) \)와 같은 noise의 영향을 받는 것
    • detector는 object의 apperance 정보를 사용하지만, kalman filter에서는 사용되지 않음
    • noise의 분산이 추정값의 분산보다 작다면 error가 축적되지 않을 것이므로, 관측값에 중요성을 부여해야 함

 

2. Abstract

  • MOT는 많은 발전이 있었지만, 이전의 observation을 이용하여 trajectory를 예측하고 이를 association에 도움을 주는 motion modeling은 상대적으로 덜 연구 되었음
  • 최근의 MOT model은 대부분 object는 짧은 시간동안 선형 운동 한다고 가정
    • occlusion과 비선형 운동에 민감, 높은 FPS의 영상 필요
  • 본 논문에서는 단순한 motion model이 축적된 오류를 줄이고, track이 손실된 것을 복구하는데 관찰의 역할을 강조

 

3. Introduction

  • MOT에서 대부분의 오류는 선형 운동을 가정하는 model을 사용하기 때문에, occlusion이나 비선형 운동에서 발생
  • 주로 사용되는 motion model 기반 알고리즘으로는 SORT가 있지만, kalman filter가 선형 운동을 가정
    • 높은 FPS의 영상에서 object는 선형 운동일 수 있지만, state noise의 민감도가 증가
      • object 변위의 noise는 실제 object의 변위와 같은 크기가 될 수 있고, 큰 variance을 겪는 kalman filter에 의해 추정된 obejct 속도로 이어질 수 있음
    • state noise는 object가 occlusion이나 비선형 운동을 하는 경우, detection 되지 않아 error가 더 축적될 수 있음
    • SORT는 추정이 중심이라 관찰 보다는 추정에 의존
  • 추정을 신뢰할 수 없을 때, 관측치를 이용하여 kalman filter를 향상하는 관점 제시
  • SORT의 한계를 해결하기 위해, 관측이 trajectory의 momentum을 추정하는 강력한 증거가 된다고 주장
    • 관찰 부족으로 인한 kalman filter의 error 누적을 완화하기 위해, 비활성 track이 다시 detection에 의해 활성화되는 시점까지의 가상 궤적을 구축하여 kalman filter를 이용하는 observation-centric online smoothing 방법 설계
    • 더 나은 tracklet과 observation의 일치를 위해, direction consistency를 cost matrix에 통합하는 observation-centric momentum 방법 제안
    • 단 시간에 occlusion이 발생한 경우를 처리하기 위해, 마지막 observation을 새로운 observation과 연결하여 복구하는 observation-centric recovery 방법 제안

 

4. Related Work

  • motion model
    • 선형 움직임을 가정하고, 가우스 근사치에 의존하는 kalman filter, extended kalman filter, unscented kalman filter
    • 비선형 움직임을 처리하고, 샘플링 기반의 사후 추정을 하지만 계산 cost가 높은 particle filter
  • multi-object tracking
    • SORT, DeepSORT, FairMOT, TrackFormer, TransTrack, MOTR, … etc

 

5. Method

5.1. Observation-centric Online Smoothing

  • object가 tracking되지 않는 동안(\( t_{1} \) ~ \( t_{2} \)) error가 축적되는 문제를 해결하기 위해, 가상의 trajectory를 이용하여 kalman filter의 parameter를 수정
    • tracking 되지 않는 동안은 object가 등속 운동한다고 가정하며, 그 동안의 추정 측정값 \( \hat{z}_{t} \)는 아래와 같이 표현 가능
      • \( \hat{z}_{t}=Traj_{virtual}(z_{t_{1}}, z_{t_{2}}, t)=z_{t_{1}}+\frac{t-t_{1}}{t_{2}-t_{1}}(z_{t_{2}}-z_{t_{1}}) \), \( t_{1} < t < t_{2} \)
    • 위의 \( \hat{z}_{t} \)을 kalman filter에 아래와 같이 적용
      • \( \hat{x}=F_{t}\hat{x}_{t-1}+K_{t}(\hat{z}_{t}-H_{t}F_{t}\hat{x}_{t-1}) \)
        • \( F \) is state transition model
      • 기존의 kalman filter와 비교하면, 관측 값이 없는 경우 현재 예측 값을 사용하는 대신, 가상의 trajectory상에 있는 추정값을 사용한다는 차이가 있음

5.2. Observation-Centric Momentum

  • kalman filter는 선형 운동을 가정하지만 현실의 세계는 대부분 비선형 운동이며, state noise 존재
    • 매우 짧은 시간에는 선형 운동으로 근사할 수 있지만, noise가 속도의 consistency 방해
  • 속도의 consistency(= momentum)을 cost matrix에 추가
    • \( C(\hat{X}, Z)=C_{IoU}(\hat{X}, Z)+\lambda C_{v}(\hat{X}, Z, V) \)
      • \( \hat{X}\in \mathbb{R}^{N \times 7} \)은 추정값, \( Z \in \mathbb{R}^{M \times 5} \)는 측정값, \( V \in \mathbb{R}^{N} \)은 \( \Delta t \) 간격으로 관측한 두 frame의 정보를 이용하여 계산된 존재하는 track의 방향, \( C_{IoU} \)는 nagative pairwise IoU를 계산, \( C_{v} \)는 track의 방향과 과거 관측값과 새로운 관측값으로 형성된 방향의 일관성을 계산, \( \lambda \)는 weight factor
  • 과거의 측정값과 새 측정값의 방향 계산을 위해, 어떤 두 측정(얼마나 과거의)값을 선택하는 것에 대한 문제가 있음
    • 선형 운동에서 noise scale은 두 관측 지점의 시간 차이에 비례한다는 것을 발견
      • 그러나 선형 운동을 가정하고 있으므로, 시간 차이가 너무 크면 안됨 (논문에서는 interval로 3을 이용)

5.3. Observation-Centric Recovery

  • SORT는 비선형 운동인 경우 track이 손실되는데, 보수적인 방법으로 lost target을 찾는 방법 제안
    • association 과정에서 track이 비활성화 되는 경우, 새로운 관측값을 이전의 관측값과 연결
    • 즉, track이 비활성화된 observations들과 새로운 observation을 비교

5.4. Whole Architecture

  • Workflow

  • Algorithm

 

6. Experiment

  • MOT17 dataset에서의 성능 비교

  • MOT20 dataset에서의 성능 비교

  • DanceTrack dataset에서의 성능 비교

  • KITTI dataset에서의 성능 비교

  • OOS, OCM, OCR의 적용 여부에 따른 성능 변화

  • OOS에서 trajectory의 hypothesis 종류에 따른 성능 변화

  • OCM에서 \( \Delta t \)의 값에 따른 성능 변화

 

7. Conclusion 

  • 선형 운동을 가정하는 SORT의 한계 분석 및 개선을 위해 OOS, OCM, OCR 제안
    • occlusion이나 극적으로 비선형 움직임을 가진 object들에 대해 robust함
  • 아래와 같은 한계 존재
    • 낮은 FPS의 영상이나, object의 움직임이 매우 빠른 경우 IoU와 momentum만으로는 matching하는데 부족
    • kalman filter를 개선하지만, 여전히 kalman filter는 선형 움직임을 가정한 model임

 

 

논문 링크

https://arxiv.org/abs/2203.14360

https://github.com/noahcao/OC_SORT

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.