YOLOv8
Tổng quan
YOLOv8 là lần lặp lại mới nhất trong YOLO loạt máy dò đối tượng thời gian thực, cung cấp hiệu suất tiên tiến về độ chính xác và tốc độ. Xây dựng dựa trên những tiến bộ của trước đó YOLO Phiên bản YOLOv8 Giới thiệu các tính năng mới và tối ưu hóa làm cho nó trở thành một lựa chọn lý tưởng cho các tác vụ phát hiện đối tượng khác nhau trong một loạt các ứng dụng.
Xem: Ultralytics YOLOv8 Tổng quan về mô hình
Các tính năng chính
- Kiến trúc xương sống và cổ nâng cao: YOLOv8 sử dụng kiến trúc xương sống và cổ hiện đại, dẫn đến hiệu suất trích xuất tính năng và phát hiện đối tượng được cải thiện.
- Chia tách không neo Ultralytics Đầu: YOLOv8 áp dụng phân chia không neo Ultralytics đầu, góp phần vào độ chính xác tốt hơn và quy trình phát hiện hiệu quả hơn so với các phương pháp tiếp cận dựa trên neo.
- Tối ưu hóa sự đánh đổi độ chính xác-tốc độ: Tập trung vào việc 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ụ phát hiện đối tượng theo thời gian thực trong các lĩnh vực ứng dụng đa dạng.
- Nhiều mô hình Pre-training: YOLOv8 Cung cấp một loạt các mô hình được đào tạo trước để phục vụ cho các nhiệm vụ và yêu cầu hiệu suất khác nhau, giúp bạn dễ dàng tìm thấy mô hình phù hợp cho trường hợp sử dụng cụ thể của mình.
Các tác vụ và chế độ được hỗ trợ
Các YOLOv8 Sê-ri cung cấp một loạt các mô hình đa dạng, mỗi mô hình chuyên biệt cho các nhiệm vụ cụ thể trong thị giác máy tính. Các mô hình này được thiết kế để đáp ứng các 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 phiên bản, phát hiện tư thế/điểm chính, phát hiện đối tượng định hướng và phân loại.
Mỗi biến thể của YOLOv8 Series được tối ưu hóa cho nhiệm vụ tương ứng của nó, đảm bảo hiệu suất và độ chính xác cao. Ngoài ra, các mô hình này tương thích với các chế độ hoạt động khác nhau bao gồm Suy luận, Xác nhận, Đào tạo và Xuất, tạo điều kiện thuận lợi cho việc sử dụng chúng trong các giai đoạn triển khai và phát triển khác nhau.
Mẫu | Tên tập tin | Nhiệm vụ | Suy luận | Xác nhận | Đào tạo | Xuất khẩu |
---|---|---|---|---|---|---|
YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt |
Detection | ✅ | ✅ | ✅ | ✅ |
YOLOv8-Seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt |
Phân đoạn phiên bản | ✅ | ✅ | ✅ | ✅ |
YOLOv8-tư thế | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt |
Tư thế / Điểm chính | ✅ | ✅ | ✅ | ✅ |
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 tổng quan về YOLOv8 các biến thể mô hình, làm nổi 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 của chúng với các chế độ hoạt động khác nhau như Suy luận, Xác thực, Đào tạo và Xuất. Nó thể hiện tính linh hoạt và mạnh mẽ của YOLOv8 hàng loạt, làm cho chúng phù hợp với nhiều ứng dụng trong thị giác máy tính.
Chỉ số hiệu suất
Hiệu năng
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 đào tạo về COCO, bao gồm 80 lớp được đào tạo trước.
Mẫu | kích thước (điểm ảnh) |
bản đồVal 50-95 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (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 |
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 đào tạo trên Open Image V7, bao gồm 600 lớp được đào tạo trước.
Mẫu | kích thước (điểm ảnh) |
bản đồVal 50-95 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (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 |
Xem Tài liệu phân đoạn để biết các ví dụ sử dụng với các mô hình này được đào tạo về COCO, bao gồm 80 lớp được đào tạo trước.
Mẫu | kích thước (điểm ảnh) |
bản đồhộp 50-95 |
bản đồmặt nạ 50-95 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (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 |
Xem Tài liệu phân loại để biết các ví dụ sử dụng với các mô hình này được đào tạo trên ImageNet, bao gồm 1000 lớp được đào tạo trước.
Mẫu | kích thước (điểm ảnh) |
Acc Top 1 |
Acc Top 5 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (M) |
Flops (B) tại 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 |
Xem Tài liệu ước tính tư thế để biết các ví dụ sử dụng với các mô hình này được đào tạo về COCO, bao gồm 1 lớp được đào tạo trước, 'người'.
Mẫu | kích thước (điểm ảnh) |
bản đồtư thế 50-95 |
bản đồtư thế 50 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (M) |
Flops (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-tư thế | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-tư thế | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-tư thế | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-tư thế | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-tư thế | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-Tư thế-P6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
Xem Tài liệu phát hiện theo hướng để biết các ví dụ sử dụng với các mô hình này được đào tạo trên DOTAv1, bao gồm 15 lớp được đào tạo trước.
Mẫu | kích thước (điểm ảnh) |
bản đồkiểm tra 50 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (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 |
Ví dụ sử dụng
Ví dụ này cung cấp đơn giản YOLOv8 Ví dụ đào tạo và suy luận. Để biết 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 Dự đoán, Đào tạo, Val và Xuất .
Lưu ý ví dụ dưới đây dành cho YOLOv8 Phát hiện các mô hình để 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 Phân đoạn, Phân loại, OBB và Tư thế .
Ví dụ
PyTorch được đào tạo trước *.pt
Mô hình cũng như cấu hình *.yaml
Các tập tin có thể được chuyển đến YOLO()
lớp để tạo một thể hiện mô hình 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")
CLI Các lệnh có sẵn để chạy trực tiếp các mô hình:
Trích dẫn và xác nhận
Nếu bạn sử dụng YOLOv8 Mô hình 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 bạn, vui lòng trích dẫn nó bằng định dạng sau:
Xin lưu ý rằng DOI đang chờ xử lý và sẽ được thêm vào trích dẫn khi có sẵn. YOLOv8 Các mô hình được cung cấp theo AGPL-3.0 và Giấy phép doanh nghiệp .
FAQ
Là gì YOLOv8 và nó khác với trước đây như thế nào YOLO Phiên bản?
YOLOv8 là lần lặp lại mới nhất trong Ultralytics YOLO series, đượ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 nâng cao. Không giống như các phiên bản trước, YOLOv8 kết hợp một Phân chia không neo Ultralytics Đầu, kiến trúc xương sống và cổ hiện đại, và cung cấp sự cân bằng tốc độ chính xá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 phần Tổng quan và Tính năng chính .
Tôi có thể sử dụng như thế nào YOLOv8 cho các tác vụ thị giác máy tính khác nhau?
YOLOv8 Hỗ trợ một loạt các tác vụ thị giác máy tính, bao gồm phát hiện đối tượng, phân đoạn phiên bản, phát hiện tư thế / điểm chính, phát hiện đối tượng định hướng và phân loại. Mỗi biến thể mô hình được tối ưu hóa cho nhiệm vụ cụ thể của nó và tương thích với các chế độ hoạt động khác nhau như Suy luận, Xác thực, Đào tạo và Xuất. Tham khảo phần Tác vụ và Chế độ được Hỗ trợ để biết thêm thông tin.
Các chỉ số hiệu suất để làm gì YOLOv8 Mô hình?
YOLOv8 Các mô hình đạt được hiệu suất hiện đại trên các bộ dữ liệu đo điểm chuẩn khác nhau. Ví dụ, các YOLOv8n mô hình đạt được mAP (Độ chính xác trung bình trung bình) là 37,3 trên tập dữ liệu COCO và tốc độ 0,99 ms trên A100 TensorRT. Bạn có thể tìm thấy số liệu hiệu suất chi tiết cho từng biến thể mô hình trên các tác vụ và bộ dữ liệu khác nhau trong phần Chỉ số hiệu suất .
Làm cách nào để đào tạo một YOLOv8 mẫu?
Đào tạo một YOLOv8 Mô hình có thể được thực hiện bằng cách sử dụng một trong hai Python hoặc CLI. Dưới đây là các ví dụ để đào tạo một mô hình bằng cách sử dụng COCO-pretrained YOLOv8 mô hình trên tập dữ liệu COCO8 cho 100 kỷ nguyên:
Ví dụ
Để biết thêm chi tiết, hãy truy cập tài liệu Đào tạo .
Tôi có thể điểm chuẩn không YOLOv8 Mô hình cho hiệu suất?
Có YOLOv8 Các mô hình có thể được đánh giá chuẩn về hiệu suất về tốc độ và độ chính xác trên các định dạng xuất khác nhau. Bạn có thể sử dụng PyTorch, ONNX, TensorRTvà hơn thế nữa để đo điểm chuẩn. Dưới đây là các lệnh ví dụ để đo điểm chuẩn bằng cách sử dụng Python và CLI:
Ví dụ
Để biết thêm thông tin, hãy kiểm tra phần Chỉ số hiệu suất .