논문링크 : https://arxiv.org/abs/1604.03540

  • Training Region-based Object Detectors with Online Hard Example Mining
  • 모델 구조를 개선시켜 성능을 향상시킨 논문이 아니라, 샘플링 방법을 개선하여 모델의 성능을 향상시킨 논문

 

Contribution

  • object가 존재하는 proposal 보다 background 영역에 해당하는 proposals의 갯수가 더 많아 발생하는 클래스 불균형(class imbalance) 문제를 해소하는데 기여
  • heuristics method (ex, hyper parameter, background-foreground ratio etc)를 제거하여 학습을 간단하게 만듦

 

Motivation

 Object detector의 경우 일반적으로 anchor box를 생성한 후, 각 anchor box마다 classification loss를 구한다.
그런데, 대부분의 anchor box가 background이고, 몇개의 anchor box만이 object가 있는 box이다.
즉, 검출된 RoI examples들 중에서 일부만 object를 포함하고 있는, positive examples이고, 대부분의 examples들은 background를 포함하는 negative examples이다. 이런 문제를 "class imbalance"라고 한다.
 만약, 모든 example에 대해서 loss의 가중치를 똑같이 준다면 네트워크는 수 천개의 background가 담긴 box위주로만 학습이 될 것이다. 이를 방지하고자 나온 개념이 OHEM이다.

 

Core idea

 OHEM은 data에 대해 positive와 hard negative example로 data를 필터링하고, 해당 data에 대해서만 학습을 하자는 개념 => Object detection 시, 모든 anchor box에 대해서 classification loss를 구하지 않고, 각 anchor box들을 ground truth와 비교하여 score를 계산을 한다. 이때 score가 높지만, gt값이 0이라면 obejct로 인식할뻔한 배경사진이라는 뜻이다. 따라서 이런 box들의 경우 hard negative example이라 한다. (=>Hard Negative mining) 최종적으로 이런 box(hard negative example)들과 positive box들만 골라서 classification loss를 계산한다.

Hard Negative mining

  1.  negative sample이 있으면, confidence score를 기준으로 내림차순 정렬
  2.  이 중 높은 순으로 뽑은 negative sample을 가져옮
  3.  random하게 선택된 positive sample들과 합쳐서 mini-batch를 만든 후, 모델을 학습시킴

hard negative mining을 사용하기 전(왼쪽)과 후(오른쪽) [이미지 출처 : https://deep-learning-study.tistory.com/501

 

Fast R-CNN에 OHEM을 적용한 구조

 Fast R-CNN에 OHEM을 적용하기위해, 한개의 ROI pooling layer를 추가한다. 추가된 ROI pooling layer는 read-only로써, hard example을 샘플링하는 역할을 한다.

Method

  1. region proposal로 하나의 이미지에 2000개의 proposal을 생성
  2. 이미지를 CNN에 통과시켜 feature map을 생성
  3. proposal을 feature map에 projection하여 RoI를 생성
  4. RoI를 readonly RoI network에 통과시켜 loss를 계산
  5. RoI를 loss순으로 정렬하여, loss가 낮은 RoI를 제거 (loss가 높은 RoI는 negative sample)
  6. NMS를 수행
  7. 최종적으로 2개의 이미지에서 각각 64개의 RoI가 생성되어, 128개의 mini-batch가 구성됨. 2개의 이미지는 4000개의 proposal을 갖고 있는데, 이중 128개의 RoI가 샘플링됨 것임.  (=>Hard RoI 샘플링)
  8. 7번의 샘플링 된 RoI를 기존의 Fast R-CNN의 RoI network에 전달하여 object detection을 수행 (detection 수행과정은 기존의 Fast R-CNN과 동일. 차이점은 read-only network가 추가되어 hard RoI를 샘플링 하는 것임)
반응형

'머신러닝_딥러닝 > Object Detection' 카테고리의 다른 글

(논문리뷰) Mask R-CNN  (0) 2021.09.13
(논문리뷰) RetinaNet (2017)  (0) 2021.09.13
(논문리뷰) Feature Pyramid Net, FPN (2017)  (0) 2021.09.13
(논문리뷰) SSD (2016)  (0) 2021.09.13
(논문리뷰) SPPnet  (0) 2021.09.13

+ Recent posts