Link to this sectionEfficientDet so với YOLOv9#
Bối cảnh thị giác máy tính đã được định hình bởi những đột phá liên tục trong thiết kế mạng thần kinh. Việc tìm ra sự cân bằng phù hợp giữa hiệu quả tính toán và độ chính xác của khả năng phát hiện là rất quan trọng khi chọn một model. EfficientDet của Google đã thiết lập một nền tảng vững chắc vào năm 2019 bằng cách giới thiệu các kiến trúc có thể mở rộng, trong khi YOLOv9, được phát hành vào năm 2024, đã đẩy mạnh giới hạn của object detection bằng cách sử dụng Programmable Gradient Information (PGI).
Hướng dẫn này cung cấp một so sánh kỹ thuật toàn diện giữa hai model này và giới thiệu framework Ultralytics YOLO26 hiện đại, mang đến một giải pháp toàn diện, end-to-end được tối ưu hóa cho môi trường sản xuất.
Link to this sectionKiến trúc Model và Những đổi mới#
Việc hiểu các cơ chế nền tảng của EfficientDet và YOLOv9 là rất cần thiết để xác định các trường hợp sử dụng tối ưu cho chúng.
Link to this sectionEfficientDet: Compound Scaling và BiFPN#
Được phát triển bởi Google Research, EfficientDet tập trung vào việc mở rộng quy mô hệ thống và hợp nhất đặc trưng hiệu quả. Nó sử dụng EfficientNet làm backbone và giới thiệu một kiến trúc mạng đặc trưng mới.
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Tổ chức: Google
- Ngày: 20 tháng 11, 2019
- Liên kết: Arxiv, GitHub
Các tính năng kiến trúc chính: EfficientDet dựa nhiều vào Bi-directional Feature Pyramid Network (BiFPN), cho phép hợp nhất đặc trưng đa quy mô một cách nhanh chóng và dễ dàng. Bên cạnh đó, nó sử dụng phương pháp compound scaling để mở rộng đồng nhất độ phân giải, độ sâu và chiều rộng của mạng. Mặc dù rất chính xác vào thời điểm ra mắt, EfficientDet bị gắn chặt với các môi trường TensorFlow cũ, khiến cho các quy trình triển khai hiện đại trở nên phức tạp.
Link to this sectionYOLOv9: Giải quyết nút thắt thông tin#
Được phát triển bởi các nhà nghiên cứu tại Academia Sinica, YOLOv9 giải quyết vấn đề suy giảm thông tin khi dữ liệu đi qua các mạng thần kinh sâu.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica
- Ngày: 21 tháng 2 năm 2024
- Liên kết: Arxiv, GitHub, Docs
Các tính năng kiến trúc chính: YOLOv9 giới thiệu Programmable Gradient Information (PGI) để cung cấp sự giám sát phụ trợ, đảm bảo dữ liệu quan trọng được giữ lại để cập nhật trọng số mạng một cách đáng tin cậy. Nó cũng có tính năng Generalized Efficient Layer Aggregation Network (GELAN) để tối đa hóa hiệu quả tham số. Mặc dù có những tiến bộ này, YOLOv9 vẫn yêu cầu Non-Maximum Suppression (NMS) trong quá trình hậu xử lý, điều này làm tăng độ trễ.
Link to this sectionSo sánh hiệu năng#
Khi đánh giá các model này, việc phân tích dữ liệu thực nghiệm giúp xác định kiến trúc nào mang lại sự đánh đổi tốt nhất cho hardware requirements cụ thể của bạn.
| Mô hình | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (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 |
Link to this sectionPhân tích Phê bình#
YOLOv9 mang lại một bước nhảy vọt về thế hệ trong tốc độ. Ví dụ, YOLOv9e đạt 55.6% mAP với độ trễ TensorRT là 16.77ms. Trái lại, EfficientDet-d7 cung cấp mAP thấp hơn là 53.7% nhưng lại chịu độ trễ cực lớn (128.07ms)—khiến nó cực kỳ khó triển khai cho các luồng video thời gian thực.
Link to this sectionCác trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa EfficientDet và YOLOv9 phụ thuộc vào yêu cầu dự án cụ thể, các hạn chế khi triển khai và tùy chọn hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn EfficientDet#
EfficientDet là một lựa chọn mạnh mẽ cho:
- Google Cloud và các đường ống TPU: Các hệ thống được tích hợp sâu với API Google Cloud Vision hoặc hạ tầng TPU, nơi EfficientDet có sự tối ưu hóa gốc.
- Nghiên cứu về Compound Scaling: Các nghiên cứu học thuật tập trung vào việc đánh giá tác động của độ sâu mạng, chiều rộng và khả năng mở rộng độ phân giải cân bằng.
- Triển khai trên di động qua TFLite: Các dự án yêu cầu cụ thể việc xuất TensorFlow Lite cho Android hoặc các thiết bị Linux nhúng.
Link to this sectionKhi nào nên chọn YOLOv9#
YOLOv9 được khuyến nghị cho:
- Nghiên cứu Nút thắt Thông tin (Information Bottleneck): Các dự án học thuật nghiên cứu về Programmable Gradient Information (PGI) và kiến trúc Generalized Efficient Layer Aggregation Network (GELAN).
- Nghiên cứu Tối ưu hóa Luồng Gradient: Nghiên cứu tập trung vào việc hiểu và giảm thiểu tình trạng mất thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
- Đo lường Phát hiện Độ chính xác cao: Các kịch bản mà hiệu suất đo lường trên bộ dữ liệu COCO của YOLOv9 cần thiết làm điểm tham chiếu cho các so sánh kiến trúc.
Link to this sectionKhi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm nhà phát triển:
- Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái trên không hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các vật thể cực nhỏ.
Link to this sectionLợi thế của Ultralytics: Lựa chọn YOLO26#
Trong khi YOLOv9 và EfficientDet đã mở đường, các nhà phát triển đang tìm kiếm một framework hiện đại, sẵn sàng cho sản xuất nên cân nhắc các Ultralytics YOLO models, đặc biệt là YOLO26 mới được phát hành.
Nền tảng Ultralytics Platform cung cấp sự dễ sử dụng vượt trội, kết hợp các script huấn luyện cục bộ mạnh mẽ với giao diện hỗ trợ đám mây. YOLO26 đại diện cho một cuộc đại tu lớn trong thiết kế model, khiến các kiến trúc cũ trở nên lỗi thời đối với nhiều ứng dụng thương mại.
Link to this sectionĐiểm nổi bật kỹ thuật của YOLO26#
- Thiết kế End-to-End NMS-Free: YOLO26 loại bỏ hoàn toàn các điểm nghẽn hậu xử lý. Bằng cách loại bỏ Non-Maximum Suppression, các đồ thị triển khai được thống nhất và vốn dĩ nhanh hơn trên các chip Edge AI.
- Suy luận CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho các thiết bị nhúng, giúp nó nhanh hơn đáng kể so với cả YOLOv9 và EfficientDet khi không có GPU.
- Bộ tối ưu hóa MuSGD: Tích hợp những đổi mới của LLM vào AI thị giác, bộ tối ưu hóa lai này giúp ổn định các lần chạy huấn luyện, cho phép các model hội tụ nhanh hơn với ít tài nguyên hơn.
- Yêu cầu bộ nhớ thấp: Không giống như các kiến trúc nặng về Transformer hoặc CNN chưa được tối ưu hóa, YOLO26 giảm thiểu mức tiêu thụ bộ nhớ CUDA trong quá trình huấn luyện, cho phép bạn sử dụng batch size lớn hơn trên phần cứng cấp người dùng.
- ProgLoss + STAL: Thiết kế hàm loss vượt trội giúp tăng đáng kể độ chính xác trong việc phát hiện các vật thể nhỏ, làm cho YOLO26 trở nên lý tưởng cho hình ảnh trên không và các mạng IoT.
- Loại bỏ DFL: Thiết kế cấu trúc đơn giản hóa cho phép chuyển đổi không ma sát sang các định dạng triển khai di động.
Các tùy chọn mạnh mẽ khác trong hệ sinh thái Ultralytics bao gồm YOLO11 và YOLOv8, vốn cũng cung cấp tính linh hoạt đa tác vụ như instance segmentation và pose estimation.
Link to this sectionHuấn luyện đơn giản hóa với Python SDK#
Các model Ultralytics ưu tiên trải nghiệm nhà phát triển. Việc huấn luyện một model hiện đại được gói gọn trong chỉ vài dòng Python.
from ultralytics import YOLO
# Initialize the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Train with optimized memory usage and built-in augmentations
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance easily
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")Link to this sectionỨng dụng trong thực tế#
Việc lựa chọn giữa các kiến trúc này phụ thuộc rất nhiều vào mục tiêu triển khai của bạn.
- Triển khai Cloud kế thừa: EfficientDet từng phổ biến cho xử lý batch ngoại tuyến, dựa trên đám mây, nơi cần độ chính xác cao và không có các ràng buộc thời gian thực nghiêm ngặt.
- Nghiên cứu Học thuật: YOLOv9 vẫn là một lựa chọn thú vị cho các nhà nghiên cứu đang đẩy mạnh ranh giới CNN lý thuyết và phân tích luồng gradient qua các lớp mạng.
- Edge Computing và IoT: YOLO26 thống trị các ứng dụng trong thế giới thực. Quy trình NMS-free và khả năng Oriented Bounding Box (OBB) của nó làm cho nó trở thành lựa chọn vượt trội cho phân tích giao thông thành phố thông minh, giám sát hàng tồn kho bán lẻ và kiểm tra bằng drone, mang lại sự cân bằng không thể đánh bại giữa độ chính xác cao và tốc độ suy luận nhanh.