Ultralytics YOLOv8 살펴보기#
개요#
YOLOv8은 Ultralytics가 2023년 1월 10일에 출시했으며, 정확도와 속도 측면에서 최첨단 성능을 제공합니다. 이전 버전의 YOLO 발전 사항을 바탕으로, YOLOv8은 다양한 애플리케이션에서 광범위한 object detection 작업에 이상적인 선택이 되도록 새로운 기능과 최적화를 도입했습니다.

Watch: Ultralytics YOLOv8 Model Overview
Ultralytics Platform에서 직접 YOLOv8 모델을 탐색하고 실행해 보세요.
YOLOv8의 주요 기능#
- 고급 백본 및 넥 아키텍처: YOLOv8은 최첨단 백본 및 넥 아키텍처를 채택하여 feature extraction 및 object detection 성능을 향상시켰습니다.
- 앵커 프리 분할 Ultralytics 헤드: YOLOv8은 앵커 프리 분할 Ultralytics 헤드를 채택하여 앵커 기반 접근 방식보다 더 나은 정확도와 효율적인 탐지 프로세스를 제공합니다.
- 최적화된 정확도-속도 트레이드오프: 정확도와 속도 간의 최적의 균형을 유지하는 데 중점을 둔 YOLOv8은 다양한 응용 분야에서 실시간 객체 탐지 작업에 적합합니다.
- 다양한 사전 학습 모델: YOLOv8은 다양한 작업과 성능 요구 사항을 충족하기 위해 여러 사전 학습 모델을 제공하므로 특정 사용 사례에 맞는 모델을 쉽게 찾을 수 있습니다.
지원되는 작업 및 모드#
YOLOv8 시리즈는 컴퓨터 Vision의 특정 작업에 각각 특화된 다양한 모델을 제공합니다. 이 모델들은 객체 감지부터 instance segmentation, 분류, 포즈/키포인트 감지, 방향성 객체 감지와 같은 더 복잡한 작업에 이르기까지 다양한 요구 사항을 충족하도록 설계되었습니다.
YOLOv8 시리즈의 각 변형은 해당 작업에 최적화되어 높은 성능과 정확도를 보장합니다. 또한, 이 모델들은 Inference, Validation, Training, Export를 포함한 다양한 운영 모드와 호환되어 배포 및 개발의 다양한 단계에서 쉽게 활용할 수 있습니다.
| 모델 | 파일 이름 | 작업 | 학습 | 검증 | 추론 | 내보내기(Export) |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | 탐지 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | 인스턴스 세그멘테이션 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | 분류 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | 포즈/키포인트 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | 지향성 탐지 | ✅ | ✅ | ✅ | ✅ |
이 표에서는 YOLOv8 모델 변형에 대한 개요를 제공하며, 특정 작업에서의 적용 가능성과 추론, 검증, 학습, 내보내기와 같은 다양한 운영 모드와의 호환성을 강조합니다. 이는 YOLOv8 시리즈의 다목적성과 견고성을 보여주며, computer vision의 다양한 애플리케이션에 적합하게 만듭니다.
성능 지표#
YOLOv8 사용 예시#
이 예제는 간단한 YOLOv8 학습 및 추론 예제를 제공합니다. 이 모드 및 기타 modes에 대한 전체 문서는 Predict, Train, Val 및 Export 문서 페이지를 참조하세요.
아래 예제는 객체 감지를 위한 YOLOv8 Detect 모델용입니다. 지원되는 추가 작업은 Segment, Classify, Pose 및 OBB 문서를 참조하세요.
PyTorch 사전 학습된 *.pt 모델과 설정 *.yaml 파일을 python의 YOLO() 클래스에 전달하여 모델 인스턴스를 생성할 수 있습니다.
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")인용 및 감사의 글#
Ultralytics는 모델의 급격한 진화 특성으로 인해 YOLOv8에 대한 공식 연구 논문을 발행하지 않았습니다. 당사는 정적 문서를 제작하는 것보다 기술을 발전시키고 사용하기 쉽게 만드는 데 집중하고 있습니다. YOLO 아키텍처, 기능 및 사용법에 대한 최신 정보는 GitHub repository 및 documentation을 참조하세요.
귀하의 작업에서 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 및 Enterprise 라이선스에 따라 제공됩니다.
FAQ#
YOLOv8이란 무엇이며 이전 YOLO 버전과 어떻게 다른가요?#
YOLOv8은 고급 기능으로 실시간 객체 감지 성능을 향상시키도록 설계되었습니다. 이전 버전과 달리 YOLOv8은 anchor-free split Ultralytics head, 최첨단 backbone 및 넥 아키텍처를 통합하고 있으며, 최적화된 accuracy-속도 트레이드오프를 제공하여 다양한 애플리케이션에 이상적입니다. 자세한 내용은 Overview 및 Key Features 섹션을 확인하세요.
YOLOv8을 다양한 컴퓨터 비전 작업에 어떻게 사용할 수 있나요?#
YOLOv8은 객체 감지, 인스턴스 세분화, 포즈/키포인트 감지, 방향성 객체 감지, 분류를 포함한 광범위한 컴퓨터 비전 작업을 지원합니다. 각 모델 변형은 특정 작업에 최적화되어 있으며 Inference, Validation, Training, Export와 같은 다양한 운영 모드와 호환됩니다. 자세한 내용은 Supported Tasks and Modes 섹션을 참조하세요.
YOLOv8 모델의 성능 지표는 무엇인가요?#
YOLOv8 모델은 다양한 벤치마킹 데이터셋에서 최고 수준의 성능을 달성합니다. 예를 들어, YOLOv8n 모델은 COCO 데이터셋에서 37.3의 mAP (mean Average Precision)를 달성하고 A100 TensorRT에서 0.99 ms의 속도를 기록합니다. 각 작업 및 데이터셋에 대한 각 모델 변형의 상세한 성능 지표는 Performance Metrics 섹션에서 확인할 수 있습니다.
YOLOv8 모델은 어떻게 학습시키나요?#
YOLOv8 모델 학습은 Python 또는 CLI를 사용하여 수행할 수 있습니다. 아래는 COCO 사전 학습된 YOLOv8 모델을 COCO8 데이터셋에서 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)자세한 내용은 Training 문서를 방문하세요.
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, device=0)추가 정보는 Performance Metrics 섹션을 확인하세요.