EfficientDet so với YOLOv10#
Trong lĩnh vực computer vision đang phát triển nhanh chóng, việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là rất quan trọng để cân bằng giữa độ chính xác, độ trễ và hiệu quả tính toán. Hướng dẫn kỹ thuật toàn diện này so sánh hai mô hình có ảnh hưởng lớn: EfficientDet của Google và YOLOv10 của Đại học Thanh Hoa. Mặc dù cả hai mô hình đều đại diện cho những bước tiến lớn trong việc phát hiện đối tượng, chúng tiếp cận thiết kế kiến trúc và model optimization từ các góc nhìn hoàn toàn khác nhau.
Chúng ta sẽ khám phá các kiến trúc cốt lõi của chúng, xem xét các chuẩn mực hiệu suất trên standard datasets like COCO, và thảo luận cách chúng tích hợp vào các pipeline học máy hiện đại, đồng thời nêu bật những ưu điểm của Ultralytics ecosystem toàn diện.
EfficientDet: Tiên phong trong Compound Scaling#
Được giới thiệu vào cuối năm 2019, EfficientDet đã thiết lập một tiêu chuẩn mới cho khả năng phát hiện đối tượng có thể mở rộng và độ chính xác cao bằng cách đưa ra một phương pháp nguyên tắc để mở rộng quy mô các chiều của mạng.
Những cải tiến chính và kiến trúc#
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Organization: Google Brain
- Ngày: 20-11-2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: EfficientDet Repository
EfficientDet được xây dựng trên xương sống EfficientNet, tận dụng Mạng Kim tự tháp Tính năng Hai chiều (BiFPN) mới lạ. Không giống như các Feature Pyramid Networks (FPN) truyền thống cộng các tính năng mà không phân biệt tầm quan trọng của chúng, BiFPN sử dụng trọng số có thể học để hợp nhất các tính năng đa tỷ lệ. Điều này cho phép mạng lưới tìm hiểu hiệu quả tính năng độ phân giải nào đóng góp nhiều nhất cho dự đoán cuối cùng. Hơn nữa, EfficientDet sử dụng phương pháp chia tỷ lệ hỗn hợp giúp đồng thời chia tỷ lệ độ phân giải, độ sâu và chiều rộng cho xương sống, mạng tính năng và các mạng dự đoán hộp/lớp.
Mặc dù EfficientDet vẫn là một lựa chọn vững chắc cho các hệ thống cũ được tích hợp sâu với các pipeline TensorFlow cũ, nó đi kèm với memory requirements đáng kể trong quá trình huấn luyện và dựa vào một hệ sinh thái cũ có thể cồng kềnh so với các framework năng động, hiện đại.
YOLOv10: Nhà đổi mới không cần NMS#
Được phát hành vào giữa năm 2024, YOLOv10 đã thay đổi cơ bản mô hình phát hiện đối tượng thời gian thực bằng cách loại bỏ nhu cầu về Non-Maximum Suppression (NMS) trong quá trình hậu xử lý, giúp giảm đáng kể inference latency.
Những cải tiến chính và kiến trúc#
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, và cộng sự.
- Tổ chức: Tsinghua University
- Ngày: 23-05-2024
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: YOLOv10 Repository
YOLOv10 giới thiệu chiến lược gán kép nhất quán cho việc huấn luyện không cần NMS. Bằng cách sử dụng cả việc gán nhãn một-nhiều và một-một trong quá trình huấn luyện, mạng học cách tạo ra các hộp giới hạn khớp duy nhất mà không dựa vào NMS để lọc ra các bản sao. Thiết kế mô hình hướng đến hiệu suất-độ chính xác tổng thể này làm giảm sự trùng lặp tính toán, biến nó thành một ứng cử viên xuất sắc cho edge computing và các ứng dụng phát video có độ trễ thấp. Nó tích hợp liền mạch vào hệ sinh thái Ultralytics, cấp cho các nhà phát triển quyền truy cập vào Python API cực kỳ đơn giản.
Bằng cách loại bỏ bước NMS, YOLOv10 đảm bảo tốc độ suy luận nhất quán bất kể có bao nhiêu đối tượng được phát hiện trong một cảnh, loại bỏ các đỉnh độ trễ thường thấy trong các computer vision applications đông đúc.
So sánh hiệu năng: Độ chính xác, Tốc độ và Hiệu quả#
Khi triển khai các mô hình trong các kịch bản thực tế, các nhà phát triển phải cân nhắc mean Average Precision (mAP) với số lượng tham số và các phép toán tính toán (FLOPs). Bảng dưới đây trình bày chi tiết các số liệu này trên các biến thể chia tỷ lệ của cả hai mô hình.
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Lưu ý: Biến thể YOLOv10n yêu cầu ít tham số hơn đáng kể (2.3M) và đạt được tốc độ TensorRT vượt trội đáng kể (1.56ms) so với các thế hệ EfficientDet đầu tiên, giúp nó khả thi hơn nhiều cho real-time inference trong môi trường production.
Tại sao chọn Ultralytics để triển khai mô hình?#
Mặc dù cả hai mô hình đều có ý nghĩa lịch sử và cấu trúc, việc tích hợp chúng vào các pipeline hiện đại có thể là một thử thách. Đây là lúc Ultralytics Platform tỏa sáng. Bằng cách cung cấp một hệ sinh thái thống nhất, Ultralytics đơn giản hóa toàn bộ vòng đời—từ data annotation đến triển khai.
- Tính dễ sử dụng: Gói Python của Ultralytics cung cấp một giao diện duy nhất cho model training, validation và xuất mô hình, thay thế hàng trăm dòng mã boilerplate bằng các lệnh ngắn gọn.
- Hệ sinh thái và tính đa năng: Trong khi EfficientDet được chuyên문 hóa cao cho việc phát hiện, các mô hình YOLO của Ultralytics tự nhiên mở rộng sang Instance Segmentation, Pose Estimation, Oriented Bounding Boxes (OBB), và Phân loại.
- Hiệu quả huấn luyện: Tận dụng các kỹ thuật tiên tiến như auto-batching và huấn luyện phân tán, các mô hình Ultralytics huấn luyện nhanh hơn và tiêu thụ ít bộ nhớ CUDA hơn đáng kể so với các kiến trúc Transformer nặng hoặc các kiến trúc TF đa nhánh cũ.
Ví dụ về mã: Huấn luyện YOLOv10#
Việc triển khai YOLOv10 với Ultralytics cực kỳ đơn giản. Đoạn mã sau đây minh họa cách khởi tạo, huấn luyện và đánh giá một mạng YOLOv10 hoàn toàn trong Python API.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (nano variant for edge speed)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Evaluate the model on the validation set
metrics = model.val()
# Export the model to ONNX for production deployment
model.export(format="onnx")Các trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa EfficientDet và YOLOv10 phụ thuộc vào các yêu cầu cụ thể của dự án, giới hạn triển khai và ưu tiên hệ sinh thái của bạn.
Khi 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 thiết bị di động qua TFLite: Các dự án đặc biệt yêu cầu xuất TensorFlow Lite cho Android hoặc các thiết bị Linux nhúng.
Khi nào nên chọn YOLOv10#
YOLOv10 được khuyến nghị cho:
- Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc phát hiện đầu cuối (end-to-end) mà không cần NMS, giúp giảm độ phức tạp khi triển khai.
- Sự cân bằng giữa tốc độ và độ chính xác: Các dự án yêu cầu sự cân bằng mạnh mẽ giữa tốc độ suy luận và độ chính xác của phát hiện trên nhiều quy mô model khác nhau.
- Các ứng dụng có độ trễ nhất quán: Các kịch bản triển khai nơi thời gian suy luận có thể dự đoán được là tối quan trọng, chẳng hạn như robot hoặc các hệ thống tự hành.
Khi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết các dự án mới, Ultralytics YOLO26 mang lại sự kết hợp tốt nhất giữa hiệu suất và trải nghiệm của 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 thử thách như aerial drone imagery hoặc phân tích cảm biến IoT nơi ProgLoss và STAL cải thiện đáng kể độ chính xác trên các vật thể nhỏ xíu.
Tương lai đã đến: Giới thiệu Ultralytics YOLO26#
Trong khi YOLOv10 giới thiệu thiết kế không cần NMS mang tính cách mạng, công nghệ này đã tiến hóa. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho đỉnh cao công nghệ tối tân nhất cho AI thị giác. Nó hợp nhất các khía cạnh tốt nhất của các kiến trúc trước đó—như khả năng đa nhiệm của YOLO11 và tính ổn định của RT-DETR—vào một cỗ máy đơn lẻ, được tối ưu hóa cao.
Nếu bạn đang bắt đầu một dự án mới, chúng tôi đặc biệt khuyên bạn nên nâng cấp lên YOLO26. Nó mang lại tính linh hoạt chưa từng có và sự dễ sử dụng thông qua Ultralytics Platform.
Các đột phá chính trong YOLO26:
- Thiết kế End-to-End không cần NMS: Dựa trên nền tảng được đặt ra bởi YOLOv10, YOLO26 là dạng end-to-end nguyên bản, giúp đơn giản hóa logic triển khai xuống mức tối thiểu.
- Suy luận CPU nhanh hơn tới 43%: Với việc loại bỏ Distribution Focal Loss (DFL), YOLO26 cắt giảm đáng kể chi phí tính toán, khiến nó trở thành vị vua không thể tranh cãi cho edge AI devices.
- Trình tối ưu hóa MuSGD: YOLO26 vay mượn các cải tiến từ việc huấn luyện mô hình ngôn ngữ lớn (LLM). Bằng cách kết hợp sự ổn định của SGD với tốc độ của Muon, nó hội tụ nhanh hơn và đáng tin cậy hơn bất kỳ phiên bản tiền nhiệm nào.
- ProgLoss + STAL: Các công thức loss vượt trội giải quyết hiệu quả các vấn đề lâu đời trong việc phát hiện đối tượng nhỏ, một lĩnh vực mà EfficientDet truyền thống gặp khó khăn.
Kết luận: Kết hợp các model với các trường hợp sử dụng#
Việc lựa chọn giữa các mạng này cuối cùng phụ thuộc vào các ràng buộc triển khai của bạn:
- EfficientDet vẫn là một chủ đề quan tâm trong học thuật liên quan đến chia tỷ lệ hỗn hợp và phù hợp cho các nhà nghiên cứu duy trì các hệ thống TensorFlow hiện có, nơi kích thước trọng số mô hình (trên đĩa) quan trọng hơn tốc độ thời gian chạy.
- YOLOv10 là một lựa chọn tuyệt vời cho các ứng dụng đòi hỏi độ trễ cực thấp, chẳng hạn như multi-object tracking tốc độ cao và giám sát giao thông, nhờ kiến trúc không cần NMS tiên phong của nó.
- Tuy nhiên, YOLO26 là khuyến nghị tối ưu cho các computer vision projects hiện đại, mang lại mức Performance Balance tuyệt đối cao nhất về độ chính xác, dung lượng bộ nhớ tối thiểu và tính đa nhiệm linh hoạt được hỗ trợ bởi hệ sinh thái Ultralytics mạnh mẽ.