YOLOv5 so với YOLOv7 : Cân bằng hệ sinh thái và kiến trúc
Việc lựa chọn mô hình phát hiện đối tượng phù hợp là một quyết định quan trọng đối với cả nhà phát triển và nhà nghiên cứu. Trong quá trình phát triển YOLO (Bạn chỉ nhìn một lần), YOLOv5 và YOLOv7 nổi bật là những kiến trúc quan trọng đã định hình nên bối cảnh của thị giác máy tính . Trong khi YOLOv7 đã giới thiệu những cải tiến kiến trúc quan trọng về độ chính xác, Ultralytics YOLOv5 đã cách mạng hóa trải nghiệm của nhà phát triển bằng cách tập trung vào khả năng sử dụng, triển khai và hệ sinh thái mạnh mẽ.
Hướng dẫn này cung cấp so sánh kỹ thuật chuyên sâu về hai mô hình này, phân tích kiến trúc, số liệu hiệu suất trên tập dữ liệu COCO và tính phù hợp cho các ứng dụng thực tế.
Ultralytics YOLOv5 : Tiêu chuẩn Kỹ thuật
Ra mắt vào năm 2020, YOLOv5 đã định nghĩa lại kỳ vọng cho phần mềm phát hiện đối tượng nguồn mở. Không giống như các phiên bản trước đây chủ yếu tồn tại dưới dạng mã nghiên cứu, YOLOv5 được thiết kế như một nền tảng sẵn sàng cho sản phẩm. Nó ưu tiên tính dễ sử dụng, khả năng xuất khẩu và tốc độ, khiến nó trở thành lựa chọn hàng đầu cho các công ty xây dựng ứng dụng suy luận thời gian thực .
Tác giả: Glenn Jocher
Tổ chức: Ultralytics
Ngày: 26-06-2020
GitHub: https://github.com/ ultralytics / yolov5
Tài liệu: https://docs. ultralytics .com/models/ yolov5 /
Ưu điểm chính của YOLOv5
- Thiết kế lấy người dùng làm trung tâm: YOLOv5 đã giới thiệu một API hợp lý và quy trình đào tạo liền mạch giúp giảm bớt rào cản khi đào tạo các mô hình phát hiện đối tượng tùy chỉnh.
- Tính linh hoạt triển khai: Với hỗ trợ gốc cho các chế độ xuất khẩu , YOLOv5 các mô hình có thể dễ dàng được chuyển đổi sang các định dạng như ONNX , CoreML , TFLite và TensorRT để triển khai trên nhiều phần cứng khác nhau.
- Sử dụng tài nguyên hiệu quả: Kiến trúc được tối ưu hóa để tiêu thụ ít bộ nhớ, lý tưởng cho các thiết bị AI biên như NVIDIA Jetson hoặc Raspberry Pi.
Hỗ trợ hệ sinh thái
YOLOv5 được hỗ trợ bởi toàn diện Ultralytics hệ sinh thái. Điều này bao gồm tích hợp liền mạch với các công cụ theo dõi thử nghiệm như Comet và MLflow , cũng như các nền tảng quản lý tập dữ liệu.
YOLOv7 : Phương pháp "Túi quà miễn phí"
Phát hành năm 2022, YOLOv7 tập trung mạnh mẽ vào việc mở rộng ranh giới của độ chính xác thông qua tối ưu hóa kiến trúc. Các tác giả đã giới thiệu một số khái niệm mới nhằm cải thiện việc học thuộc tính mà không làm tăng chi phí suy luận, một chiến lược mà họ gọi là "túi quà tặng miễn phí có thể đào tạo được".
Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Trung Quốc, Đài Loan
Ngày: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Tài liệu: https://docs. ultralytics .com/models/yolov7/
Đổi mới kiến trúc
YOLOv7 Kết hợp Mạng Tổng hợp Lớp Hiệu quả Mở rộng (E-ELAN) để nâng cao khả năng học của mạng. Nó cũng sử dụng các kỹ thuật mở rộng mô hình, cho phép điều chỉnh đồng thời chiều sâu và chiều rộng của kiến trúc. Mặc dù hiệu quả trong việc nâng cao điểm mAP , những thay đổi kiến trúc phức tạp này đôi khi có thể khiến việc điều chỉnh hoặc triển khai mô hình trở nên khó khăn hơn so với xương sống CSP-Darknet đơn giản hơn trong YOLOv5 .
So sánh hiệu suất kỹ thuật
Khi so sánh hai mô hình, sự đánh đổi thường nằm ở độ chính xác thô và tốc độ triển khai thực tế. YOLOv7 các mô hình (cụ thể là các biến thể lớn hơn) thường đạt được hiệu suất cao hơn mAP trên COCO tập dữ liệu val2017. Tuy nhiên, Ultralytics YOLOv5 duy trì sự thống trị về tốc độ suy luận và hiệu quả tham số, đặc biệt là với các biến thể nhỏ hơn (Nano và Small), rất quan trọng cho việc triển khai trên thiết bị di động .
Bảng dưới đây nêu bật các số liệu hiệu suất. Lưu ý tốc độ vượt trội của YOLOv5n , vẫn là một trong những lựa chọn nhanh nhất cho các môi trường cực kỳ hạn chế về tài nguyên.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Phân tích số liệu
- Tốc độ so với Độ chính xác: YOLOv7x đạt mAP cao hơn 53,1% , phù hợp cho các ứng dụng bảo mật cao cấp hoặc phân tích y tế, nơi mỗi pixel đều có giá trị. Tuy nhiên, đối với các ứng dụng như phân tích video hoặc dẫn đường tự động, thời gian suy luận 1,12ms của YOLOv5n trên TensorRT cung cấp tốc độ khung hình mà các mẫu máy nặng hơn không thể đạt được.
- Hiệu quả đào tạo: Ultralytics YOLOv5 sử dụng các chiến lược "AutoAnchor" và quá trình tiến hóa siêu tham số nâng cao, thường dẫn đến sự hội tụ nhanh hơn trong quá trình đào tạo so với các chương trình tham số hóa lại phức tạp được yêu cầu bởi YOLOv7 .
- Dấu chân bộ nhớ: Đào tạo các bộ biến đổi hoặc kiến trúc phức tạp như YOLOv7 thường yêu cầu GPU cao cấp (ví dụ: A100). Ngược lại, YOLOv5 Thiết kế hiệu quả cho phép đào tạo trên phần cứng dành cho người tiêu dùng, dân chủ hóa khả năng tiếp cận phát triển AI .
Triển khai mã
Một trong những lập luận mạnh mẽ nhất cho Ultralytics YOLOv5 là sự đơn giản của nó Python API. Việc tải một mô hình được đào tạo trước và chạy suy luận chỉ cần một vài dòng mã, minh chứng cho sự hoàn thiện của khuôn khổ này.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results and show the image with bounding boxes
results.print()
results.show()
Mức độ trừu tượng này cho phép các nhà phát triển tập trung vào việc xây dựng các giải pháp kinh doanh thay vì gỡ lỗi kiến trúc mô hình.
Các trường hợp sử dụng lý tưởng
Khi nào nên chọn YOLOv7
YOLOv7 là lựa chọn tuyệt vời cho nghiên cứu học thuật và các tình huống mà hạn chế về phần cứng chỉ là yếu tố thứ yếu so với hiệu suất phát hiện thô.
- Nghiên cứu học thuật: Để đánh giá các kỹ thuật phát hiện tiên tiến nhất.
- Kiểm tra độ chính xác cao: Chẳng hạn như kiểm soát chất lượng sản xuất , trong đó việc phát hiện các lỗi nhỏ là rất quan trọng và độ trễ ít được quan tâm hơn.
Khi nào nên chọn Ultralytics YOLOv5
YOLOv5 vẫn là tiêu chuẩn công nghiệp cho việc phát triển và triển khai sản xuất nhanh chóng.
- Triển khai Edge: Hoàn hảo để chạy trên các thiết bị iOS và Android thông qua TFLite hoặc CoreML xuất khẩu.
- Robot: Độ trễ thấp rất quan trọng đối với các vòng phản hồi cần thiết trong robot tự động .
- Tính linh hoạt: Ngoài khả năng phát hiện, YOLOv5 kho lưu trữ hỗ trợ phân đoạn phiên bản và phân loại hình ảnh , cung cấp cơ sở mã thống nhất cho nhiều tác vụ thị giác.
Kết luận: Con đường hiện đại hướng tới tương lai
Trong khi YOLOv7 Đã chứng minh sức mạnh của việc tinh chỉnh kiến trúc, Ultralytics YOLOv5 vẫn là lựa chọn hàng đầu cho các nhà phát triển cần một giải pháp đáng tin cậy, được ghi chép đầy đủ và dễ triển khai. Sự cân bằng giữa tốc độ, độ chính xác và hỗ trợ hệ sinh thái đảm bảo giải pháp này luôn phù hợp trong môi trường sản xuất trên toàn thế giới.
Tuy nhiên, lĩnh vực thị giác máy tính đang phát triển rất nhanh chóng. Đối với những ai đang tìm kiếm hiệu suất tối ưu, YOLO11 đại diện cho sự phát triển mới nhất từ Ultralytics . YOLO11 xây dựng dựa trên khả năng sử dụng của YOLOv5 nhưng kết hợp các mô-đun dựa trên máy biến áp tiên tiến và thiết kế không có neo, vượt trội hơn cả YOLOv5 Và YOLOv7 về độ chính xác và hiệu quả.
Đối với một giải pháp có khả năng thích ứng trong tương lai hỗ trợ Phát hiện đối tượng , Ước tính tư thế và Hộp giới hạn định hướng (OBB) , di chuyển sang Ultralytics YOLO11 khuôn khổ được khuyến khích sử dụng.
Khám phá thêm các so sánh
Khám phá cách các mô hình khác xếp chồng lên nhau Ultralytics YOLO gia đình:
- YOLOv5 so sánh với YOLOv8
- YOLOv7 so với YOLOv8
- YOLOv7 so với YOLO11
- RT-DETR so với YOLOv7
- YOLOv6 so với YOLOv7