μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°

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 μ‹œλ¦¬μ¦ˆμ˜ 각 λ³€ν˜•μ€ 각 μž‘μ—…μ— μ΅œμ ν™”λ˜μ–΄ μžˆμ–΄ 높은 μ„±λŠ₯κ³Ό 정확성을 보μž₯ν•©λ‹ˆλ‹€. λ˜ν•œ μ΄λŸ¬ν•œ λͺ¨λΈμ€ μΆ”λ‘ , 검증, ꡐ윑, 내보내기 λ“± λ‹€μ–‘ν•œ 운영 λͺ¨λ“œμ™€ ν˜Έν™˜λ˜λ―€λ‘œ 배포 및 개발의 μ—¬λŸ¬ λ‹¨κ³„μ—μ„œ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λΈ 파일 이름 μž‘μ—… μΆ”λ‘  μœ νš¨μ„± 검사 ꡐ윑 내보내기
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 λΆ„λ₯˜ βœ… βœ… βœ… βœ…

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)
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)
FLOPs
(B) at 640
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 4.3
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 13.5
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 42.7
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 99.7
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 154.8

사전 ν•™μŠ΅λœ 클래슀인 'μ‚¬λžŒ' 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 ν•™μŠ΅ 및 μΆ”λ‘  예제λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λ“œ 및 기타 λͺ¨λ“œμ— λŒ€ν•œ 전체 μ„€λͺ…μ„œλŠ” 예츑, ν•™μŠ΅, 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 13 days ago

λŒ“κΈ€