YOLO Vision 2026:

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 vượt trội 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, biến nó thành sự lựa chọn lý tưởng cho các tác vụ object detection khác nhau trong nhiều ứng dụng rộng rãi.

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



Watch: Ultralytics YOLOv8 Model Overview
Thử nghiệm trên Ultralytics Platform

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

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

  • Kiến trúc Backbone và Neck Nâng cao: YOLOv8 sử dụng kiến trúc backbone và neck tiên tiến, mang lại hiệu suất feature extractionobject detection được cải thiện.
  • Ultralytics Head tách rời không neo (Anchor-free): YOLOv8 áp dụng Ultralytics head tách rời không neo, góp phần mang lại độ chính xác cao hơn và quy trình phát hiện hiệu quả hơn so với các phương pháp dựa trên neo (anchor-based).
  • Cân bằng tối ưu giữa độ chính xác và tốc độ: Với trọng tâm là duy trì sự cân bằng tối ưu giữa độ chính xác và tốc độ, YOLOv8 phù hợp cho các tác vụ object detection thời gian thực trong nhiều lĩnh vực ứng dụng khác nhau.
  • Đa dạng các model tiền huấn luyện: YOLOv8 cung cấp nhiều model tiền huấn luyện nhằm đáp ứng các tác vụ và yêu cầu hiệu suất khác nhau, giúp dễ dàng tìm thấy model phù hợp cho use case cụ thể của bạn.

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

Dòng YOLOv8 cung cấp nhiều loại model đa dạng, mỗi model được chuyên biệt hóa cho các tác vụ cụ thể trong computer vision. Các model này được thiết kế để đáp ứng các yêu cầu khác nhau, từ nhận diện đối tượng đến các tác vụ phức tạp hơn như instance segmentation, phân loại, phát hiện pose/keypoints và nhận diện đối tượng xoay (oriented object detection).

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

Mô hìnhTên tệpTác vụHuấn luyệnValidationSuy luậnXuất (Export)
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 Cá thể
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.ptTư thế / Điểm mốc
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptPhát hiện Định hướng

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

Chỉ số hiệu suất#

Hiệu suất

Xem Tài liệu Phát hiện để biết các ví dụ sử dụng với các mô hình này được huấn luyện trên COCO, bao gồm 80 lớp được huấn luyện trước.

Mô hìnhkí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.2
YOLOv8x64053.9479.13.5368.2257.8

Ví dụ về cách sử dụng YOLOv8#

Ví dụ này cung cấp các ví dụ huấn luyện và inference đơn giản với YOLOv8. Để xem tài liệu đầy đủ về các modes này và các chế độ khác, hãy xem các trang tài liệu Predict, Train, ValExport.

Lưu ý rằng ví dụ dưới đây dành cho các model YOLOv8 Detect để nhận diện đối tượng. Đối với các tác vụ được hỗ trợ bổ sung, hãy xem tài liệu Segment, Classify, PoseOBB.

Ví dụ

Các model *.pt được huấn luyện trước bằng PyTorch cũng như các file cấu hình *.yaml có thể được truyền vào class YOLO() để tạo một instance model trong 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")

Trích dẫn và Ghi nhận#

Ấn phẩm về Ultralytics YOLOv8

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

Nếu bạn sử dụng mô hình YOLOv8 hoặc bất kỳ phần mềm nào khác từ kho lưu trữ này trong 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 ý rằng DOI đang chờ xử lý và sẽ được thêm vào phần trích dẫn ngay khi có sẵn. Các model YOLOv8 được cung cấp theo giấy phép AGPL-3.0Enterprise.

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

  • YOLOv8 được thiết kế để cải thiện hiệu suất nhận diện đối tượng thời gian thực với các tính năng tiên tiến. Không giống như các phiên bản trước, YOLOv8 tích hợp anchor-free split Ultralytics head, kiến trúc backbone và neck tối tân, đồng thời cung cấp sự đánh đổi accuracy-tốc độ được tối ưu hóa, làm cho nó trở nên lý tưởng cho các ứng dụng đa dạng. Để biết thêm chi tiết, hãy kiểm tra các phần OverviewKey Features.

  • YOLOv8 hỗ trợ một loạt các tác vụ computer vision, bao gồm object detection, instance segmentation, phát hiện pose/keypoints, nhận diện đối tượng xoay và phân loại. Mỗi biến thể model được tối ưu hóa cho tác vụ cụ thể của nó và tương thích với các chế độ vận hành khác nhau như Inference, Validation, TrainingExport. Tham khảo phần Supported Tasks and Modes để biết thêm thông tin.

  • Các model YOLOv8 đạt hiệu suất tiên tiến trên nhiều tập dữ liệu benchmark khác nhau. Chẳng hạn, model YOLOv8n đạt mAP (mean Average Precision) là 37.3 trên tập dữ liệu COCO và tốc độ 0.99 ms trên A100 TensorRT. Các số liệu hiệu suất chi tiết cho từng biến thể model trên các tác vụ và tập dữ liệu khác nhau có thể được tìm thấy trong phần Performance Metrics.

  • Việc huấn luyện model YOLOv8 có thể được thực hiện bằng cách sử dụng Python hoặc CLI. Dưới đây là các ví dụ để huấn luyện model bằng model YOLOv8 được huấn luyện trước trên COCO trên tập dữ liệu COCO8 trong 100 epochs:

    Ví dụ
    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)

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

  • Có, các mô hình YOLOv8 có thể được benchmark hiệu suất về tốc độ và độ chính xác trên nhiều định dạng xuất. Bạn có thể sử dụng PyTorch, ONNX, TensorRT và nhiều định dạng khác để thực hiện benchmark. Dưới đây là các ví dụ lệnh để thực hiện benchmark bằng Python và CLI:

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

    Để biết thêm thông tin, hãy kiểm tra phần Performance Metrics.

Bình luận