Link to this sectionUltralytics YOLOv5#
Link to this sectionTổng quan#
YOLOv5u đại diện cho một bước tiến trong các phương pháp phát hiện đối tượng. Bắt nguồn từ kiến trúc nền tảng của mô hình YOLOv5 do Ultralytics phát triển, YOLOv5u tích hợp split head (đầu phân tách) không cần anchor và không phụ thuộc vào tính đối tượng (objectness-free), một tính năng đã được giới thiệu trước đó trong các mô hình YOLOv8. Sự thích ứng này tinh chỉnh kiến trúc của mô hình, dẫn đến sự cân bằng tốt hơn giữa độ chính xác và tốc độ trong các tác vụ phát hiện đối tượng. Dựa trên các kết quả thực nghiệm và các tính năng được kế thừa, YOLOv5u cung cấp một giải pháp thay thế hiệu quả cho những ai đang tìm kiếm các giải pháp mạnh mẽ trong cả nghiên cứu và ứng dụng thực tế.

Ultralytics cung cấp một biến thể không cần anchor của mô hình YOLOv5. Các mô hình được huấn luyện bằng repo ultralytics/yolov5 không thể được tải bằng thư viện ultralytics/ultralytics. Để sử dụng YOLOv5 tại đây, hãy huấn luyện một mô hình mới từ checkpoint Ultralytics YOLOv5u (ví dụ: yolov5su.pt).
Khám phá và chạy các mô hình YOLOv5 trực tiếp trên Nền tảng Ultralytics.
Link to this sectionCác tính năng chính#
-
Đầu Ultralytics phân tách không cần Anchor: Các mô hình phát hiện đối tượng truyền thống dựa vào các hộp anchor được xác định trước để dự đoán vị trí đối tượng. Tuy nhiên, YOLOv5u hiện đại hóa phương pháp này. Bằng cách áp dụng đầu Ultralytics phân tách không cần anchor, nó đảm bảo một cơ chế phát hiện linh hoạt và thích ứng hơn, từ đó nâng cao hiệu suất trong các kịch bản đa dạng.
-
Sự cân bằng tối ưu giữa Độ chính xác và Tốc độ: Tốc độ và độ chính xác thường đi ngược chiều nhau. Nhưng YOLOv5u thách thức sự đánh đổi này. Nó cung cấp sự cân bằng được hiệu chuẩn, đảm bảo phát hiện theo thời gian thực mà không làm giảm độ chính xác. Tính năng này đặc biệt vô giá đối với các ứng dụng đòi hỏi phản hồi nhanh, chẳng hạn như phương tiện tự hành, robot, và phân tích video thời gian thực.
-
Đa dạng các mô hình được huấn luyện trước: Hiểu rằng các tác vụ khác nhau đòi hỏi các bộ công cụ khác nhau, YOLOv5u cung cấp vô số các mô hình đã được huấn luyện trước. Cho dù bạn đang tập trung vào suy luận (Inference), xác thực (Validation), hay huấn luyện (Training), luôn có một mô hình phù hợp dành cho bạn. Sự đa dạng này đảm bảo rằng bạn không chỉ sử dụng một giải pháp dùng chung cho mọi trường hợp, mà là một mô hình được tinh chỉnh đặc biệt cho thách thức độc nhất của bạn.
Link to this sectionCác tác vụ và chế độ được hỗ trợ#
Các mô hình YOLOv5u, với nhiều trọng số được huấn luyện trước khác nhau, vượt trội trong các tác vụ Phát hiện đối tượng. Chúng hỗ trợ một loạt các chế độ toàn diện, khiến chúng trở nên phù hợp cho các ứng dụng đa dạng, từ phát triển đến triển khai.
| Loại mô hình | Trọng số huấn luyện trước | Tác vụ | Suy luận (Inference) | Validation | Training | Export |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | Phát hiện đối tượng | ✅ | ✅ | ✅ | ✅ |
Bảng này cung cấp cái nhìn tổng quan chi tiết về các biến thể mô hình YOLOv5u, làm nổi bật khả năng ứng dụng của chúng trong các tác vụ phát hiện đối tượng và hỗ trợ cho các chế độ vận hành khác nhau như Suy luận, Xác thực, Huấn luyện, và Xuất. Sự hỗ trợ toàn diện này đảm bảo rằng người dùng có thể tận dụng tối đa các khả năng của các mô hình YOLOv5u trong nhiều kịch bản phát hiện đối tượng.
Link to this sectionCác chỉ số hiệu suất#
Xem Tài liệu phát hiện để biết 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.
| Model | YAML | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ A100 TensorRT (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| yolov5nu.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
| yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
| yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
| yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
| yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
| yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
| yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
| yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
| yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
| yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
Link to this sectionVí dụ sử dụng#
Ví dụ này cung cấp các ví dụ đơn giản về huấn luyện và suy luận với YOLOv5. Để 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 (Predict), Huấn luyện (Train), Xác thực (Val) và Xuất (Export).
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 YOLOv5n model
model = YOLO("yolov5n.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 YOLOv5n 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 một bài báo nghiên cứu chính thức cho YOLOv5 do bản chất phát triển nhanh chóng của các mô hình. 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. Để có 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 GitHub và tài liệu của chúng tôi.
Nếu bạn sử dụng YOLOv5 hoặc YOLOv5u trong nghiên cứu của mình, vui lòng trích dẫn kho lưu trữ Ultralytics YOLOv5 như sau:
@software{yolov5,
title = {Ultralytics YOLOv5},
author = {Glenn Jocher},
year = {2020},
version = {7.0},
license = {AGPL-3.0},
url = {https://github.com/ultralytics/yolov5},
doi = {10.5281/zenodo.3908559},
orcid = {0000-0001-5950-6979}
}Xin lưu ý rằng các mô hình YOLOv5 đượ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 sectionUltralytics YOLOv5u là gì và nó khác biệt thế nào với YOLOv5?#
Ultralytics YOLOv5u là một phiên bản nâng cao của YOLOv5, tích hợp đầu phân tách không cần anchor và không phụ thuộc vào tính đối tượng, giúp nâng cao sự đánh đổi về độ chính xác-tốc độ cho các tác vụ phát hiện đối tượng thời gian thực. Khác với YOLOv5 truyền thống, YOLOv5u áp dụng cơ chế phát hiện không cần anchor, làm cho nó linh hoạt và thích ứng hơn trong các kịch bản đa dạng. Để biết thông tin chi tiết hơn về các tính năng của nó, bạn có thể tham khảo Tổng quan về YOLOv5.
Link to this sectionĐầu Ultralytics không cần anchor cải thiện hiệu suất phát hiện đối tượng trong YOLOv5u như thế nào?#
Đầu Ultralytics không cần anchor trong YOLOv5u cải thiện hiệu suất phát hiện đối tượng bằng cách loại bỏ sự phụ thuộc vào các hộp anchor được xác định trước. Điều này dẫn đến một cơ chế phát hiện linh hoạt và thích ứng hơn, có thể xử lý nhiều kích thước và hình dạng đối tượng khác nhau với hiệu quả cao hơn. Cải tiến này góp phần trực tiếp vào sự cân bằng giữa độ chính xác và tốc độ, giúp YOLOv5u phù hợp cho các ứng dụng thời gian thực. Tìm hiểu thêm về kiến trúc của nó trong phần Các tính năng chính.
Link to this sectionTôi có thể sử dụng các mô hình YOLOv5u đã được huấn luyện trước cho các tác vụ và chế độ khác nhau không?#
Có, bạn có thể sử dụng các mô hình YOLOv5u đã được huấn luyện trước cho các tác vụ khác nhau như Phát hiện đối tượng. Các mô hình này hỗ trợ nhiều chế độ, bao gồm Suy luận, Xác thực, Huấn luyện, và Xuất. Sự linh hoạt này cho phép người dùng tận dụng các khả năng của mô hình YOLOv5u trên các yêu cầu vận hành khác nhau. Để biết tổng quan chi tiết, hãy xem phần Các tác vụ và chế độ được hỗ trợ.
Link to this sectionCác chỉ số hiệu suất của các mô hình YOLOv5u so sánh như thế nào trên các nền tảng khác nhau?#
Các chỉ số hiệu suất của các mô hình YOLOv5u thay đổi tùy thuộc vào nền tảng và phần cứng được sử dụng. Ví dụ, mô hình YOLOv5nu đạt 34.3 mAP trên tập dữ liệu COCO với tốc độ 73.6 ms trên CPU (ONNX) và 1.06 ms trên A100 TensorRT. Các chỉ số hiệu suất chi tiết cho các mô hình YOLOv5u khác nhau có thể được tìm thấy trong phần Chỉ số hiệu suất, phần này cung cấp sự so sánh toàn diện trên các thiết bị khác nhau.
Link to this sectionLàm thế nào để tôi có thể huấn luyện một mô hình YOLOv5u bằng Ultralytics Python API?#
Bạn có thể huấn luyện một model YOLOv5u bằng cách tải một model đã được huấn luyện sẵn và chạy lệnh huấn luyện với bộ dữ liệu của bạn. Dưới đây là ví dụ nhanh:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.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)Để biết thêm hướng dẫn chi tiết, hãy truy cập phần Ví dụ sử dụng.