Object Detection 국가대표 딥러닝 모델
YOLO(You Only Look Once)는 물체 검출(Object Detection)에 관심이 있는 분들이라면 한번쯤은 들어봤을 Object Detection의 국가대표 딥러닝 모델이라고 할 수 있습니다.
물체 검출(Object Detection)은 이미지 내에 존재하는 물체를 찾고, 이들을 구분하는 기술입니다.
이를 위해 이미지를 입력으로 받은 물체가 있는 영역의 위치를 Bounding Box로 표시하며, Bounding Box 내에 존재하는 물체를 레이블(Label)로 분류합니다. 즉, 이미지 내 물체의 위치와 물체의 종류를 함께 찾는 기술입니다.
이를 통해 이미지 인식, 로봇, 자율 주행 자동차, 인공지능 인터랙션 등 다양한 분야에서 사용될 수 있습니다. 예를 들어, 이미지 인식을 통해 사람, 물체, 차량 등을 인식하거나, 자율 주행 자동차에서 운전자가 앞에 보이는 길을 인식하는데 사용될 수 있습니다.
YOLO(You Only Look Once)[1] 모델은 말그대로 이미지를 한번만 보고 바로 물체를 검출하는 딥러닝 기술을 이용한 물체 검출 모델입니다. 2015년도에 Joseph Redmon이라는 연구자에 의해 제안되었습니다.[2]
YOLO 이전에 등장한 딥러닝 모델들은 이미지를 여러번에 걸쳐서 확인하며 동작하였기 때문에 상대적으로 한장의 이미지를 처리하는데 많은 시간이 소요되었습니다. 따라서 실시간 물체 검출이 필요한 경우에는 해당 모델들을 사용하기가 어려웠습니다.
하지만 YOLO 모델은 이미지를 한번만 보고 바로 Object Detection을 수행하기 때문에 이미지에 대해 빠른 속도로 Object Detection을 수행할 수 있다는 장점이 있습니다. 이는 동영상처럼 실시간으로 Object Detection을 수행해야하는 경우에 속도가 느린 다른 모델에 대비해서 엄청난 장점이 될 수 있습니다.
YOLO(You Only Look Once) 모델은 CNN(Convolutional Neural Networks) 딥러닝 모델을 기반으로 특징을 추출한뒤 이를 이용해서 물체의 종류와 위치를 예측합니다.
이때 처음 인풋 이미지가 들어오면 이를 7x7 격자무늬의 그리드 셀(Grid cell)로 나눈뒤 각 그리드 셀별로 2개의 Bouding Box를 예측하게 됩니다. 그럼 결과적으로 1장의 이미지에 대해 98개의 Bounding Box를 예측하게 되고, 마지막으로 NMS(Non-Maximum Suppression)이라는 과정을 통해서 최종적으로 확률값이 높은 예측결과만을 남기게됩니다.
YOLO(You Only Look Once) 모델은 PASCAL VOC 2007, 2012 데이터셋을 이용해서 학습을 진행하였습니다. 또한 트레이닝이 끝난 모델을 학습 과정에서 사용한 데이터셋과 다른 형상인 artwork 데이터셋에 대해 성능을 측정했을때도 좋은 성능을 보여주며 모델의 일반화(Generalization) 능력이 뛰어남을 입증하였습니다.
YOLO(You Only Look Once) 모델은 빠른 속도가 필요한 실시간 물체 검출(Object Detection)을 수행해야할 경우에 가장 먼저 사용을 고려해볼수 있는 대표적인 딥러닝 Object Detection 모델입니다.
[1] You Only Look Once: Unified, Real-Time Object Detection ( https://arxiv.org/pdf/1506.02640.pdf )