본문 바로가기

AI시작

사물인식을 원한다면 YOLO 는 기본

YOLO는 실시간 Object Detection 네트워크입니다.

You only look once (YOLO) !!!!

 

YOLO v3 의 경우 Pascal Titan X 환경에서라면 무려 30 FPS 도 나오는데 mAP 가 COCO 데이터셋에서 57.9% 씩이나 나온다 !!! 라고 YOLO 를 개발한 다크넷 개발자께서말하셨답니다.

 

사람이 매고 있는 백팩을 구분하다니 !!!

폭풍 간지가 흐르는 다크넷 웹사이트에 방문해보세요. https://pjreddie.com/darknet/yolo/

(그 폭풍간지 다크넷 개발자님의 이름은 의외로 얌전한 이름 Joseph Redmon 이시라고 합니다.)

 

다른 사물인지 네트워크랑 비교 자료를 보면 이 다크넷 개발자님이 얼마나 자신이 넘치는지 알수 있습니다.

 

mAP 그림 좀 보세요

비교 테이블이 참으로 상세합니다.

옛날 옛적 object detection 시스템은 분류기를 사용하여 검출을 수행하고요. 다양한 위치 및 배율의 이미지에 모델을 적용합니다. 그래서 높은 점수값이 나오면 그것을 디텍션이 되었다고 했더랍니다.

 

그런데 2013년에 그게 뒤집어 졌죠.

전체 이미지에 단일 신경망을 적용해버렸고 그래서 이미지를 그리드 처럼 영역을 나누고 각 영역에서  바운딩 상자 후보를 정한 후 그 바운딩 박스 안의 이미지에 대해 무엇인지 확률을 예측합니다. 이것을 Fast RCNN 라고 합니다.

 

그리고 아직도 정밀도는 넘사벽이라고 추앙받는 Faster RCNN 에서는 각 영역에서 Anchor Box 라는 개념으로 바운딩 상자 후보를 정하는 Region Proposal Network 를 만들어서 Fast RCNN 으로 바운딩 박스 후보를 넘기도록 했어요. 그래서 처리 속도를 합리적으로 높혀버렸습니다. 하지만 이것이 카메라에 적용되어 실시간 처리를 하는 것은 꿈도 꾸지 못했었구요.

 

이 다크넷 개발자님의 YOLO 는 그 실시간 처리를 이룩하신 거죠. 드디어 카메라 영상으로 Object Detection 이 가능해졌어요. 실로 역사적으로 기념비적인 네트워크가 아닐 수 없습니다.

 

사용법은 다크넷 사이트에 친절히 나와 있으니 찬찬히 둘러보도록 하겠습니다.

 

Yolo V3의 특징 (11월 6일 추가)

Bounding Box Prediction - 그리드 당 5개 바운딩박스

Class Prediction - IOU 가 높은거 1개만

Predictions Accross Scales - 3개의 feature map

Feature Extractor - Darknet-53 으로 변경

Training - multi-scale training

 

 

 

 

'AI시작' 카테고리의 다른 글

5-3 GoogLeNet (Inception v1)  (0) 2019.12.10
3-2 CNN 용어들 (Kernel, Stride, Pooling..)  (0) 2019.12.10
6-3 Global Average Pooling  (0) 2019.09.05
6-6 Non Maximum Suppression  (0) 2019.09.05
6-5 인식모델 평가지표(IOU 등)  (0) 2019.09.05