Faster R-CNN이란?

김태영·2022년 10월 11일
0
post-thumbnail
post-custom-banner
  • Selective search를 사용하여 계산하던 Region proposals 단계를 neural network 안으로 끌어와서 진정한 의미의 end-to-end object detection 모델을 제시하였습니다.
  • 모든 단계를 다 합쳐서 5fps라는 빠른 속도를 내며 Pascal VOC기준 78.8%라는 성능을 냈습니다.
  • 기존의 Fast R-CNN의 구조를 계승하며, selective search를 제거하고 RPN(Region Proposals Network)을 통해서 rols를 계산합니다.
    • 이를 통해서 gpu 연산을 통해서 rols를 구할 수 있게 되었다.
    • selective search → 2000개
    • RPN → 800개
    • selective search보다 약 1000개 이상의 rols를 더 적게 계산함에도 불구하고 더 높은 정확도를 보인다.
  • Region Proposal Network → RPN
    • CNN을 통해 얻어낸 featuremap을 입력으로 받는다.
    • featuremap에 convolution을 채널 만큼 수행한다.
      • 이 때 padding을 1로 주어 기존의 H, W를 유지한다.
    • 두 번째 featuremap을 입력 받아서 classification 및 bbox regression 수행
      • convolution의 특징을 갖기 위해 1x1 convolution을 사용한다.
    • clasification 수행을 위해 1x1 convolution을 (2(오브젝트 여부), 9(앵커의 개수)) 채널 수 만큼 수행하고, 그 결과로 (h, w, 18)의 featuremap을 얻는다. (h,w) 각각은 featuremap의 좌표를 의미한다. 마지막으로 softmax를 적용하여 각 앵커들이 오브젝트일 확률 값을 얻는다.
    • bbox regression을 얻기 위해서 1x1 convolution을 통해 (4x9) 채널 수 만큼 수행한다. regression이기 때문에 얻은 값을 그대로 사용한다. Rol 계산을 위해 classification에서 얻은 각 앵커의 확률값을 정렬하고, 높은 순으로 k개의 엥커만 추려낸다. 그리고 각각 앵커들에 bbox regression을 적용한다. 마지막으로 non-maximum-supperssion을 통해 rol을 구한다.
  • Loss function
    • RPN을 학습 시키기 위한 loss Untitled
      • i는 하나의 앵커, 그리고 pi는 classification을 통해 얻은 해당 앵커가 물체일 확률값 입니다.
      • ti는 bbox regression을 통해 얻은 박스 조정 벡터값을 의미한다. pi와 ti는 ground truth 라벨에 해당한다.
      • classification은 log loss를 통해서 계산된다.
      • regression loss의 경우에는 smoothL1 함수를 사용한다. → Fast R-CNN에서 소개했었다. Untitled
      • 이를 제외한 나머지는 Fast R-CNN을 학습시킨 loss 평선이 동일하게 적용된다.
  • Fast R-CNN 훈련 방법
    • 저자들은 4단계에 걸쳐서 모델을 훈련시키는 Alternating Training 기법을 취합니다.
      • Pretrained된 AlexNet을 불러와서 RPN을 학습시킨다.
      • 학습된 RPN에서 기본 CNN을 제외한 Region Proposal layer를 가져와서 Fast R-CNN을 학습시킨다. (처음 feature map을 추출하는 CNN까지 fine-tune 시킨다.)
      • 학습시킨 Fast R-CNN과 RPN을 불러온 다음, 다른 가중치들은 고정시키기고 RPN에 해당하는 layer들만 fine tune시킨다. 여기서부터 Fast R-CNN과 R-CNN의 convolution 가중치를 공유한다.
      • 마지막으로 공유하는 CNN과 RPN은 고정하고, Fast R-CNN에 해당하는 layer만 fine-tune시킨다.
profile
하얀 도화지 김태영입니다.
post-custom-banner

0개의 댓글