본문 바로가기
개발Study/사물인식

Object Detection - YOLO & R-CNN

by happy90 2021. 11. 9.
SMALL

Object Detection = 여러가지 물체들을 분류하는 Classification + 물체의 위치정보를 파악하는 Localization

물체디텍팅 전처리 과정이 있다.
1. 그레이스케일
2. 흑백 이진화

전처리 후 특징점검출을 진행한다. 특징점검출 해당 알고리즘:
Canny edge detector: 엣지검출.
해리스코너 검출기: 모서리검출
Haar like feature: 명암으로 패턴 구분
HOG(Histogram of Oriented Gradient): 
 대상영역을 일정한 셀로 나눈 후 각 셀 별 edge를 구하여 히스토그램을 그려 연결하는 방식. 방향을 구함.
SIFT(Scale Invariant Feature Transform): 
 영상에서 특징들을 추출한 후 특징벡터를 추출.

특징검출 후 분류(Classifier)를 함

객체인식에서 주로 R-CNN과 YOLO의 성능을 많이 비교하는듯 하다.

그 이유는 속도와 정확도의 차이 때문.

  1 stage detector 2 stage detector
디텍팅 동작 Classification과 Localization를
동시에 진행
Classification과 Localization를
순차적으로 진행
특징 빠르지만 정확도가 낮다 느리지만 정확도가 높다
대표적인 알고리즘 YOLO R-CNN

 

R-CNN

컨볼루션 신경망 알고리즘(Convolution Neuron Network Algorithm)들 중 object detecting에 적용된 알고리즘이다.
해당 알고리즘은 세가지 모듈로 나뉘어있다.

1. Region Proposal(영역제안)
 selective search를 통해 2000개의 영역만을 추출함.
 selective search:
  1) 초기 하위 세분화를 생성하고 많은 후보 영역을 생성한다.
  2) 재귀적으로 유사한 영역을 더 큰 영역으로 합친다. (greedy 알고리즘을 사용)
  3) 생성된 영역들을 최종 후보영역제안에 사용한다.

2. CNN
 위에서 생성된 2000개의 후보영역제안들은 사각형영역으로 warp되고, 이들을 각각 CNN알고리즘에 넣는다. CNN을 통해 특징이 추출된다.

3. SVM(Support Vector Machine)
 추출된 특징은 SVM에 공급되어 해당후보영역 내 객체를 분류한다. SVM은 주어진 데이터가 어느 카테고리에 속할지 판단하는 이진선형분류모델이다.

R-CNN의 한계.
- 이미지 한개당 2000개의 영역제안을 해야하기 때문에 시간이 오래걸린다. 47초까지도 소요된다고 한다.
(시스템에 따라 다르겠지만 어쨌든 상당히 느려보인다)
- selective search algorithm은 고정된 알고리즘이므로 해당 단계에서 학습이 이루어지지 않는다.

Fast R-CNN

R-CNN에서 시간적인 단점을 보완한 모델로, 이미지 한개당 디텍팅에 2.3초가 소요된다.

이도 selective search 를 사용한다.
이를 제거하고 영역제안을 학습하도록 하는 알고리즘을 고안한 것이 Faster R-CNN이다.

 

정리하다말았음.

참고:

https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e

 

 

LIST

'개발Study > 사물인식' 카테고리의 다른 글

yolo v3 트레이닝 - 환경구성  (0) 2021.11.17

댓글