ODAI

[Review]FairMOT

Donghun Kang 2024. 12. 21. 15:28

0. Abstract

- MOT를 단일 네트워크에서 객체 탐지(Detection)와 재식별(re-ID)을 결합하여 멀티태스킹 학습으로 정의하면, 두 작업을 공동으로 최적화 가능하고 계산 효율성을 높인다.
- 그러나 두 작업 간의 경쟁으로 인해 하나의 작업(탐지)에 편향되는 문제가 발생
=> CenterNet이라는 anchor-free 객체 탐지 아키텍처를 기반으로 한 FairMOT라는 간단하지만 효과적인 접근법을 제안
- 탐지 및 추적 모두에서 높은 정확도를 달성
- 여러 데이터 셋에서 기존 최신 방법론을 능가하는 결과를 보인다.

 

 

기존 MOT의 문제점을 해결하는 CenterNet을 기반으로 한 anchor-free 구조의 FairMOT 제안

 


 

1. Introduction

  • Existing Methods(기존 접근법)
1. Detection Model: 각 프레임에서 관심 객체를 bounding box로 감지

2. Association Model: bounding box에 해당하는 이미지 영역에서 재식별(re-ID) 특징을 추출하여 탐지된 객체를 기존 궤적에 연결하거나 새로운 궤적을 생성
=> 다음 두 단계(two-step)방법은 객체 탐지와 재식별 각각의 발전에 힘입어 추적 정확도를 향상시켰지만, 확장성 문제를 가지고 있다. 환경에 많은 객체가 있을 때 두 모델이 특징을 공유하지 않아 실시간 추론 속도를 달성하기 어렵다.

 

  • Multi-task learning
- Multi-task learning의 성숙도가 높아지면서, 객체를 탐지하고 단일 네트워크에서 재식별 특징을 학습하는 one-shot 추적기가 더 많은 관심을 받고 있다.
- 하지만 이러한 방식은 two-step model에 비해 성능이 저하된다.
- 탐지 정확도는 여전히 좋지만, 추적 성능은 크게 떨어진다. (ID Switch 대폭 증가)

 

본 논문에서는 실패의 원인으로 아래 3가지를 확인

 

  • 1. Anchor 문제
- Anchor는 원래 객체 탐지를 위해 설계되었으나, 재식별 특징을 학습하기에 적합하지 않다.
- Anchor 기반 추적기는 탐지 결과가 부정확할 경우 재식별 특징이 무용지물이 된다.
- 훈련 중 Anchor가 다중 신원에 대응하거나 다중 엥커가 하나의 신원에 대응함으로써 혼란을 야기
  • 2. Feature share 문제
- 탐지와 재식별 작업은 완전히 다른 작업으로, 서로 다른 특징이 필요
- 탐지는 객체 클래스와 위치를 추정하기 위해 고수준의 특징이 필요
- 재식별은 동일 클래스의 객체를 구별하기 위해 (low-level feature)저수준의 특징이 필요
=> 이러한 Feature share은 작업 간 충돌을 초래하여 각 작업의 성능을 저하시킨다.
  • 3. Feature dimension 문제
- 기존 재식별 작업은 512 또는 1024 차원의 소차원 특징을 학습, 이는 탐지와 추적 작업에 부정적인 영향
- 낮은 차원의 특징이 추적 정확도와 효율성을 모두 향상 시킨다.

 

  • FairMOT

본 연구에서는 FairMOT라는 간단한 접근법을 제안하며, 이는 위 3가지 문제를 해결한다.

- CenterNet을 기반으로 설계
- 탐지(Detection)와 재식별(re-ID) 작업이 동일하게 처리
- 탐지와 재식별을 위해 각각 두 개의 동등한 가지(branch)로 구성
- Detection branch는 anchor-free 방식으로 구현되어 객체 중심과 크기를 추정
- re-ID branch는 각 픽셀에서객체를 특성화하는 재식별 특징을 추정
=> 두가지는 완전히 동등한 구조로 설계되어 기존 방식의 불공정을 제거하고 탐지와 재식별 간의 균형을 달성 

 

  • 실험 결과
- FairMOT는 기존 최신 방법을 크게 능가하며, 30FPS의 실시간 속도로 작동

 

 

기존 방법은 탐지와 재식별간 비효율성 및 충돌 문제를 초래
FairMOT는 anchor-free구조를 통해 탐지와 재식별 작업 간의 공정성 확보
낮은 차원 재식별 특징을 사용하여 정확도와 효율성 동시 개선

 

 


 

2. Related Work

기존 연구는 single model을 사용하여 객체를 탐지하고 연관 특징을 추출하는 방법과, 분리된 모델을 사용하는 방법이라는 두가지로 분류

2.1 Detection and Tracking by Separate Models

