논문 읽기/Object Detection

[논문 읽기] OHEM(2016) 리뷰, Training Region-based Object Detectors with Online Hard Example Mining

AI 꿈나무 2021. 3. 6. 20:26
반응형

 안녕하세요! 이번에 읽어볼 논문은 OHEM, Training Region-based Object Detectors with Online Hard Example Mining 입니다. 모델 구조를 개선시켜 성능을 향상시킨 논문이 아니라, 샘플링 방법을 개선하여 모델의 성능을 향상시킨 논문입니다. RetinaNet 논문을 읽다가 OHEM에 대한 내용이 이해가 안되서 OHEM을 읽어보게 되었네요ㅎㅎ

 


Summary

 Fast R-CNN에서 mini-batch를 구성할 때, 두개의 이미지에서 각각 64개의 RoI를 positive, negative 1:3 비율로 샘플링하여 총 128개 RoI로 mini-batch를 구성합니다. OHEM은 loss가 높은 RoI를 선별하여 negative sample를 샘플링하는 알고리즘 입니다. loss가 높은 RoI로 구성된 128개의 mini-batch를 활용하여 Fast R-CNN의 성능을 향상시켰습니다. 

 


Abstract

 OHEM(Online Hard Example Mining)은 hard example과 easy example로 이루어진 dataset에서 hard example을 더 많이 샘플링하는 알고리즘입니다. OHEM이 고안된 이유는 detection dataset이 hard exaple보다 easy example을 훨씬 많이 포함하고 있기 때문에 학습에 악영향을 주게되고 이 문제를 개선하기 위해 고안되었습니다. 실제로 Fast R-CNN에 OHEM을 사용하여 모델의 학습 속도 개선과 성능 향상을 이뤄냈습니다.

 

 hard example은 모델이 예측하기 어려운 sample을 의미합니다. 예를 들어, 실제로는 negative인데 positive라고 잘못 예측하기 쉬운 데이터입니다. 반면에 easy example은 모델이 예측하기 쉬운 sample을 의미합니다.

 


Introduction

 object detection을 학습시킬 때 object가 존재하는 proposal과 배경(back-ground) proposal 간의 불균형(imbalance)이 존재합니다. 최신 기법에도 불균형 문제가 존재하며 배경과 객체 proposal 비율은 70:1 정도 입니다. 논문에서 불균형 문제를 해결하면 더 빠른 학습과 더 높은 정확도를 얻을 수 있다고 합니다.

 


Hard Negative mining

 불균형 문제는 hard negative mining 방법을 사용하여 해결했습니다. 이 hard negative mining이 무엇인지 알아보겠습니다.

 

 Hard Negative Mining은 positive example과 negative example을 균형적으로 학습하기 위한 방법입니다. 위에서 서술한 불균형 문제를 해결하기 위해 제안되었습니다. 작동 방법은 negative sample이 있으면, 이들을 confidence score를 기준으로 내림차순 정렬을 합니다. 이 중 높은 순으로 뽑은 negative sample을 가져옵니다. 그다음에 random하게 선정한 positive sample들과 구성하여 하나의 mini-batch를 형성 후, CNN에 학습시킵니다. 이를 통해 전체 negative sample을 모두 사용할 필요가 없기에 memory의 양이 줄어들게 됩니다.

 

 

hard negative mining을 사용하기 전(왼쪽)과 후(오른쪽). 노란선이 정답, 초록 점선은 True Positive, 빨간선은 False Positive

 

 hard negative mining을 사용한 후, False Positive(객체가 아닌데 객체라고 예측)의 수가 확연히 줄었습니다. 이처럼 hard negative mining으로 얻은 데이터를 원래의 데이터에 추가해서 재학습하면 false positive 오류에 강해집니다.

 


