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 |