DAMO-YOLO 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 là một quyết định quan trọng, cân bằng độ 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 chuyên sâu giữa DAMO-YOLO, một trình phát hiện hiệu suất cao từ Alibaba Group và EfficientDet, một họ mô hình hiệu quả cao từ Google. Mặc dù cả hai đều mạnh mẽ, chúng bắt nguồn từ các triết lý thiết kế khác nhau: DAMO-YOLO ưu tiên tốc độ và độ chính xác tiên tiến thông qua các thành phần kiến trúc mới lạ, trong khi EfficientDet tập trung vào hiệu quả tham số và FLOP tối cao thông qua mở rộng quy mô hợp chất.
Chúng tôi sẽ phân tích 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 xác định lựa chọn phù hợp nhất cho dự án của mình. Chúng tôi cũng sẽ khám phá cách các lựa chọn thay thế hiện đại như các mô hình Ultralytics YOLO mang lại sự kết hợp hấp dẫn giữa các thuộc tính này trong một hệ sinh thái linh hoạt và thân thiện với người dùng.
DAMO-YOLO
DAMO-YOLO là một mô hình phát hiện đối tượng theo thời gian thực, hiện đại, được phát triển bởi các nhà nghiên cứu tại Alibaba Group. Nó giới thiệu một số kỹ thuật mới để vượt qua giới hạn hiệu suất-hiệu quả của các bộ phát hiện đối tượng. Mô hình này tận dụng Tìm kiếm Kiến trúc Mạng nơ-ron (NAS) để khám phá các backbone tối ưu và kết hợp một mạng lưới kim tự tháp đặc trưng hiệu quả và một đầu dò phát hiện nhẹ để đạt được kết quả ấn tượng.
Chi tiết kỹ thuật
- Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, và Xiuyu Sun
- Tổ chức: Alibaba Group
- Ngày: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- Tài liệu: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Kiến trúc và các tính năng chính
Kiến trúc của DAMO-YOLO được xây dựng dựa trên một số cải tiến quan trọng:
- NAS-Powered Backbone: Thay vì sử dụng backbone được thiết kế thủ công, DAMO-YOLO sử dụng Neural Architecture Search (NAS) để tìm một cấu trúc hiệu quả hơn, tạo ra backbone "MazeNet" tùy chỉnh được tối ưu hóa cho việc trích xuất đặc trưng.
- Neck RepGFPN hiệu quả: Nó sử dụng một phiên bản hiệu quả của Mạng Kim Tự Tháp Đặc Trưng Tổng Quát (GFPN) với các kỹ thuật tái tham số hóa. Điều này cho phép kết hợp các đặc trưng đa tỷ lệ mạnh mẽ với chi phí tính toán tối thiểu trong quá trình suy luận.
- ZeroHead: Mô hình giới thiệu một đầu dò không neo gọn nhẹ có tên là ZeroHead, giúp giảm đáng kể số lượng tham số và tính toán cần thiết cho các dự đoán dò tìm cuối cùng.
- Gán nhãn AlignedOTA: Sử dụng một chiến lược gán nhãn được cải tiến có tên AlignedOTA, giúp mô hình học tốt hơn bằng cách đối sánh hiệu quả hơn các hộp ground-truth với các dự đoán trong quá trình huấn luyện.
Điểm mạnh
- Tốc độ suy luận GPU cao: DAMO-YOLO cực kỳ nhanh trên GPU, khiến nó trở thành lựa chọn hàng đầu cho các ứng dụng yêu cầu hiệu suất thời gian thực.
- Độ chính xác cao: Đạt được độ chính xác trung bình (mAP) cao, cạnh tranh hoặc vượt trội so với nhiều mô hình khác trong cùng phân khúc tốc độ.
- Thiết kế cải tiến: Việc sử dụng NAS và neck/head tùy chỉnh thể hiện một cách tiếp cận hiện đại đối với thiết kế detector, vượt qua các ranh giới của những gì có thể.
Điểm yếu
- Hệ sinh thái và khả năng sử dụng: Mô hình ít được tích hợp vào một framework toàn diện hơn, điều này có thể làm cho việc huấn luyện, triển khai và bảo trì trở nên khó khăn hơn so với các giải pháp có hệ sinh thái mạnh mẽ.
- Hiệu suất CPU: Mô hình này được tối ưu hóa mạnh mẽ cho phần cứng GPU và hiệu suất của nó trên CPU không được ghi chép hoặc ưu tiên tốt bằng.
- Chuyên biệt hóa tác vụ: DAMO-YOLO được thiết kế đặc biệt cho phát hiện đối tượng và thiếu tính linh hoạt tự nhiên để xử lý các tác vụ thị giác khác như phân đoạn hoặc ước tính tư thế.
Các trường hợp sử dụng lý tưởng
DAMO-YOLO phù hợp nhất cho các tình huống mà việc phát hiện tốc độ cao, độ chính xác cao trên phần cứng GPU là yêu cầu chính. Điều này bao gồm các ứng dụng như phân tích video thời gian thực, robotics và các hệ thống giám sát tiên tiến.
EfficientDet
EfficientDet là một họ các mô hình phát hiện đối tượng có khả năng mở rộng được phát triển bởi nhóm Google Brain. Đổi mới cốt lõi của nó là sự kết hợp của một xương sống hiệu quả, một mạng hợp nhất đặc trưng mới 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 mô hình. Cách tiếp cận này cho phép EfficientDet đạt được hiệu quả cao về cả số lượng tham số và FLOP.
Chi tiết kỹ thuật
- 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ác định bởi 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, bản thân nó được thiết kế bằng NAS.
- BiFPN (Mạng lưới Kim tự tháp Đặc trưng Hai hướng): EfficientDet giới thiệu BiFPN, một mạng lưới đặc trưng mới cho phép hợp nhất đặc trưng đa tỷ lệ một cách dễ dàng và nhanh chóng. Nó kết hợp các kết nối có trọng số để tìm hiểu tầm quan trọng của các đặc trưng đầu vào khác nhau và áp dụng hợp nhất từ trên xuống và từ dưới lên nhiều lần.
- Compound Scaling: Một tính năng chính là phương pháp compound scaling, phương pháp này cùng lúc mở rộng backbone network, feature network và detection head một cách có nguyên tắc. Điều này đảm bảo rằng khi mô hình lớn hơn, độ chính xác của nó sẽ được cải thiện một cách có thể dự đoán được mà không lãng phí tài nguyên tính toán.
Điểm mạnh
- Hiệu quả về tham số và FLOP: Các model EfficientDet đặc biệt hiệu quả, đòi hỏi ít tham số và FLOPs hơn so với nhiều model khác ở mức độ chính xác tương tự.
- Khả năng mở rộng: Họ mô hình có kích thước từ D0 (nhẹ) đến D7 (lớn), cung cấp một loạt các tùy chọn để phù hợp với các mức ngân sách tính toán khác nhau, từ thiết bị biên đến máy chủ đám mây.
- Hiệu suất CPU mạnh mẽ: Do hiệu quả của nó, EfficientDet hoạt động tốt trên CPU, làm cho nó trở thành một lựa chọn khả thi cho việc triển khai mà không cần phần cứng GPU chuyên dụng.
Điểm yếu
- Suy luận trên GPU chậm hơn: Mặc dù hiệu quả, độ trễ thô của EfficientDet trên GPU có thể cao hơn so với các mô hình như DAMO-YOLO, vốn được tối ưu hóa đặc biệt về tốc độ.
- Độ phức tạp trong hợp nhất đặc trưng: BiFPN, mặc dù hiệu quả, nhưng lại làm tăng thêm một lớp phức tạp có thể góp phần làm tăng độ trễ so với các đường dẫn hợp nhất một chiều đơn giản hơn.
- Tính linh hoạt hạn chế: Tương tự như DAMO-YOLO, EfficientDet chủ yếu là một trình phát hiện đối tượng và không hỗ trợ trực tiếp các tác vụ thị giác máy tính khác trong khuôn khổ ban đầu của nó.
Các trường hợp sử dụng lý tưởng
EfficientDet là một lựa chọn tuyệt vời cho các ứng dụng mà tài nguyên tính toán và kích thước mô hình là những hạn chế đáng kể. Nó vượt trội trong các tình huống AI biên, ứng dụng di động và các dịch vụ đám mây quy mô lớn, nơi giảm thiểu chi phí vận hành là rất quan trọng. Khả năng mở rộng của nó làm cho nó phù hợp với các dự án có thể cần được triển khai trên nhiều nền tảng phần cứng khác nhau.
Phân tích hiệu năng: Tốc độ so với độ chính xác
Hiệu năng của DAMO-YOLO và EfficientDet làm nổi bật các ưu tiên thiết kế khác nhau của chúng.
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) |
---|---|---|---|---|---|---|
DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
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 |
- DAMO-YOLO vượt trội rõ rệt về tốc độ GPU, với mô hình nhỏ nhất đạt được độ trễ 2.32 ms. Nó cung cấp mAP mạnh mẽ so với tốc độ của nó, khiến nó trở thành một nhà lãnh đạo về hiệu suất cho các ứng dụng GPU thời gian thực.
- EfficientDet vượt trội về hiệu quả tài nguyên. Mô hình EfficientDet-D0 có số lượng tham số (3.9M) và FLOPs (2.54B) thấp nhất với một biên độ lớn, cùng với tốc độ CPU tốt nhất. Họ mô hình này mở rộng đến độ chính xác cao nhất (53.7 mAP cho D7), nhưng điều này phải trả giá đáng kể cho tốc độ suy luận, đặc biệt là trên GPU.
Lợi thế của Ultralytics: Một giải pháp thay thế vượt trội
Mặc dù DAMO-YOLO và EfficientDet mạnh trong các lĩnh vực thích hợp tương ứng của chúng, nhưng các nhà phát triển thường cần một giải pháp cung cấp sự cân bằng vượt trội về hiệu suất, khả năng sử dụng và tính linh hoạt. Các mô hình Ultralytics như YOLOv8 và YOLO11 mới nhất mang đến một giải pháp thay thế hấp dẫn và thường vượt trội hơn.
Các ưu điểm chính của việc sử dụng các mô hình Ultralytics bao gồm:
- Dễ sử dụng: Python API được tinh giản, tài liệu đầy đủ và cách sử dụng CLI đơn giản giúp bạn bắt đầu, huấn luyện và triển khai mô hình một cách vô cùng dễ dàng.
- Hệ sinh thái được duy trì tốt: Ultralytics cung cấp một hệ sinh thái được phát triển và hỗ trợ tích cực với một cộng đồng mạnh mẽ trên GitHub, cập nhật thường xuyên và tích hợp liền mạch với Ultralytics HUB để quản lý bộ dữ liệu và MLOps.
- Cân bằng hiệu năng: Các model Ultralytics được tối ưu hóa cao để có sự cân bằng tuyệt vời giữa tốc độ và độ chính xác trên cả CPU và GPU, khiến chúng phù hợp với nhiều tình huống triển khai thực tế khác nhau.
- Hiệu quả bộ nhớ: Các mô hình Ultralytics YOLO được thiết kế để tiết kiệm bộ nhớ, thường yêu cầu ít bộ nhớ CUDA hơn để huấn luyện và suy luận so với các kiến trúc phức tạp hơn.
- Tính linh hoạt: Không giống như các mô hình đơn nhiệm, các mô hình Ultralytics YOLO hỗ trợ nguyên bản nhiều tác vụ thị giác, bao gồm phát hiện đối tượng, phân đoạn thể hiện, phân loại ảnh, ước tính tư thế và hộp giới hạn theo hướng (OBB), tất cả trong một khuôn khổ thống nhất duy nhất.
- Hiệu quả huấn luyện: Tận dụng lợi thế từ thời gian huấn luyện nhanh, tải dữ liệu hiệu quả và các trọng số đã được huấn luyện trước có sẵn trên các bộ dữ liệu như COCO.
Kết luận
Cả DAMO-YOLO và EfficientDet đều cung cấp khả năng mạnh mẽ cho việc phát hiện đối tượng. DAMO-YOLO là lựa chọn cho những người dùng cần tốc độ suy luận GPU tối đa với độ chính xác cao. EfficientDet cung cấp một họ các mô hình có khả năng mở rộng cao với hiệu suất tham số và FLOP vô song, làm cho nó lý tưởng cho các môi trường bị hạn chế về tài nguyên.
Tuy nhiên, đối với hầu hết các nhà phát triển và nhà nghiên cứu, một giải pháp toàn diện thường được ưu tiên hơn. Các mô hình Ultralytics như YOLOv8 và YOLO11 nổi bật bằng cách cung cấp sự kết hợp vượt trội giữa hiệu suất cao, tính dễ sử dụng đặc biệt và một hệ sinh thái đa nhiệm mạnh mẽ. Thiết kế cân bằng, bảo trì tích cực và tính linh hoạt của chúng khiến chúng trở thành lựa chọn được khuyến nghị cho nhiều dự án thị giác máy tính, từ nghiên cứu học thuật đến các ứng dụng thương mại cấp sản xuất.
Khám Phá Các So Sánh Mô Hình Khác
Để hiểu rõ hơn, hãy khám phá cách DAMO-YOLO và EfficientDet so sánh với các mô hình hiện đại khác trong tài liệu Ultralytics:
- YOLOv8 so với DAMO-YOLO
- YOLO11 so với DAMO-YOLO
- RT-DETR so với DAMO-YOLO
- YOLOv8 so với EfficientDet
- YOLO11 so với EfficientDet
- YOLOX so với EfficientDet