2.1.1 Detection Methods

- 벤치마크 데이터셋: DPM, Faster R-CNN, SDP와 같은 탐지 결과를 통해 공정한 비교 가능
- 탐지기 향상: 대규모 보행자 데이터셋 및 VGG-16 백본, Cascade R-CNN과 같은 최신 탐지기 사용으로 성능 향상

 

2.1.2 Tracking Methods

대부분의 기존 연구들은 문제의 추적 부분에 초점을 맞추고 있으며, 연관에 사용되는 단서 유형에 따라 이를 두 가지 클래스로 분류

 

  • Location and Motion Cues based Methods
- SORT: Kalman 필터를 사용하여 궤적의 미래 위치를 예측한 후, 탐지와 궤적 간의 겹침을 계산하고, 헝가리안 알고리즘을 사용하여 탐지를 궤적에 할당
- IOU-Tracker: Kalman 필터를 사용하지 않고 이전 프레임의 궤적과 현재 프레임의 탐지 간의 겹침을 직접 계산
=> 군중이 많은 장면이나 빠른 움직임이 있는 경우 실패 가능성이 있다.
  • Apperance Cues based Methods
- 탐지된 Bounding box에 해당하는 이미지 영역을 자르고, 재식별 특징을 추출
- 궤적과 탐지 간의 유사성을 계산하고, 헝가리안 알고리즘을 사용하여 매칭을 수행
=> 빠른 움직임과 occlusion에 roburst하며 외형 특징이 시간에 따라 안정적이기 때문에 잃어버린 궤적을 재초기화 가능
  • Offline Methods
- 전역 최적화를 수행하여 더 나은 결과를 얻음

 

=> 장점: 각각의 작업에 적합한 모델을 별도로 설계 가능
=> 단점: 두 작업이 공유 없이 별도로 실행되기 때문에 매우 느리며, 실시간 추론이 필요한 응용에서 활용 어렵다.

 


 

2.2 Detection and Tracking by a Single Model

단일 네트워크를 사용하여 탐지와 추적을 동시에 수행하는 방법이 더 많은 주목을 받고 있다.

이는 아래와 같이 두 가지 클래스로 분류된다.

  • Joint Detection and re-ID
- 객체 탐지와 재식별 특징 추출을 단일 네트워크에서 수행하여 추론 시간을 줄인다.
=> one-shot 추적기의 정확도는 보통 two-step 방법보다 낮다.
  • Joint Detection and Motion Prediction
- 단일 네트워크에서 탐지와 움직임 특징을 학습
=> 분실된 궤적을 재초기화하지 않으며, oclussion 처리에 어려움이 있다.
Multi-tack learning
- 객체 탐지와 재식별 특징 추출 작업 간의 균형을 맞추기 위한 다양한 접근법이 제안

 


 

2.3 Video Object Detection

- 추적 정보를 활용하여 도전적인 프레임에서 객체 탐지 성능을 향상시키는 목적
- MOT 데이터셋에서 평가되지는 않지만, 일부 아이디어는 유용할 수 있다.

 

MOT를 기존의 분리된 모델 기반 탐지와 추적 및 단일 모델 기반 탐지와 추적으로 구분하여 논의
분리된 모델은 탐지와 추적 작업을 독립적으로 수행하여 높은 성능을 보이지만, 속도가 느리고 실시간 응용에 부적합
단일 모델은 Multi-task learning을 활용하여 탐지와 재식별을 동시에 수행하여 효율성이 높지만 두 작업 간 최적화 충돌로 인해 성능이 제한

 


 

3. Unfairness Issues in One-shot Trackers

기존 one-shot tracker에서발생하는 3가지 unfairness 문제를 다루며, 이러한 문제들이 추적 성능 저하로 이어지는 이유를 설명

3.1 Unfairness Caused by Anchors

- 기존 one-shot tracker(EX. Track R-CNN, JJDE)는 대부분 Anchor 기반 방식
-  이는 YOLO나 Mask R-CNN과 같은 Anchor 기반 객체 탐지기에서 수정된 방식
=> Anchor 기반 설계는 re-ID 특징을 학습하기에 적합하지 않으며, 많은 ID-Switch를 초래한다.
이 문제는 아래의 3가지 관점에서 설명된다.

 

  • 1. Overlooked re-ID task
- Task R-CNN은 계단식 스타일로 작동, 먼저 객체 제안(proposals)을 추정 후 해당 제안에서 특징을 추출하여 재식별 특징을 계산
- 재식별 특징의 품질은 제안의 정확도에 의존, 제안이 부정확할 경우 재식별의 특징은 무의미하다.
=> 결과적으로, "detection first, re-ID secondary" 설계는 re-ID(재식별) 네트워크의 학습을 unfair하게 만든다.
  • 2. One anchor corresponds to multiple identities
