Chuyển đến nội dung

YOLOv5 so với YOLOv10 : Sự phát triển của phát hiện đối tượng thời gian thực

Cảnh quan phát hiện đối tượng đã được định hình đáng kể bởi Bạn chỉ nhìn một lần ( YOLO ) loạt. Kể từ khi thành lập, YOLO có tốc độ và độ chính xác cân bằng, trở thành kiến trúc được các nhà phát triển thị giác máy tính tin tưởng. Bài so sánh này khám phá hai thời điểm quan trọng trong lịch sử: Ultralytics YOLOv5 , tiêu chuẩn công nghiệp về độ tin cậy và tính linh hoạt, và YOLOv10 , một phiên bản học thuật gần đây của Đại học Thanh Hoa giới thiệu NMS - Phát hiện miễn phí để nâng cao hiệu quả.

Tổng quan về mô hình

Ultralytics YOLOv5

Được phát hành vào tháng 6 năm 2020 bởi Glenn JocherUltralytics , YOLOv5 đã thay đổi căn bản cách triển khai các mô hình AI. Nó ưu tiên khả năng sử dụng, xuất sang nhiều định dạng khác nhau ( CoreML , ONNX , TFLite ), và hiệu suất mạnh mẽ trên phần cứng biên. Đây vẫn là một trong những mô hình thị giác phổ biến và được triển khai rộng rãi nhất trên toàn cầu nhờ triết lý "mọi thứ đều hoạt động" và sự hỗ trợ rộng rãi từ cộng đồng.

Tác giả chính: Glenn Jocher
Tổ chức: Ultralytics
Ngày phát hành: 26-06-2020
GitHub: ultralytics / yolov5

Tìm hiểu thêm về YOLOv5

YOLOv10

Được phát hành vào tháng 5 năm 2024 bởi các nhà nghiên cứu từ Đại học Thanh Hoa , YOLOv10 nhằm mục đích loại bỏ các nút thắt hậu xử lý được tìm thấy trong các phiên bản trước. Bằng cách giới thiệu các nhiệm vụ kép nhất quán cho NMS - Đào tạo miễn phí, tối ưu hóa quy trình suy luận, giảm độ trễ và chi phí tính toán.

Tác giả chính: Ao Wang, Hui Chen, et al.
Tổ chức: Đại học Thanh Hoa
Ngày phát hành: 2024-05-23
arXiv: YOLOv10 : Phát hiện đối tượng đầu cuối theo thời gian thực

Tìm hiểu thêm về YOLOv10

Đổi mới mới nhất

Khi so sánh các kiến trúc mạnh mẽ này, các nhà phát triển đang khởi động dự án mới cũng nên đánh giá YOLO11 . Nó phát huy thế mạnh của cả hai, mang lại độ chính xác vượt trội, khả năng trích xuất đặc điểm được cải thiện và hỗ trợ gốc cho nhiều tác vụ đa dạng như ước tính tư thếphát hiện đối tượng theo hướng .

Kiến trúc và Đổi mới Kỹ thuật

Sự khác biệt về kiến trúc giữa YOLOv5 Và YOLOv10 làm nổi bật sự chuyển dịch từ độ tin cậy dựa trên mỏ neo sang hiệu quả tiên tiến, không cần mỏ neo.

YOLOv5 : Tiêu chuẩn dựa trên neo

YOLOv5 sử dụng xương sống CSPNet (Mạng phân đoạn chéo) cân bằng chiều sâu và chiều rộng của mô hình để giảm thiểu FLOPS trong khi vẫn duy trì độ chính xác. Nó dựa vào các hộp neo — các hình dạng được xác định trước giúp mô hình dự đoán kích thước vật thể.

  • Xương sống: CSP-Darknet53 tập trung vào luồng gradient.
  • Đầu: Đầu kết hợp với dự đoán dựa trên mỏ neo.
  • Hậu xử lý: Yêu cầu NMS (Non-Maximum Suppression) để lọc các phát hiện trùng lặp.

YOLOv10 : NMS - Hiệu quả miễn phí

