Fast R-CNN 논문 및 정리

우수민·2021년 3월 23일
0

논문 기록

목록 보기
4/10

R-CNN & SPPnet의 한계

  • 합성곱 신경망의 입력을 위한 고정된 크기를 위해 warping / crop(이미지 크기 조절)을 사용하므로 정보 손실 발생
  • 학습 시간이 길며(2천개의 영역) 공간을 많이 차지함
  • detection 속도가 느림

-> 이를 보완하기 위해 Fast R-cnn이 등장함


SPPNet 간단한 요약 :

https://velog.io/@suminwooo/SPPNet-%EB%85%BC%EB%AC%B8-%EB%B0%8F-%EC%A0%95%EB%A6%AC


논문 링크 : https://arxiv.org/pdf/1504.08083.pdf

Fast R-CNN 특징

  1. Higher detection quality (mAP) than R-CNN, SPPnet : 이전(R-CNN, SPPnet)보다 좋은 성능
  2. Training is single-stage, using a multi-task loss : single-stage로 진행되는 학습
  3. Training can update all network layers : 전체 네트워크 업데이트 가능
  4. No disk storage is required for feature caching : 저장 공간 필요X

Fast R-CNN 과정

1. 이미지를 통해 conv feature map을 생성(SPPnet적용방식과 동일)


(Conv Feature Map : Convolution Layer의 입력 데이터를 필터가 순회하며 합성곱을 통해서 만든 출력을 Feature Map 또는 Activation Map이라고 한다.)

*** 2. 각 object proposal로부터 RoI pooling layer(SPPnet과의 차이점의 차이점)을 통해 고정된 feature vector 생성

  • ROI 영역에 해당하는 부분만 max pooling을 통해 feature map으로부터 고정된 길이의 저차원 벡터로 축소
  • 각각의 ROI는 (r, c, h, w)의 튜플 형태 (r,c): top-left cornet의 좌표
  • hw ROI 사이즈를 HW의 작은 윈도우 사이즈로 나눔 -> h/H * w/W
  • SPPnet의 spp layer의 한 pyramid level만을 사용하는 형태와 동일


3. FCN을 통해 object class를 판별/bounding box를 조절

4-1. 하나의 브랜치는 softmax를 통과하여 해당 RoI가 어떤 물체인지 classification을 실시함(더 이상 SVM은 사용되지 않음)

4-2. bouding box regression을 통해서 selective search로 찾은 박스의 위치를 조정


Multi Task Loss

  1. classfication Loss에는 Log Loss를 사용

    - p : softmax를 통해서 얻어낸 K+1 (K개의 object + 1개의 배경, 아무 물체도 아님을 나타내는 클래스)개의 확률 값
    - u : 해당 RoI의 ground truth 라벨 값

  2. Bbox Regression Loss에는 Smooth L1 Loss를 사용함


참고 링크 :
1. https://www.youtube.com/watch?v=Jo32zrxr6l8
2. https://nuggy875.tistory.com/33

3. https://yeomko.tistory.com/15

profile
데이터 분석하고 있습니다

0개의 댓글