FairMOT (수정 중)
MOT (Multi-Object Tracking) 은 CV(Computer Vision) 분야에서 오랫동안 얘기가 나왔던 부분이다. 연속적인 프레임 속에서 여러개의 검출 된 객체들의 움직임을 추정하는 것인데, 쉽게 말해 영상 내에서 여러 객체들이 개별로 어떻게 움직이는지 추적해주는 알고리즘이라 할 수 있다.
MOT 에는 보통 2 단계의 모델로 구성 되어있다.
첫 번째는 Object Detection Model, 즉 객체를 Bounding Box 로 검출한다.
두 번째는 Association Model, 각 Bounding Box 에 대한 Re-Identification (Re-ID) 의 특징을 추출하여 정의 된 특정 메트릭에 따라 기존에 존재하는 트랙 중 하나에 연결시킨다.
최근 연구에 따르면 이 두가지의 모델들은 각 기술들이 발전함에 따라 속도와 성능이 향상 되고있지만, 각 모델들간의 특징을 전혀 공유하지 않고 있기 때문에 실시간 성능을 보장할 수 없다는 문제점이 따라온다. (Object Detection 을 먼저 실시하고 Association 을 이어간다.)
그래서 더더욱 최근에는, 이 두가지의 모델들을 한 번에 학습시키는 one-shot 방식이 거론 되었는데, 이 두 모델간의 대부분의 특징이 공유되기 때문에 추론 시간을 크게 줄일 수 있다. 그러나 one-shot 방식으로는 정확도가 기존의 two-step방식보다 현저히 떨어진다는 문제점이 있어, 두 작업을 결합할 때 정확도를 높이는 방법으로 학습을 진행해야한다.
MOT 의 정확도에 영향을 끼치는 요소에는 세 가지가 있는데,
1. Anchors don't fit Re-ID
: one-shot tracker 는 모두 객체 탐지 기반이기 때문에 anchor 를 기반으로하고 있는데, Re-ID 에는 적합하지 않다. 서로 다른 이미지 패치에 해당하는 multiple anchors 가 동일한 객체의 identity 를 추정할 필요가 있는데, 이로 인해 신경망에 심각한 ambiguity 가 발생할 수 있다, 라는데, 쉽게 말해서 서로 다른 이미지에 동일한 class 가 부여 되어야하는데, 그렇게 된다면 신경망에서 서로 다른 이미지에 동일한 class 가 부여 되기 때문에 제대로 검출을 할 수가 없다는 이야기. 신경망 기준으로 a, a' 는 서로 다른 이미지이지만 동일하게 a 라는 class 를 부여하면 a, a' 를 서로 같은 이미지로 보고 a' 와 비슷한 b 라는 이미지도 a 라고 판단할 수 있기 때문.
2. Multi-Layer Feature Aggregation
: Re-ID 특징은 크기가 서로 다른 크고 작은 객체들을 모두 수용하기 위해 low, high-level 의 특징들을 모두 활용해야한다. low-level 이란, 이미지에서 노이즈 제거, 명암 효과, 화질 개선등의 작업을 의미한다. 전처리 과정이라고도 한다. Mid-level 이란, 전처리 된 영상 및 이미지에서 어떠한 속성을 뽑아내는 과정인데, segmentation 이나 edge, 외곽선 등의 특징들을 식별한 결과라고 생각하면 된다. high-level 은 뽑아낸 결과들을 기반으로 해당 이미지를 추론하는 과정이라고 이해하면 된다. FairMOT 논문에서는 스케일 변화를 처리하는 능력을 향상 시켜 one-shot 방법 기반으로 identity switch 를 줄였다, 라고 하는데, 개인적인 생각으로는 스케일 변화는 low-level 에서 이루어지므로, low-level 에서 처리하는 방식을 개선했다고 생각하면 될 것 같다.
3. Dimensionality of the Re-ID Features
: 기존의 Re-ID 방법들은 일반적으로 high dimensional feature 들을 학습하고 좋은 결과들을 얻어왔지만 해당 논문에서는 Re-ID 보다는 학습 이미지가 적기 때문에 low dimensional feature 가 MOT 에 실제로 더 좋다는 사실을 발견했다고한다. 여기서 high dimensional features 란, 직역하자면 다차원의 특징이라고 할 수 있는데, 이는 이미지의 차원 공간이 많다는 것이다. 예를 들자면, 한 이미지의 색상을 RGB 값인 3개의 차원으로 나타낼 수 있는데, 다차원 특징을 갖는 고차원 데이터는 RGB 3개의 값이 아니라 훨씬 많은 색상값 (수천개 이상의 차원) 을 갖는다.
고차원 데이터를 이용한 학습은 작은 크기의 데이터에 대한 과적합이 발생시킬 수 있으므로, low dimensional features 를 이용하여 tracking robustness 를 향상시킨다.
위의 process 들을 따져보면,
anchor-free object detection 을 통해 고해상도 (high resolution) feature map 에서 object center 를 추정한다. anchor 를 제거하게 되면 모델의 모호함 문제가 완화 되고 high resolution feature map 을 사용하여 Re-ID 특징을 object center 에 더 잘 합칠 수 있다. 그 뒤, low dimensional feater 를 이용한 Re-ID 특징을 학습시켜, 계산 시간을 단축할 뿐만 아니라 모델 자체의 robustness 도 향상시킬 수 있다.
FairMOT 에서 각 프레임 단위의 이미지의 특성을 추출하는 부분 (Backbone network) 에서는 정확성과 학습 시간의 trade-off 를 위해 Resnet-34 를 사용했다. 다양한 스케일 객체를 수용하기 위해 DLA (Deep Layer Aggreagation) 이 백본에 적용이 되는데, 다양한 resolution 에서 upsampling 과 downsampling 을 거치며 그 특성들을 추출하는 방법이다. 이 중, upsampling 에서 convolution layer 는 모두 deformable convolution layer 로 대체 된다. deformable convolution layer 란, 일바 컨볼루션 레이어에서의 필터는 기하학적인 특정 패턴을 가져 특정 이미지에 대한 과적합이 일어날수가 있는데, 필터의 offset 을 조정하여 필터의 패턴을 무작위로 바꿔 과적합을 방지하거나 특정 크기나 스케일의 이미지에서 성능이 떨어지는 것을 막을 수 있다.
객체 탐지 구간에서는 3가지의 방법이 신경망에 적용이 된다.
1. Heatmap Head
: 이 head 는 객체의 중심 위치를 추정한다. heatmap 기반의 representation 이 적용이 디는데, heatmap 의 dimension 은 1 * H * W 이다. heatmap 의 위치와 object center 사이의 거리에 따라 response 는 기하급수적으로 감소한다.
2. Center Offset
: head 는 객체를 보다 정확하게 localization 한다. feature map 의 stride 는 양자화 오류를 유발할 수가 있는데, 객체 탐지 성능의 이점은 미미할 수 있으나 Re-ID 의 특징은 정확하게 object center 에 따라 추출 되어야함으로 tracking 에서 유의미하다는 특징을 가진다. 논문에서는 Re-ID 의 특징을 object center 와 carefull alignment 하는 것이 성능에 중요하다는 것을 발견하였다.
3. Box size Head
: 각 anchor 의 위치에서 target bounding box 의 높이와 너비를 추정한다. 이 head 는 Re-ID 특징과는 직접적인 관련은 없지만, localization 정확도는 객체 탐지 성능 평가에 영향을 끼친다. (객체 검출에 유의미한 영향을 끼침)
그 다음, Identity Embedding Branch 가 있는데, 이 것의 목표는 다른 객체와 구별할 수 있는 특징을 생성하는 데에 있다.