Meet YOLO26: next-gen vision AI.

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 luận 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 phần head tách biệt không cần anchor, không cần objectness, 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 tối ưu hóa kiến trúc của mô hình, dẫn đến sự cân bằng độ chính xác-tốc độ tốt hơn 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 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ế.

Kiến trúc và hiệu suất mô hình phát hiện đối tượng YOLOv5

Các mô hình đượ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 một biến thể YOLOv5 không cần anchor. Các mô hình được huấn luyện bằng repo ultralytics/yolov5 không thể tải được với 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).

Thử nghiệm trên Ultralytics Platform

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 sectionTính năng chính#

  • Head Ultralytics tách biệt 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 anchor box đượ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 head Ultralytics tách biệt 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, nhờ đó nâng cao hiệu suất trong nhiều tình huống khác nhau.

  • Sự cân bằng độ chính xác-tốc độ tối ưu: 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ó mang 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 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, robot và phân tích video thời gian thực.

  • Đa dạng các mô hình tiền huấn luyện: 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 tiền huấn luyện. 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 được thiết kế riêng dành cho 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

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ố tiền huấn luyện 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 phù hợp với nhiều ứng dụng đa dạng, từ phát triển đến triển khai.

Loại modelTrọng số PretrainedTác vụSuy luậnValidationHuấn luyệnXuất (Export)
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uPhá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, nêu bật khả năng áp 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ế độ vận hành khác nhau như Suy luận, Xác thực, Huấn luyệnXuất. Sự hỗ trợ toàn diện này đảm bảo 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 nhiều tình huống phát hiện đối tượng.

Link to this sectionChỉ số 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 này đã được huấn luyện trên COCO, bao gồm 80 lớp đã được huấn luyện trước.

Mô hìnhYAMLkí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.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.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 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 Predict, Train, ValExport.

Ví dụ

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#

Ấn phẩm Ultralytics YOLOv5

Ultralytics chưa xuất bản một bài báo nghiên cứu chính thức nào cho YOLOv5 do tính chất phát triển nhanh chóng của các mô hình này. 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ì sản xuất tài liệu tĩnh. Để biết 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 lưu trữ GitHubtà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:

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}
}

Vui lòng lưu ý rằng các mô hình YOLOv5 được cung cấp theo giấy phép AGPL-3.0Enterprise.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionUltralytics YOLOv5u là gì và nó khác gì so với YOLOv5?#

Ultralytics YOLOv5u là một phiên bản nâng cao của YOLOv5, tích hợp phần head tách biệt không cần anchor, không cần objectness giúp cải thiện sự cân bằng độ 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ông giống như YOLOv5 truyền thống, YOLOv5u áp dụng cơ chế phát hiện không cần anchor, giúp nó linh hoạt và thích ứng hơn trong nhiều tình huống đ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 sectionHead 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?#

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 anchor box đượ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 suất cao hơn. Sự cải tiến này đóng góp trực tiếp vào sự cân bằng giữa độ chính xác và tốc độ, làm cho 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 tiền huấn luyện 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 tiền huấn luyện 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ệnXuất. Sự 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 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 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 Các Chỉ số Hiệu suất, cung cấp một sự so sánh toàn diện trên các thiết bị khác nhau.

Link to this sectionLàm cách nào để tôi có thể huấn luyện một mô hình YOLOv5u bằng API Python của Ultralytics?#

Bạn có thể huấn luyện một mô hình YOLOv5u bằng cách tải một mô hình tiền huấn luyện và chạy lệnh huấn luyện 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)

Để biết thêm các hướng dẫn chi tiết, hãy truy cập phần Ví dụ về Cách Sử dụng.

Bình luận