YOLOv9 so với YOLOv5 : So sánh kỹ thuật
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à vô cùng quan trọng đối với sự thành công của dự án. Bài phân tích này cung cấp so sánh kỹ thuật chi tiết giữa YOLOv9 , một kiến trúc tập trung vào nghiên cứu, vượt qua mọi giới hạn về độ chính xác, và YOLOv5 Ultralytics , mô hình tiêu chuẩn công nghiệp nổi tiếng về độ tin cậy, tốc độ và tính linh hoạt. Chúng tôi sẽ khám phá những khác biệt về kiến trúc, điểm chuẩn hiệu suất và các trường hợp sử dụng lý tưởng của chúng để giúp bạn đưa ra quyết định sáng suốt.
YOLOv9 : Đổi mới kiến trúc cho độ chính xác tối đa
Phát hành vào đầu năm 2024, YOLOv9 nhắm đến các giới hạn lý thuyết của việc phát hiện đối tượng bằng cách giải quyết các vấn đề cơ bản trong luồng thông tin học sâu. Nó được thiết kế cho các tình huống đòi hỏi độ chính xác tối quan trọng.
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: arXiv:2402.13616
GitHub: WongKinYiu/yolov9
Tài liệu: Tài liệu YOLOv9
Kiến trúc cốt lõi
YOLOv9 giới thiệu hai khái niệm đột phá: Thông tin Gradient Lập trình (PGI) và Mạng Tổng hợp Lớp Hiệu quả Tổng quát (GELAN) . PGI giải quyết vấn đề tắc nghẽn thông tin vốn có trong mạng nơ-ron sâu bằng cách đảm bảo giữ lại toàn bộ thông tin đầu vào cho hàm mất mát , cải thiện độ tin cậy của gradient. GELAN tối ưu hóa hiệu quả tham số, cho phép mô hình đạt độ chính xác cao hơn với ít tài nguyên tính toán hơn so với các kiến trúc trước đây sử dụng tích chập theo chiều sâu.
Điểm mạnh và Điểm yếu
Sức mạnh chính của YOLOv9 là độ chính xác tiên tiến nhất của nó trên các chuẩn mực như tập dữ liệu COCO . Nó vượt trội trong việc phát hiện các vật thể nhỏ hoặc bị che khuất mà các mô hình khác có thể không làm được. Tuy nhiên, việc tập trung vào độ chính xác phát hiện này đi kèm với những đánh đổi. Quá trình đào tạo có thể tốn nhiều tài nguyên hơn, và mặc dù được tích hợp vào Ultralytics Hệ sinh thái này, sự hỗ trợ cộng đồng rộng rãi hơn và các công cụ của bên thứ ba vẫn đang dần hoàn thiện so với các mô hình đã tồn tại từ lâu. Ngoài ra, trọng tâm chính của nó vẫn là phát hiện, trong khi các mô hình khác cung cấp hỗ trợ đa tác vụ gốc rộng hơn.
Ultralytics YOLOv5 : Tiêu chuẩn công nghiệp đa năng
Kể từ khi phát hành vào năm 2020, Ultralytics YOLOv5 đã xác định tiêu chuẩn cho việc triển khai AI thực tế, thiết thực. Nó đạt được sự cân bằng chính xác giữa hiệu suất và khả năng sử dụng, khiến nó trở thành một trong những mô hình được sử dụng rộng rãi nhất trong lịch sử.
Tác giả: Glenn Jocher
Tổ chức: Ultralytics
Ngày: 26-06-2020
GitHub: ultralytics / yolov5
Tài liệu: Tài liệu YOLOv5
Kiến trúc cốt lõi
YOLOv5 sử dụng kiến trúc neo tinh tế với xương sống CSPDarknet53 và một nút PANet cho khả năng tổng hợp tính năng mạnh mẽ. Thiết kế ưu tiên tốc độ suy luận và tối ưu hóa kỹ thuật. Mô hình có nhiều kích thước khác nhau (từ Nano đến Cực lớn), cho phép các nhà phát triển điều chỉnh mô hình phù hợp hoàn hảo với các hạn chế phần cứng của họ, từ thiết bị biên nhúng đến GPU đám mây.
Các Ultralytics Lợi thế
Trong khi YOLOv9 đẩy mạnh ranh giới học thuật, YOLOv5 nổi trội về tính thực tiễn của kỹ thuật.
- Dễ sử dụng: YOLOv5 nổi tiếng với trải nghiệm "cài đặt và chạy". API Python được tinh gọn và tài liệu hướng dẫn toàn diện giúp rút ngắn đáng kể thời gian phát triển.
- Hệ sinh thái được duy trì tốt: Được hỗ trợ bởi Ultralytics , YOLOv5 được bảo trì tích cực, có cộng đồng lớn trên GitHub và tích hợp liền mạch với các công cụ MLOps.
- Tính linh hoạt: Vượt ra ngoài khả năng phát hiện, YOLOv5 hỗ trợ phân đoạn trường hợp và phân loại hình ảnh , cung cấp giải pháp thống nhất cho nhiều tác vụ thị giác khác nhau.
- Hiệu quả bộ nhớ: Ultralytics các mô hình được tối ưu hóa để chiếm ít bộ nhớ hơn trong quá trình đào tạo và suy luận, trái ngược với các yêu cầu cao của các giải pháp thay thế dựa trên bộ biến áp.
Chỉ số hiệu suất: Tốc độ so với Độ chính xác
Sự so sánh dưới đây làm nổi bật vai trò riêng biệt của các mô hình này. YOLOv9 thường đạt được mAP (Độ chính xác trung bình) cao hơn, đặc biệt là ở các mô hình có kích thước lớn hơn (c và e). Điều này giúp nó vượt trội hơn trong các tác vụ đòi hỏi độ chi tiết cao.
Ngược lại, YOLOv5 mang lại tốc độ suy luận vượt trội, đặc biệt là với các biến thể Nano (n) và Small (s). Đối với các ứng dụng thời gian thực trên phần cứng biên như NVIDIA Jetson hoặc Raspberry Pi , YOLOv5 vẫn là ứng cử viên hàng đầu do tính chất nhẹ của nó và TensorRT độ chín muồi của tối ưu hóa.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Mẹo triển khai
Để có tính linh hoạt triển khai tối đa, cả hai mô hình đều có thể được xuất sang các định dạng như ONNX , TensorRT , Và CoreML sử dụng Ultralytics chế độ xuất. Điều này đảm bảo mô hình của bạn chạy hiệu quả trên mọi phần cứng mục tiêu.
Đào tạo và Khả năng sử dụng
Phương pháp đào tạo có sự khác biệt đáng kể về trải nghiệm của người dùng. Ultralytics YOLOv5 được thiết kế để đào tạo hiệu quả , cung cấp các cài đặt trước mạnh mẽ, hoạt động ngay lập tức cho các tập dữ liệu tùy chỉnh. Nó có tính năng tự động tính toán neo, phát triển siêu tham số và tích hợp ghi nhật ký phong phú.
YOLOv9 , mặc dù mạnh mẽ, nhưng có thể yêu cầu điều chỉnh siêu tham số cẩn thận hơn để đạt được sự ổn định và hội tụ, đặc biệt là trên các tập dữ liệu nhỏ hơn. Tuy nhiên, nhờ tích hợp vào ultralytics Python gói, các nhà phát triển hiện có thể đào tạo YOLOv9 sử dụng cú pháp đơn giản giống như YOLOv5 , thu hẹp khoảng cách về khả năng sử dụng.
Ví dụ mã
Với Ultralytics Việc chuyển đổi giữa các kiến trúc này cũng đơn giản như việc thay đổi tên mô hình. Đoạn mã này minh họa cách tải và chạy suy luận với cả hai mô hình:
from ultralytics import YOLO
# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")
# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")
# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")
# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")
Các trường hợp sử dụng lý tưởng
Khi nào nên chọn YOLOv9
- Kiểm tra độ chính xác cao: Phát hiện các lỗi nhỏ trong dây chuyền lắp ráp sản xuất , nơi mà từng pixel đều có giá trị.
- Nghiên cứu nâng cao: Các dự án khám phá các kiến trúc học sâu mới như Thông tin Gradient có thể lập trình.
- Môi trường phức tạp: Các tình huống có độ che khuất hoặc lộn xộn cao, trong đó tổng hợp tính năng nâng cao của GELAN mang lại lợi thế quyết định.
Khi nào nên chọn YOLOv5
- Triển khai Edge: Chạy trên các thiết bị chạy bằng pin hoặc bộ vi điều khiển, nơi mức tiêu thụ điện năng và dung lượng bộ nhớ rất quan trọng.
- Tạo mẫu nhanh: Khi bạn cần chuyển từ thu thập dữ liệu sang bản demo hoạt động chỉ trong vài giờ, không phải vài ngày, bằng cách tận dụng các hướng dẫn mở rộng và tài nguyên cộng đồng.
- Hệ thống đa nhiệm: Các ứng dụng yêu cầu ước tính hoặc phân loại tư thế cùng với phát hiện trong một cơ sở mã duy nhất.
- Tính ổn định của sản xuất: Môi trường doanh nghiệp yêu cầu giải pháp đã được kiểm chứng qua nhiều năm với độ tin cậy cao.
Kết luận
Sự lựa chọn giữa YOLOv9 Và YOLOv5 tùy thuộc vào các ràng buộc cụ thể của bạn. YOLOv9 là lựa chọn ưu việt để tối đa hóa độ chính xác, mang đến những cải tiến kiến trúc tiên tiến. YOLOv5 vẫn là nhà vô địch về tính linh hoạt và dễ sử dụng, cung cấp một hệ sinh thái mạnh mẽ, được hỗ trợ tốt, giúp đơn giản hóa toàn bộ vòng đời AI.
Dành cho các nhà phát triển đang tìm kiếm sự kết hợp hoàn hảo nhất của cả hai thế giới—kết hợp sự dễ sử dụng của YOLOv5 với hiệu suất vượt quá YOLOv9 —chúng tôi khuyên bạn nên khám phá YOLO11 . Là phiên bản mới nhất từ Ultralytics , YOLO11 mang lại tốc độ và độ chính xác tiên tiến trên tất cả các nhiệm vụ thị giác, đại diện cho tương lai của YOLO gia đình.
Khám phá các Mô hình Khác
- YOLO11 : Mẫu máy mới nhất và mạnh mẽ nhất từ Ultralytics để phát hiện, phân đoạn và tạo dáng.
- YOLOv8 : Một tiền thân mạnh mẽ của YOLO11 cung cấp sự cân bằng tuyệt vời về các tính năng.
- RT-DETR : Máy dò dựa trên máy biến áp được tối ưu hóa cho hiệu suất thời gian thực.