내가 만들려고 하는 작품에 대해 YOLO란 무엇인가에 대해 다시 좀더 공부를 해보려고 한다. 들어가기전 개념을 알고가자.
Two-Stage Detector은 객체를 검출하는 정확도 측면에서는 좋은 성능을 냈지만, 예측 속도가 느려 실시간 탐지에는 제한됐습니다. 이러한 속도 문제를 해결하기 위해 Classification과 Region Propsal을 동시에 하는 One-Stage Detector가 제안
모델의 종류
YOLO는 아래와 같은 특징들이 있다.
이해하자

그 후 각 그리드 영역에 대해서 어디에 사물이 존재하는지 바운딩박스와 박스에 대한 신뢰도 점수를 예측합니다. 신뢰도가 높을수록 굵게 박스를 그려 준다. 이와 동시에 (2)에서와 같이 어떤 사물인지에 대한 classification작업이 동시에 진행된다.
그러면 굵은 박스들만 남기고 얇은 것들 즉, 사물이 있을 확률이 낮은 것들은 지워 준다.
최종 경계박스들을 NMS(Non- Maximum Suppression) 알고리즘을 이용해 선별하면 (4) 이미지처럼 3개만 남게 됩니다.
더 깊게 알고 싶다면 참고 사이트를 확인해보자
https://docs.google.com/presentation/d/1aeRvtKG21KHdD5lg6Hgyhx5rPq_ZOsGjG5rJ1HP7BbA/pub?start=false&loop=false&delayms=3000&slide=id.g137784ab86_4_484
논문 링크 : https://arxiv.org/abs/1506.02640
나는 YOLOV5버전을 사용해본적이 있기에 깃허브 주소를 남긴다.
참고 : Github

YOLOv8은 YOLOv5의 후속 모델로, 여러 가지 개선사항을 포함하고 있다.
다른 모델과의 비교:
YOLOv8은 최신 객체 검출 모델들과 비교했을 때 장점
속도와 정확도의 균형: 실시간 처리가 가능한 빠른 속도를 유지하면서도 높은 정확도를 제공한다.
유연성: 다양한 크기의 모델(nano, small, medium, large, xlarge)을 제공하여 다양한 환경에 적용 가능하다.
다기능성: 객체 검출, 인스턴스 세그멘테이션, 이미지 분류 등 여러 작업을 하나의 모델로 수행할 수 있다.
사용 편의성: Ultralytics 프레임워크를 통해 쉽게 사용하고 fine-tuning할 수 있다.
YOLOv8x: 53.9 mAP, 26.2 ms (Tesla V100 GPU)
YOLOv5x: 50.7 mAP, 23.0 ms (Tesla V100 GPU)
Faster R-CNN: 37.0 mAP, 65.0 ms (Tesla V100 GPU)
RetinaNet: 40.0 mAP, 54.0 ms (Tesla V100 GPU)
YOLOv8은 YOLOv5에 비해 mAP(mean Average Precision)가 약 3.2 포인트 향상되었으며, 처리 시간도 비슷한 수준을 유지하고 있습니다. 그렇기에 나는 YOLOV8버전을 활용해서 공모전에 준비를 시작하게 되었다. 다시 문서를 읽어보고 적합한 모델을 골라 좋은 경험을 챙겨가면 좋겠다.
깃허브 : YOLOV8
참고 Document : https://docs.ultralytics.com/usage/cfg/