[object detection] Fast R-CNN & Faster R-CNN

SNAGJU LEE·2023년 1월 23일
0

Object detection

목록 보기
3/5

Fast R-CNN

<Fast R-CNN 진행 과정>

(1) selective search 방법으로 bounding box 생성

(2) 영역을 전혀 고려하지 않은체 CNN을 통해 feature map을 만든다.

(3) 이미지에서 얻은 bounding box를 feature map에 projection

(4) 고정된 크기의 벡터를 만들기 위해 ROI Pooling 거침

(5) fully connected layer에 넣어 softmax를 이용해 Classification과 bounding box regression을 진행

  • Fast RCNN은 기존 RCNN의 보틀넥인 2000개의 region을 각각 CNN에 넣어야 한다는 점은 개선시켜 이미지 한번만 CNN 모델에 넣음으로 속도 개선을 시켰지만, RCNN과 마찬가지로 CPU 기반의 selective search 방법으로 region을 추출하기 때문에 아직까지 속도가 느기게 동작한다는 보틀넥이 존재 하고 있습니다.

(ROI Pooling)

분류를 위해 fully connected layer를 이용해야 하기 때문에 fully connected layer의 입력으로 고정된 크기의 벡터를 만들기 위해 진행하는 과정입니다.

예를 들어 2by2 크기의 feature를 추출한다고 하면 -> feature map에 대해서 RoI를 투영하고 -> 다음과 같이 투영한 feature map의 RoI를 2by2로 최대한 같은 비율로 적절히 나누어 질 수 있도록 합니다. -> 이 후 각각의 영역마다 가장 큰값을 선택하여 고정된 크기의 벡터를 만들게 됩니다.

이것을 이용해 classification과 regression을 진행하게 됩니다.


Faster R-CNN

(Fast RCNN의 속도의 단점을 개선한 Faster R-CNN)

  • 기존 RCNN과 fast RCNN은 딥러닝과 무관한 다른 방법을 통해 bounding box를 뽑았기 때문에 이 부분에서 보틀넥이 있었지만, Faster RCNN 부터 딥러닝을 이용한 region proposal이 진행되게 됩니다.

Faster RCNN을 간단하게 살펴보면 기존 fate RCNN에 RPN을 더한 구조입니다.

(Region Proposal Network; RPN)

  • RPN은 feature map이 주어졌을 때 물체가 있을 법한 위치를 예측하는데 사용됩니다.

미리 정해져 있는 서로 다른 k개의 anchor box가 사용되고 sliding window 방식으로 각 위치에 대해 regression과 classification을 수행합니다. 논문에서는 3종횡비와 3개의 크기를 가지는 총 9개의 anchor box를 사용하고 있습니다.

여기서 regression은 boundin box의 중간점의 좌표 x, y 와 높이와 너비에 대한 예측을 수행하고 Classification은 물체의 존재 유무에 대한 분류를 수행합니다.

자세히 살펴보자면 입력으로 받은 feature map의 각 픽셀을 센터로 하는 k개의 anchor box를 만들고, 만들어진 anchor box 들을 성능지표를 바탕으로 객체가 존재할 것이라고 분류한 위치에 대해 bounding box를 만듭니다. 해당 논문에서는 IoU 값이 크거나, 0,7 이상인 것을 positive로 놓고, iou가 0.3 보다 낮은 것을 negative(background)로 설정해 bounding box를 만들어 갑니다.

추가적으로 anchor box의 크기와 어디의 위치하는 것이 좋은지를 regression 학습통해 얻어 내는 과정입니다.

이 후 한 객체당 여러 proposal 값이 나온 것을 NMS 알고리즘을 사용해 box들 중 confidence가 가장 높은 box 하나만 남기고 모두 지워줌으로써 최종적으로 ROI를 찾아 내게 됩니다.

이러한 RPN의 도입으로 RCNN과 Fast RCNN의 보틀넥을 개선함으로써 Faster R CNN은 전체 프레임워크를 end-to-end 방식으로 진행되고 이전 모델 보다 더 빠르고 강력한 결고를 얻을 수 있었습니다.

https://github.com/factorLee/Faster-RCNN_Tensorflow


#### paper _- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_
profile
배우는 것을 좋아하는 개발자 입니다.

0개의 댓글