콘텐츠로 건너뛰기

Ultralytics YOLOv8 살펴보기

개요

2023년 1월 10일, 정확도와 속도 면에서 최첨단 성능을 제공하는 YOLOv8 Ultralytics 의해 출시되었습니다. 이전 YOLO 버전의 발전된 기능을 바탕으로 YOLOv8 새로운 기능과 최적화를 도입하여 광범위한 애플리케이션에서 다양한 물체 감지 작업에 이상적인 선택이 될 것입니다.

Ultralytics YOLOv8



Watch: Ultralytics YOLOv8 모델 개요

YOLOv8 주요 기능

  • 고급 백본 및 넥 아키텍처: YOLOv8 최첨단 백본 및 넥 아키텍처를 채택하여 특징 추출객체 감지 성능이 향상되었습니다.
  • 앵커 프리 스플릿 Ultralytics 헤드: YOLOv8 앵커 프리 스플릿 Ultralytics 헤드를 채택하여 앵커 기반 접근 방식에 비해 더 나은 정확도와 효율적인 탐지 프로세스에 기여합니다.
  • 최적화된 정확도-속도 트레이드오프: 정확도와 속도 간의 최적의 균형을 유지하는 데 중점을 둔 YOLOv8 은 다양한 애플리케이션 영역의 실시간 물체 감지 작업에 적합합니다.
  • 다양한 사전 학습 모델: YOLOv8 에서는 다양한 작업 및 성능 요구 사항을 충족하는 다양한 사전 학습 모델을 제공하므로 특정 사용 사례에 적합한 모델을 쉽게 찾을 수 있습니다.

지원되는 작업 및 모드

YOLOv8 시리즈는 컴퓨터 비전의 특정 작업에 특화된 다양한 모델을 제공합니다. 이러한 모델은 객체 감지부터 인스턴스 분할, 포즈/키포인트 감지, 방향성 객체 감지 및 분류와 같은 보다 복잡한 작업까지 다양한 요구 사항을 충족하도록 설계되었습니다.

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

모델 파일 이름 작업 추론 유효성 검사 교육 내보내기
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-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-cls yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt 분류

이 표는 YOLOv8 모델 변형에 대한 개요를 제공하며, 특정 작업에서의 적용 가능성과 추론, 검증, 훈련, 내보내기 등 다양한 작동 모드와의 호환성을 강조합니다. 컴퓨터 비전의 다양한 애플리케이션에 적합한 YOLOv8 시리즈의 다목적성과 견고함을 보여줍니다.

성능 지표

성능

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

모델 크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(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

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

모델 크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

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

모델 크기
(픽셀)
mAPbox
50-95
mAPmask
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n-seg 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s-seg 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m-seg 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l-seg 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x-seg 640 53.4 43.4 712.1 4.02 71.8 344.1

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

모델 크기
(픽셀)
acc
top1
ACC
TOP5
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
플롭
(B) at 224
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 0.5
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 1.7
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 5.3
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 12.3
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 19.0

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

모델 크기
(픽셀)
mAPpose
50-95
mAPpose
50
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n-pose 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-pose 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-pose 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-pose 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-pose 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-pose-p6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

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

모델 크기
(픽셀)
mAPtest
50
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
매개변수
(M)
FLOPs
(B)
YOLOv8n-obb 1024 78.0 204.77 3.57 3.1 23.3
YOLOv8s-obb 1024 79.5 424.88 4.07 11.4 76.3
YOLOv8m-obb 1024 80.5 763.48 7.61 26.4 208.6
YOLOv8l-obb 1024 80.7 1278.42 11.83 44.5 433.8
YOLOv8x-obb 1024 81.36 1759.10 13.23 69.5 676.7

YOLOv8 사용 예시

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

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

PyTorch 사전 교육 *.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

인용 및 감사

Ultralytics YOLOv8 출판

Ultralytics 는 빠르게 진화하는 모델의 특성으로 인해 YOLOv8 에 대한 공식적인 연구 논문을 발표하지 않았습니다. 정적인 문서를 작성하기보다는 기술을 발전시키고 사용하기 쉽게 만드는 데 중점을 두고 있습니다. YOLO 아키텍처, 기능 및 사용법에 대한 최신 정보는 GitHub 리포지토리설명서를 참조하세요.

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 고급 기능으로 실시간 물체 감지 성능을 개선하도록 설계되었습니다. 이전 버전과 달리 YOLOv8 앵커가 없는 분할형 Ultralytics 헤드, 최첨단 백본 및 넥 아키텍처를 통합하고 정확도-속도 균형을 최적화하여 다양한 애플리케이션에 이상적입니다. 자세한 내용은 개요주요 기능 섹션에서 확인하세요.

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

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

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

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

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

YOLOv8 모델 훈련은 Python 또는 CLI 을 사용하여 수행할 수 있습니다. 다음은 100개의 에포크에 대한 COCO8 데이터 세트에서 COCO가 사전 훈련한 YOLOv8 모델을 사용하여 모델을 훈련하는 예제입니다:

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

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

📅1 년 전 생성됨 ✏️ 업데이트됨 8 일 전

댓글