Ultralytics YOLO27:
Get Started

Ultralytics YOLOv5#

Tổng quan#

YOLOv5u là 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 model YOLOv5 do Ultralytics phát triển, YOLOv5u tích hợp head tách không cần anchor và không cần objectness, một tính năng trước đó được giới thiệu trong các model YOLOv8. Bản điều chỉnh này cải tiến kiến trúc model, giúp 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 kết quả thực nghiệm và các tính năng kế thừa, YOLOv5u là lựa chọn thay thế hiệu quả cho những ai cần giải pháp mạnh mẽ trong cả nghiên cứu lẫn ứng dụng thực tế.

Kiến trúc và hiệu suất của model phát hiện đối tượng YOLOv5

Các model được huấn luyện bằng repo YOLOv5 gốc không tương thích với thư viện Ultralytics

Ultralytics cung cấp biến thể YOLOv5 không cần anchor. Không thể tải các model được huấn luyện bằng repo ultralytics/yolov5 bằng thư viện ultralytics/ultralytics. Để sử dụng YOLOv5 tại đây, hãy huấn luyện model mới từ checkpoint Ultralytics YOLOv5u (ví dụ: yolov5su.pt).

Dùng thử trên Ultralytics Platform

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

Tính năng chính#

  • Head Ultralytics tách không cần anchor: Các model 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 sử dụng head Ultralytics tách không cần anchor, model đảm bảo cơ chế phát hiện linh hoạt và thích ứng hơn, từ đó cải thiện hiệu suất trong nhiều tình huống khác nhau.

  • 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 nghịch nhau. Tuy nhiên, YOLOv5u phá vỡ sự đánh đổi này. Model đem lại sự cân bằng được hiệu chỉnh, đảm bảo khả năng phát hiện 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 hữu ích cho các ứng dụng cần phản hồi nhanh, chẳng hạn như xe tự hành, robotics và phân tích video thời gian thực.

  • Đa dạng model pretrained: Hiểu rằng mỗi tác vụ cần bộ công cụ riêng, YOLOv5u cung cấp nhiều model pretrained. Dù bạn tập trung vào Inference, Validation hay Training, luôn có model được thiết kế phù hợp đang chờ bạn. Sự đa dạng này đảm bảo bạn không chỉ sử dụng một giải pháp chung cho mọi trường hợp mà còn có model được tinh chỉnh riêng cho thách thức cụ thể của mình.

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

Các model YOLOv5u với nhiều trọng số pretrained khác nhau hoạt động xuất sắc trong các tác vụ Phát hiện đối tượng. Model hỗ trợ đầy đủ nhiều chế độ, phù hợp với các ứng dụng đa dạng từ phát triển đến triển khai.

Loại modelWeights pretrainedTác vụHuấn luyệnValidationSuy luậnExport
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uPhát hiện đối tượng✅✅✅✅

Bảng này cung cấp tổng quan chi tiết về các biến thể model YOLOv5u, nêu bật khả năng ứng dụng trong các tác vụ phát hiện đối tượng và hỗ trợ nhiều chế độ vận hành như Inference, Validation, Training và Export. Khả năng hỗ trợ toàn diện này đảm bảo người dùng có thể khai thác đầy đủ năng lực của các model YOLOv5u trong nhiều tình huống phát hiện đối tượng.

Chỉ số hiệu năng#

Hiệu năng

Xem Tài liệu về Detection để biết ví dụ sử dụng các model này được huấn luyện trên COCO, bao gồm 80 class được huấn luyện trước.

ModelYAMLkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.331.3
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.397.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.2261.3
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1549.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.51002.8

Ví dụ sử dụng#

Ví dụ này cung cấp các ví dụ đơn giản về huấn luyện và inference YOLOv5. Để xem tài liệu đầy đủ về các chế độ này và những chế độ khác, hãy tham khảo các trang tài liệu modes, Predict, Train, Val và Export.

Ví dụ

Có thể truyền các model *.pt pretrained PyTorch cũng như các file cấu hình *.yaml vào class YOLO() để tạo một instance model trong Python:

from ultralytics import YOLO

# Tải model YOLOv5nu pretrained trên COCO
model = YOLO("yolov5nu.pt")

# Hiển thị thông tin model (không bắt buộc)
model.info()

# Huấn luyện model trên dataset mẫu COCO8 trong 100 epoch
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Chạy inference bằng model YOLOv5nu trên ảnh 'bus.jpg'
results = model("path/to/bus.jpg")

Trích dẫn và lời cảm ơn#

Ấn phẩm Ultralytics YOLOv5

Ultralytics chưa công bố bài nghiên cứu chính thức về YOLOv5 do các model phát triển nhanh chóng. Chúng tôi tập trung cải tiến công nghệ và giúp công nghệ dễ sử dụng hơn, thay vì tạo 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, vui lòng tham khảo repo GitHub và tài liệu của chúng tôi.

Nếu sử dụng YOLOv5 hoặc YOLOv5u trong nghiên cứu, vui lòng trích dẫn repo Ultralytics YOLOv5 như sau:

Trích dẫn
@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 model YOLOv5 được cung cấp theo giấy phép AGPL-3.0 và Enterprise.

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

  • Ultralytics YOLOv5u là phiên bản nâng cao của YOLOv5, tích hợp head tách không cần anchor và không cần objectness, giúp cải thiện khả năng cân bằng giữa độ chính xác và tốc độ trong các tác vụ phát hiện đối tượng thời gian thực. Không giống YOLOv5 truyền thống, YOLOv5u sử dụng cơ chế phát hiện không cần anchor, giúp model linh hoạt và thích ứng hơn trong nhiều tình huống. Để biết thêm chi tiết về các tính năng, bạn có thể tham khảo Tổng quan về YOLOv5.

  • Head 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. Nhờ đó, cơ chế phát hiện linh hoạt và thích ứng hơn có thể xử lý hiệu quả nhiều kích thước và hình dạng đối tượng. Cải tiến này trực tiếp góp phần cân bằng giữa độ chính xác và tốc độ, giúp YOLOv5u phù hợp với các ứng dụng thời gian thực. Tìm hiểu thêm về kiến trúc trong phần Tính năng chính.

  • Có, bạn có thể sử dụng model YOLOv5u pretrained cho nhiều tác vụ như Phát hiện đối tượng. Các model này hỗ trợ nhiều chế độ, bao gồm Inference, Validation, Training và Export. Tính linh hoạt này cho phép người dùng khai thác năng lực của các model YOLOv5u trong nhiều yêu cầu vận hành khác nhau. Để xem tổng quan chi tiết, hãy tham khảo phần Tác vụ và chế độ được hỗ trợ.

  • Chỉ số hiệu suất của các model YOLOv5u thay đổi tùy theo nền tảng và phần cứng được sử dụng. Ví dụ, model 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ó thể tìm thấy chỉ số hiệu suất chi tiết của các model YOLOv5u khác nhau trong phần Chỉ số hiệu suất, nơi cung cấp so sánh toàn diện trên nhiều thiết bị.

  • Bạn có thể huấn luyện model YOLOv5u bằng cách tải model pretrained và chạy lệnh training với dataset của mình. Dưới đây là ví dụ nhanh:

    Ví dụ
    from ultralytics import YOLO
    
    # Tải model YOLOv5nu pretrained trên COCO
    model = YOLO("yolov5nu.pt")
    
    # Hiển thị thông tin model (không bắt buộc)
    model.info()
    
    # Huấn luyện model trên dataset mẫu COCO8 trong 100 epoch
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Để xem hướng dẫn chi tiết hơn, hãy truy cập phần Ví dụ sử dụng.

Bình luận