YOLOv5 so với YOLOv9 : So sánh kỹ thuật toàn diện
Sự phát triển của công nghệ phát hiện đối tượng theo thời gian thực đã được đánh dấu bằng những tiến bộ nhanh chóng về độ chính xác và hiệu quả. Hai cột mốc quan trọng trong hành trình này là Ultralytics YOLOv5 , một mô hình đã thiết lập tiêu chuẩn ngành về khả năng sử dụng và triển khai, và YOLOv9 , một kiến trúc tập trung vào nghiên cứu, mở rộng ranh giới của lý thuyết học sâu.
So sánh kỹ thuật này phân tích kiến trúc, số liệu hiệu suất và trường hợp sử dụng lý tưởng của chúng để giúp các nhà phát triển và nhà nghiên cứu lựa chọn công cụ phù hợp cho các dự án thị giác máy tính của họ.
Ultralytics YOLOv5 : Tiêu chuẩn công nghiệp về tính linh hoạt
Kể từ khi ra mắt, YOLOv5 đã trở thành một trong những mô hình AI thị giác phổ biến nhất trên toàn cầu. Được phát triển bởi Ultralytics , ưu tiên sự xuất sắc về kỹ thuật, tính dễ sử dụng và hiệu suất thực tế. Nó cân bằng giữa tốc độ và độ chính xác, đồng thời mang đến trải nghiệm người dùng liền mạch thông qua một hệ sinh thái mạnh mẽ.
Chi tiết kỹ thuật:
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Date: 2020-06-26
- GitHub: https://github.com/ ultralytics / yolov5
- Tài liệu: https://docs. ultralytics .com/models/ yolov5 /
Kiến trúc và Thiết kế
YOLOv5 sử dụng xương sống CSPDarknet kết hợp với cổ PANet để trích xuất và tổng hợp tính năng hiệu quả. Đầu phát hiện dựa trên neo của nó được tối ưu hóa cao về tốc độ, giúp nó phù hợp với nhiều loại phần cứng. Không giống như các mô hình học thuật thuần túy, YOLOv5 được thiết kế với mục đích triển khai, cung cấp hỗ trợ gốc cho iOS , Android và các thiết bị biên.
Điểm mạnh chính
- Hệ sinh thái được duy trì tốt: YOLOv5 được hưởng lợi từ nhiều năm phát triển tích cực, mang lại tài liệu mở rộng, hỗ trợ cộng đồng và tích hợp với các công cụ như Ultralytics HUB .
- Hiệu quả đào tạo: Kiến trúc này nổi tiếng với thời gian đào tạo nhanh và yêu cầu bộ nhớ thấp hơn so với kiến trúc dựa trên máy biến áp, giúp nó có thể truy cập được trên GPU tiêu dùng tiêu chuẩn.
- Tính linh hoạt: Vượt ra ngoài khả năng phát hiện, YOLOv5 hỗ trợ phân đoạn phiên bản và phân loại hình ảnh , cho phép các nhà phát triển xử lý nhiều tác vụ thị giác bằng một khuôn khổ duy nhất.
- Sẵn sàng triển khai: Với khả năng xuất tích hợp sang ONNX , TensorRT , CoreML , Và TFLite , việc chuyển từ nghiên cứu sang sản xuất được hợp lý hóa.
YOLOv9 : Đổi mới kiến trúc cho độ chính xác tối đa
Ra mắt năm 2024, YOLOv9 tập trung vào việc giải quyết các vấn đề mất thông tin trong mạng sâu. Nó giới thiệu các khái niệm mới để cải thiện cách dữ liệu truyền qua mô hình, đạt được kết quả tiên tiến nhất trên các chuẩn mực như COCO .
Chi tiết kỹ thuật:
- Tác giả: Chien-Yao Wang, 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: 2024-02-21
- Arxiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
- Tài liệu: https://docs. ultralytics .com/models/yolov9/
Kiến trúc và các cải tiến
YOLOv9 giới thiệu hai tiến bộ kiến trúc chính:
- Thông tin Gradient có thể lập trình (PGI): Một kỹ thuật được thiết kế để giảm thiểu vấn đề tắc nghẽn thông tin, đảm bảo thông tin đầu vào đầy đủ có sẵn để tính toán hàm mất mát .
- Mạng tổng hợp lớp hiệu quả tổng quát (GELAN): Một kiến trúc mạng nhẹ giúp tối ưu hóa hiệu quả tham số, cho phép mô hình đạt được độ chính xác cao hơn với ít tham số hơn so với một số kiến trúc trước đó.
Điểm mạnh chính
- Độ chính xác cao: YOLOv9 thiết lập các chuẩn mực ấn tượng về độ chính xác phát hiện đối tượng, đặc biệt là trong các cấu hình lớn hơn của nó ( YOLOv9 -E).
- Hiệu quả tham số: Kiến trúc GELAN đảm bảo rằng mô hình sử dụng các tham số một cách hiệu quả, mang lại tỷ lệ độ chính xác trên trọng số cao.
- Tiến bộ về mặt lý thuyết: Giải quyết các vấn đề cơ bản trong học sâu liên quan đến việc bảo quản thông tin ở các lớp sâu.
So sánh hiệu suất
Khi so sánh hai mô hình này, sự đánh đổi thường nằm ở tốc độ và độ chính xác tuyệt đối . YOLOv9 đạt được cao hơn mAP điểm val trên COCO bộ dữ liệu, chứng minh hiệu quả của PGI và GELAN. Tuy nhiên, Ultralytics YOLOv5 vẫn là một đối thủ đáng gờm về tốc độ suy luận, đặc biệt là trên CPU và thiết bị biên, nơi kiến trúc tối ưu của nó tỏa sáng.
Cân bằng hiệu suất
Trong khi YOLOv9 đứng đầu bảng xếp hạng độ chính xác, YOLOv5 thường cung cấp sự cân bằng thực tế hơn cho các ứng dụng thời gian thực, mang lại tốc độ suy luận nhanh hơn đáng kể (ms) trên phần cứng tiêu chuẩn trong khi vẫn duy trì khả năng phát hiện mạnh mẽ.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Đào tạo và Tài nguyên
Đối với các nhà phát triển, hiệu quả đào tạo thường quan trọng như tốc độ suy luận. Ultralytics YOLOv5 được biết đến với tính đơn giản "huấn luyện và vận hành". Nó thường yêu cầu ít bộ nhớ hơn trong quá trình huấn luyện so với các kiến trúc mới hơn, phức tạp hơn, đặc biệt là các mô hình dựa trên bộ biến áp (như RT-DETR ). Rào cản thấp hơn này cho phép người dùng huấn luyện các mô hình tùy chỉnh trên các thiết lập phần cứng khiêm tốn.
YOLOv9 , mặc dù hiệu quả về mặt tham số, nhưng có thể tốn nhiều tài nguyên hơn để đào tạo do tính phức tạp của các nhánh phụ trợ được sử dụng cho PGI, bị loại bỏ trong quá trình suy luận nhưng lại tăng thêm chi phí trong quá trình đào tạo.
Ví dụ mã: Giao diện hợp nhất
Một trong những lợi thế chính của Ultralytics Hệ sinh thái là API Python thống nhất. Bạn có thể chuyển đổi giữa YOLOv5 Và YOLOv9 chỉ với một dòng mã, giúp bạn dễ dàng đánh giá cả hai trên tập dữ liệu cụ thể của mình.
from ultralytics import YOLO
# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")
# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")
# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)
Các trường hợp sử dụng lý tưởng
Việc lựa chọn giữa các mô hình này phụ thuộc vào mức độ ưu tiên của dự án của bạn:
Khi nào nên chọn Ultralytics YOLOv5
- Triển khai Edge: Lý tưởng cho Raspberry Pi , ứng dụng di động và hệ thống nhúng, nơi mà từng mili giây độ trễ đều quan trọng.
- Nguyên mẫu nhanh: Dễ sử dụng, hướng dẫn chi tiết và hỗ trợ của cộng đồng cho phép chu kỳ phát triển diễn ra cực kỳ nhanh chóng.
- Yêu cầu đa nhiệm vụ: Nếu dự án của bạn yêu cầu phân đoạn hoặc phân loại cùng với phát hiện, YOLOv5 cung cấp giải pháp thống nhất.
- Ràng buộc về tài nguyên: Các dự án có hạn chế GPU trí nhớ để đào tạo sẽ được hưởng lợi từ YOLOv5 hiệu quả của.
Khi nào nên chọn YOLOv9
- Độ chính xác tối đa: Quan trọng đối với các ứng dụng như chụp ảnh y tế hoặc kiểm tra công nghiệp có độ chính xác cao, trong đó việc bỏ sót phát hiện sẽ gây tốn kém.
- Nghiên cứu học thuật: Tuyệt vời cho các nhà nghiên cứu khám phá những tiến bộ mới nhất trong thiết kế kiến trúc mạng và luồng thông tin gradient.
- Phần cứng mạnh mẽ: Sử dụng tốt nhất khi có đủ tài nguyên tính toán để đào tạo và suy luận nhằm tận dụng hết tiềm năng của nó.
Kết luận
Cả hai mô hình đều thể hiện sự xuất sắc trong lĩnh vực thị giác máy tính. Ultralytics YOLOv5 vẫn là lựa chọn thực tế cho hầu hết các nhà phát triển, mang đến sự kết hợp hoàn hảo giữa tốc độ, độ tin cậy và hỗ trợ hệ sinh thái. Đây là một công cụ mạnh mẽ đã được kiểm chứng thực tế cho việc triển khai trong thực tế. Mặt khác, YOLOv9 mang đến cái nhìn thoáng qua về tương lai của hiệu quả kiến trúc, cung cấp độ chính xác hàng đầu cho những ai cần.
Đối với những người đang tìm kiếm hiệu suất và tính linh hoạt mới nhất, chúng tôi cũng khuyên bạn nên khám phá YOLO11 , được xây dựng dựa trên thế mạnh của YOLOv5 Và YOLOv8 để cung cấp kết quả tiên tiến nhất trên mọi phương diện.
Khám phá các Mô hình Khác
Nếu bạn quan tâm đến việc khám phá thêm, hãy xem các mô hình liên quan trong Ultralytics hệ sinh thái:
- YOLO11 : Mẫu SOTA mới nhất mang lại hiệu suất và tính linh hoạt vượt trội.
- YOLOv8 : Một mô hình mạnh mẽ không có mỏ neo hỗ trợ phát hiện, phân đoạn, tạo dáng và OBB.
- RT-DETR : Máy dò dựa trên máy biến áp thời gian thực dành cho các ứng dụng có độ chính xác cao.