콘텐츠로 건너뛰기

Ultralytics YOLOv8

개요

YOLOv8 is the latest iteration in the YOLO series of real-time object detectors, offering cutting-edge performance in terms of accuracy and speed. Building upon the advancements of previous YOLO versions, YOLOv8 introduces new features and optimizations that make it an ideal choice for various object detection tasks in a wide range of applications.

Ultralytics YOLOv8



Watch: Ultralytics YOLOv8 모델 개요

주요 기능

  • Advanced Backbone and Neck Architectures: YOLOv8 employs state-of-the-art backbone and neck architectures, resulting in improved feature extraction and object detection performance.
  • 앵커 프리 스플릿 Ultralytics 헤드: YOLOv8 앵커 프리 스플릿 Ultralytics 헤드를 채택하여 앵커 기반 접근 방식에 비해 더 나은 정확도와 효율적인 탐지 프로세스에 기여합니다.
  • 최적화된 정확도-속도 트레이드오프: 정확도와 속도 간의 최적의 균형을 유지하는 데 중점을 둔 YOLOv8 은 다양한 애플리케이션 영역의 실시간 물체 감지 작업에 적합합니다.
  • 다양한 사전 학습 모델: YOLOv8 에서는 다양한 작업 및 성능 요구 사항을 충족하는 다양한 사전 학습 모델을 제공하므로 특정 사용 사례에 적합한 모델을 쉽게 찾을 수 있습니다.

지원되는 작업 및 모드

The YOLOv8 series offers a diverse range of models, each specialized for specific tasks in computer vision. These models are designed to cater to various requirements, from object detection to more complex tasks like instance segmentation, pose/keypoints detection, oriented object detection, and classification.

YOLOv8 시리즈의 각 변형은 각 작업에 최적화되어 있어 높은 성능과 정확성을 보장합니다. 또한 이러한 모델은 추론, 검증, 교육, 내보내기 등 다양한 운영 모드와 호환되므로 배포 및 개발의 여러 단계에서 쉽게 사용할 수 있습니다.

모델파일 이름작업추론유효성 검사교육내보내기
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt탐지
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt인스턴스 세분화
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt포즈/키포인트
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt방향 탐지
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt분류

This table provides an overview of the YOLOv8 model variants, highlighting their applicability in specific tasks and their compatibility with various operational modes such as Inference, Validation, Training, and Export. It showcases the versatility and robustness of the YOLOv8 series, making them suitable for a variety of applications in computer vision.

성능 지표

성능

사전 학습된 80개의 클래스를 포함하여 COCO에서 학습된 이러한 모델의 사용 예제는 탐지 문서를 참조하세요.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

600개의 사전 학습된 클래스가 포함된 Open Image V7에서 학습된 이러한 모델의 사용 예제는 탐지 문서를 참조하세요.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n64018.4142.41.213.510.5
YOLOv8s64027.7183.11.4011.429.7
YOLOv8m64033.6408.52.2626.280.6
YOLOv8l64034.9596.92.4344.1167.4
YOLOv8x64036.3860.63.5668.7260.6

세분화 문서에서 80개의 사전 훈련된 클래스를 포함하여 COCO에서 훈련된 이러한 모델의 사용 예시를 확인하세요.

모델크기
(픽셀)
mAPbox
50-95
mAPmask
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n-seg64036.730.596.11.213.412.6
YOLOv8s-seg64044.636.8155.71.4711.842.6
YOLOv8m-seg64049.940.8317.02.1827.3110.2
YOLOv8l-seg64052.342.6572.42.7946.0220.5
YOLOv8x-seg64053.443.4712.14.0271.8344.1

1000개의 사전 학습된 클래스가 포함된 ImageNet에서 학습된 이러한 모델의 사용 예는 분류 문서를 참조하세요.

모델크기
(픽셀)
acc
top1
ACC
TOP5
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B) at 640
YOLOv8n-cls22469.088.312.90.312.74.3
YOLOv8s-cls22473.891.723.40.356.413.5
YOLOv8m-cls22476.893.585.40.6217.042.7
YOLOv8l-cls22476.893.5163.00.8737.599.7
YOLOv8x-cls22479.094.6232.01.0157.4154.8

사전 학습된 클래스인 '사람' 1개를 포함하여 COCO에서 학습된 이러한 모델의 사용 예는 포즈 추정 문서를 참조하세요.

