Ultralytics YOLO27:
Get Started

Khám phá Ultralytics YOLOv8#

Tổng quan#

YOLOv8 được Ultralytics phát hành vào ngày 10 tháng 1 năm 2023, mang lại hiệu năng tiên tiến về độ chính xác và tốc độ. Dựa trên những tiến bộ của các phiên bản YOLO trước, YOLOv8 giới thiệu các tính năng và tối ưu hóa mới, khiến model trở thành lựa chọn lý tưởng cho nhiều tác vụ phát hiện đối tượng trong nhiều ứng dụng.

Biểu đồ so sánh hiệu năng YOLOv8



Xem: Tổng quan về model Ultralytics YOLOv8
Dùng thử trên Ultralytics Platform

Khám phá và chạy trực tiếp các model YOLOv8 trên Ultralytics Platform.

Các tính năng chính của YOLOv8#

  • Kiến trúc backbone và neck tiên tiến: YOLOv8 sử dụng các kiến trúc backbone và neck hiện đại nhất, giúp cải thiện hiệu suất trích xuất đặc trưng và phát hiện đối tượng.
  • Head Ultralytics tách nhánh, không dùng anchor: YOLOv8 sử dụng head Ultralytics tách nhánh, không dùng anchor, góp phần nâng cao độ chính xác và tối ưu quy trình phát hiện so với các phương pháp dựa trên anchor.
  • Cân bằng tối ưu giữa độ chính xác và tốc độ: Tập trung duy trì sự cân bằng tối ưu giữa độ chính xác và tốc độ, YOLOv8 phù hợp với các tác vụ phát hiện đối tượng theo thời gian thực trong nhiều lĩnh vực ứng dụng.
  • Đa dạng model pretrained: YOLOv8 cung cấp nhiều model pretrained đáp ứng các tác vụ và yêu cầu hiệu năng khác nhau, giúp bạn dễ dàng tìm được model phù hợp với trường hợp sử dụng cụ thể.

Các tác vụ và chế độ được hỗ trợ#

Dòng YOLOv8 cung cấp nhiều model đa dạng, mỗi model được chuyên biệt hóa cho các tác vụ cụ thể trong thị giác máy tính. Các model này đáp ứng nhiều nhu cầu khác nhau, từ phát hiện đối tượng đến các tác vụ phức tạp hơn như phân đoạn instance, phân loại, phát hiện pose/keypoint và phát hiện đối tượng có hướng.

Mỗi biến thể của dòng YOLOv8 được tối ưu cho tác vụ tương ứng, đảm bảo hiệu năng và độ chính xác cao. Ngoài ra, các model này tương thích với nhiều chế độ hoạt động, bao gồm Inference, Validation, Training và Export, hỗ trợ sử dụng trong các giai đoạn khác nhau của quá trình phát triển và triển khai.

ModelTên tệpTác vụHuấn luyệnValidationSuy luậnExport
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptPhát hiện✅✅✅✅
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptPhân đoạn đối tượng✅✅✅✅
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptPhân loại✅✅✅✅
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/Keypoint✅✅✅✅
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptPhát hiện hộp định hướng✅✅✅✅

Bảng này cung cấp tổng quan về các biến thể model YOLOv8, nêu bật khả năng áp dụng cho từng tác vụ cụ thể và khả năng tương thích với nhiều chế độ hoạt động như Inference, Validation, Training và Export. Bảng thể hiện tính linh hoạt và độ tin cậy của dòng YOLOv8, giúp các model này phù hợp với nhiều ứng dụng trong thị giác máy tính.

Chỉ số hiệu năng#

Hiệu năng

