Bỏ qua nội dung

Ultralytics YOLOv5

Tổng quan

YOLOv5u đại diện cho sự tiến bộ trong phương pháp phát hiện đối tượng . Xuất phát từ kiến trúc nền tảng của mô hình YOLOv5 được phát triển bởi Ultralytics , YOLOv5u tích hợp đầu tách không có neo, không có đối tượng, một tính năng đã được giới thiệu trước đó trong các mô hình YOLOv8 . Sự điều chỉnh này tinh chỉnh kiến trúc của mô hình, dẫn đến sự đánh đổi giữa độ chính xác và tốc độ được cải thiện trong các tác vụ phát hiện đối tượng. Với các kết quả thực nghiệm và các tính năng có nguồn gốc 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

  • Đầu tách không neo Ultralytics : 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 phương pháp này. Bằng cách áp dụng tách không neo Ultralytics đầu, nó đảm bảo cơ chế phát hiện linh hoạt và thích ứng hơn, do đó nâng cao hiệu suất trong nhiều tình huống khác nhau.

  • Sự đánh đổi giữa độ chính xác và tốc độ được tối ưu hóa: 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 ả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 đòi hỏi phản hồi nhanh, chẳng hạn như xe tự hành, rô bốt và phân tích video theo thời gian thực.

  • Nhiều mô hình được đào tạo 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 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, thì vẫn 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 rằng bạn không chỉ sử dụng một giải pháp phù hợp với mọi đối tượng, mà là một mô hình được tinh chỉnh cụ thể cho thách thức độc đáo của bạn.

Nhiệm vụ và chế độ được hỗ trợ

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

Kiểu mẫu Tạ đã được tập luyện trước Nhiệm vụ Suy luận Xác thực Đà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, 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 nhiều chế độ hoạt động khác nhau như Suy luận , Xác thực , Đào tạoXuất . Hỗ trợ toàn diện này đảm bảo rằng người dùng có thể tận dụng đầy đủ các khả năng của mô hình YOLOv5u trong nhiều tình huống phát hiện đối tượng.

Số liệu hiệu suất

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 được đào tạo trên COCO , bao gồm 80 lớp được đào tạo trước.

Người mẫu YAML kích cỡ
(điểm ảnh)
giá trị mAP
50-95
Tốc độ
CPU ONNX
(bệnh đa xơ cứng)
Tốc độ
A100 TensorRT
(bệnh đa xơ cứng)
tham số
(Nam)
Thất bại
(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ụ về đà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 Predict , Train , ValExport .

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à Lời cảm ơn

Ultralytics YOLOv5 Xuất bản

Ultralytics chưa công bố một bài báo nghiên cứu chính thức nào 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 cải tiến 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 mới nhất về YOLO kiến trúc, tính năng và cách sử dụng, vui lòng tham khảo kho lưu trữ và tài liệu GitHub của chúng tôi.

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 giấy phép AGPL-3.0Enterprise .

CÂU HỎI THƯỜNG GẶP

Là gì Ultralytics YOLOv5u và nó khác với YOLOv5 ?

Ultralytics YOLOv5u là phiên bản nâng cao của YOLOv5 , tích hợp đầu tách không có neo, không có đối tượng giúp tăng cường sự cân bằng giữa độ chính xác và tốc độ cho các nhiệm 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 nhiều tình huống khác nhau. Để 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 .

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

Không có mỏ neo Ultralytics head 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 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. Sự 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 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 nhiệm 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 nhiều 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 các 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 Nhiệm vụ và Chế độ được hỗ trợ .

Hiệu suất của các mô hình YOLOv5u được so sánh như thế nào trên các nền tảng khác nhau?

Các số liệu 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 đượ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 . Bạn có thể tìm thấy số liệu hiệu suất chi tiết cho các mẫu YOLOv5u khác nhau trong phần Số liệu hiệu suất , cung cấp thông tin so sánh toàn diện giữa nhiều thiết bị khác nhau.

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

Bạn có thể đào tạo 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. Sau đâ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 .

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 1 tháng

Bình luận