YOLOv10 so với YOLOv5 : Kiến trúc và Hiệu suất Sâu sắc
Trong bối cảnh thị giác máy tính đang phát triển nhanh chóng, việc lựa chọn mô hình phát hiện đối tượng phù hợp là rất quan trọng đối với sự thành công của dự án. So sánh này khám phá những khác biệt kỹ thuật giữa YOLOv10 , một phiên bản học thuật gần đây tập trung vào NMS -đào tạo miễn phí và YOLOv5 , mô hình huyền thoại từ Ultralytics nổi tiếng với độ bền bỉ và khả năng ứng dụng rộng rãi trong ngành. Mặc dù cả hai mô hình đều bắt nguồn từ dòng sản phẩm "You Only Look Once", nhưng chúng đáp ứng các ưu tiên kỹ thuật và môi trường triển khai khác nhau.
Tổng quan về mô hình
YOLOv10 : Chuyên gia về hiệu quả
Được phát hành vào tháng 5 năm 2024 bởi các nhà nghiên cứu tại Đại học Thanh Hoa , YOLOv10 giới thiệu các cơ chế kiến trúc được thiết kế để loại bỏ nhu cầu sử dụng NMS (Non-Maximum Suppression) trong quá trình suy luận. Bằng cách sử dụng các phép gán kép nhất quán trong quá trình đào tạo, YOLOv10 nhằm mục đích giảm độ trễ đầu cuối, khiến nó trở thành ứng cử viên sáng giá cho các ứng dụng biên, nơi mà từng mili giây độ trễ suy luận đều quan trọng.
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- Arxiv: YOLOv10 : Phát hiện đối tượng đầu cuối theo thời gian thực
- GitHub: THU-MIG/yolov10
Ultralytics YOLOv5 : Tiêu chuẩn công nghiệp
Kể từ khi được Ultralytics phát hành vào năm 2020, YOLOv5 đã định nghĩa tính dễ sử dụng trong cộng đồng AI. Nó ưu tiên sự cân bằng giữa tốc độ, độ chính xác và tiện ích kỹ thuật. Ngoài các số liệu thô, YOLOv5 cung cấp một hệ sinh thái hoàn thiện, tích hợp liền mạch với các công cụ triển khai di động, nền tảng theo dõi thử nghiệm và quy trình quản lý tập dữ liệu. Tính linh hoạt của nó không chỉ dừng lại ở việc phát hiện mà còn bao gồm phân loại hình ảnh và phân đoạn thực thể .
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Date: 2020-06-26
- GitHub: ultralytics / yolov5
Sự khác biệt về kiến trúc
Sự khác biệt chính nằm ở cách xử lý dự đoán. YOLOv5 sử dụng kiến trúc dựa trên neo được tối ưu hóa cao dựa trên NMS để lọc các hộp giới hạn chồng chéo. Phương pháp này đã được kiểm chứng thực tế và hiệu quả trên nhiều tập dữ liệu khác nhau.
Ngược lại, YOLOv10 sử dụng chiến lược gán kép nhất quán . Điều này cho phép mô hình dự đoán một hộp tốt nhất duy nhất cho mỗi đối tượng trong quá trình suy luận, về mặt lý thuyết loại bỏ NMS bước hoàn toàn. Việc giảm chi phí xử lý hậu kỳ này là YOLOv10 tuyên bố chính của 'để nổi tiếng, cung cấp độ trễ thấp hơn trên các thiết bị biên như NVIDIA Jetson Orin Nano. Ngoài ra, YOLOv10 kết hợp các thiết kế hiệu quả toàn diện trong xương sống và đầu não để giảm thiểu các tham số (params) và các phép toán dấu chấm động (FLOP).
Hiệu quả bộ nhớ
Một dấu hiệu đặc trưng của Ultralytics các mô hình như YOLOv5 (và YOLO11 mới hơn) là dung lượng bộ nhớ được tối ưu hóa của chúng. Không giống như một số máy dò dựa trên biến áp tiêu thụ một lượng lớn CUDA ký ức, Ultralytics các mô hình được thiết kế để đào tạo hiệu quả trên phần cứng dành cho người tiêu dùng, giúp mọi người dễ dàng tiếp cận AI tiên tiến.
Các chỉ số hiệu suất
Bảng dưới đây nêu bật những sự đánh đổi về hiệu suất. YOLOv10 thường đạt được Độ chính xác trung bình trung bình ( mAP ) cao hơn với ít tham số hơn so với phiên bản cũ YOLOv5 kiến trúc. Tuy nhiên, YOLOv5 vẫn có khả năng cạnh tranh về tốc độ suy luận thô trên một số cấu hình phần cứng nhất định, đặc biệt là khi sử dụng các định dạng xuất được tối ưu hóa như TensorRT hoặc ONNX .
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Điểm mạnh và Điểm yếu
YOLOv10 Phân tích
Điểm mạnh:
- Không có NMS : Việc loại bỏ bước loại bỏ không tối đa sẽ đơn giản hóa quy trình triển khai và ổn định độ trễ suy luận.
- Hiệu quả tham số: Đạt được độ chính xác cao với trọng lượng mô hình nhỏ hơn, có lợi cho các thiết bị có bộ nhớ hạn chế.
- Độ chính xác hiện đại: Vượt trội hơn các loại cũ YOLO phiên bản thuần túy mAP số liệu trên COCO chuẩn mực.
Điểm yếu:
- Tính linh hoạt hạn chế: Chủ yếu tập trung vào phát hiện đối tượng, thiếu hỗ trợ gốc cho các tác vụ phức tạp như ước tính tư thế hoặc phát hiện Hộp giới hạn định hướng (OBB) được tìm thấy trong các phiên bản mới hơn Ultralytics các mô hình.
- Hệ sinh thái đang phát triển: Là một mô hình tập trung vào nghiên cứu, nó có thể thiếu các plugin cộng đồng mở rộng, tích hợp đã được thử nghiệm thực tế và hỗ trợ doanh nghiệp có sẵn cho Ultralytics -mô hình bản địa.
YOLOv5 Phân tích
Điểm mạnh:
- Tính linh hoạt vô song: Hỗ trợ phát hiện, phân đoạn và phân loại ngay lập tức.
- Hệ sinh thái mạnh mẽ: Được hỗ trợ bởi Ultralytics , nó tích hợp dễ dàng với các công cụ như Ultralytics HUB , Roboflow , Và Comet Máy tính
- Sẵn sàng triển khai: Có tài liệu mở rộng để xuất sang CoreML , TFLite , TensorRT , Và OpenVINO , đảm bảo triển khai sản xuất suôn sẻ.
- Hiệu quả đào tạo: Được biết đến với động lực đào tạo ổn định và sử dụng bộ nhớ thấp, giúp các nhà phát triển có thể truy cập được với một GPU thiết lập.
Điểm yếu:
- Kiến trúc lão hóa: Mặc dù vẫn mạnh mẽ, nhưng nó thuần túy mAP Tỷ lệ /FLOP đã bị vượt qua bởi các phiên bản mới hơn như YOLOv8 và YOLO11 .
- Phụ thuộc vào neo: Dựa vào các hộp neo có thể yêu cầu điều chỉnh thủ công cho các tập dữ liệu có tỷ lệ khung hình đối tượng cực đại.
Các trường hợp sử dụng lý tưởng
Sự lựa chọn giữa hai giải pháp này thường phụ thuộc vào những hạn chế cụ thể của môi trường triển khai của bạn.
- Chọn YOLOv10 nếu: Bạn đang xây dựng một hệ thống phát hiện đối tượng chuyên dụng cho một thiết bị nhúng trong đó loại bỏ NMS chi phí tính toán cung cấp lợi thế tốc độ quan trọng hoặc nếu bạn yêu cầu tốc độ cao nhất tuyệt đối mAP từ một mô hình có diện tích nhỏ.
- Chọn YOLOv5 nếu: Bạn cần một mô hình đa nhiệm, đáng tin cậy cho quy trình sản xuất. Khả năng xử lý phân đoạn và phân loại phiên bản của nó khiến nó trở thành "con dao đa năng" cho AI thị giác. Hơn nữa, nếu nhóm của bạn dựa vào quy trình làm việc MLOps tiêu chuẩn, việc tích hợp liền mạch YOLOv5 vào Ultralytics hệ sinh thái làm giảm đáng kể thời gian phát triển.
Trải nghiệm người dùng và hệ sinh thái
Một trong những đặc điểm xác định của Ultralytics mô hình tập trung vào trải nghiệm của nhà phát triển. YOLOv5 đặt ra tiêu chuẩn cho "nó chỉ hoạt động", và triết lý này vẫn tiếp tục. Người dùng có thể đào tạo một YOLOv5 mô hình hóa trên dữ liệu tùy chỉnh chỉ với một vài dòng mã, tận dụng trọng số được đào tạo trước để tăng tốc độ hội tụ.
Ngược lại, trong khi YOLOv10 mang lại kết quả học thuật tuyệt vời, việc tích hợp nó vào quy trình sản xuất phức tạp có thể đòi hỏi nhiều kỹ thuật tùy chỉnh hơn. Ultralytics duy trì một cộng đồng nguồn mở năng động, đảm bảo các lỗi được khắc phục nhanh chóng và các tính năng được thêm vào dựa trên phản hồi thực tế của người dùng.
So sánh mã
Việc chạy các mô hình này rất đơn giản. Dưới đây là các ví dụ về cách tải và dự đoán với từng mô hình bằng cách sử dụng Python .
Sử dụng YOLOv10 :
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()
Sử dụng YOLOv5 (thông qua PyTorch Trung tâm):
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference
results = model("path/to/image.jpg")
results.show()
Kết luận
Cả hai mô hình đều đại diện cho những thành tựu đáng kể trong lĩnh vực thị giác máy tính. YOLOv10 mở rộng ranh giới của việc tối ưu hóa độ trễ với NMS - Thiết kế miễn phí, khiến nó trở thành lựa chọn thú vị cho các nhiệm vụ phát hiện chuyên biệt, tốc độ cao.
Tuy nhiên, đối với hầu hết các nhà phát triển và doanh nghiệp, hệ sinh thái Ultralytics — được thể hiện ở đây bởi độ tin cậy bền bỉ của YOLOv5 và hiệu suất vượt trội của YOLO11 — mang đến một giải pháp toàn diện hơn. Sự kết hợp giữa tính dễ sử dụng, tài liệu hướng dẫn chi tiết và khả năng đa nhiệm đảm bảo bạn tiết kiệm thời gian gỡ lỗi và tăng thêm thời gian triển khai giá trị.
Đối với những người muốn nâng cấp từ YOLOv5 trong khi vẫn giữ nguyên các lợi ích của hệ sinh thái, chúng tôi đặc biệt khuyên bạn nên khám phá YOLO11 , công nghệ mang lại hiệu suất tiên tiến, khả năng phát hiện không cần neo và hỗ trợ toàn bộ các tác vụ thị giác bao gồm OBB và ước tính tư thế.