An Improved Faster R-CNN for Small Object Detection을 정리한 글입니다! (2019.07 IEEE Published)

 

소개 

Object Detection은 Computer Vision에서 중요한 연구 주제중 하나입니다.

그 중 Small object Detection은 occlusion, low resolution, ETC..의 issue를 가지고 있어 Large object에 비해 정확도가 매우 낮습니다.

본 논문은 이런 이슈들을 가진 Samll Object Detection을 위한 Improved method를 제안한 논문입니다.

 

세부

 

본 논문에서는 2-stage detector를 채택했고, 이에따라 positioning stage, recognition stage를 나누어 설명했습니다.

(small object detection 문제는 주로 속도보다는 정확도가 더 중요한 issue이기 때문에 느리더라도 정확도가 높은 2-stage 계열 사용)

 

1. Positioning Stage

- IIOU를 정의하고, 새로운 loss function을 제시

- Positioning deviation을 방지하기 위해 Bilinear interpolation을 수행


IIoU (Improved Intersection over Union)

더보기

논문의 많은 수식들을 정리하기 위해 예시를 들어봅시다.

회색은(B) Predicted된 Bounding box를, 주황색은(B*) Ground Truth인 bounding box입니다.

논문에서는 B의 좌표를 (x1, y1, x2, y2), B*의 좌표를 (x1*, y1*, x2*, y2*)와 같이 정의했습니다.

 

아래는 기존 IoU식과 논문에서 제안한 IIoU의 수식입니다. 이것에 대해 좀 더 알아보죠!

 

해당 수식에서 사용되는 S들에 대한 정의는 다음과 같습니다.

Predicted Area(S) , GroundTruth Area(S*) , overlapping Area(S^I) , Entire Area(S^C)

기존 IoU식과 달리 IIoU에서는 전체영역을 고려하여 계산된 것을 볼 수 있습니다.

 

즉 IIoU는 overlapping된 영역(하늘색)뿐만 아니라, non-overlapping영역(초록색)에도 신경 쓸 수 있게 해줍니다.


IIoU를 사용한 Loss Function

더보기

기존에 사용되던 L_n norm은 물체의 크기에 예민합니다.

optimization 과정에서 Predicted와 Ground Truth사이 중심 거리가 같더라도 두개의 dimension이 다를 수 있기 때문이죠

그러나 IoU는 비율의 개념이기 때문에 크기에 예민하지 않습니다.

 

따라서 본 논문에서는 Loss Function으로 앞선 IIoU를 사용하여 다음과 같은 LIIoU를 제안하였습니다.

 

다음은 Faster R-CNN에서 LIIoU와 Smooth L1 loss를 비교한 실험 결과입니다. (AP75는 IoU값이 0.75보다 큰 값을 가리킴)

Comparision of the Detection Performance of L_IIou and Smooth L1 Loss Function

LIIoU를 사용한 것이 Smooth L1 loss function을 이용한 것 보다 missed detection 비율이 더 적은 것을 볼 수 있습니다.

 

결과적으로 LIIoU는 다음을 가능하게 해줍니다.

1. better Optimize the position of the regression box

2. improve the problem of inconsistent optimization of the loss function


RoI Align

더보기

RPN에 의해 추출된 region proposal을 RoI Pooling하는 과정(decimal coordinate를 위한 round operation)에서 생기는 Positioning Deviation 문제를 해결하기 위해 논문에서는 bilinear interpolation을 수행했습니다.

적용 이후 올바르게 located 된 예시

 


 

2. Recognition Stage

- Convolution Feature Fusion 적용

- Soft NMS 적용


Multi-Scale Convolution Feature Fusion

더보기

CNN에서 convolution과 pooling 연산으로 인해 깊은 네트워크일 수록 feature map이 작아집니다.

따라서 single-layer convolutional feature map은 small object의 특징을 완전히 표현하는것을 힘들게 만들었습니다.

 

이러한 문제를 개선하기 위해 기존 Faster R-CNN은 Conv5-3의 output만을 사용했지만 해당 논문에서는

conv 3-3에 maximum pooling 을 이용한 subsampling을,

conv 5-3에 upsampling을 사용하여 conv 4-3 layer와 Element Addition을 통해 합칩니다. 

 

+ 논문에서는 이 세 레이어를 합치기 전에, 각  피쳐맵의 activated value가 똑같도록 local response normalization(LRM)을 사용했다고 합니다.


Soft NMS

더보기

기존 NMS는 많은 수의 Region Proposal을 카테고리별로 분류한 후, 동일한 카테고리에 대해 IoU가 높은 순서대로 정렬해 점수가 가장 높은 영역을 기준으로 각 카테고리를 위한 Threshold를 설정하여 최종 Detection Result를 탐색하게 됩니다.

이런 NMS알고리즘은 직접적으로 bounding box의 점수를 0으로 만들어 버리고, 이것은 겹치는 물체들을 놓치는 문제를 야기하게 됩니다.

 

이게 무슨말인가 하면.. 다음 말 사진을 봅시다.

말이 이렇게 겹쳐져 있는 경우에, 해당 부분을 0으로 만들어 버리게 되어 뒤에 있는 말이 detection 되기 어렵습니다.

 

본 논문에서 적용한 Soft NMS는 이렇게 겹치는 부분을 모두 0으로 만들어 버리기 보다는,

겹친 비율에 따라 해당 bounding box를 선택해야 하는 점수를 줄이는 것이 목표입니다. 수식은 다음과 같습니다.

 

이러한 Soft NMS 알고리즘은 bounding box의 점수를 재정의 함으로써 기존 NMS알고리즘을 향상시킬 수 있었습니다.

 

Soft-NMS – Improving Object Detection With One Line of Code (2017 IEEE)


 

논문에서 제시한 전체 알고리즘 구상도

더보기

- Feature extractor로 VGG-16 network 사용

- Conv5_3(Up-sampled) + Conv4_3 + Conv3_3(Sub-sampled) - Box I

- RPN network의 anchor size 재설계

- IIOU를 사용한 Loss function을 사용하여 Bounding box regression 수행 - Box II and V

- Soft NMS 사용 - BOX III

- ROI pooling layer에서 bilinear interpolation을 수행 - Box IV

 

결과

(0,32]의 해상도를 가진 Traffic-sign에 대해 Recall 90%와 Accuracy 87% 달성

Trained & Tested dataset : TT100K dataset (Tsinghua-Tencent 100K : Traffic-sign dataset)

 

논문에서 적용한 방식

더보기

- IIoU (Improved Intersection over Union)

- RoI Align

- Feature fusion

- Soft NMS

 

하이퍼파라미터

더보기

positive sample : IOU>0.67

negative sample : IOU<0.3

initial learning rate α = 0.001

momentum-based small batch gradient descent momentum weight ε = 0.9

probability of random culling = 0.5

 

실험 비교 대상

 

+ Recent posts