모델크기
(픽셀)
mAPpose
50-95
mAPpose
50
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n-pose64050.480.1131.81.183.39.2
YOLOv8s-pose64060.086.2233.21.4211.630.2
YOLOv8m-pose64065.088.8456.32.0026.481.0
YOLOv8l-pose64067.690.0784.52.5944.4168.6
YOLOv8x-pose64069.290.21607.13.7369.4263.2
YOLOv8x-pose-p6128071.691.24088.710.0499.11066.4

사전 학습된 15개의 클래스가 포함된 DOTAv1에서 학습된 이러한 모델의 사용 예제는 지향 탐지 문서를 참조하세요.

모델크기
(픽셀)
mAPtest
50
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n-obb102478.0204.773.573.123.3
YOLOv8s-obb102479.5424.884.0711.476.3
YOLOv8m-obb102480.5763.487.6126.4208.6
YOLOv8l-obb102480.71278.4211.8344.5433.8
YOLOv8x-obb102481.361759.1013.2369.5676.7

사용 예

이 예는 간단한 YOLOv8 학습 및 추론 예제를 제공합니다. 이러한 모드 및 기타 모드에 대한 전체 설명서는 예측, 학습, Val내보내기 문서 페이지를 참조하세요.

아래 예는 YOLOv8 객체 감지를 위한 모델감지용 예제입니다. 추가로 지원되는 작업은 세그먼트, 분류, OBB 문서 및 포즈 문서를 참조하세요.

PyTorch pretrained *.pt 모델 및 구성 *.yaml 파일을 YOLO() 클래스를 사용하여 python 에서 모델 인스턴스를 생성합니다:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI 명령을 사용하여 모델을 직접 실행할 수 있습니다:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

인용 및 감사

YOLOv8 모델 또는 이 리포지토리의 다른 소프트웨어를 작업에 사용하는 경우 다음 형식을 사용하여 인용해 주세요:

@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

DOI는 보류 중이며 사용 가능해지는 대로 인용에 추가될 예정입니다. YOLOv8 모델은 아래에서 제공됩니다. AGPL-3.0엔터프라이즈 라이선스로 제공됩니다.

자주 묻는 질문

YOLOv8 이란 무엇이며 이전 YOLO 버전과 어떻게 다른가요?

YOLOv8 is the latest iteration in the Ultralytics YOLO series, designed to improve real-time object detection performance with advanced features. Unlike earlier versions, YOLOv8 incorporates an anchor-free split Ultralytics head, state-of-the-art backbone and neck architectures, and offers optimized accuracy-speed tradeoff, making it ideal for diverse applications. For more details, check the Overview and Key Features sections.

YOLOv8 을 다른 컴퓨터 비전 작업에 사용하려면 어떻게 해야 하나요?

YOLOv8 는 객체 감지, 인스턴스 분할, 포즈/키포인트 감지, 방향성 객체 감지 및 분류를 포함한 광범위한 컴퓨터 비전 작업을 지원합니다. 각 모델 변형은 특정 작업에 최적화되어 있으며 추론, 검증, 훈련내보내기와 같은 다양한 작동 모드와 호환됩니다. 자세한 내용은 지원되는 작업 및 모드 섹션을 참조하세요.

YOLOv8 모델의 성능 지표는 무엇인가요?

YOLOv8 모델은 다양한 벤치마킹 데이터 세트에서 최첨단 성능을 달성합니다. 예를 들어 YOLOv8n 모델은 COCO 데이터 세트에서 37.3의 mAP(평균 평균 정밀도)를 달성하고 A100 TensorRT 에서 0.99ms의 속도를 달성합니다. 다양한 작업 및 데이터 세트에서 각 모델 변형에 대한 자세한 성능 메트릭은 성능 메트릭 섹션에서 확인할 수 있습니다.

YOLOv8 모델을 어떻게 교육하나요?

Training a YOLOv8 model can be done using either Python or CLI. Below are examples for training a model using a COCO-pretrained YOLOv8 model on the COCO8 dataset for 100 epochs:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

자세한 내용은 교육 문서를 참조하세요.

YOLOv8 모델을 벤치마킹하여 성능을 확인할 수 있나요?

예, YOLOv8 모델은 다양한 내보내기 형식에 걸쳐 속도와 정확도 측면에서 성능을 벤치마킹할 수 있습니다. PyTorch , ONNX, TensorRT 등을 사용하여 벤치마킹할 수 있습니다. 다음은 Python 및 CLI 을 사용하여 벤치마킹하는 예제 명령어입니다:

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

자세한 내용은 성능 지표 섹션을 확인하세요.

📅 Created 11 months ago ✏️ Updated 21 days ago

댓글