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

 

Contribution

  • 기존의 R-CNN 계열의 object detector를 비교적 간단한 방법으로 개선하여, 성능을 향상시킴
  • Cascade R-CNN 구조

 

Motivation

  1. IoU threshold를 낮은 혹은 일반적인 0.5로 사용하게 되면 noisy detection 발생
  2. IoU threshold를 높이면 performance(AP)가 저하됨
  3. IoU threshold 높다 → positive sample 감소 → overfitting
  4. IoU값이 IoU threshold와 유사할 시에만 optimal한 detector가 됨 

 :  Close false positive를 억제하고, True positive를 찾자!!

 

Core idea

  • Object Detection 수행 시, IoU는 RPN에서 생성한 region proposals이 positive인지 negative인지 결정하는 하이퍼 파라미터로 이용됨, 일반적으로 낮은 IoU를 설정하면 바운딩 박스 위치 결과값이 부정확해지고, 높은 IoU를 설정하면, 바운딩 박스 위치 결과값이 정확해지는 대신 detection의 성능이 감소됨
  • (1) IoU가 높으면 많은 positive sample에 사라지기 때문에 overfitting이 발생, (2) train과 inference시에 작용하는 IoU가 다름 -> IoU를 증가시키면서 연속적으로 detector을 학습, stage가 진행될수록 좀 더 정확한 proposal을 학습을 하게 됨
  • stage를 거칠 때마다, proposal의 정확도는 높아지고, 설정한 IoU도 높아지므로 detector의 성능이 향상됨

  • [Figure 1-(c)]를 보면, 입력 IoU가 높아질수록(proposal의 정확도가 높아질 수록) 출력 IoU도 높아짐
  • [Figure 1-(c)]를 보면, Proposed 된 BB가 부정확한 경우에는 IoU 0.5가 좋은 성능을 보여주었고, 반대로 Proposed 된 BB가 정확하면 정확할수록 더 높은 IoU를 기준으로 학습시킨 모델이 더 좋은 성능을 보여줌
  • [Figure 1-(c)]를 보면, IoU가 낮은 BB가 주어졌을때, classifier가 만들어내는 BB는 훨씬 더 주어진 BB보다 IoU가 훨씬 더 높다는 것을 확인 할 수 있음 -> Cascade R-CNN 구조 Idea
  • 지금보다 더 좋은 Proposal을 만들어 낼 수 있다면, classifier의 성능을 올라갈 것이고, 추가적으로 classifier를 학습시킬때도 더 높은 IoU 값들을 기준으로 학습시킨다면 더욱더 성능이 올라갈 것으로 추론 가능
  • Regressor은 localization을 의미
  • input IoU가 0.5일 때는 u=0.5일 때 output IoU가 가장 높고, input IoU가 0.95일 때는 u=0.7가 일 때 output IoU가 가장 높다. (즉,  input의 IoU = 0.6 일 때 / IoU threhold =0.7→ false positive, IoU threshold = 0.5 → true positive)
  • (d) IoU threshold가 높아질수록 average precision (AP)가 작아진다

 

  • 그림 (a) :  Image 가 Conv 네트워크를 통과하고, RPN에서 나온 region proposal에 따라 pooling을 해준 뒤, 하나의 classifier가 물체를 detection
  • 그림 (b) :  BB를 다시 동일한 classifier에 넣는 과정을 반복하여 좀 더 정확한 task를 수행, 3번 이상에서는 큰 효과가 없었음
  • 그림 (c) :  classifier 여러개를 각각 다른 IOU기준으로 training 한 뒤, test시 모든 결과물을 ensemble 하는 방식, 성능향상엔 도움, BB proposal 개선에는 한계
  • 그림 (d) :  이전의 classifier에서 예측한 BB를 다음에 위치한 classifier로 넘겨주어 서로 다른 IOU 기준으로 classifier를 학습시킴, classifier은 뒤로 갈 수록 높은 IoU 설정(0.5, 0.6, 0.7) ->  classification 성능 뿐 아니라 BB 정확도 향상, 즉, stage가 깊어질수록 close false positive를 걸러내는데 유용
  • Cascade R-CNN : IoU가 높은 prediction들을 더 얻어서, 높은 IoU threshold를 사용하면 성능이 좋아짐

 

Loss function

  • Cascaded Bounding Box Regression

 

기타

반응형

+ Recent posts