# rcnn

[Object Detection] Architecture - 1 or 2 stage detector 차이
Object detection 아키텍처에는 1-stage detector과 2-stage detector가 있습니다. 본 글에서는 두 아키텍처 모델의 차이점에 대해 알아보려고 합니다. [출처: Zou et al. 2019. Object Detection in 20 Years: A Survey] 1-stage 방식에는 대표적으로 YOLO 시리즈와 Retina-Net, SSD, EfficientDet 등이 있으며, 2-stage 방식에는 RCNN 시리즈와 SPPNet 등이 있습니다. 2-Stage Detector 먼저 2-stage detector 입니다. 
시각지능 모델
📗 segmentation의 의미와 목적 Semantic Segmentation 의 정확한 의미와 목적을 알아보겠습니다. 컴퓨터 비젼의 가장 많이 다뤄지는 문제들은 아래와 같은 것들이 있습니다. Classification (분류): 인풋에 대해서 하나의 레이블을 예측하는 작업. AlexNet, ResNet, Xception 등의 모델 Localization/Detection (발견): 물체의 레이블을 예측하면서 그 물체가 어디에 있는지 정보를 제공. 물체가 있는 곳에 네모를 그리는 등 YOLO, R-CNN 등의 모델 Segmentation (분할): 모든 픽셀의 레이블을 예측 FCN, SegNet, DeepLab 등의 모델 Semantic Image Segmentation의 목적은

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, SPPNet
https://arxiv.org/abs/1406.4729 본 논문에서 사용한 selective search는 fast mode입니다. 0. RCNN에서의 warp >RCNN에서는 selective search algorithm을 통과한 후 warp(resize)를 거쳐서 CNN에 들어 가기전 227×227의 size로 고정해주어야 했습니다. >엄밀히 말하면 convolution은 같은 size의 image가 들어갈 필요는 없습니다. 대표적인 예로 segmenation model인 FCN에서 이를 확인할 수 있습니다. input image의 size에 따라 output feature map의 size는 달라 지지만 convolution의 parameter는 달라질 이유가 없습니다. 하지만 RCNN에서의 CNN architecture는 마지막에 classifier로 FC-layer를 사용하기 때문에 고정된 size의 vector를 만들려고 CNN 이전에 resize를 합니다

Rich feature hierarchies for accurate object detection and semantic segmentation, RCNN
https://arxiv.org/abs/1311.2524 RCNN은 Object detection 분야에서 convolution 구조를 이용한 model로 현재는 여러가지의 이유로 잘 쓰이지 않습니다. 하지만 object detection분야의 R-CNN계열의 논문들의 가장 기초가 되는 논문인 만큼 처음부터 공부하고자 합니다. 0. Overall architecture 전체 구조는 다음과 같습니다 크게 4가지로 분류하여 볼 수 있습니다. > #### 1. Using selective search algorithm, propose regions selective search라는 알고리즘을 이용하여 input image에서 물체가 있을법한 위치를 찾습니다. > #### 2. Computing CNN,

RCNN: Region Proposal 기반의 Object Detection 모델
🧐 Object Localization/Detection 개요 Object Localization/Detection 원본 이미지에서 특정 Object의 위치를 찾는 것 Image Classification + Bounding Box Regression Image Classification과 동일한 과정 원본 이미지 >> Feature Extrator >> Feature Map >> FC Layer >> Soft max Class scroe Bounding Box Regression Image Classification에 없는 과정 Bounding Box 좌표값 구하는 과정 Annotation = Ground Truth Localization과 Detection 차이 Localization 하나의 대상 Detection 여러 개의 대상 Object가 있
.png)
[Paper Review] R-CNN(Regions with CNN features)
Intro 오늘은 초기 Object Detection 발전에 가장 많은 영향을 미친 논문인 Ross Girshick의 Rich feature hierarchies for accurate object detection and semantic segmentation 즉, R-CNN에 대한 논문 리뷰를 간단히 하고자 한다. 우선 Obejct Detection이란 이미지가 무엇인지 판단하는 Classification과 이미지 내의 물체의 위치 정보를 찾는 Localization을 수행하는 것을 말한다. 이를 통해 영상 내의 객체가 사람인지 동물인지 물건인지 등을 구별하여 각 객체가 어디에 위치하는지 표시하는 것이 가능하다. Abstract 지난 몇 년 동안 PASCAL VOC 데이터셋에서 Object Detection의 가장 좋은 성능을 내는 것은 high-level context의 복잡한

RPN(Region Proposal Network) 정리
Object Detection에서 핵심역할을 하고 있는 부분은 RPN(Region Proposal Network)이다. RPN은 Faster R-CNN에서 활용되었는데, Faster R-CNN의 목표는 selective search 없이 RPN을 학습하는 구조로 모델을 만드는 것이다. RPN은 feature map을 input으로, RP를 output으로 하는 네트워크라고 할 수 있고, selective search의 역할을 온전히 대체한다. 요약하자면, 다양한 사이즈의 이미지를 입력 값으로 object score과 obeject proposal을 출력한다. Fast r-cnn과 합성공 신경망을 공유한다. feature map의 마지막 conv 층을 작은 네트워크가 sliding하여 저차원으로 매핑한다. Regression과 classification을 수행한다. RPN 구성 
Faster R-CNN 논문 및 정리
Fast R-CNN의 단점과 Faster R-CNN의 의의 Region Proposal에서 CNN으로 가는 길목에서 RoI 풀링을 통해 아주 많은 시간을 절약했지만, 여전히 Region Proposal을 생성해내는 것 자체는 많은 시간이 소요된다. -> Fster R-CNN에서 이를 합성곱 신경망을 활용해 CPU에서 GPU영역으로 전환시켰다. selective search를 수행하는 region proposal 부분이 외부에 존재하기 때문에 inference에서 bottleneck을 일으킨다. RPN(Region Proposal Network)은 end to end로 학습이 가능하며 obejct여부와 bounding box를 regress하는 하나의 FCN(fully connected network)이다. -> 쉽게 설명하면 RPN 자체를 학습해 버린다. 즉, Faster R-CNN의 목표는 selective search 없이 RPN을 학습하는 구조로 모
R-CNN 논문 및 정리
R-CNN이란? : CNN을 이용한 첫 알고리즘으로 R-CNN은 Regions with CNN features의 약자이다. R-CNN의 기본개념은 간단하게 아래의 예시처럼 이미지를 넣었을때 이미지 안에서 어떤 물체가 어디에 존재하는지 찾는 알고리즘이다. 전반적인 과정 Image Input : takes an input ima
R-CNN 계열 모델 정리
R-CNN이란 R-CNN에 들어가기 앞서 기존에 널리 알려진 GoogleNet, AlexNet 등은 이미지를 분류하기 위해서 만들어진 CNN 모델이라면 R-CNN계열의 모델과 많이 사용되는 Yolo 모델은 물체 검출을 위해서 사용되는 CNN 모델이다. 아래의 예시그림을 통해 R-CNN에서 물체를 검증한 결과를 확인할 수 있다. R-CNN계열의 모델로는 4가지 종류가 있다. R-CNN Fast R-CNN Faster R-CNN Mask R-CNN 1번에서 4번으로 갈수록 예측력은 비슷하지만, 훈련과 테스트에서 점차 속도가 빨라졌으며, 기존의 1~3번 모델이 객체 검출만 했다면 4번(Mask R-CNN)은 객체 검출과 더불어 instance segmentation을 적