YOLOv8 so với EfficientDet: So sánh kỹ thuật
Việc lựa chọn mô hình phát hiện đối tượng phù hợp liên quan đến sự đánh đổi giữa độ chính xác, tốc độ và chi phí tính toán. Trang này cung cấp so sánh kỹ thuật chi tiết giữa hai kiến trúc có ảnh hưởng: Ultralytics YOLOv8, một mô hình hiện đại nổi tiếng về tốc độ và tính linh hoạt và EfficientDet, một họ mô hình từ Google được thiết kế để mang lại hiệu quả tham số vượt trội. Mặc dù cả hai đều mạnh mẽ, nhưng chúng bắt nguồn từ các triết lý thiết kế khác nhau, khiến chúng phù hợp với các ứng dụng khác nhau.
Ultralytics YOLOv8: Tính linh hoạt và hiệu năng
Tác giả: Glenn Jocher, Ayush Chaurasia, và 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/
Ultralytics YOLOv8 là một trình phát hiện đối tượng một giai đoạn, tiên tiến, xây dựng dựa trên thành công của các phiên bản YOLO trước đó. Nó đã tự khẳng định mình là một khuôn khổ mạnh mẽ và rất linh hoạt bằng cách giới thiệu những cải tiến kiến trúc quan trọng. Chúng bao gồm một backbone CSPDarknet mới, một neck C2f để tăng cường hợp nhất tính năng và một đầu tách rời, không neo. Thiết kế này không chỉ tăng hiệu suất mà còn mang lại sự linh hoạt trên một loạt các tác vụ thị giác máy tính.
Điểm mạnh của YOLOv8
- Cân bằng hiệu suất: YOLOv8 đạt được sự cân bằng tuyệt vời giữa tốc độ suy luận và độ chính xác, phù hợp cho nhiều triển khai thực tế khác nhau, từ thiết bị biên đến máy chủ đám mây mạnh mẽ.
- Tính linh hoạt: Một ưu điểm lớn của YOLOv8 là khả năng hỗ trợ tự nhiên cho nhiều tác vụ thị giác trong một framework duy nhất, thống nhất. Điều này bao gồm phát hiện đối tượng, phân đoạn thể hiện, phân loại hình ảnh, ước tính dáng điệu và hộp giới hạn định hướng (OBB).
- Dễ sử dụng: Mô hình này là một phần của hệ sinh thái được duy trì tốt, ưu tiên trải nghiệm người dùng. Nó cung cấp một Python API được tối ưu hóa và một CLI đơn giản, được hỗ trợ bởi tài liệu phong phú và nhiều hướng dẫn.
- Hiệu quả huấn luyện: YOLOv8 có quy trình huấn luyện hiệu quả và cung cấp các trọng số đã được huấn luyện trước có sẵn, đơn giản hóa việc phát triển các mô hình tùy chỉnh. Nó thường yêu cầu ít bộ nhớ CUDA hơn để huấn luyện so với các kiến trúc phức tạp hơn.
- Hệ sinh thái được duy trì tốt: Người dùng được hưởng lợi từ quá trình phát triển liên tục, 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 các công cụ như Ultralytics HUB cho quy trình MLOps toàn diện.
Điểm yếu của YOLOv8
- Các mô hình lớn hơn như YOLOv8x đòi hỏi tài nguyên tính toán đáng kể cho quá trình huấn luyện và triển khai.
- Có thể yêu cầu tối ưu hóa thêm như lượng tử hóa để triển khai trên phần cứng có tài nguyên cực kỳ hạn chế.
Các trường hợp sử dụng lý tưởng cho YOLOv8
YOLOv8 lý tưởng cho các ứng dụng đòi hỏi độ chính xác cao và hiệu suất thời gian thực, chẳng hạn như robotics tiên tiến, hệ thống an ninh thông minh và cơ sở hạ tầng thành phố thông minh. Tính linh hoạt của nó cũng làm cho nó trở thành một lựa chọn hàng đầu cho các dự án có thể mở rộng để bao gồm các tác vụ về thị giác khác ngoài việc phát hiện đối tượng đơn giản.
EfficientDet: Khả năng mở rộng và hiệu quả
Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
Tổ chức: Google
Ngày: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
Tài liệu: https://github.com/google/automl/tree/master/efficientdet#readme
EfficientDet là một họ các mô hình phát hiện đối tượng được giới thiệu bởi nhóm Google Brain. Đổi mới chính của nó là tập trung vào hiệu quả và khả năng mở rộng. Kiến trúc sử dụng xương sống EfficientNet, Mạng lưới Kim tự tháp Đặc trưng hai chiều (BiFPN) mới để hợp nhất đặc trưng đa tỷ lệ hiệu quả và một phương pháp mở rộng hỗn hợp. Phương pháp này đồng nhất chia tỷ lệ độ sâu, chiều rộng và độ phân giải của xương sống, mạng đặc trưng và đầu dự đoán, cho phép mô hình được điều chỉnh cho các ràng buộc tài nguyên khác nhau.
Điểm mạnh của EfficientDet
- Hiệu suất cao: EfficientDet được thiết kế để giảm thiểu số lượng tham số và FLOPs đồng thời tối đa hóa độ chính xác, khiến nó trở thành một trong những kiến trúc hiệu quả tính toán nhất vào thời điểm đó.
- Khả năng mở rộng: Phương pháp mở rộng hỗn hợp cung cấp một họ các mô hình (D0 đến D7) có thể được chọn dựa trên ngân sách tính toán hiện có, từ thiết bị di động đến máy chủ đám mây quy mô lớn.
- Độ chính xác: Các model EfficientDet lớn hơn đạt được độ chính xác cạnh tranh trên các chuẩn đánh giá tiêu chuẩn như tập dữ liệu COCO.
Điểm yếu của EfficientDet
- Tốc độ suy luận: Mặc dù hiệu quả về FLOPs, EfficientDet không phải lúc nào cũng chuyển thành tốc độ suy luận thực tế nhanh nhất, đặc biệt là trên GPU, khi so sánh với các kiến trúc như YOLOv8 được tối ưu hóa cao cho xử lý song song.
- Tính linh hoạt hạn chế: EfficientDet chủ yếu là một mô hình phát hiện đối tượng và thiếu sự hỗ trợ tích hợp cho các tác vụ khác như phân đoạn hoặc ước tính tư thế được tìm thấy trong khuôn khổ Ultralytics.
- Hệ sinh thái và Bảo trì: Kho lưu trữ chính thức không được duy trì tích cực với các tính năng và tích hợp mới như hệ sinh thái Ultralytics, điều này có thể gây khó khăn hơn cho các nhà phát triển trong việc áp dụng và triển khai.
Các trường hợp sử dụng lý tưởng cho EfficientDet
EfficientDet vượt trội trong các tình huống mà số lượng tham số và chi phí tính toán lý thuyết (FLOP) là những ràng buộc quan trọng nhất. Đây là một lựa chọn mạnh mẽ cho các ứng dụng trên một số thiết bị edge AI nhất định, nơi kích thước mô hình bị giới hạn nghiêm ngặt hoặc trong môi trường đám mây, nơi giảm thiểu chi phí tính toán là ưu tiên hàng đầu.
So sánh hiệu năng trực tiếp: Tốc độ, Độ chính xác và Hiệu quả
Khi so sánh YOLOv8 và EfficientDet, rõ ràng chúng được tối ưu hóa cho các mục tiêu khác nhau. YOLOv8 ưu tiên sự cân bằng vượt trội giữa tốc độ suy luận và độ chính xác trong thế giới thực, trong khi EfficientDet tập trung vào việc giảm thiểu các tham số mô hình và 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) |
---|---|---|---|---|---|---|
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 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Từ bảng so sánh, chúng ta có thể quan sát thấy:
- Độ chính xác so với Tham số: Các model YOLOv8 liên tục đạt được điểm mAP cao hơn so với các model EfficientDet với số lượng tham số tương đương hoặc thậm chí lớn hơn. Ví dụ: YOLOv8s (11.2M tham số) đạt 44.9 mAP, vượt trội hơn EfficientDet-d2 (8.1M tham số) ở mức 43.0 mAP.
- Tốc độ suy luận: YOLOv8 thể hiện một lợi thế đáng kể về tốc độ suy luận, đặc biệt là trên GPU với tối ưu hóa TensorRT. Mô hình YOLOv8x nhanh hơn hơn 8 lần so với mô hình EfficientDet-d7 tương đương trên GPU T4, mặc dù có nhiều tham số hơn. YOLOv8 cũng cho thấy tốc độ suy luận CPU nhanh hơn nhiều.
- Đánh đổi hiệu quả: Mặc dù các mô hình EfficientDet có FLOPs thấp hơn, nhưng điều này không trực tiếp chuyển thành suy luận nhanh hơn. Kiến trúc của YOLOv8 phù hợp hơn để tăng tốc phần cứng hiện đại, dẫn đến độ trễ thấp hơn trong các tình huống thực tế.
Tại sao nên chọn các mô hình Ultralytics YOLO?
Mặc dù EfficientDet là một mô hình đột phá vào thời điểm đó, các mô hình Ultralytics YOLO mới hơn như YOLOv8 và YOLO11 mới nhất mang lại những lợi thế đáng kể cho các nhà phát triển và nhà nghiên cứu hiện đại:
- Hiệu suất vượt trội: Các mô hình Ultralytics cung cấp sự cân bằng tốt hơn giữa tốc độ và độ chính xác, điều này rất quan trọng đối với suy luận theo thời gian thực.
- Kiến trúc hiện đại: Chúng kết hợp những tiến bộ mới nhất trong học sâu, chẳng hạn như phát hiện không cần neo và mạng lưới hợp nhất tính năng nâng cao.
- Comprehensive Ecosystem: Hệ sinh thái Ultralytics cung cấp trải nghiệm liền mạch từ huấn luyện đến triển khai, với sự hỗ trợ, tài liệu và tích hợp mở rộng.
- Khả năng đa nhiệm: Khả năng xử lý phát hiện, phân đoạn và hơn thế nữa trong một khuôn khổ giúp tiết kiệm thời gian phát triển và giảm độ phức tạp.
Kết luận
EfficientDet vẫn là một kiến trúc đáng chú ý, đặc biệt là với cách tiếp cận sáng tạo để mở rộng quy mô và hiệu quả của mô hình. Đây là một lựa chọn vững chắc cho các ứng dụng mà việc giảm thiểu số lượng tham số và FLOPs là ưu tiên cao nhất.
Tuy nhiên, đối với phần lớn các ứng dụng thị giác máy tính hiện đại, YOLOv8 mang đến một lựa chọn hấp dẫn hơn. Nó mang lại tốc độ vượt trội, độ chính xác cao hơn và tính linh hoạt vô song. Kết hợp với hệ sinh thái Ultralytics thân thiện với người dùng và được duy trì tích cực, YOLOv8 cho phép các nhà phát triển xây dựng và triển khai các giải pháp AI hiệu suất cao nhanh hơn và hiệu quả hơn. Đối với những người tìm kiếm giải pháp tiên tiến và dễ sử dụng nhất, các mô hình Ultralytics là lựa chọn được khuyến nghị.
So sánh các mô hình khác
Để khám phá thêm, hãy xem xét các so sánh liên quan đến YOLOv8, EfficientDet và các mô hình liên quan khác sau:
- YOLOv8 so với YOLOv7
- EfficientDet so với YOLOv7
- YOLOv8 so với YOLOv5
- EfficientDet so với YOLOv5
- RT-DETR so với YOLOv8
- RT-DETR so với EfficientDet
- Khám phá các mô hình mới nhất như YOLOv10 và YOLO11.