Xem Tài liệu về Detection để biết ví dụ sử dụng các model này được huấn luyện trên COCO, bao gồm 80 class được huấn luyện trước.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
A100 TensorRT
(ms)
params
(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.1
YOLOv8x64053.9479.13.5368.2257.8

Ví dụ sử dụng YOLOv8#

Ví dụ này trình bày cách huấn luyện và inference YOLOv8 đơn giản. Để xem tài liệu đầy đủ về các chế độ này và những chế độ khác, hãy tham khảo các trang tài liệu modes, Predict, Train, Val và Export.

Lưu ý, ví dụ dưới đây dành cho các model YOLOv8 Detect dùng để phát hiện đối tượng. Để xem các tác vụ khác được hỗ trợ, hãy tham khảo tài liệu Segment, Classify, Pose và OBB.

Ví dụ

Có thể truyền các model *.pt pretrained PyTorch cũng như các file cấu hình *.yaml vào class YOLO() để tạo một instance model trong Python:

from ultralytics import YOLO

# Tải model YOLOv8n pretrained trên COCO
model = YOLO("yolov8n.pt")

# Hiển thị thông tin model (không bắt buộc)
model.info()

# Huấn luyện model trên dataset mẫu COCO8 trong 100 epoch
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Chạy inference bằng model YOLOv8n trên ảnh 'bus.jpg'
results = model("path/to/bus.jpg")

Trích dẫn và lời cảm ơn#

Ấn phẩm Ultralytics YOLOv8

Ultralytics chưa công bố bài báo nghiên cứu chính thức về YOLOv8 do các model phát triển nhanh chóng. Chúng tôi tập trung thúc đẩy công nghệ và giúp việc sử dụng trở nên dễ dàng hơn, thay vì tạo tài liệu tĩnh. Để biết thông tin mới nhất về kiến trúc, tính năng và cách sử dụng YOLO, vui lòng tham khảo repository GitHub và tài liệu của chúng tôi.

Nếu sử dụng model YOLOv8 hoặc bất kỳ phần mềm nào khác trong repository này cho công việc của mình, vui lòng trích dẫn theo định dạng sau:

Trích dẫn
@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}
}

Xin lưu ý DOI đang chờ cấp và sẽ được bổ sung vào trích dẫn khi có. Các model YOLOv8 được cung cấp theo giấy phép AGPL-3.0 và Enterprise.

Câu hỏi thường gặp#

  • YOLOv8 được thiết kế để cải thiện hiệu suất phát hiện đối tượng theo thời gian thực với các tính năng tiên tiến. Khác với các phiên bản trước, YOLOv8 tích hợp head Ultralytics tách nhánh, không dùng anchor, các kiến trúc backbone và neck hiện đại nhất, đồng thời tối ưu sự cân bằng giữa độ chính xác và tốc độ, phù hợp với nhiều ứng dụng. Để biết thêm chi tiết, hãy xem các phần Tổng quan và Tính năng chính.

  • YOLOv8 hỗ trợ nhiều tác vụ thị giác máy tính, bao gồm phát hiện đối tượng, phân đoạn instance, phân loại, phát hiện pose/keypoint và phát hiện đối tượng có hướng. Mỗi biến thể model được tối ưu cho tác vụ cụ thể và tương thích với nhiều chế độ hoạt động như Inference, Validation, Training và Export. Tham khảo phần Tác vụ và chế độ được hỗ trợ để biết thêm thông tin.

  • Các model YOLOv8 đạt hiệu năng hiện đại nhất trên nhiều bộ dữ liệu benchmark. Ví dụ, model YOLOv8n đạt mAP (độ chính xác trung bình) 37.3 trên bộ dữ liệu COCO và tốc độ 0.99 ms trên A100 TensorRT. Có thể tìm thấy chỉ số hiệu năng chi tiết của từng biến thể model trên các tác vụ và bộ dữ liệu khác nhau trong phần Chỉ số hiệu năng.

  • Có thể huấn luyện model YOLOv8 bằng Python hoặc CLI. Dưới đây là ví dụ huấn luyện model YOLOv8 pretrained trên COCO bằng bộ dữ liệu COCO8 trong 100 epoch:

    Ví dụ
    from ultralytics import YOLO
    
    # Tải model YOLOv8n pretrained trên COCO
    model = YOLO("yolov8n.pt")
    
    # Huấn luyện model trên dataset mẫu COCO8 trong 100 epoch
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Để biết thêm chi tiết, hãy xem tài liệu Training.

  • Có thể benchmark hiệu năng của các model YOLOv8 về tốc độ và độ chính xác trên nhiều định dạng export. Bạn có thể dùng PyTorch, ONNX, TensorRT và các công cụ khác để benchmark. Dưới đây là các lệnh ví dụ để benchmark bằng Python và CLI:

    Ví dụ
    from ultralytics.utils.benchmarks import benchmark
    
    # Benchmark trên GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

    Để biết thêm thông tin, hãy xem phần Chỉ số hiệu năng.

Bình luận