FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking review

5 minute read

FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking

Abstract

  • 최근 object detection과 re-ID tasks에서 많은 발전이 있었지만, 두가지 task를 하나의 네트워트에서 공동으로 수행하는 것에 대해서는 많이 연구되지 않았음

  • 기존의 시도들은 re-ID task가 공정하게 학습되지 않아서 정확도가 떨어지는 문제점이 존재

  1. re-ID를 2번째 task로 처리

detection task를 먼저 수행하기 때문에, detection task에 매우 의존적임

학습과정에서 detection task에 큰 비중을 두게 되면서 re-ID task를 무시함

  1. re-ID features를 추출하기 위해 ROI-Align 사용

많은 샘플링 포인트들이 다른 instance나 background에 속하기 때문에, object를 특징짓는데 애매모호함을 유발

  • 기존의 문제점들을 해결하기 위해, 단순한 접근법인 FairMOT 제안

2-branches : pixel 단위로 objectness scores를 예측하는 branch, re-ID features를 학습하는 branch

  • 2가지 tasks를 공평하게 학습하면서 FairMOT는 detection, tracking에서 높은 정확도를 냄

Introduction

  • Multi-Object Tracking(MOT)는 videos에서 관심있는 objects의 움직임에 따른 위치를 추척하는 task로, computer vision에서 오랫동안 연구되어 옴

  • 기존의 방식들은 MOT를 2개의 독립적인 models로 처리함

  1. detection model : 각 frame에서 object의 bounding box를 localization

  2. association model : 각 bounding box에 대한 re-ID features를 추출하고, 기존 tracks 중 하나에 연결시킴

한계점 : 많은 objects를 포함하고 있을 때, real-time inference를 수행할 수 없음


  • multi-task learning이 발전하면서, 하나의 네트워크로 objects를 예측하고 re-ID features를 학습하는 one-shot trackers에 대한 연구가 등장

memoryblock

two-step 방식들에 비해 정확도가 상당히 떨어짐

특히, ID switches의 발생 횟수가 증가함


  • 기존 방식들의 실패요인에 대해 깊이 이해하고, 단순하지만 효과적인 접근법을 제시함

Unfairness caused by anchors

  • anchor-based framework는 많은 ID switches를 유발하기 때문에 re-ID features 학습에 적합하지 않음

  • Overlooked re-ID task

Track R-CNN : cascade style로 object proposals(boxes)을 먼저 예측하고, proposals에서 re-ID features를 추출

이런 방식은 re-ID features의 질이 proposals의 질에 매우 의존적이라는 문제점이 있음

model이 정확한 object proposals을 예측하는 것에 큰 비중을 두면서 학습을 진행하게 되면서 두 tasks가 공정하게 학습되지 않음

  • One anchor corresponds to multiple identities

anchor-based 방식들은 각 proposal에서 features를 추출하기 위해 ROI-Pool이나 ROI-Align을 사용

각 ROI-Align에서 대부분의 샘플링 위치들이 다른 instance나 background에 속할 수 있음

memoryblock

이는 target objects에 대해 정확하고 구별적인 features를 추출하기에 최적이 아님

예측된 object centers에서 features를 추출하는 것이 더 좋다는 것을 발견함

  • Multiple anchors correspond to one identity

다양한 인접 anchors는 IOU 값이 충분히 큰 값을 경우 동일한 identity를 예측하도록 학습되는데, 이는 학습과정에 심각함 애매모호함을 유발함

memoryblock

또 다른 문제로, 이미지에 작은 변화가 생겼을 때(ex, augmentation) 동일한 anchor가 다른 identities를 예측하도록 학습될 가능성이 있음

추가적으로, object detection에서 feature maps은 보통 8/16/32로 downsampling을 수행하는데, 이는 re-ID features를 학습하기에 너무 coarse 하다는 문제점이 있음

Unfairness caused by features

  • one-shot trackers에서 2개의 tasks 사이 대부분의 features가 공유되지만, 각 task가 필요로 하는 feature level이 다름

object detection은 deep하고 abstract한 features를 필요로 하고, re-ID는 동일한 class의 다른 instance를 구별할 수 있도록 하는 low-level appearance features를 필요로 함

  • 경험적으로, multi-layer feature aggregation이 이러한 문제를 해결할 효과적인 방식임을 발견함

다양한 object scale을 다룰 수 있도록 함

Unfairness caused by feature dimension

  • 기존의 re-ID 연구들은 일반적으로 매우 높은 차원의 features를 학습시켰으나, 낮은 차원의 features를 학습시키는 것이 one-shot MOT에서 더 좋은 성능을 낸다는 것을 발견함
  1. 높은 차원의 re-ID features를 학습시키는 것이 objects를 구별하는 능력을 조금 더 키울 수 있지만, 이는 object detection 정확도를 상당히 낮춤

2개의 tasks 사이 균형을 맞추기 위해 낮은 차원의 features를 학습시키는 것을 제안

  1. 학습 데이터가 적을 때, 낮은 차원의 re-ID features를 학습시키는 것이 오버피팅을 줄이는데 도움을 줌

  2. 낮은 차원의 re-ID features는 inference speed를 향상시킴

