So sánh mô hình: YOLOv9 so với YOLOv8 để phát hiện đối tượng
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, cân bằng độ chính xác, tốc độ và tài nguyên tính toán. Trang này cung cấp so sánh kỹ thuật chi tiết giữa Ultralytics YOLOv8, một mô hình linh hoạt và thân thiện với người dùng và YOLOv9, một mô hình nổi tiếng với những tiến bộ kiến trúc mới lạ. Chúng tôi sẽ phân tích kiến trúc, số liệu 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 xác định mô hình phù hợp nhất cho các dự án thị giác máy tính của mình.
YOLOv9: Nâng cao độ chính xác với kiến trúc mới
YOLOv9 được giới thiệu như một bước tiến quan trọng trong phát hiện đối tượng, chủ yếu tập trung vào việc khắc phục tình trạng mất thông tin trong mạng nơ-ron sâu để tăng cường độ chính xác.
- Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đà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 chính
YOLOv9 giới thiệu hai cải tiến lớn: Thông tin Gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN). PGI được thiết kế để cung cấp thông tin đầu vào đầy đủ cho việc tính toán hàm mất mát, giúp giảm thiểu vấn đề tắc nghẽn thông tin và đảm bảo tạo ra các gradient đáng tin cậy hơn để cập nhật mạng. GELAN là một kiến trúc mạng mới, hiệu quả cao, giúp tối ưu hóa việc sử dụng tham số và hiệu quả tính toán. Cùng với nhau, những tính năng này cho phép YOLOv9 đạt được độ chính xác cao, thường thiết lập các chuẩn mực hiện đại mới trên các tập dữ liệu như COCO.
Điểm mạnh
- Độ chính xác vượt trội: Các mô hình YOLOv9, đặc biệt là các biến thể lớn hơn, đạt được điểm số mAP hàng đầu, đẩy lùi các ranh giới của độ chính xác phát hiện đối tượng theo thời gian thực.
- Hiệu suất cao: Kiến trúc GELAN cho phép YOLOv9 mang lại hiệu suất cao với ít tham số và yêu cầu tính toán (FLOPs) hơn so với một số mô hình khác có độ chính xác tương tự.
- Bảo toàn thông tin: PGI giải quyết hiệu quả vấn đề mất thông tin trong các mạng sâu, điều này rất quan trọng để đào tạo các mô hình rất sâu và chính xác.
Điểm yếu
- Hệ sinh thái và khả năng sử dụng: Là một mô hình từ kho nghiên cứu, YOLOv9 thiếu hệ sinh thái hoàn thiện, sẵn sàng cho sản xuất như Ultralytics cung cấp. Quá trình huấn luyện có thể phức tạp hơn, đồng thời hỗ trợ từ cộng đồng và tích hợp của bên thứ ba cũng kém phát triển hơn.
- Tính linh hoạt của tác vụ: Việc triển khai YOLOv9 ban đầu chủ yếu tập trung vào phát hiện đối tượng. Nó không cung cấp sự hỗ trợ thống nhất, tích hợp sẵn cho các tác vụ thị giác khác như phân đoạn, ước tính tư thế hoặc phân loại, vốn là tiêu chuẩn trong các mô hình Ultralytics.
- Tài Nguyên Huấn Luyện: Việc huấn luyện YOLOv9 có thể tốn nhiều tài nguyên và thời gian hơn so với các quy trình được sắp xếp hợp lý do Ultralytics YOLOv8 cung cấp.
Ultralytics YOLOv8: Tính Linh hoạt và Dễ sử dụng
Ultralytics YOLOv8 là một mô hình hiện đại được phát triển bởi Ultralytics, được biết đến với sự cân bằng đặc biệt giữa tốc độ, độ chính xác và quan trọng nhất là tính dễ sử dụng và tính linh hoạt của nó. Nó được thiết kế như một khuôn khổ hoàn chỉnh để đào tạo, xác thực và triển khai các mô hình cho một loạt các tác vụ AI thị giác.
- Tác giả: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- Tài liệu: https://docs.ultralytics.com/models/yolov8/
Kiến trúc và các tính năng chính
YOLOv8 xây dựng dựa trên thành công của các phiên bản YOLO trước đó với những cải tiến đáng kể về kiến trúc, bao gồm một đầu dò tìm không neo mới và một backbone C2f (CSP với 2 lớp tích chập) được sửa đổi. Thiết kế này không chỉ cải thiện hiệu suất mà còn đơn giản hóa mô hình và các bước hậu xử lý. Tuy nhiên, sức mạnh thực sự của YOLOv8 nằm ở hệ sinh thái toàn diện của nó.
Điểm mạnh
- Cân bằng hiệu suất vượt trội: YOLOv8 cung cấp sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, làm cho nó rất phù hợp cho nhiều ứng dụng thực tế, từ thiết bị biên hạn chế về tài nguyên đến các máy chủ đám mây hiệu suất cao.
- Tính Linh hoạt Vượt trội: YOLOv8 là một framework đa nhiệm thực thụ. Nó hỗ trợ object detection (phát hiện đối tượng), instance segmentation (phân vùng thể hiện), image classification (phân loại ảnh), pose estimation (ước tính tư thế) và oriented bounding boxes (OBB) (khung giới hạn theo hướng) trong một framework thống nhất. Tính linh hoạt này là một lợi thế lớn so với các mô hình chuyên dụng hơn như YOLOv9.
- Dễ sử dụng: Ultralytics ưu tiên trải nghiệm người dùng được tinh giản. Với Python API và CLI đơn giản, tài liệu đầy đủ và vô số hướng dẫn, các nhà phát triển có thể bắt đầu chỉ trong vài phút.
- Hệ sinh thái được duy trì tốt: YOLOv8 được hỗ trợ bởi quá trình phát triển tích cực từ Ultralytics, một cộng đồng mã nguồn mở mạnh mẽ, cập nhật thường xuyên và tích hợp liền mạch với Ultralytics HUB cho quy trình MLOps và đào tạo không cần code.
- Hiệu quả huấn luyện: Quy trình huấn luyện rất hiệu quả, với các trọng số đã được huấn luyện trước có sẵn và yêu cầu bộ nhớ thấp hơn so với nhiều kiến trúc khác, đặc biệt là các mô hình dựa trên transformer.
- Sẵn sàng triển khai: YOLOv8 được thiết kế để dễ dàng triển khai với hỗ trợ xuất tích hợp cho nhiều định dạng khác nhau như ONNX, TensorRT và OpenVINO, đơn giản hóa quy trình đưa vào sản xuất.
Điểm yếu
- Độ chính xác cao nhất: Mặc dù cực kỳ chính xác, các mô hình YOLOv9 lớn nhất có thể đạt được mAP cao hơn một chút trên chuẩn COCO trong một tác vụ phát hiện đối tượng thuần túy. Tuy nhiên, điều này thường phải trả giá bằng tính linh hoạt và dễ sử dụng.
So sánh trực tiếp hiệu năng: Độ chính xác và Tốc độ
Khi so sánh hiệu suất, điều quan trọng là phải xem xét toàn diện, bao gồm độ chính xác (mAP), tốc độ suy luận, kích thước mô hình (số lượng tham số) và chi phí tính toán (FLOPs).
Mô hình | Kích thước (pixels) |
mAPval 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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Từ bảng so sánh, chúng ta có thể thấy rằng YOLOv9-E đạt mAP cao nhất. Tuy nhiên, các mô hình YOLOv8 thể hiện tốc độ suy luận vượt trội, đặc biệt là các biến thể nhỏ hơn như YOLOv8n, điều này rất quan trọng đối với các ứng dụng thời gian thực. YOLOv8 cung cấp một cấu hình hiệu suất đầy đủ và thiết thực hơn trên các phần cứng khác nhau, với các điểm chuẩn tốc độ được ghi lại đầy đủ, rất cần thiết cho việc lập kế hoạch sản xuất.
Kết luận: Bạn nên chọn mô hình nào?
Việc lựa chọn giữa YOLOv9 và YOLOv8 phụ thuộc nhiều vào các ưu tiên của dự án.
Chọn YOLOv9 nếu:
- Mục tiêu chính và duy nhất của bạn là đạt được độ chính xác phát hiện đối tượng tối đa tuyệt đối trên các chuẩn như COCO.
- Bạn đang làm việc trong một bối cảnh nghiên cứu, nơi khám phá các kiến trúc mới lạ như PGI và GELAN là mục tiêu chính.
- Bạn có đủ nguồn lực tính toán và chuyên môn để quản lý quy trình huấn luyện và triển khai phức tạp hơn.
Chọn Ultralytics YOLOv8 nếu:
- Bạn cần một mô hình mạnh mẽ, đáng tin cậy và dễ sử dụng cho nhiều ứng dụng khác nhau.
- Dự án của bạn yêu cầu nhiều hơn là chỉ phát hiện đối tượng, chẳng hạn như phân đoạn thể hiện, ước tính tư thế hoặc phân loại. Tính linh hoạt của YOLOv8 giúp tiết kiệm thời gian phát triển đáng kể.
- Bạn ưu tiên một quy trình làm việc nhanh chóng và hiệu quả, từ huấn luyện đến triển khai. Hệ sinh thái Ultralytics được thiết kế để giúp bạn đưa sản phẩm vào sản xuất nhanh hơn.
- Bạn cần một mô hình cân bằng tốt giữa tốc độ và độ chính xác, phù hợp cho cả triển khai edge và cloud.
- Bạn coi trọng sự hỗ trợ mạnh mẽ từ cộng đồng, các bản cập nhật liên tục và tài liệu đầy đủ.
Đối với phần lớn các nhà phát triển, nhà nghiên cứu và doanh nghiệp, Ultralytics YOLOv8 là lựa chọn được khuyến nghị. Sự kết hợp giữa hiệu suất mạnh mẽ, tính linh hoạt đáng kinh ngạc và hệ sinh thái thân thiện với người dùng, được hỗ trợ tốt khiến nó trở thành một công cụ thiết thực và mạnh mẽ hơn để xây dựng các giải pháp thị giác máy tính trong thế giới thực.
Nếu bạn đang khám phá các mô hình khác, bạn cũng có thể quan tâm đến Ultralytics YOLOv5, nổi tiếng với tính ổn định và được áp dụng rộng rãi, hoặc RT-DETR, một kiến trúc thay thế dựa trên transformer. Bạn có thể tìm thêm các so sánh trên trang so sánh mô hình của chúng tôi.