Bỏ để qua phần nội dung

YOLOv5

Tổng quan

YOLOv5u đại diện cho một sự tiến bộ trong 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 YOLOv5 Mô hình được phát triển bởi Ultralytics, YOLOv5u tích hợp đầu tách không neo, không đối tượng, một tính năng được giới thiệu trước đây trong YOLOv8 Mô hình. 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ốc độ chính xác được cải thiện trong các tác vụ phát hiện đối tượng. Với kết quả thực nghiệm và các tính năng dẫn xuất của nó, YOLOv5u cung cấp một giải pháp thay thế hiệu quả cho những người 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 YOLOv5

Các tính năng chính

  • Chia tách không neo Ultralytics Head: Các mô hình phát hiện đối tượng truyền thống dựa vào các hộp neo được xác định trước để dự đoán vị trí đối tượng. Tuy nhiên, YOLOv5u hiện đại hóa cách tiếp cận này. Bằng cách áp dụng phân chia không neo Ultralytics Đầu tiên, nó đảm bảo một cơ chế phát hiện linh hoạt và thích ứng hơn, do đó nâng cao hiệu suất trong các tình huống đa dạng.

  • Tối ưu hóa sự đánh đổi độ chính xác-tốc độ: Tốc độ và độ chính xác thường kéo theo hướng ngược nhau. Nhưng YOLOv5u thách thức sự đánh đổi này. Nó cung cấp một sự cân bằng hiệu chuẩn, đảm bảo phát hiện thời gian thực mà không ảnh hưởng đến độ chính xác. Tính năng này đặc biệt vô giá đối với các ứng dụng yêu cầu phản hồi nhanh, chẳng hạn như xe tự hành, robot và phân tích video thời gian thực.

  • Nhiều mô hình Pre-training: Hiểu rằng các nhiệm vụ khác nhau đòi hỏi các bộ công cụ khác nhau, YOLOv5u cung cấp rất nhiều mô hình được đào tạo trước. Cho dù bạn đang tập trung vào Suy luận, Xác thực hay Đào tạo, có một mô hình được thiết kế riêng đang chờ bạn. Sự đa dạng này đảm bảo bạn không chỉ sử dụng giải pháp một kích thước phù hợp với tất cả, mà còn là một mô hình được tinh chỉnh đặc biệt cho thử thách độc đáo của bạn.

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

Các mô hình YOLOv5u, với nhiều trọng lượng được đào tạo trước khác nhau, vượt trội trong các nhiệm vụ Phát hiện đối tượng . Chúng hỗ trợ một loạt các chế độ, làm cho chúng phù hợp với các ứng dụng đa dạng, từ phát triển đến triển khai.

Loại mô hình Trọng lượng được đào tạo trước Nhiệm vụ Suy luận Xác nhận Đào tạo Xuất khẩu
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 tổng quan chi tiết về các biến thể mô hình YOLOv5u, nêu 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ợ các chế độ hoạt động khác nhau như Suy luận, Xác thực, Đào tạoXuấ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 khả năng của các mô hình YOLOv5u trong một loạt các tình huống phát hiện đối tượng.

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 YAML 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)
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

Ví dụ sử dụng

Ví dụ này cung cấp đơn giản YOLOv5 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, ValXuất .

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 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")

CLI Các lệnh có sẵn để chạy trực tiếp các mô hình:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Trích dẫn và xác nhận

Nếu bạn sử dụng YOLOv5 hoặc YOLOv5u trong nghiên cứu của bạn, vui lòng trích dẫn Ultralytics YOLOv5 kho lưu trữ 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 YOLOv5 Các mô hình được cung cấp theo AGPL-3.0 và Giấy phép doanh nghiệp .

FAQ

Là gì Ultralytics YOLOv5u và nó khác với như thế nào YOLOv5?

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

Làm thế nào để neo miễn phí Ultralytics đầu cải thiện hiệu suất phát hiện đối tượng trong YOLOv5u?

Không có neo Ultralytics đầu 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 neo đượ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ý các 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 trực tiếp góp phần vào sự cân bằng giữa độ chính xác và tốc độ, làm cho 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 của nó trong phần Tính năng chính .

Tôi có thể sử dụng các mô hình YOLOv5u được đào tạo 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 đào tạo 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, Đào tạoXuất. Tính linh hoạt này cho phép người dùng tận dụng khả năng của các mô hình YOLOv5u trên các yêu cầu hoạt động khác nhau. Để biết tổng quan chi tiết, hãy kiểm tra phần Tác vụ và Chế độ được hỗ trợ .

Làm thế nào để so sánh các chỉ số hiệu suất của các mô hình YOLOv5u 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 khác nhau 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 được 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 kiểu máy YOLOv5u khác nhau có thể được tìm thấy trong phần Chỉ số hiệu suất , cung cấp so sánh toàn diện trên các thiết bị khác nhau.

Làm cách nào để đào tạo mô hình YOLOv5u bằng cách sử dụng Ultralytics Python API?

Bạn có thể huấn luyện mô hình YOLOv5u bằng cách tải mô hình được đào tạo trước và chạy lệnh đào tạo với tập dữ liệu của bạn. Dưới đây là một ví dụ nhanh:

Ví dụ

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)
# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

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



Đã tạo 2023-11-12, Cập nhật 2024-07-04
Tác giả: glenn-jocher (15), Burhan-Q (1)

Ý kiến