21.10.31_딥러닝 : R-CNN 설명

우니·2021년 10월 31일
0

딥러닝

목록 보기
1/2


기다려 주는 까미

R-CNN이란?

Regions with Convolutional Neuron Networks features object Detection을 수행하는 신경망

1) 이미지 하나의 임의의 영역들로 잘게 잘라서 mergegkrhh warpipng한다

2) CNN의 input으로 통과, Feature Vecture를 추출

3) 적용된 label들을 이용해서, SVM 분류와 Bounding Box Regression을 수행합니다. (영역 위치까지 예측하는 모델)

설정한 Regiondmf CNN의 feature(입력값) 으로 활용합니다.

R-CNN은 두가지 task를 갖고 있습니다.
1) Region Proposal : 물체 위치 찾기
2) Region Classification : 물체 분류하기



R-CNN의 4가지 모듈

1) Region Proposal
: 이미지에 있는 데이터와 레이블을 투입한 후
카테고리와 무관하게 물체의 영역을 찾는 Region Proposal(제안)을 진행합니다.


2) (pre-trained) CNN :Proposal 된 영역으로 부터 고정된 크기의 feature Vector를 Warping Crop, CNN의 인풋으로 사용합니다.

3) SVM(서포트 벡터 머신) : CNN을 통해 나온 feature map을 활용해서 선형지도 학습모델인 SVM을 통한 분류를 진행합니다.

4) Bounding Box Regression : Regressor를 통한 바운딩 박스 리그레션을 진행합니다.

R-CNN의 단점

  1. 모델이 복잡합니다. 3가지 이상 사용되기 때문에.

  2. 시간이 오래 걸립니다. 사용되는 Seletive Search는 CPU를 사용하는 알고리즘 입니다.
    또 Selective Search에서 뽑은 2000개의 영역 이미지들을 모두 CNN 모델에 넣습니다.

    GPU에서 이미지 한 장 당 약 13초 걸립니다. 
    CPU로는 53초 걸립니다.

이 작업을 2000장 반복하게 되는데, 당연히 시간이 오래 걸릴 수 밖에 없습니다.

추가1 : Object Detection

Multiple Object에 대한 Multi-Labled Classification + Bounding Box Regression (Localizion)

Classification : 하나의 물체가 아닌 여러 물체에 대해 어떤 물체인지 클래스를 분류 (물체를 식별)

Localization : 그 물체가 어디있는지 바운딩 박스로 위치 정보를 나타냄
(물체의 위치 찾기)

1-stage Detector

  • classification & Localiztion을 동시에 진행합니다
  • 정확도가 낮고 2stage-Detection에 비해 비교적 빠릅니다
  • YOLO, Retina-Net, SqueezeNet 등이 있습니다

2-stage Detector

  • Classification & Localiztion을 순차적으로 진행합니다
  • 정확도가 높고, 1-stage Detection에 비해 비교적 느립니다
  • R-CNN, Faster R-CNN 등이 있습니다.

추가2 : Bounding Box Regression

region proposal을 통해 제안된 Bounding Box를 Ground Truth Bouding Box에 맞추도록 transform 하는 것이 목표입니다.

회색박스가 빨간 색 투명 박스 쪽으로 맞추는 것이 목표 입니다!

profile
데이터와 머신러닝을 배우는 일본사업 마케터입니다

0개의 댓글