Link to this sectionKhám phá Ultralytics YOLOv8#
Link to this sectionTổng quan#
YOLOv8 được Ultralytics phát hành vào ngày 10 tháng 1 năm 2023, mang đến hiệu suất vượt trội về độ chính xác và tốc độ. Kế thừa các cải tiến từ những 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 lựa chọn lý tưởng cho nhiều tác vụ object detection trong đa dạng ứng dụng.

Watch: Ultralytics YOLOv8 Model Overview
Khám phá và chạy các model YOLOv8 trực tiếp trên Ultralytics Platform.
Link to this sectionCá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 feature extraction và object detection.
- 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.
Link to this sectionCác tác vụ và chế độ được hỗ trợ#
Dòng YOLOv8 cung cấp đa dạng các model, 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 nhiều yêu cầu khác nhau, từ object detection cho đến các tác vụ phức tạp hơn như instance segmentation, phát hiện pose/keypoints, phát hiện vật thể xoay (oriented object detection) và phân loại (classification).
Mỗi biến thể của dòng YOLOv8 đều đượ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 bao gồm Inference, Validation, Training, và Export, hỗ trợ việc sử dụng chúng ở các giai đoạn triển khai và phát triển khác nhau.
| Mô hình | Tên tệp | Tác vụ | Suy luận | Validation | Huấn luyện | Xuất (Export) |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Phát hiện | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Phân đoạn Instance | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Tư thế/Điểm khóa | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Phát hiện theo hướng | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Phân loại | ✅ | ✅ | ✅ | ✅ |
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 trong các tác vụ cụ thể và tính 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à mạnh mẽ của dòng YOLOv8, làm cho chúng trở nên phù hợp với nhiều ứng dụng trong computer vision.
Link to this sectionChỉ số 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.
Link to this sectionVí dụ về cách sử dụng YOLOv8#
Ví dụ này cung cấp các ví dụ đơn giản về huấn luyện và dự đoán với YOLOv8. Để xem tài liệu đầy đủ về các chế độ này và các chế độ khác, hãy tham khảo các trang tài liệu Predict, Train, Val và Export.
Lưu ý rằng ví dụ dưới đây dành cho các mô hình YOLOv8 Detect cho tác vụ phát hiện đối tượng. Để biết thêm các tác vụ được hỗ trợ, hãy xem tài liệu về Segment, Classify, OBB và Pose.
PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance in 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")Link to this sectionTrích dẫn và Ghi nhận#
Ultralytics chưa xuất bản bài báo nghiên cứu chính thức cho YOLOv8 do bản chất thay đổi nhanh chóng của các mô hình. Chúng tôi tập trung vào việc nâng cao 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 kho lưu trữ GitHub và tài liệu 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:
@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}
}Vui lòng lưu ý rằng DOI đang chờ xử lý và sẽ được thêm vào trích dẫn sau khi có sẵn. Các mô hình YOLOv8 được cung cấp theo giấy phép AGPL-3.0 và Enterprise.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionYOLOv8 là gì và nó khác biệt thế nào so với các phiên bản YOLO trước đó?#
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 anchor-free split Ultralytics head, các kiến trúc backbone và neck hiện đại nhất, đồng thời cung cấp sự cân bằng tối ưu giữa độ chính xác và tốc độ, khiến 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 xem các phần Tổng quan và Tính năng chính.
Link to this sectionLàm thế nào để tôi có thể sử dụng YOLOv8 cho các tác vụ thị giác máy tính khác nhau?#
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 thực thể, phát hiện tư thế/điểm đặc trưng, phát hiện đối tượng có hướng và phân loại. Mỗi biến thể mô hình được tối ưu hóa cho tác vụ cụ thể của nó và tương thích với nhiều chế độ vận hành 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.
Link to this sectionCác chỉ số hiệu suất cho các mô hình YOLOv8 là gì?#
Các mô hình YOLOv8 đạt được hiệu suất hiện đại nhất trên nhiều tập dữ liệu chuẩn. Ví dụ, mô hình 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 chỉ số hiệu suất chi tiết cho từng biến thể mô hình 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 Chỉ số hiệu suất.
Link to this sectionLàm thế nào để huấn luyện một mô hình YOLOv8?#
Việc huấn luyện mô hình YOLOv8 có thể được thực hiện bằng Python hoặc CLI. Dưới đây là các ví dụ về huấn luyện mô hình sử dụng mô hình YOLOv8 đã tiền huấn luyện trên COCO với tập dữ liệu COCO8 trong 100 epoch:
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.
Link to this sectionTôi có thể đánh giá hiệu suất (benchmark) các mô hình YOLOv8 không?#
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:
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 suất.