본문 바로가기

Deep Learning/Yolo

[1] YOLO를 알아보자

YOLO: Real-Time Object Detection [실시간 물체 탐지 시스템]


1. YOLO가 하는 일

Deep Learning과 관련해서 대표적인 시스템으로 Detection, Classification, Segmentation이 있다. 한국어로는 어떻게 해석해야 할지 애매하지만, 각각의 뜻은 다음과 같이 해석할 수 있다.

Detection : 탐지, 검출

Classification : 분류

Segmentation : 추출


예를 들어 사진 속에 고양이가 3마리 있다고 가정해보자. 

Photo by Erik-Jan Leusink on Unsplash

(고양이를 너무 키우고 싶지만 상황이 따라주지 않아 슬프다)


Detection System으로는 사진 속에서 '고양이'가 3마리 있다는 점을 검출할 수 있다.

Classification System으로는 각각의 고양이들이 '러시안블루'인지, '샴고양이'인지, '노르웨이숲고양이'인지를 분류할 수 있다.

Segmentation System으로는 사진 속에서 '고양이' 형체만 추출할 수 있다.

현재 사람보다 더 우수한 기능을 하는 시스템은 Classification System이 있으며, 나머지 둘은 현재까지 사람의 능력을 따라오지 못한다고 한다.


YOLO는 위에서 설명한 3가지 중 Detection System이다. YOLO가 어떤 일을 하는지 동영상으로 살펴보자.



사람들은 머리 속으로 인지하는 것들을 동영상으로 구현한 모습이 마냥 신기하기만 하다. 


2. 'YOLO'라는 이름의 의미 속에서 옅보는 YOLO의 작동 방식

YOLO가 Detection System의 시작은 아니다. YOLO 이전에도 DPM, R-CNN, Fast R-CNN과 같은 Detection System은 존재했다.
물론 YOLO처럼 BOX 형태로 검출하는 점은 비슷하다. 하지만 작동 방식에서 차이가 난다.

기존의 Detection System은 검출을 하기 위해 하나의 이미지 내에서 여러 위치를 살펴보며, 살펴보는 영역의 크기도 다양하다. 그래서 어떤 물체를 검출하기 위해선 하나의 이미지를 여러번 호출해야 한다.

하지만 YOLO는 완전히 다른 접근법을 사용한다. 
하나의 신경망을 적용하여, 이미지를 일정한 영역으로 나누고, 각각의 영역에 가중치를 부여한다. 이미지를 여러번 호출해야 하는 기존의 Detection System과는 다르게, YOLO는 이미지를 한번만 호출한다. 

흔히 사람들이 생각하는 YOLO와는 다르게, YOLO는 You Only Look Once의 약자이다. 이름에 담긴 Look Once의 의미를 파악한다면, YOLO의 작동 방식을 이해하기는 큰 어려움이 없을 것이다. YOLO의 작동 방식에 대해 설명하는 동영상을 참고하자.

이러한 작동 방식 덕분에 YOLO는 기존의 System보다 더욱 빠르고 정확하다. 'Pascal Titan X'라는 환경에서 YOLO는 30FPS를 가지고 COCO test-dev에서 57.9%의 mAP를 가진다. Joseph Redmon의 강연을 통해 기존의 System과 비교해서 YOLO의 속도와 정확성을 확인해보자.


약 일년 뒤 비슷한 내용으로 TED에서 강연한 동영상도 보자.



문득, 이런 강연을 동영상으로 나마 볼 수 있다는 점이 감사하다.



* Pascal Titan X : GPU 환경 종류 중 하나

* FPS : Frame per Second, 초당 프레임. 동영상은 연속된 사진들의 모음으로 볼 때, 이 때 각각의 사진들을 프레임이라고 한다. FPS가 높을수록 동영상이 끊김없고 깔끔하게 보인다.
* COCO : Common Objects in Context의 약자. 주로 Detection, Segmentation을 test할 때 데이터로 사용된다.
* mAP : mean average precision의 약자. 논문에서 주로 나타나는 측정치이다. 알고리즘을 서로 비교할 때 많이 사용된다. 관련 영상을 참고하자.


References

YOLO Open Source 홈페이지 : https://pjreddie.com/darknet/yolo

YOLO 작동 방식 동영상 : https://youtu.be/L0tzmv--CGY

COCO dataset 홈페이지 : http://cocodataset.org

mAP 설명 동영상 : https://youtu.be/pM6DJ0ZZee0

'Deep Learning > Yolo' 카테고리의 다른 글

[3] YOLO 데이터 학습  (21) 2019.01.25
[2] YOLO 사용법  (4) 2019.01.23