일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 머신러닝
- 라즈베리파이
- 서버
- Python
- IMAGE
- Android
- tracking
- 데이터
- Object Detection
- Deep Learning
- detection
- Machine Learning
- keras
- 디버그모드
- 고급C
- RapidCheck
- 정리
- sw
- php
- Video
- Linux
- Raspberry
- C언어
- 영상분석
- tensorflow
- 가상환경
- FLASK
- 지능형
- MySQL
- 안드로이드
- Today
- Total
건프의 소소한 개발이야기
[RapidCheck] 지능형 영상 분석 솔루션 - Detection #2 알고리즘 비교 본문
안녕하세요, 건프입니다.
지능형 영상 분석 솔루션 RapidCheck 의 기술문서를 정리한 것입니다.
Deep Learning 으로 이미지 객체인지(Object Detection on a Single Image) 를 하기로 마음먹었을 때, 이를 위한 기존 이론이 무엇이 있는지를 알 필요가 있습니다.
저는 Object Detection 계의 양대산맥인 R-CNN 계열과 YOLO 계열을 비교하였습니다.
자세한 내용은 아래에서 확인할 수 있습니다.
Deep Algorithm Comparsion
RapidCheck tech documents about Detection Engine powered by Junsu Lee (ljs93kr@gmail.com)
R-CNN vs YOLO
Deep Learning 기반 Object Detection 기법에는 크게 두 가지 부류로 나뉜다. RapidCheck는 이 두 가지 알고리즘의 특징을 분석하고, 프로젝트 목적에 적합한 방법론을 채택하였다.
먼저, R-CNN 계열이다. “Region Based CNN” 의 약자로 기본적으로 지도학습(Supervised Learning) 중 분류(Classification) 모델을 기초로 한다.
R-CNN 계열의 Object Detection 원리
R-CNN은 “예상범위추출(Region Proposals Network)”을 통해서 계산할 RoI를 뽑아내는 단계 다음에, 해당 위치가 어떤 클래스인지를 구분하는 “분류 단계”로 객체를 구해내는 원리이다. 즉, R-CNN은 두 단계의 계산을 진행하고, Fast R-CNN 계열이 아닌 R-CNN 의 경우, 시간복잡도 뿐만 아니라 공간복잡도까지 급격하게 증가한다. 공개되어 있는 객관적인 Evaluation을 확인해보면, 정확도는 보다 높게 측정되었더라도, 분석 시간적 측면에서는 단점을 가지고 있다. RapidCheck의 사용자 시나리오를 고려해보았을 때, “원하는 대상을 빠르게” 찾는 부분에서 충분한 이슈가 생길 것으로 판단하였다. 게다가, RapidCheck가 동작하는 환경인 Windows에서 R-CNN의 근간 프레임워크인 Caffe의 복잡한 종속성(Dependency) 역시 실험결과 배제의 대상이 되었다.
YOLO 계열은 “You Only Look Once” 의 약자로, 말그대로 한번의 계산으로 “위치와 종류”를 얻어내는 알고리즘이다. Deep Learning 방법 중 Image 분야에서 회귀(Regression) 모델로 접근했다는 특징이 있다.
YOLO 의 전처리 원리
이미지를 전체 Grid Cell 로 분할하여, 객체의 존재여부를 예측하고, 동시에 객체의 종류(Class)를 예측한다. 즉, 한번의 계산(One-Shot Detecting) 으로 위치와 종류를 구분할 수 있다. 이를 위해서 손실함수(Loss function)을 구성하는데 가공할만한 난이도가 존재하지만, RapidCheck는 구현을 시도, 성공하였으며, 기존 YOLO network 의 성능상의 이슈를 향상시킨 RCNet을 마침내 구현할 수 있었다. 현재 RapidCheck Detection Engine 은 RCNet 으로 이루어져 있다.
'프로젝트 이야기' 카테고리의 다른 글
[RapidCheck] 지능형 영상 분석 솔루션 - Detection #4 모델의 구조 (0) | 2017.07.09 |
---|---|
[RapidCheck] 지능형 영상 분석 솔루션 - Detection #3 Data Processing (0) | 2017.07.09 |
[RapidCheck] 지능형 영상 분석 솔루션 - Detection #1 Introduction (0) | 2017.07.09 |
[RapidCheck] 지능형 영상 분석 솔루션 - Detection & Tracking Summary (0) | 2017.07.09 |
[Github - Slack] 완벽하게 연동하기 (0) | 2016.06.30 |