Overview of FairMOT

  • 3가지 fairness 문제를 해결한 FairMOT 제안

  • Contributions

  1. 기존의 one-shot tracking frameworks의 challenges에 대해 분석

  2. detection과 re-ID tasks를 공정하게 학습하는 framework 제안

  3. 대규모의 detection datasets에서 FairMOT를 학습하기 위한 self-supervised learning 방법 제안


  • objects를 탐지하는 branch와 re-ID features를 추출하는 branch로 구성되어 있는 FairMOT

detection branch : anchor-free style로, object의 center와 size를 예측

re-ID branch : 각 pixel에 대한 re-ID feature를 예측 ??

  • FairMOT는 high-resolution의 feature maps을 사용하면서 object centers에 대한 re-ID features alignment를 더 잘 수행하여 tracking 성능 향상

  • re-ID features의 차원을 64로 고정시켜 계산시간을 줄이고, 2개의 tasks 사이 적절한 균형을 맞추어 tracking의 robustness를 향상시킴

  • multiple layers로부터 features를 융합하는 Deep Layer Aggregation operator와 함께 backbone network를 구성함

FairMOT

memoryblock

Backbone network

  • 정확도와 속도의 적절한 균형을 위해 backbone network로 ResNet-34를 적용

  • multi-layer features를 융합시키기 위해 backbone에 향상된 Deep Layer Aggregation(DLA) 적용

기존의 DLA와 다르게 low-level와 high-level 사이 더 많은 skip connections이 있음(FPN과 유사)

모든 upsampling modules에서 convolution layers가 deformable convolution으로 대체됨

  • DLA를 다른 deep network로도 대체 가능

Detection branch

  • CenterNet으로 구성되어 있음

memoryblock

DLA-34는 heatmaps, object center offsets, bounding box size를 예측하는 3개의 head가 추가되어 있음

각 head는 DLA-34의 output features에 3x3 convolution을 적용 (이후, 최종 targets을 생성하기 위한 1x1 convolution layer 적용)

  • Heatmap head

object centers의 위치를 예측

representation 기반 heatmap이 적용됨 (dimension : 1 x H x W)

memoryblock

  • Box offset and size heads

box offset head : 더 정확하게 objects를 localization

최종 feature map의 stride가 4이기 때문에, 다운샘플링 과정에서 양자화 오류가 발생함

오류를 완화시키기 위해 각 픽셀에서 object center에 대한 상대적인 연속적인 offset을 예측

box size head : 각 위치에서 target box의 H, W를 예측

memoryblock

  • detection loss

memoryblock

Re-ID branch

  • objects를 구별할 수 있는 features를 생성하는 branch

동일한 objects 끼리 가깝고, 다른 objects 끼리 멀게 하는 것이 목표

  • 각 위치에서 re-ID features를 추출하기 위해 backbone features에 128개의 kernels을 갖는 하나의 convolution layer를 적용함

  • Re-ID loss

re-ID features를 classification task로 해결

동일한 identity를 갖는 object instances는 동일한 class로 간주

re-ID feature vector E를 추출하고, 이를 하나의 class distribution vector P에 mapping 시킴

memoryblock

K = class의 개수

Training FairMOT

  • detection과 re-ID branches를 공동으로 학습

memoryblock

w1, w2 : 두가지 task의 balance를 맞추는 learnable parameters

  • 추가적으로, COCO dataset과 같은 image-level object detection datasets에서 FariMOT 학습을 하기 위한 약지도학습 방식을 제안

dataset에서 각 object instance를 다른 class로 간주하고, 동일한 object의 다른 transformations은 동일 class instances로 간주

transformations : HSV augmentation, rotation, scaling, translation, shearing

  • 모델을 CrowdHuman dataset에서 pre-train하고, 이것을 MOT datasets에서 finetune하여 최종 성능을 향상시킴

Online inference

  • Network inference

input : 1088x608 frame size

  1. 예측된 heatmap에서 peak keypoints를 추출하기 위해, heatmap scores에 기반하여 non-maximum suppression(NMS)을 수행

keypoints에서 heatmap scores가 threashold 보다 크면 유지시킴

  1. 예측된 offsets과 box sizes에 기반하여 해당 bounding boxes를 계산

  2. 예측된 object centers에서 identity embeddings 추출

  • Online association

bounding boxes를 연관시키기 위해, 표준 online tracking 알고리즘 사용

  1. 첫번째 frame에서 예측된 boxes에 기반하여 tracklets의 수를 초기화시킴

  2. 다음 frame에서 Re-ID features로 계산된 cosine distances에 따라 존재하는 tracklets과 탐지된 boxes를 연결시키고, bipartite matching을 사용하여 box overlapping

또한, 현재 frame에서 tracklets의 위치를 예측하기 위해 Kalman Filter 사용

  • variation를 잘 다룰 수 있도록 매 time step 마다 trackers의 appearance features를 업데이트

Leave a comment