YOLOv10 giới thiệu một thiết kế toàn diện hướng đến hiệu quả-độ chính xác. Tính năng nổi bật của nó là chiến lược huấn luyện không cần NMS sử dụng các phép gán kép nhất quán. Điều này cho phép mô hình dự đoán chính xác một hộp giới hạn cho mỗi đối tượng trong quá trình suy luận, loại bỏ độ trễ gây ra bởi độ trễ. NMS bước hoàn toàn.

  • Xương sống: Được tăng cường với phép toán tích chập hạt nhân lớn và khả năng tự chú ý một phần.
  • Đầu: Đầu thống nhất kết hợp các nhãn gán một-nhiều và một-một.
  • Tối ưu hóa: Thiết kế khối theo thứ hạng để giảm sự trùng lặp.

Phân tích hiệu suất

Bảng sau đây so sánh các số liệu hiệu suất trên tập dữ liệu COCO . Trong khi YOLOv5 vẫn có tính cạnh tranh, đặc biệt là trong CPU tốc độ cho biến thể Nano của nó, YOLOv10 thể hiện hiệu quả vượt trội về mặt thông số và độ chính xác ( mAP ).

Mô hìnhKích thước
(pixels)
mAP giá trị
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Phân tích số liệu

  • Độ chính xác ( mAP ): YOLOv10 cho thấy sự gia tăng đáng kể về Độ chính xác trung bình . Ví dụ, YOLOv10n đạt 39,5 mAP so với 28,0 của YOLOv5n. mAP , giúp nó có khả năng phát hiện các vật thể khó hơn nhiều.
  • Hiệu quả: YOLOv10 đạt được những kết quả này với ít tham số hơn (2,3M so với 2,6M đối với mẫu Nano), thể hiện lợi ích của thiết kế kiến trúc được tối ưu hóa.
  • Tốc độ suy luận: YOLOv5n vẫn cực kỳ nhanh trên CPU ( 73,6ms ), điều này rất quan trọng đối với các ứng dụng không GPU các thiết bị biên như các thiết bị Raspberry Pi cũ hơn. Tuy nhiên, trên GPU phần cứng ( TensorRT ), YOLOv10 vẫn duy trì tốc độ cạnh tranh mặc dù có độ chính xác cao hơn.

Điểm mạnh và Điểm yếu

Ultralytics YOLOv5

  • Hệ sinh thái vô song: Được hỗ trợ bởi nhiều năm phát triển, đây là một trong những cộng đồng năng động lớn nhất. Các vấn đề được giải quyết nhanh chóng và nguồn tài nguyên dồi dào.
  • Tính linh hoạt: Ngoài khả năng phát hiện, nó còn hỗ trợ phân đoạn và phân loại hình ảnh .
  • Dễ sử dụng: API được thiết kế đơn giản. Việc tải mô hình từ PyTorch Hub chỉ cần một dòng mã.
  • Triển khai: Hỗ trợ rộng rãi cho các định dạng xuất đảm bảo chạy trên mọi thứ, từ điện thoại di động đến máy chủ đám mây.

YOLOv10

  • Độ trễ thấp: Việc loại bỏ NMS giảm đáng kể thời gian xử lý hậu kỳ, điều này rất quan trọng đối với các ứng dụng thời gian thực, nơi mà từng mili giây đều có giá trị.
  • Hiệu quả tham số: Mang lại độ chính xác cao hơn cho mỗi tham số, khiến nó trở thành ứng cử viên sáng giá cho các thiết bị có bộ nhớ hoặc dung lượng lưu trữ hạn chế.
  • Tập trung: Mặc dù mạnh mẽ, nhưng nó chủ yếu chuyên biệt cho việc phát hiện đối tượng, thiếu phạm vi đa nhiệm gốc (như ước tính tư thế) được tìm thấy trong Ultralytics YOLO loạt (v8, 11).

Yêu cầu về bộ nhớ

