So sánh kỹ thuật giữa EfficientDet và YOLOv9
Việc lựa chọn mô hình phát hiện đối tượng tối ưu là rất quan trọng đối với các tác vụ thị giác máy tính, cân bằng giữa độ 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 EfficientDet của Google và Ultralytics YOLOv9, hai mô hình quan trọng trong bối cảnh phát hiện đối tượng. Chúng ta sẽ đi sâu vào các thiết kế kiến trúc, các chuẩn mực hiệu suất và các ứng dụng phù hợp của chúng để hỗ trợ bạn đưa ra quyết định sáng suốt cho các dự án của mình.
EfficientDet: Kiến trúc có thể mở rộng và hiệu quả
EfficientDet được giới thiệu vào năm 2019 bởi các nhà nghiên cứu tại Google Research và nhanh chóng trở thành một chuẩn mực cho việc phát hiện đối tượng hiệu quả. Nó đề xuất một họ các mô hình có thể mở rộng từ các phiên bản nhẹ, tương thích với thiết bị biên đến các phiên bản dựa trên đám mây có độ chính xác cao bằng cách sử dụng một phương pháp mở rộng hỗn hợp có hệ thống.
- Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
- Tổ chức: Google
- Date: 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
Kiến trúc và các tính năng chính
Kiến trúc của EfficientDet được xây dựng dựa trên ba thành phần chính:
- EfficientNet Backbone: Sử dụng EfficientNet hiệu quả cao làm backbone để trích xuất đặc trưng, được thiết kế bằng cách sử dụng tìm kiếm kiến trúc mạng nơ-ron (NAS) để tối ưu hóa cả độ chính xác và FLOPs.
- BiFPN (Mạng lưới Kim tự tháp Đặc trưng Hai hướng): Thay vì một FPN truyền thống, EfficientDet sử dụng BiFPN, cho phép hợp nhất đặc trưng đa tỷ lệ phong phú hơn với các kết nối có trọng số, cải thiện độ chính xác với chi phí tính toán tối thiểu.
- Compound Scaling: Một phương pháp mới điều chỉnh đồng đều độ sâu, độ rộng và độ phân giải của backbone, mạng đặc trưng và detection head. Điều này cho phép tạo ra một họ các mô hình (D0 đến D7) phục vụ cho các giới hạn tài nguyên khác nhau.
Điểm mạnh
- Khả năng mở rộng: Ưu điểm chính của EfficientDet là họ mô hình của nó, cung cấp một loạt các tùy chọn cho các mục tiêu triển khai khác nhau, từ thiết bị di động đến trung tâm dữ liệu.
- Hiệu quả tiên phong: Vào thời điểm phát hành, nó đã thiết lập một tiêu chuẩn mới về hiệu quả, đạt được độ chính xác cao với ít tham số và FLOP hơn so với các mô hình cạnh tranh.
Điểm yếu
- Tuổi đời và Hiệu suất: Mặc dù là nền tảng, kiến trúc này có từ năm 2019. Các mô hình mới hơn như YOLOv9 đã vượt qua nó về cả tốc độ và độ chính xác, đặc biệt là trên phần cứng hiện đại như GPU.
- Tốc độ suy luận: Các mô hình EfficientDet lớn hơn có thể chậm, đặc biệt khi so sánh với tốc độ suy luận được tối ưu hóa cao của các mô hình YOLO.
- Tính đặc hiệu của tác vụ: EfficientDet được thiết kế hoàn toàn để phát hiện đối tượng, thiếu tính linh hoạt tích hợp cho các tác vụ khác như phân đoạn thể hiện hoặc ước tính tư thế được tìm thấy trong các khuôn khổ hiện đại.
- Hệ sinh thái: Kho lưu trữ chính thức ít tập trung vào trải nghiệm người dùng và không được duy trì hoặc hỗ trợ tích cực như hệ sinh thái Ultralytics toàn diện.
Các Trường hợp Sử dụng
EfficientDet vẫn là một lựa chọn khả thi cho:
- Các ứng dụng mà một điểm đánh đổi cụ thể được cung cấp bởi một trong các biến thể tỷ lệ của nó (D0-D7) là một sự phù hợp hoàn hảo.
- Các dự án yêu cầu triển khai trên CPU, nơi các mô hình nhỏ hơn của nó thể hiện hiệu suất cạnh tranh.
- Các hệ thống kế thừa nơi mà mô hình đã được tích hợp và hoạt động đầy đủ.
YOLOv9: Độ chính xác và hiệu quả hiện đại
Ultralytics YOLOv9, được giới thiệu vào năm 2024 bởi Chien-Yao Wang và Hong-Yuan Mark Liao, thể hiện một bước tiến đáng kể trong nhận diện đối tượng theo thời gian thực. Nó giải quyết thách thức về mất thông tin trong các mạng sâu thông qua các thành phần kiến trúc sáng tạo, thiết lập các chuẩn mực hiện đại mới.
- 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 tính năng chính
Hiệu suất vượt trội của YOLOv9 bắt nguồn từ hai cải tiến chính:
- Thông tin Gradient có thể lập trình (PGI): Khái niệm này được thiết kế để giải quyết vấn đề tắc nghẽn thông tin trong các mạng nơ-ron sâu. PGI tạo ra các gradient đáng tin cậy để đảm bảo rằng mô hình có thể học được thông tin đầy đủ, dẫn đến các biểu diễn đặc trưng chính xác hơn.
- Mạng tổng hợp lớp hiệu quả tổng quát (GELAN): YOLOv9 giới thiệu GELAN, một kiến trúc mới và hiệu quả cao xây dựng dựa trên các nguyên tắc của CSPNet và ELAN. Nó tối ưu hóa việc sử dụng tham số và hiệu quả tính toán, cho phép mô hình đạt được độ chính xác cao hơn với ít tài nguyên hơn.
Điểm mạnh
- Độ chính xác vượt trội: YOLOv9 đạt được độ chính xác vượt trội trong phát hiện đối tượng, vượt trội hơn các đối thủ cạnh tranh như EfficientDet ở số lượng tham số tương tự hoặc thấp hơn, như được trình bày chi tiết trong bài báo "YOLOv9: Học những gì bạn muốn học bằng cách sử dụng thông tin gradient có thể lập trình".
- Cân bằng hiệu suất vượt trội: Nó cung cấp sự cân bằng vượt trội giữa độ chính xác, tốc độ suy luận và kích thước mô hình, làm cho nó phù hợp với nhiều ứng dụng từ AI biên đến các máy chủ đám mây hiệu suất cao.
- Dễ sử dụng: Khi được sử dụng trong khuôn khổ Ultralytics, YOLOv9 được hưởng lợi từ trải nghiệm người dùng được tinh giản, Python API đơn giản và tài liệu mở rộng.
- Hệ sinh thái được duy trì tốt: Hệ sinh thái Ultralytics cung cấp quá trình phát triển tích cực, một cộng đồng lớn mạnh và luôn hỗ trợ, cập nhật thường xuyên và tích hợp với các công cụ như Ultralytics HUB để huấn luyện không cần code và MLOps.
- Hiệu quả huấn luyện: Các mô hình YOLO thường có yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện so với các kiến trúc khác. Framework cung cấp quy trình huấn luyện hiệu quả và các trọng số đã được huấn luyện trước có sẵn.
- Tính linh hoạt: Mặc dù bài báo gốc tập trung vào phát hiện, kiến trúc GELAN cơ bản rất linh hoạt. Kho lưu trữ gốc hé lộ sự hỗ trợ cho các tác vụ như phân đoạn thể hiện và phân đoạn toàn cảnh, phù hợp với các khả năng đa nhiệm của các mô hình Ultralytics khác như YOLOv8.
Điểm yếu
- Tính Mới: Vì là một mô hình mới hơn, các ví dụ triển khai thực tế có thể ít hơn so với các mô hình cũ và đã được thiết lập như EfficientDet, mặc dù việc áp dụng trong cộng đồng Ultralytics đang diễn ra nhanh chóng.
- Tài Nguyên Huấn Luyện: Mặc dù hiệu quả về mặt tính toán so với mức hiệu suất của nó, nhưng việc huấn luyện các biến thể YOLOv9 lớn nhất (ví dụ: YOLOv9-E) vẫn có thể đòi hỏi các tài nguyên tính toán đáng kể.
Các Trường hợp Sử dụng
YOLOv9 đặc biệt phù hợp cho các ứng dụng mà độ chính xác và hiệu quả là tối quan trọng, chẳng hạn như:
- Phân tích hình ảnh độ phân giải cao, như trong ảnh vệ tinh.
- Hiểu cảnh phức tạp cần thiết trong xe tự hành và robotics.
- Nhận dạng đối tượng chi tiết cho các tác vụ như kiểm soát chất lượng trong sản xuất.
Phân tích hiệu năng: YOLOv9 so với EfficientDet
Bảng dưới đây cung cấp so sánh trực tiếp các số liệu hiệu suất cho các kích thước mô hình khác nhau của EfficientDet và YOLOv9, được đánh giá trên bộ dữ liệu COCO.
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) |
---|---|---|---|---|---|---|
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 |
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 |
Từ dữ liệu, một số hiểu biết quan trọng xuất hiện:
- Độ chính xác và Hiệu quả: YOLOv9 luôn mang lại sự cân bằng tốt hơn. Ví dụ: YOLOv9-C đạt được mAP cao hơn (53,0) so với EfficientDet-D6 (52,6) với số lượng tham số và FLOPs bằng khoảng một nửa.
- Tốc độ suy luận: Trên GPU hiện đại với khả năng tối ưu hóa TensorRT, các mô hình YOLOv9 nhanh hơn đáng kể. YOLOv9-E nhanh hơn EfficientDet-D7 hơn 7 lần đồng thời chính xác hơn. Ngay cả mô hình YOLOv9t nhỏ nhất cũng nhanh hơn nhiều so với EfficientDet-d0 nhỏ nhất.
- Sử dụng tài nguyên: Các mô hình YOLOv9 hiệu quả hơn về tham số. YOLOv9-S (7.1M tham số) vượt qua độ chính xác của EfficientDet-D3 (12.0M tham số). Hiệu quả này rất quan trọng để triển khai trên các thiết bị bị hạn chế về tài nguyên.
Kết luận và Đề xuất
Mặc dù EfficientDet là một mô hình đột phá đã thúc đẩy ranh giới của hiệu quả, lĩnh vực thị giác máy tính đã phát triển nhanh chóng. Đối với các dự án mới bắt đầu ngày hôm nay, YOLOv9 là lựa chọn rõ ràng. Nó mang lại độ chính xác hiện đại, tốc độ suy luận vượt trội trên phần cứng hiện đại và hiệu quả tính toán cao hơn.
Sự tích hợp của YOLOv9 vào hệ sinh thái Ultralytics củng cố thêm lợi thế của nó, cung cấp cho các nhà phát triển một khuôn khổ thân thiện với người dùng, được hỗ trợ tốt và linh hoạt, giúp tăng tốc toàn bộ quy trình làm việc từ huấn luyện đến triển khai. EfficientDet vẫn là một mô hình quan trọng trong lịch sử và có thể phù hợp để duy trì các hệ thống kế thừa, nhưng đối với các ứng dụng hiệu suất cao mới, YOLOv9 mang lại lợi thế quyết định.
Khám phá các Mô hình Khác
Nếu bạn đang khám phá các mô hình hiện đại khác nhau, hãy nhớ xem các trang so sánh khác của chúng tôi: