투빅스 11기&12기 8주차 CNN심화(3) - 12기 배유나

by 배유나 posted Sep 24, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print

Object Detection

 

Object Detection이란 여러 물체에 대해 어떤 물체인지 분류하는 classification문제와 그 물체가 어디 있는지 네모 박스를 통해 위치 정보를 나타내는 localization문제를 둘 다 해내야 하는 분야

, Object Detection = 여러가지 물체에 대한 Classification + 물체의 위치정보를 파악하는 Localization

1.png

1-Stage Detector VS 2-stage Detector


2.png

2-stage-Detetor (R-CNN) : Regional ProposalClassification이 순차적으로 이루어짐

-Regional Proposal : sliding window방식으로 임지를 모두 탐색하며 분류하는 방식은 연산시간의 비효율이 있다. 이를 개선하기 위해, 모든 영역이 아니라 물체가 있을 법합영역을 빠른 속도로 찾아내는 알고리즘. Regional proposal을 활용하면, sliding window방식에 비해 search space가 확연하게 줄어들기 때문에 훨씬 빠른 속도로 object detection을 수행 할 수 있게 된다.

3.png

1-stage-Detector : Regional ProposalClassification이 동시에 이루어짐.

4.png

*요약*

1stage Detector localizationclassification 문제를 동시에 행하는 방법이고,

2stage Detector는 이 두 문제를 순차적으로 행하는 방법이다.

따라서, 1stage는 비교적 빠르지만 정확도가 낮고, 2stage는 비교적으로 느리지만 정확도가 높다.

 

2stageCNN을 처음으로 적용시킨 R-CNN부터 이 외 R-CNN등의 R-CNN계열이 대표적이다.

1stage에는 YOLO계열과 SSD계열 등이 포함된다.

 

R-CNN?

Image classification을 수행하는 CNN과 이미지에서 물체가 존재할 영역을 제안해주는 region proposal알고리즘을 연결하여 높은 성능의 object detection을 수행할 수 있음을 제시해 줌.

(과정) 1. 이미지를 입력으로 받음.

2. 이미지로부터 약 2000개 가량의 region proposal을 추출함 (selective search)

3.region proposal 영역을 이미지로부터 잘라내고 동일한 크기로 만든 후 CNN을 활용해 피쳐추출

4. region proposal feature에 대한 classification수행

(단점) 충분히 높은 성능을 낼 수 있지만, localization 성능이 취약함

  • Why? CNN이 어느정도 positional invariance한 특성을 지니고 있기 때문. , region proposal 내에서 물체가 중앙이 아닌 다른 곳에 위치하고 있어도 CNN이 높은 classification score를 예측하기 때문에 물체의 정확한 위치를 잡아내기 부족하다.

  • 이러한 취약점을 해결하기 위해, 위치를 보정해 줄 수 있는 bounding-box regression을 논문에서 제안하고 있다. bounding-box regression?: region proposal P와 정답 위치G가 존재할 때, PG mapping할 수 있는 변환을 학습하는 것이다

    5.png

    FAST R-CNN

    6.png

R-CNN 단점 중 하나인 속도를 개선한 것

7.png

R-CNN에서 어떤 region이 주어졌을 때, 우리가 필요한 건 classification 수행에 필요한 feature를 뽑아내는 것이다. 만약 하나의 이미지에 2,000개의 region이 존재한다고 했을 때, R-CNN은 각각의 region 마다 이미지를 cropping 한 뒤 CNN 연산을 수행하여 2,000번의 CNN 연산을 진행하므로 비효율적이다. 이러한 비효율성을 개선하기 위해, cropping 하는 과정을 image level이 아닌feature map level에서 수행하면 2,000번의 CNN 연산이 1번의 CNN 연산으로 줄어듦으로 연산량 측면에서 훨씬 이득을 볼 수 있다.

하지만, classification을 수행하기 위해서는 보통 feature 크기가 각 example마다 동일해야 한다. R-CNN에서는 다른 크기의 region들을 모두 동일하게 만들기 위해 warping을 통해 같은 크기의 이미지로 변환한 뒤 CNN 연산을 진행하였지만, warping은 사이즈를 줄이고 ratio를 변경하는 과정에서 정보의 손실이 일어나므로 좋은 방법이 아니다. 따라서 feature map의 다양한 크기의 region으로부터 정보의 손실 없이 일정한 길이의 feature를 추출해 낼 방법이 필요하다.

 8.png

다양한 크기의 입력으로부터 일정한 크기의 feature를 추출해 낼 수 있는 방법 중 Bag-of-words (BoW)라는 방법이 있다. 하지만  BoW는 이미지가 지닌 특징들의 위치 정보를 모두 잃어버린다

R-CNN vs Fast R-CNN

9.png

이전의 R-CNN RoI Pooling을 통해 개선된 Fast R-CNN의 가장 큰 차이점은 바로 속도다. 위 그림에서 볼 수 있듯이, 1장의 이미지에 대해 약 2000번의 CNN 연산이 필요했던 R-CNN과 달리, Fast R-CNN은 단 1번의 CNN 연산을 통해 모든 region에 대한 feature를 계산할 수 있다.

 

 

 


Articles

2 3 4 5 6 7 8 9 10 11

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5