YOLO (You Only Look Once)
YOLO는 You Only Look Once 약어로써, 2015년 Joseph Redmon이 워싱턴 대학교에서 친구들과 함께 YOLO 아키텍처와 논문을 발표했다. 당시만 해도 two-shot-detection 방식인 Faster R-CNN (Region with CNN)가 가장 좋은 성능을 냈지만 실시간성이 굉장히 부족했다 (7 FPS 최대). 이때, one-shot-detection 방식으로 동작하는 YOLO가 등장하여 평균 45 FPS에서 실행되었으며 빠른 버전의 경우 최대 155 FPS을 기록했다.
YOLO 아키텍처
YOLO 아키텍처는 feature extractor로써 Google LeNet+ 5개의 new layer를 사용하며, Flatten layer를 거쳐서 최종 출력층에서는 7x7x30 텐서를 만들어내는 구조이다. 즉, YOLO 아키텍처는 기본적으로 yolov5s.pt와 같은 pre-trained model을 제공되며, 사용자 데이터 이용해서 Transfer Learning에서 fine-tuning하는 과정이다. YOLO는 입력 이미지에 대해서, Bounding Box와 classification 작업을 동시에 수행한다.
먼저, YOLO 아키텍처에서는 입력 이미지를 S x S grid로 나눈다.
이것으로 학습할 경우, 각각의 그리드 셀은 B개의 bounding box를 가지고 있으며, 각각의 그리드 셀 (grid cell)은 B개의 bounding box와 그 bounding box에 대한 confidence score를 가진다. 즉, 각각의 bounding box는 (x, y, w, h, confidence score) 같은 5개의 값으로 구성된다.
(x, y) | bounding box의 중심점 |
(w, h) | 해당 셀에서 bounding box가 차지하는 width, height |
confidence score | 해당 그리드 셀에 물체가 존재할 확률 |
Ground-truth
딥러닝에서 Ground-truth는 학습 데이터의 실제 값을 표현할 때 사용되는 개념이다. 즉, 학습 데이터에서 주어지는 정답(label)으로 생각해도 무방하다.
IoU (Intersection over Union)
IoU는 딥러닝 모델이 얼마나 예측을 잘 했는지를 알기 위해 사용한다.
'Visual Intelligence > Object Detection' 카테고리의 다른 글
[Object Detection] CVAT (COMPUTER VISION ANNOTATION TOOL) (0) | 2023.06.04 |
---|---|
[Object Detection] YOLOv5 (0) | 2022.09.04 |
[Object Detection] YOLO Inference (0) | 2022.09.03 |
[Object Detection] labelimg (0) | 2022.09.03 |
Object Detection (객체 탐지) (0) | 2022.09.03 |