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.
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 λͺ λ Ήμ μ¬μ©νμ¬ λͺ¨λΈμ μ§μ μ€νν μ μμ΅λλ€:
μΈμ© λ° κ°μ¬
YOLOv8 λͺ¨λΈ λλ μ΄ λ¦¬ν¬μ§ν 리μ λ€λ₯Έ μννΈμ¨μ΄λ₯Ό μμ μ μ¬μ©νλ κ²½μ° λ€μ νμμ μ¬μ©νμ¬ μΈμ©ν΄ μ£ΌμΈμ:
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:
μ
μμΈν λ΄μ©μ κ΅μ‘ λ¬Έμλ₯Ό μ°Έμ‘°νμΈμ.
YOLOv8 λͺ¨λΈμ λ²€μΉλ§νΉνμ¬ μ±λ₯μ νμΈν μ μλμ?
μ, YOLOv8 λͺ¨λΈμ λ€μν λ΄λ³΄λ΄κΈ° νμμ κ±Έμ³ μλμ μ νλ μΈ‘λ©΄μμ μ±λ₯μ λ²€μΉλ§νΉν μ μμ΅λλ€. PyTorch , ONNX, TensorRT λ±μ μ¬μ©νμ¬ λ²€μΉλ§νΉν μ μμ΅λλ€. λ€μμ Python λ° CLI μ μ¬μ©νμ¬ λ²€μΉλ§νΉνλ μμ λͺ λ Ήμ΄μ λλ€:
μ
μμΈν λ΄μ©μ μ±λ₯ μ§ν μΉμ μ νμΈνμΈμ.