Ultralytics YOLO27:

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 cải tiến của các phiên bản YOLO trước đây, YOLOv8 giới thiệu các tính năng và tối ưu hóa mới, giúp model này 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



Watch: Ultralytics YOLOv8 Model Overview
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 nâng cao: YOLOv8 sử dụng các kiến trúc backbone và neck tiên tiến, mang lại hiệu năng trích xuất đặc trưngphát hiện đối tượng được cải thiện.
  • Ultralytics Head tách không dùng Anchor: YOLOv8 áp dụng Ultralytics head tách không dùng anchor, góp phần cải thiện độ chính xác và tăng hiệu quả của quy trình phát hiện so với các phương pháp dựa trên anchor.
  • Tối ưu hóa sự đánh đổi 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 use case cụ thể.

Các task và mode đượ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 được thiết kế để đáp ứng nhiều yêu 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/keypoints và phát hiện đối tượng định hướng.

Mỗi biến thể trong dòng YOLOv8 được tối ưu hóa 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ế độ vận hành, bao gồm Suy luận, Xác thực, Huấn luyệnXuất, hỗ trợ sử dụng trong các giai đoạn triển khai và phát triển khác nhau.

ModelTên tệpTaskTrainingValidationInferenceExport
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptDetection
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptPhân đoạn instance
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClassification
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptTư thế/Keypoint
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 tổng quan về các biến thể model YOLOv8, nêu bật khả năng áp dụng trong các tác vụ cụ thể và khả năng tương thích với nhiều chế độ vận hành như Suy luận, Xác thực, Huấn luyện và Xuất. Bảng thể hiện tính linh hoạt và độ mạnh mẽ của dòng YOLOv8, giúp các model này phù hợp với nhiều ứng dụng thị giác máy tính.

Metrics hiệu năng#

Hiệu năng

Xem Tài liệu Phát hiện để biết các ví dụ sử dụng những model đượ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)
tham số
(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 cung cấp các ví dụ đơn giản về huấn luyện và suy luận YOLOv8. Để xem tài liệu đầy đủ về các chế độ này và các chế độ khác, hãy xem các trang tài liệu Predict, Train, ValExport.

Lưu ý, ví dụ dưới đây dành cho các model YOLOv8 Detect dùng cho phát hiện đối tượng. Để xem các tác vụ được hỗ trợ khác, hãy tham khảo 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 tệp 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 đóng góp#

Ấn phẩm Ultralytics YOLOv8

Ultralytics chưa công bố bài báo nghiên cứu chính thức cho 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 công nghệ dễ sử dụng hơn, thay vì tạo ra tài liệu tĩnh. Để cập nhật thông tin mới nhất về kiến trúc, tính năng và cách sử dụng YOLO, hãy tham khảo repository GitHubtà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 từ repository này trong công việc, 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ờ cấp và sẽ được thêm vào trích dẫn ngay khi có. Các model YOLOv8 được cung cấp theo giấy phép AGPL-3.0Enterprise.

FAQ#

  • YOLOv8 được thiết kế để cải thiện hiệu năng phát hiện đối tượng theo thời gian thực bằng các tính năng nâng cao. Không giống các phiên bản trước, YOLOv8 tích hợp Ultralytics head tách không dùng anchor, các kiến trúc backbone và neck tiên tiến, đồng thời cung cấp sự đánh đổi được tối ưu giữa độ chính xác và tốc độ, giúp model này trở nên lý tưởng cho nhiều ứng dụng. Để biết thêm chi tiết, hãy xem các phần Tổng quanCác 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át hiện pose/keypoints, phát hiện đối tượng định hướng và phân loại. Mỗi biến thể model được tối ưu hóa cho tác vụ cụ thể và tương thích với nhiều chế độ vận hành như Suy luận, Xác thực, Huấn luyệnXuất. 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 tiên tiến trên nhiều bộ dữ liệu benchmark khác nhau. 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. Bạn có thể tìm thấy các chỉ số hiệu năng chi tiết của từng biến thể model trên nhiều tác vụ và bộ dữ liệu khác nhau trong phần Chỉ số hiệu năng.

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

    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 Huấn luyện.

  • Có, bạn có thể benchmark các model YOLOv8 về tốc độ và độ chính xác trên nhiều định dạng export khác nhau. Bạn có thể sử dụng PyTorch, ONNX, TensorRT và nhiều 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 on 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