본문 바로가기
Visual Intelligence/Object Detection

[Object Detection] YOLOv8 커스텀 데이터 학습

by goatlab 2023. 6. 15.
728x90
반응형
SMALL

Detection Models

 

YOLOv8는 YOLO 실시간 물체 감지 시리즈의 최신 버전으로 정확도와 속도 측면에서 최첨단 성능을 제공한다. 이전 YOLO 버전의 발전을 기반으로 구축된 YOLOv8은 다양한 어플리케이션에서 다양한 객체 감지 작업에 이상적인 선택이 되도록 새로운 기능과 최적화를 도입했다.

 

Model size (pixels) mAPval
50-95
Speed
CPU ONNX
(ms)
Speed
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

 

주요 특징

 

  • 고급 백본 및 넥 아키텍처 : YOLOv8은 최신 백본 및 넥 아키텍처를 사용하여 기능 추출 및 개체 감지 성능을 향상시킨다.
  • 앵커 없는 분할 Ultralytics 헤드 : YOLOv8은 앵커 없는 분할 Ultralytics 헤드를 채택하여 앵커 기반 접근 방식에 비해 더 나은 정확도와 더 효율적인 탐지 프로세스에 기여한다.
  • 최적화된 정확도-속도 절충 : 정확도와 속도 사이의 최적 균형 유지에 중점을 둔 YOLOv8은 다양한 응용 분야에서 실시간 객체 감지 작업에 적합하다.
  • 다양한 사전 훈련된 모델 : YOLOv8은 다양한 작업 및 성능 요구 사항을 충족하기 위해 다양한 사전 훈련된 모델을 제공하므로 특정 사용 사례에 적합한 모델을 쉽게 찾을 수 있다.

 

yaml

 

YOLOv5와 마찬가지로 images와 labels의 데이터 셋을 필요로 한다.

 

path: .../data
train: train/images
val: train/images

nc: 2
names:
  0: False
  1: True

 

모델 학습

 

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.yaml")  # build a new model from scratch

# Use the model
results = model.train(data="custom.yaml", epochs = 1)  # train the model

 

모델 예측

 

from ultralytics import YOLO

# Load a model
model = YOLO('runs/detect/train/weights/best.pt')  # load a custom model

# Predict with the model
results = model('test/')  # predict on an image

 

https://docs.ultralytics.com/models/yolov8/#usage

 

YOLOv8

Learn about YOLOv8's pre-trained weights supporting detection, instance segmentation, pose, and classification tasks. Get performance details.

docs.ultralytics.com

 

728x90
반응형
LIST