- Anchor 기반 방법은 일반적으로 ROI-Align을 사용하여 특징을 추출
- 이 과정에서 방해 요소로 인해 추출된 특징이 최적화되지 못한다.
=> 제안된 해결책은 단일 지점(객체 중심)에서만 특징을 추출하는 것
  • 3. Multiple anchors correspond to one idnetity
- 여러 인접 anchor는 동일한 identity를 추정하도록 강요될 수 있다.
=> 이는 학습 과정에서 심각한 모호성을 초래
- 객체 탐지에서 사용되는 특정 맵은 정확도와 속도의 균형을 맞추기 위해 Down-sampled 된다.
=> 이는 객체 탐지에는 적합하지만, re-ID 특징 학습에는 너무 조잡하다.

 

 


 

3.2 Unfairness Caused by Features

- one-shot Tracker에서는 객체 탐지와 재식별 작업 간에 대부분의 특징이 공유된다.
- 하지만 최적의 결과를 얻기 위해서는 두 작업에 서로 다른 계층의 특징이 필요
=> Detection (객체 탐지): 클래스와 위치를 추정하기 위해 깊은 수준의 특징(Deep Features)이 필요
=> re-ID(재식별): 동일 클래스의 다른 인스턴스를 구별하기 위해 낮은 수준의 외형 특징(low-level apperance feature)이 필요

 

3.3 Unfairness Caused by Feature Dimension

- 기존 재식별 연구는 고차원의 특징을 학습하여 벤치마크에서 유망한 결과를 달성
- 이는 one-shot MOT에 적합하지 않을 수 있다.
=> 저차원의 재식별 특징 학습을 통해 다음의 3가지 이유로 성능을 개선 가능하다.
1. High-dimensional re-ID features는 탐지와 재식별 작업 간 경쟁을 유발하여 탐지 정확도를 저하
2. MOT 작업은 연속 프레임 간의 1:1 매칭만 필요하며, 고차원 특징이 요구되지 않는다.
3. 저차원 재식별 특징은 추론 속도를 개선 

 

 

One-shot Tracker에서 발생하는 Unfairness의 3가지 주요 원인에 대해 다룬다.
1. Anchor 기반 설계는 re-ID 특징 학습에 부적합하며 ID Switch를 증가시킨다.
2. Detection과 re-ID 작업이 서로 다른 특징을 요구함에도 공유된 특징을 사용하여 작업의 성능이 저하
3. 고차원 re-ID 특징은 Detection 작업과 충돌을 일으켜 성능을 제한하며, 저차원 특징 학습이 이를 개선 

 

4. FairMOT

4.1 Backbone Network

- ResNet-34 백본으로 채택하여 정확도와 속도의 균형을 맞춘다.
- DLA(Deep Layer Aggregation)의 개선된 버전을 적용하여 여러 계층의 특징을 융합
=> 저수준 및 고수준 특징 간의 skip 연결을 더 많이 추가하여 FPN(Feature Pyramid Network)와 유사한 구조를 만듦
=> Up-sampling 모듈의 합성곱 계층을 변형 가능한 합성곱으로 대체하여 객체의 크기와 자세에 따라 동적으로 수용 영역을 조정
- 최종 모델은 :DLA-34"
입력 이미지 크기: 

출력 feature map의 크기:

여기서,

- Higher HRNet과 같은 다중 스케일 합성곱 특징을 제공하는 다른 네트워크도 탐지와 재식별 모두에 공정한 특징을 제공하는데 사용

 


 

4.2 Detection Branch

- Detection Branch는 CenterNet을 기반으로 구축되었으며, 다른 Anchor-free 방법도 사용 가능

- DLA-34의 출력 특징은 3개의 병렬 헤드를 추가하여 heatmaps, object center offsets, bounding box sizes를 각각 추정

=> 각 헤드는 DLA-34 출력에 3X3 합성곱(256 channels)을 적용하고, 1X1 합성곱 계층을 추가하여 최종 목표를 생성

4.2.1 Heatmap Head

- Head는 객체 중심의 위치를 추정
- Heat map 표현은 landmark point 추정 작업의 사실상 표준으로 차원은 1 X H X W
- Heat map의 위치가 실제 객체 중심과 겹치면 응답값이 1, 객체 중심과의 거리에 따라 지수적으로 감소

 

4.2.2 Box Offset and Size Heads

- Box Offset Head: 객체를 더 정밀하게 지역화. 마지막 특징 맵의 stride가 4이므로 최대 4 pixel까지 quantization error가 발생할 수 있다.
- 이를 완화하기 위해 객체 중심과의 연속적인 offset을 추정
- Box Size Head: 각 위치에서 대상 박스의 높이와 너비를 추정

 


 

4.3 Re-ID Branch