Cả hai mô hình đều được thiết kế để có trọng lượng nhẹ. Không giống như các mô hình máy biến áp lớn tiêu thụ một lượng lớn CUDA trí nhớ trong quá trình đào tạo, Ultralytics YOLO các mô hình được tối ưu hóa để tăng hiệu quả bộ nhớ , cho phép chúng được đào tạo trên GPU dành cho người tiêu dùng với VRAM khiêm tốn.

Các trường hợp sử dụng thực tế

Khi nào nên chọn YOLOv5

YOLOv5 là sự lựa chọn thực tế cho các hệ thống sản xuất đòi hỏi sự ổn định và hỗ trợ nền tảng rộng.

  • Tự động hóa công nghiệp: Được sử dụng rộng rãi trong sản xuất để kiểm soát chất lượng, nơi độ tin cậy là tối quan trọng.
  • Ứng dụng di động: Khả năng tương thích đã được chứng minh với iOS ( CoreML ) Và Android ( TFLite ) làm cho nó trở nên lý tưởng để tích hợp ứng dụng trên thiết bị.
  • Tạo mẫu nhanh: Khối lượng lớn hướng dẫn và tài liệu cho phép các nhà phát triển chuyển từ khái niệm sang POC chỉ trong vài giờ.

Khi nào nên chọn YOLOv10

YOLOv10 rất phù hợp cho những tình huống đòi hỏi tỷ lệ chính xác/hiệu quả cao nhất.

  • Robot tốc độ cao: NMS -Kiến trúc tự do làm giảm độ lệch độ trễ, điều này rất quan trọng đối với các vòng điều khiển của robot tự động.
  • Nghiên cứu học thuật: Các nhà nghiên cứu đang tìm cách so sánh với các mô hình phát hiện đầu cuối mới nhất sẽ tìm thấy YOLOv10 Kiến trúc mới lạ và hiệu quả.
  • Giám sát từ xa: Cao mAP với số lượng tham số thấp phù hợp với các hệ thống bảo mật hoạt động trên băng thông hoặc dung lượng lưu trữ hạn chế.

Đào tạo và Dễ sử dụng

Ultralytics ưu tiên trải nghiệm hợp lý của nhà phát triển. Cho dù sử dụng phiên bản cổ điển YOLOv5 kho lưu trữ hoặc hiện đại ultralytics gói dành cho các mẫu mới hơn, quy trình này rất trực quan.

Sử dụng YOLOv5

YOLOv5 nổi tiếng là dễ dàng để tải qua PyTorch Trung tâm cho suy luận tức thời.

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference on an image
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)

# Display results
results.show()

Sử dụng YOLOv10

YOLOv10 có thể được tích hợp bằng cách sử dụng ultralytics Python gói, được hưởng lợi từ cùng một API mạnh mẽ.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Train the model on COCO data
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference
model.predict("https://ultralytics.com/images/bus.jpg", save=True)

Kết luận

Cả hai kiến trúc đều là những cột mốc quan trọng trong lĩnh vực thị giác máy tính. YOLOv5 vẫn là nền tảng đáng tin cậy của ngành công nghiệp - mạnh mẽ, linh hoạt và được hỗ trợ bởi một hệ sinh thái khổng lồ. Đây là lựa chọn an toàn, "đáng tin cậy" cho các nhu cầu triển khai đa dạng. YOLOv10 vượt qua giới hạn hiệu quả với... NMS -Thiết kế miễn phí, cung cấp bản nâng cấp hấp dẫn cho người dùng tập trung cụ thể vào các nhiệm vụ phát hiện cần tối đa hóa độ chính xác trên phần cứng hạn chế.

Dành cho các nhà phát triển đang tìm kiếm sự hoàn hảo tuyệt đối của cả hai thế giới—kết hợp sự trưởng thành của hệ sinh thái Ultralytics Với độ chính xác và tốc độ tiên tiến nhất—chúng tôi khuyên bạn nên khám phá YOLO11 . Nó hợp nhất những tiến bộ này thành một khuôn khổ mạnh mẽ, duy nhất, sẵn sàng cho mọi tác vụ thị giác.

Để khám phá thêm các so sánh, hãy xem YOLOv5 so với YOLOv8 hoặc YOLOv10 so với YOLO11 .


Bình luận