So sánh EfficientDet và YOLOv5#
Việc lựa chọn kiến trúc neural network tối ưu là một bước mang tính quyết định trong mọi sáng kiến computer vision. Sự cân bằng giữa độ trễ suy luận, hiệu quả tham số và độ chính xác phát hiện quyết định mức độ hiệu quả của model trong thực tế. Hướng dẫn kỹ thuật toàn diện này phân tích chuyên sâu hai framework phát hiện đối tượng có ảnh hưởng lớn: EfficientDet của Google và Ultralytics YOLOv5.
Bằng cách so sánh các đổi mới về kiến trúc, phương pháp training và khả năng deployment, developer có thể đưa ra quyết định phù hợp với môi trường deployment cụ thể, dù là mở rộng trên các cloud server hay chạy trên những edge device bị giới hạn tài nguyên.
EfficientDet: Kiến trúc có khả năng mở rộng với BiFPN#
Được Google Research giới thiệu, EfficientDet được thiết kế để mở rộng có hệ thống cả backbone và feature network nhằm đạt độ chính xác cao với ít tham số hơn các model tiên tiến trước đó.
Thông tin model#
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Tổ chức: Google Research
- Ngày: 20 tháng 11, 2019
- Arxiv: EfficientDet: Scalable and Efficient Object Detection
- GitHub: google/automl/efficientdet
Các cải tiến về kiến trúc#
EfficientDet sử dụng model phân loại EfficientNet làm backbone, áp dụng phương pháp compound scaling để mở rộng đồng nhất chiều rộng, độ sâu và độ phân giải của network. Đóng góp nổi bật nhất của model này cho object detection là giới thiệu Bi-directional Feature Pyramid Network (BiFPN). Không giống các Feature Pyramid Network tiêu chuẩn chỉ tổng hợp feature theo hướng từ trên xuống, BiFPN cho phép các kết nối cross-scale hai chiều phức tạp và đưa vào các trọng số có thể học để xác định tầm quan trọng của những feature đầu vào khác nhau.
Mặc dù có độ chính xác cao, EfficientDet phụ thuộc nhiều vào hệ sinh thái TensorFlow và các thư viện AutoML cụ thể. Sự phụ thuộc này đôi khi khiến việc tích hợp vào các pipeline deployment tùy chỉnh, gọn nhẹ hoặc những môi trường ưu tiên dynamic computational graph trở nên phức tạp.
Ultralytics YOLOv5: Phổ cập AI thời gian thực#
Được phát hành ngay sau EfficientDet, Ultralytics YOLOv5 đã cách mạng hóa ngành bằng cách cung cấp một implementation YOLO native PyTorch cực kỳ dễ tiếp cận. Model này thiết lập một tiêu chuẩn mới về developer experience, hiệu quả training và tính linh hoạt khi deployment thời gian thực.
Thông tin model#
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 26 tháng 6, 2020
- GitHub: ultralytics/yolov5
- Tài liệu: Tài liệu YOLOv5
Các cải tiến về kiến trúc#
YOLOv5 giới thiệu những nâng cấp đáng kể so với các phiên bản tiền nhiệm, sử dụng backbone CSPDarknet (Cross-Stage Partial) giúp cải thiện đáng kể gradient flow đồng thời giảm tổng số tham số. Ngoài ra, YOLOv5 tích hợp Auto-Learning Anchor Boxes, tự động tính toán các bounding box prior tối ưu dựa trên dữ liệu training tùy chỉnh cụ thể của bạn, loại bỏ nhu cầu tinh chỉnh hyperparameter thủ công.
YOLOv5 cũng sử dụng rộng rãi Mosaic Data Augmentation, kết hợp bốn hình ảnh khác nhau thành một training tile duy nhất. Điều này cải thiện đáng kể khả năng phát hiện các đối tượng nhỏ và khái quát hóa việc hiểu ngữ cảnh, giúp model hoạt động rất ổn định trong nhiều môi trường khác nhau.
Hiệu năng và benchmark#
Việc đánh giá model trên các benchmark tiêu chuẩn như COCO dataset rất quan trọng để hiểu sự đánh đổi giữa precision và tốc độ. Bảng dưới đây minh họa hiệu năng của các phiên bản EfficientDet và YOLOv5 với kích thước khác nhau trong những điều kiện được chuẩn hóa.
| Model | kích thước (pixel) | 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Phân tích các đánh đổi#
Mặc dù EfficientDet-d7 đạt mAP đỉnh ấn tượng là 53.7, model này có độ trễ suy luận đáng kể trên phần cứng GPU so với các kiến trúc YOLO. Ngược lại, YOLOv5 nổi bật về hardware acceleration. Biến thể YOLOv5n đạt thời gian suy luận nhanh đáng kinh ngạc, chỉ 1.12 ms trên GPU T4 khi sử dụng NVIDIA TensorRT, vượt trội cho các ứng dụng thời gian thực như xe tự hành hoặc dây chuyền sản xuất tốc độ cao.
Ngoài ra, các model YOLOv5 yêu cầu ít CUDA memory hơn đáng kể trong quá trình training so với các network compound-scaled phức tạp hoặc các model Transformer lớn. Mức sử dụng memory gọn nhẹ này giúp phổ cập AI tiên tiến, cho phép researcher training các model mạnh trên phần cứng tiêu dùng tiêu chuẩn.
Để đạt số frames-per-second (FPS) tối đa từ model YOLOv5 trên edge device, hãy export PyTorch weights sang TensorRT cho NVIDIA GPU hoặc OpenVINO cho Intel CPU. Bước này thường có thể tăng gấp đôi tốc độ suy luận.
Hệ sinh thái Training và Developer Experience#
Lợi thế thực sự của hệ sinh thái Ultralytics nằm ở trải nghiệm người dùng được tinh gọn. Trong khi EfficientDet đòi hỏi kiến thức chuyên sâu về TensorFlow object detection API, YOLOv5 cung cấp một Python API nhất quán và đơn giản.
Hệ sinh thái Ultralytics được duy trì tốt, bảo đảm developer có quyền truy cập vào các bản cập nhật thường xuyên, sự hỗ trợ tích cực từ cộng đồng và khả năng tích hợp liền mạch với các công cụ experiment tracking như Weights & Biases và ClearML.
Ví dụ Code: Bắt đầu với YOLOv5#
Chạy suy luận với một model YOLOv5 đã được pre-trained chỉ cần vài dòng code thông qua PyTorch Hub:
from ultralytics import YOLO
# Load the highly efficient YOLOv5s model
model = YOLO("yolov5su.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Display the detected bounding boxes
results[0].show()Tính linh hoạt và các ứng dụng thực tế#
EfficientDet là một framework chỉ dành cho object detection, hạn chế tính hữu ích của nó trong các pipeline vision phức tạp. Ngược lại, YOLOv5 đã phát triển để hỗ trợ nhiều computer vision task. Các bản phát hành hiện đại của model này hỗ trợ instance segmentation và image classification với độ chính xác cao, cho phép developer hợp nhất machine learning stack của mình.
Các trường hợp sử dụng lý tưởng#
- EfficientDet: Phù hợp nhất cho xử lý offline, nghiên cứu học thuật và analytics trên cloud, trong đó độ chính xác tối đa được ưu tiên hơn độ trễ, đồng thời có sẵn TPU cấp server hoặc GPU dung lượng memory lớn.
- YOLOv5: Lựa chọn hàng đầu cho edge AI deployment. Sự kết hợp giữa độ trễ thấp, footprint tham số nhỏ và độ chính xác cao khiến model này lý tưởng cho analytics bằng drone, tự động hóa bán lẻ thời gian thực và các ứng dụng mobile thông qua CoreML hoặc TFLite.
Thế hệ tiếp theo: Nâng cấp lên YOLO26#
Mặc dù YOLOv5 vẫn là một model mạnh và được deployment rộng rãi, lĩnh vực AI phát triển rất nhanh. Đối với các team bắt đầu dự án mới hoặc tìm kiếm hiệu năng hiện đại cao nhất, Ultralytics đã giới thiệu YOLO26, được phát hành vào tháng 1 năm 2026.
YOLO26 tái định nghĩa Pareto frontier giữa tốc độ và độ chính xác, giới thiệu những thay đổi mang tính đột phá về kiến trúc giúp deployment dễ dàng hơn và suy luận nhanh hơn.
Các cải tiến chính của YOLO26#
- Thiết kế end-to-end không cần NMS: YOLO26 loại bỏ native bước hậu xử lý Non-Maximum Suppression. Điều này đơn giản hóa đáng kể logic deployment và giảm độ biến thiên độ trễ, một phương pháp đột phá được hoàn thiện từ các thử nghiệm ban đầu trong YOLOv10.
- Suy luận CPU nhanh hơn tới 43%: Được thiết kế chuyên biệt cho edge computing và các IoT device công suất thấp hoạt động không có GPU chuyên dụng.
- MuSGD Optimizer: Lấy cảm hứng từ các kỹ thuật training large language model (như Kimi K2 của Moonshot AI), phương pháp kết hợp giữa SGD và Muon này đưa các đổi mới của LLM vào computer vision, cho phép hội tụ nhanh hơn và động lực training ổn định hơn.
- ProgLoss + STAL: Các hàm loss nâng cao này mang lại cải thiện đáng kể trong việc nhận diện đối tượng nhỏ, yếu tố quan trọng đối với ảnh chụp từ trên không và robotics.
- Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, model head được đơn giản hóa đáng kể, mang lại khả năng tương thích tốt hơn khi export sang phần cứng edge cũ hoặc bị giới hạn nghiêm ngặt.
Đối với các team deployment pipeline multi-task, YOLO26 cũng giới thiệu những nâng cấp dành riêng cho từng task, chẳng hạn như multi-scale proto cho segmentation và angle loss chuyên biệt cho oriented bounding boxes (OBB). Để khám phá các lựa chọn hiện đại khác trong hệ sinh thái, bạn cũng có thể xem YOLO11 hoặc kiến trúc YOLOv8.
Kết luận#
Việc lựa chọn giữa EfficientDet và YOLOv5 phụ thuộc nhiều vào mục tiêu deployment. EfficientDet cung cấp phương pháp scaling thanh nhã về mặt toán học, phù hợp với suy luận dựa nhiều trên cloud. Tuy nhiên, developer experience vượt trội, vòng lặp training PyTorch cực nhanh và khả năng deployment edge được tối ưu cao của YOLOv5 khiến model này trở thành lựa chọn ưu tiên cho phần lớn ứng dụng thực tế, thời gian thực. Bằng cách tận dụng các công cụ toàn diện do Ultralytics cung cấp, các team có thể rút ngắn time-to-market và xây dựng những hệ thống AI phản hồi nhanh.