본문 바로가기

IT 로그

Computer vision - Object Detection (객체탐지)

728x90
반응형

 

Computer Vision 이란 ?  

시각적 세계를 이해하고 컴퓨터를 학습시키는 인공지능 분야 

컴퓨터가 카메라와 동영상에서 디지털 이미지와 딥러닝 모델을 사용하여 객체를 정확하게 식별하고 분류하는 학습을 마치면 '관찰' 대상에 반응할 수 있다. 

Computer Vision 연구 분야 

1) 영상의 화질 개선  

2) 객체 탐지(Object Detection)  : 영상처리와 컴퓨터 비전 분양에서 기본적이면서 많이 활용되는 기술 중 하나 

3) 영상 분할(Image Segmentation) 

4) 인식(Recognition) 

5) 머신 비전 

6) 인공지능 서비스

7) 분류 (Classification) 

Classification : Single object에 대해서 object의 클래스를 분류

Object Detection : Multiple objects 에서 각각의 object에 대해서 Classificaion + Localization을 수행한 것 

Instace Segmentation : Object Detection 과 유사하지만 다른 점은 object 위치를 bounding box 가 아닌 실제 위치로 찾음 

객체탐지 Object Detection 

[검출 알고리즘] 

주요 객체를 탐지하고 해당 객체를 중심으로 경계박스(Bounding Box) 를 표시하여 구분

[활용분야]

1) 차량 감지/ 추적 (Vehicle Detection)

2) 감지 시스템 (Surveillance) 

3) 얼굴인식 (Face Detection)

4) 이미지 분류 (Image Classification) 

 

[개념]

* 2 stage dector 

>> R-CNN, FAST- RCNN, Faster R-CNN 

1. Selective search, Region proposal network와 같은 알고리즘 및 네트워크를 통해 object 가 있을만한 영역을 우선 뽑아낸다. 이 영역을 ROI(Region of Interst)라고 한다.

  •  Selective Search  : 비슷한 질감, 색, 강도를 갖는 인접 픽셀로 구성된 다양한 크기의 window 생성 알고리즘
  •  Region proposal  : '물체가 있을만한' 영역을 빠르게 찾아내는 알고리즘 (localizaion 문제) 

2. 각 ROI 를 convolution network를 통해 classification, box regression(localizaion) 을 수행한다. 

* 1 stage dector : YOLO, SSD 

2-stage detector 와 반대로 regional proposal과 classificaion이 동시에 이뤄짐

즉, classificaion 과 localizaion 문제를 동시에 해결하는 방법 

 

>> 1-stage detector 는 비교적 빠르지만 정확도가 낮고 2- stage detector는 비교적 느리지만 정확도가 높다 

>> 1-stage detector가 fps 높고 map는 낮다 

 

Object Detection을 공부하기 위해서는 CNN을 먼저 알고 있어야 한다   

CNN 개념 

  • Convolutional Neural Network 의 약자 
  • 이미지 데이터를 분류 하는데 가장 크게 일조한 모델
  • 현재 Deel Learning Framework 는 CNN 구현시 Convolution이 아닌 Cross- Correlation (합성곱) 사용 

CNN 특성

  • DNN에 비해 파라미터 개수 현저히 적음,  Overfitting issue 적음
  • 필터함수 여러개 사용 가능 > 여러개 필터 사용은 여러개의 특징 추출과 동일한 의미 
  • Weight Sharing : 필터의 Weight 값을 고정시킨 필터함수를 이동 (Shift) 시켜 이미지의 지역적인 특성을 추출한다. 그런데 shift 하면서 겹쳐지는 부분이 발생하기도 하는데 이 때 필터값을 공유하는 특성
  • Pooling(SubSampling)일종의 DownSampling, 필터함수로 추출한 특징 값들 중 일정한 기준 (max, average 등)으로 대표값 추출 

Faster R-CNN

  • 기존 Fast R-CNN 은 Selective search 알고리즘을 통해 region proposals 추출하기 때문에 학습 및 detection 속도 향상에 한계
  • 속도와 모델의 완성도 측면에서 발전된 Faster R-CNN  
  • RPN 과 FAST R-CNN이 합쳐진 모델 
  • RPN : Region Proposal Network 의미, region proposals를 보다 정교하게 추출하기 위해 다양한 크기와 가로세로비를 가지는 bounding box 인 Anchor box 도입  > region proposals 추출 
  • 위에서 추출한 region proposals를 Fast R-CNN 네트워크에 전달해 객체의 class와 위치 예측
  • 모델 전체 과정이 GPU 상에서 동작해 병목 현상 발생 X , end-to-end로 네트워크 학습 가능 

1) 원본이미지를 이미 학습된 CNN 모델에 입력하여 feature map을 결과값으로 얻는다

2) feature map은 RPN 에 전달되어 region proposals를 산출한다 

3) region proposals 와 1) 과정에서 얻은 feature map을 통해 ROI Pooling을 수행하여 고정된 크기의 feature map을 얻는다. 

4) Fast R-CNN 모델에서 고정된 크기의 feature map을 입력하여 Classification과 Bounding box regression을 수행한다 

* ROI(Region of Interset) 

RPN(Region Proposal Network)

RPN 은 region propsals를 추출하는 네트워크를 말함 

RPN은 region propsals에 대해 class score를 매기고 bounding box coefficient 출력하는 기능을 한다 

 

 

*Reference

https://www.sas.com/ko_kr/insights/analytics/computer-vision.html

https://github.com/sunkyoo/opencv4cvml/tree/master/python

 

GitHub - sunkyoo/opencv4cvml: "OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝" (길벗, 2019) 책 소스 코드입니

"OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝" (길벗, 2019) 책 소스 코드입니다. - GitHub - sunkyoo/opencv4cvml: "OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝" (길벗, 2019) 책 소스 코드입니다.

github.com

https://herbwood.tistory.com/10

 

Faster R-CNN 논문(Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks) 리뷰

이번 포스팅에서는 Faster R-CNN 논문(Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks)을 읽고 정리해봤습니다. 기존 Fast R-CNN 모델은 여전히 Selective search 알고리즘을..

herbwood.tistory.com

https://ganghee-lee.tistory.com/34

 

1-Stage detector와 2-Stage detector란?

직선을 기준으로 위가 2-Stage Detector들이고 아래가 1-Stage Detector들이다. Regional Proposal과 Classification이 순차적으로 이루어진다. Regional Proposal 이란? 기존에는 이미지에서 object detection을..

ganghee-lee.tistory.com

 

반응형

'IT 로그' 카테고리의 다른 글

ORACLE JOB 깔짝이기  (0) 2021.12.03
Kaggle Datast Google Colab으로 불러오기 (우당탕탕)  (1) 2021.12.02
해쉬 함수 HASH FUNCTION  (0) 2021.11.15
기계학습 분류모형  (0) 2021.11.11
21.11.10 AI 공부 로그  (0) 2021.11.10