heuristics method

 그러면 이렇게 좋은 효과를 나타내는 hard negative mining을 Fast R-CNN에서 사용하지 않았을 까요??

 

 SGD(Stochastic gradient descent)를 사용하여 학습되는 ConvNet에서 기술적인 어려움때문에 hard negative mining을 사용하지 못합니다. 모델이 False Positive를 판단하고 이를 학습 데이터셋에 추가하고, mini-batch를 구성하는 과정이 끝날 때 까지 모델을 update할 수 없어, 학습이 느려지기 때문입니다.

 

 Fast R-CNN은 hard negative mining 대신에 heurisics method를 사용합니다.

 

 2장의 이미지에서 각각 64개의 region proposal을 추출하여 총 128 mini-batch를 구성합니다. 128개의 region proposal는 25%는 positive sample, 75%는 negative sample로 추출합니다. positive sample은 IOU가 0.5이상, negative sample은 IOU가 0.1~0.5 사이의 proposal을 지정했습니다. 이 방법을 휴리스틱(heuristocs) 방법이라고 합니다.

 

 휴리스틱 방법을 사용하면 하이퍼파라미터(IOU threshold, positive/negative sampling ration 등)가 생깁니다. 하이퍼 파라미터가 많아지면 실험자의 개입과 시행착오가 많아지게 됩니다. 또한 이 방식으로 mini-batch를 생성하는 방법은 효과적이지 않다고 합니다.

 

 논문에서는 휴리스틱 방법을 제거함으로써 하이퍼파라미터도 제거한 OHEM 방법을 소개합니다.

 


OHEM(Online Hard Example Mining)

 Fast R-CNN에 OHEM을 적용하기위해 한개의 ROI pooling layer를 추가합니다. 추가된 ROI pooling layer는 readonly(읽기전용)으로써, hard example을 샘플링하는 역할을 합니다. 아래 그림은 구조입니다.

 

 

OHEM 작동 방식

1. region proposal로 하나의 이미지에 2000개의 proposal을 생성합니다.

 

2. 이미지를 CNN에 전달시켜 feature map을 생성합니다.

 

3. proposal을 feature map에 투사하여 RoI를 만듭니다.

 

4. RoI를 readonly RoI network에 통과시켜 loss를 계산합니다. conv feature map에서 RoI가 투사되어 많은 RoI는 겹치게 됩니다. 따라서 연산이 공유되므로 RoI가 작은 경우에만 추가적인 연산이 필요하다고 합니다.

 

5. RoI를 loss순으로 정렬하여, loss가 낮은 RoI를 제거합니다. loss가 높은 RoI는 negative sample을 의미합니다.

 

6. NMS를 수행합니다. NMS을 수행하는 이유는 겹친 RoI에 대해서 loss가 두 번 계산될 수 있기 때문입니다. 모델을 업데이트 하는데에 적은 RoI가 선택되어 역전파 연산량이 기존의 방식과 크게 차이가 없다고 합니다. 참고로 Readonly RoI network는 순전파만 계산합니다. 역전파는 regular RoI network에서 이루어집니다.

 

7. 최종적으로 2개의 이미지에서 각각 64개의 RoI가 생성되어, 128개의 mini-batch가 구성됩니다. 2개의 이미지는 4000개의 proposal을 갖고 있는데, 이중 128개의 RoI를 샘플링 한 것입니다. 이제 Hard RoI 샘플링은 끝났습니다. 이를 $R_{hard-set}$으로 표기합니다.

 

8. $R_{hard-set}$을 regular RoI networ에 전달하여 object detection을 수행합니다. detection 수행 방식은 기존의 Fast R-CNN과 동일합니다. 차이점은 readonly network가 추가되어 hard RoI를 샘플링 하는 것입니다.

 

 OHEM 방법을 적용할 경우, 학습 도중에 sampling 과정을 필요로 하지 않기 때문에 모델의 학습을 빠르게 할 수 있습니다. 실제로 학습 속도가 2x배 빨라졌습니다. 그리고 샘플링을 위한 하이퍼파라미터가 제거되었습니다.

 


Experiment

 

 

 PASCAL VOC07 dataset로 학습된 Fast R-CNN의 mAP는 67.2%입니다. 여기에 OHEM을 적용하여 mAP을 69.9%로 향상시켰습니다.

 


참고자료

[1] arxiv.org/abs/1604.03540

[2] herbwood.tistory.com/12

[3] cool24151.tistory.com/37

반응형