위 논문은 CNN-based Object Detector 들이 주로 hand-crafted criterion (IoU) 를 통해 ground truth to feature map bin anchor matching 하던 것과는 다르게, 이를 Maximum Likelihood Estimation problem 으로 formulation 하여 anchor matching 을 end-to-end framework 로 편입한다. 이를 통해 architecture 의 변화없이 RetinaNet 의 성능을 향상시켰다.
NeurIPS2019 (Spotlight)
1. Introduction
Image Classification 과 다르게 deeper visual understanding 을 위한 task 인 object detection, segmentation 등은 hand-crafted processing 이 필수적이다.
예를 들어 anchor-based object detection 의 경우엔, RPN 의 high recall rate 를 위해서 굉장히 많은 false-positive 를 region proposal 로써 도출 하는데, 이러한 많은 false-positive 를 제거(for increasing precision rate)하기 위한 Non-Maximum-Suppression 이 필수불가결하다.
FPN architecture 의 경우, RPN 은 학습 과정에서 multiscale feature map 의 한 bin 에 대해 pre-defined 된 aspect-ratio 의 anchor 를 생성 하며, 적절한 model 의 학습을 위하여 이러한 bin 의 anchor 들에 대해서 GT object 와 매칭시킬 필요가 있다.
위 논문은 이전 연구들이 hand-crafted criterion (IoU) 를 통해 GT Object to feature map bin anchor matching 하던 것과는 다르게, 이를 Maximum Likelihood Estimation formulation 을 통한 적절한 anchor matching 을 이루는 것을 목표로 한다. 제시하는 방법론을 통해 다른 architecture 의 변화없이 RetinaNet 의 성능을 향상시켰다는 것이 주목할 만하다.
2. Method
2.1. Detector Training as Maximum Lilekihood Estimation
Anchor-Based one-stage object detector 의 학습 과정을 자세히 소개하도록 한다. 대게의 경우 backbone network 에서 feature extracting 을 통해 main feature map 이 생성되고(multiscale), 이 feature map 의 bin 하나 당 정해진 비율을 갖는 anchor 가 생성되게 된다.
RPN 의 효율적인 학습을 위해서, 생성된 anchor 모두에게 loss 를 할당하는 대신, positive set 과 negative set 을 나누어 object 와 background loss 를 따로 구해야 한다.
이때 기존 detector 들은 주로 GT object box bi∈B 와 생성된 anchor aj가 정해진 threshold 이상의 IoU를 갖는다면, Cij=1 로 할당한다. (만약 multiple object 와 matching 된다면 largest IoU object 만 match 한다)
이때 positive set 을, anchor가 match 되는 object 가 single object 인 anchor 의 집합으로 정의하고, negative set 은 어떠한 object 와도 match 되지 않는 anchor 들의 집합으로 정의할 수 있다. 즉,
A+: {aj ∣ i∑Cij=1}A−: {aj ∣ i∑Cij=0}
에 대하여 loss function L(θ) 를 다음과 같이 정의한다.
L(θ)=aj∈A+∑bi∈B∑CijLcls(θ) + βaj∈A−∑bi∈B∑CijLloc(θ) + aj∈A−∑Lbg(θ)
이때 cls, loc, bg loss 는 각각 BCE (with GT class), SmoothL1, BCE (with 0 vector) 와 같다.
잘 학습된 network model 의 loss 를 MLE 관점에서 본다면, loss 가 낮을수록 전체 training dataset 에 대한 classification, localization probability 가 높을 것이다. 즉, loss 에 대해서 model MLE probability 를 다음과 같이 나타낼 수 있다.
P(θ)=e−L(θ)=aj∈A+∏(bi∈B∑Cije−Lcls(θ))⋅aj∈A−∏(bi∈B∑Cije−βLloc(θ))⋅aj∈A−∏e−Lbg(θ)=aj∈A+∏(bi∈B∑CijPcls(θ))⋅aj∈A−∏(bi∈B∑CijPloc(θ))⋅aj∈A−∏Pbg(θ)
이때 matrix C 를 배우는 적절한 방법을 제시함으로써, 위 anchor matching 을 hand-crafted criterion 을 이용한 heuristic 한 방법론이 아닌, end-to-end 관점에서 학습시킬 수 있다.
2.2. Detection Customized Likelihood
matrix C 를 학습하는 방법론을 세우기 전에 주목해야할 점은, region proposal 이 high recall rate 와 high precision rate 를 동시에 유지해야 한다는 점이다. Recall rate 는 true-positive 와, precision 은 false-positive 와 관련되기 때문에 recall 은 matched GT object, precision 은 background 와 연관되어 있음을 알 수 있다.
즉, 위의 heuristic matching 과 마찬가지로 positive (recall) probability 와 negative (precision) probability 를 따로 설정하게 된다.
-
Positive 의 경우 computation cost 를 위해 top-n ranked anchors 인 bag of anchor 에서 classification, location 모두 jointly closest to object 인 box 를 고른다.
Precall(θ)=i∏ aj∈Amax(Pcls(θ)⋅Ploc(θ))
이때 jointly 하게 이를 고르는 까닭은 NMS post-processing 의 정확도를 위해 highest confidence anchor 가 lowest location difference 를 갖게 학습되기 원하기 때문이다.
-
Negative 의 경우 positive case 와 반대로 poor localization anchor 를 poor classification (background) 로 학습되기 원하기 때문에 다음과 같은 objective function 을 갖게 된다.
Pprecision(θ)=i∏ (imaxP{aj→bi})⋅(1−Pbg(θ))
이때, NMS post-processing 을 위해 P{aj→bi} 는 다음과 같은 property 를 갖는다.
- P{aj→bi} : IoU 에 대해 단조증가하는 함수
- IoU 가 threshold 보다 작을 시, P{aj→bi} 는 0에 가까울 것
- GT object 에 대해, 단 하나의 anchor 만 P{aj→bi}=1 에 할당될 것.
상기된 property 들을 만족하는 Saturated Linear function 을 다음과 같이 정의한다.
Saturated Linear(x,t1,t2) =⎩⎪⎪⎨⎪⎪⎧0x≤t1(x−t1)/(t2−t1)t1<x<t21x≥t2
따라서 위의 Saturated Linear function 을 통한 최종 detection customized likelihood objective 는 다음과 같이 정의된다.
P′(θ)=Precall(θ)⋅Pprecision(θ)=i∏ aj∈Amax(Pcls(θ)⋅Ploc(θ))⋅j∏ imaxP{aj→bi}⋅(1−Pbg(θ))
2.3. Anchor Matching Mechanism
P(θ)=e−L(θ) 로부터 다음과 같이 detection customized likelihood loss 를 정의할 수 있다.
L′(θ)=−logP′(θ)=−i∑ log( aj∈Amax(Pcls(θ)Ploc(θ)))−j∑ log((1−P{aj∈A−})⋅(1−Pbg(θ)))
이때 저자들은 early stage 에서의 낮은 confidence 품질 때문에 초기 학습 단계가 어렵다고 보고, max function 대신에 값이 낮을땐 mean 값처럼, 값이 높을 땐 max 값처럼 행동하는 Mean-Max function 을 도입한다.
즉,
- 학습 초기 단계에서는 bag of anchor 모두 loss 를 할당받아 학습에 참여하다가,
- confidence 품질이 높아질수록 bag of anchor 에서 GT object 와 가까운 anchor 만이 학습에 참여하여 hard negative 의 품질을 높이게 될 것이다.
따라서 Mean-Max function 을 이용해 변경된 detection customized likelihood loss 는 다음과 같다.
L′(θ)=−w1i∑ log(Mean-Max(Xi))+w2j∑ FL(P{aj∈A−}⋅(1−Pbg(θ))
background 에 대한 easy negative sample 의 weight 를 줄이기 위하여 Focal Loss 를 사용하였다.
전체 알고리즘은 다음과 같이 나타낼 수 있다.
3. Experiments
Baseline Architecture 로 RetinaNet 을 사용하였으며, RetinaNet 을 바탕으로 위의 MLE-formulated Training 만을 적용하여 성능 향상을 이끌어냈다.