- 목표: 객체 간 구별 가능한 특징을 생성. 동일한 객체 간 affinity는 높이고, 가른 객체 간 affinity는 낮춘다.
- Backbone 특징 위에 128개의 kernal을 가진 합성곱 계층을 적용하여 각 위치에서 re-ID 특징을 추출
- result feature map:

- re-ID feature:

- object center:

=> 위 3가지 추출 가능

4.3.1 Re-ID Loss

- 학습 방법: re-ID 특징은 분류 작업을 통해 학습. 학습 데이터에서 동일한 idnetity의 객체는 동일한 클래스로 간주

 


 

4.4 Training FairMOT

# Detection and re-ID branch의 통합 학습
- 위 손실 함수를 합산하여 detection과 re-ID 작업을 동시에 학습
- Uncertainty loss를 사용하여 두 작업간의 균형을 자동으로 조정
# Single image 학습 방식
- 기존 CenterTrack은 2개의 연속된 프레임을 입력으로 사용
- FairMOT는 단일 이미지를 입력으로 사용
- 각 Bounding box에 고유한 ID를 할당하고, 데이터셋의 각 객체 인스턴스를 별도의 클래스로 간주
- 전체 이미지에 다양한 변환 적용(EX. HSV 보강, 회전, 스케일 조정, 이동 및 shearing)
# Significant empirical values
1. CrowHuman 데이터셋 사용
2. fine-tuning(미세 조정)

 


 

4.5 Online Inference

4.5.1 Network Inference

- 네트워크는 1088 X 608 크기의 프레임을 입력으로 받으며, JDE와 동일한 방식

# NMS(Non-Maximum-Suppression) based on the heatmap score: 
- 예측된 Heatmap에서 NMS를 사용하여 피크 키포인트를 추출
- NMS는 3 X 3 최대 풀링 연산으로 구현
- Heatmap score가 특정 Threshold를 초과하는 keypoint의 위치를 유지

- 추정된 offset과 box 크기를 기반으로 Bounding box를 계산
- 추정된 객체 중심에서 ID Embedding을 추출

4.5.2 Online Association

MOTDT의 계층적 온라인 데이터 연관 방식 사용

1. 초기화 및 매칭
- 첫 프레임의 탐지된 박스를 기반으로 여러 tracklets 초기화
- 이후 프레임에서 탐지된 박스를 기존 tracklet과 연결
=> Kalman 필터를 사용하여 다음 프레임에서의 트랙렛 위치를 예측
=> 예측된 박스와 탐지된 박스 간의 Mahalanobis 거리를 계산
- re-ID 특징 cosine Distance(Dr)와 Mahalanobis Distance(Dm)를 결합:

λ: weighting parameter, 실험에선 0.98로 설정
=> 헝가리안 알고리즘을 사용해 매칭 완료 (τ1 = 0.4)

2. 미매칭 탐지 및 tracklet
- 매칭되지 않은 탐지와 tracklet을 박스의 중첩을 기반으로 매칭
=> 매칭 임계값 (τ2 = 0.5)
- tracklet의 외형 특징을 업데이트하여 시간에 따른 외형 변화를 처리
- 미매칭된 탐지는 새 트랙으로 초기화, 30 프레임 동안 유지하여 이후 재등장을 고려

 

Detection과 re-ID 작업을 통합한 FairMOT의 구조와 학습 및 추론 과정을 설명
ResNet-34와 DLA-34를 Backbone으로 사용하여 히트맵, 오프셋, 박스 크기, 재식별 특징을 추출
불확실성 손실을 통해 탐지와 재식별 간의 균형을 맞춘다.
온라인 추론에서는 Kalman 필터와 Mahalanobis 거리 기반의 계층적 데이터 연관 방식을 사용하여 시간에 따른 트랙과 탐지를 효과적으로 연결

 

 


 

5. Experiments

5.1 Datasets and Metrics

- 다양한 데이터셋(ETH, MOT17 등)을 활용하여 탐지와 re-ID를 학습하며, 공정한 비교를 위해 데이터 중복을 제거
- 평가에는 AP(Detection), TPR(re-ID), MOTA 및 IDF1(추적 정확도)을 사용하여 성능을 검증

 


 

5.2 Implementation Details

- DLA-34의 변형 버전 사용
- COCO 데이터셋으로 사전 학습된 모델 파라미터로 초기화

 


 

5.3 Ablative Studies

FairMOT의 3가지 주요 요소에 대한 연구를 진행.

Anchor 없는 re-ID feature 추출, feature fusion, feature dimension이 포함

 


  • 원문

5&6. FairMOT.pdf
7.75MB

 


  • PDF

5. FairMOT PDF.pdf
3.98MB
6. FaitMOT Architecture PDF.pdf
3.96MB