EfficientDet và YOLOv10#
Trong lĩnh vực computer vision phát triển nhanh chóng, việc chọn kiến trúc phát hiện đối tượng phù hợp là yếu tố then chốt để cân bằng độ 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 model có tầm ảnh hưởng lớn: EfficientDet của Google và YOLOv10 của Đại học Thanh Hoa. Cả hai model đều đánh dấu bước tiến đáng kể trong lĩnh vực phát hiện đối tượng, nhưng có cách tiếp cận rất khác nhau về thiết kế kiến trúc và tối ưu hóa model.
Chúng ta sẽ khám phá kiến trúc cốt lõi, xem xét các benchmark hiệu năng trên các dataset tiêu chuẩn như COCO và thảo luận cách tích hợp các model này vào pipeline machine learning hiện đại, đặc biệt làm rõ ưu điểm của hệ sinh thái Ultralytics toàn diện.
EfficientDet: Tiên phong trong compound scaling#
Ra mắt vào cuối năm 2019, EfficientDet thiết lập một chuẩn mực mới cho tác vụ phát hiện đối tượng có khả năng mở rộng và độ chính xác cao bằng cách đưa ra phương pháp có cơ sở để mở rộng kích thước mạng.
Các cải tiến và kiến trúc then chốt#
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Tổ chức: Google Brain
- Ngày: 2019-11-20
- arXiv: https://arxiv.org/abs/1911.09070
- GitHub: Repository EfficientDet
EfficientDet được xây dựng trên backbone EfficientNet và tận dụng Mạng kim tự tháp đặc trưng hai chiều (BiFPN) mới. Khác với Mạng kim tự tháp đặc trưng (FPN) truyền thống, vốn cộng các đặc trưng mà không phân biệt mức độ quan trọng, BiFPN sử dụng trọng số có thể học để hợp nhất đặc trưng đa tỷ lệ. Nhờ vậy, mạng có thể học hiệu quả những đặc trưng ở độ phân giải nào đóng góp nhiều nhất vào dự đoán cuối cùng. Ngoài ra, EfficientDet sử dụng phương pháp compound scaling để đồng thời mở rộng đồng đều độ phân giải, độ sâu và độ rộng của backbone, mạng đặc trưng và mạng dự đoán box/class.
EfficientDet vẫn là lựa chọn vững chắc cho các hệ thống cũ tích hợp sâu với pipeline TensorFlow đời trước, nhưng đòi hỏi đáng kể bộ nhớ khi huấn luyện và phụ thuộc vào hệ sinh thái cũ, vốn có thể cồng kềnh hơn các framework hiện đại, linh hoạt.
YOLOv10: Đột phá không dùng NMS#
Ra mắt vào giữa năm 2024, YOLOv10 đã thay đổi căn 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 dùng Non-Maximum Suppression (NMS) trong bước hậu xử lý, qua đó giảm đáng kể độ trễ inference.
Các cải tiến và kiến trúc then chốt#
- Tác giả: Ao Wang, Hui Chen, Lihao Liu và cộng sự
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: Kho lưu trữ YOLOv10
YOLOv10 giới thiệu chiến lược gán kép nhất quán để huấn luyện không dùng NMS. Bằng cách sử dụng cả phép gán nhãn one-to-many và one-to-one trong quá trình huấn luyện, mạng học cách tạo ra các bounding box khớp duy nhất mà không cần NMS để lọc các kết quả trùng lặp. Thiết kế model toàn diện, cân bằng hiệu quả và độ chính xác này giảm dư thừa tính toán, khiến YOLOv10 trở thành ứng viên xuất sắc cho điện toán biên và các ứng dụng truyền phát video độ trễ thấp. YOLOv10 tích hợp liền mạch vào hệ sinh thái Ultralytics, giúp nhà phát triển tiếp cận Python API cực kỳ đơn giản.
Bằng cách loại bỏ bước NMS, YOLOv10 đảm bảo tốc độ inference ổn định bất kể số lượng đối tượng được phát hiện trong một cảnh, qua đó loại bỏ các đột biến độ trễ thường gặp trong ứng dụng computer vision có cảnh đông đối tượng.
So sánh hiệu năng: Độ chính xác, tốc độ và hiệu quả#
Khi triển khai model trong môi trường thực tế, nhà phát triển cần cân nhắc Độ chính xác trung bình (mAP) cùng số lượng tham số và phép toán tính toán (FLOPs). Bảng dưới đây trình bày chi tiết các chỉ số này ở những biến thể tỷ lệ của cả hai model.
| Model | 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 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
Lưu ý: Biến thể YOLOv10n cần ít tham số hơn đáng kể (2.3M) và đạt tốc độ TensorRT vượt trội (1.84ms) so với các phiên bản EfficientDet đời đầu, khiến YOLOv10n phù hợp hơn nhiều cho inference thời gian thực trong môi trường production.
Vì sao nên chọn Ultralytics để triển khai model?#
Dù cả hai model đều có ý nghĩa lịch sử và kiến trúc, việc tích hợp chúng vào pipeline hiện đại có thể là thách thức. Đây là điểm mạnh của Ultralytics Platform. Với hệ sinh thái thống nhất, Ultralytics đơn giản hóa toàn bộ vòng đời—từ gán nhãn dữ liệu đến triển khai.
- Tính dễ sử dụng: Gói Ultralytics Python cung cấp một giao diện duy nhất cho huấn luyện model, validation và export, thay thế hàng trăm dòng code mẫu rườm rà bằng các lệnh ngắn gọn.
- Hệ sinh thái và tính linh hoạt: Trong khi EfficientDet chuyên biệt sâu cho tác vụ phát hiện, model Ultralytics YOLO dễ dàng mở rộng sang Phân đoạn đối tượng, Ước lượng tư thế, Hộp giới hạn định hướng (OBB) và phân loại.
- Hiệu quả huấn luyện: Nhờ tận dụng các kỹ thuật tiên tiến như tự động chia batch và huấn luyện phân tán, model Ultralytics huấn luyện nhanh hơn và tiêu thụ ít bộ nhớ CUDA hơn đáng kể so với model Transformer cồng kềnh hoặc kiến trúc TF đa nhánh cũ.
Ví dụ code: Huấn luyện YOLOv10#
Triển khai YOLOv10 bằng Ultralytics vô cùng đơn giản. Đoạn code sau minh họa cách khởi tạo, huấn luyện và đánh giá mạng YOLOv10 hoàn toàn thông qua Python API.
from ultralytics import YOLO
# Tải model YOLOv10 đã huấn luyện trước (biến thể nano cho tốc độ trên thiết bị biên)
model = YOLO("yolov10n.pt")
# Huấn luyện model trên bộ dữ liệu COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Đánh giá model trên tập validation
metrics = model.val()
# Xuất model sang ONNX để triển khai trong môi trường production
model.export(format="onnx")Trường hợp sử dụng và khuyến nghị#
Việc chọn EfficientDet hay YOLOv10 tùy thuộc vào yêu cầu cụ thể của dự án, các giới hạn triển khai và hệ sinh thái bạn ưu tiên.
Khi nào nên chọn EfficientDet#
EfficientDet là lựa chọn phù hợp nếu:
- Pipeline Google Cloud và TPU: Các hệ thống tích hợp sâu với API Google Cloud Vision hoặc hạ tầng TPU, nơi EfficientDet được tối ưu hóa nguyên bản.
- Nghiên cứu mở rộng theo hệ số: Benchmark học thuật tập trung nghiên cứu tác động của việc mở rộng cân bằng độ sâu, chiều rộng và độ phân giải của mạng.
- Triển khai di động qua LiteRT: Các dự án yêu cầu cụ thể việc xuất sang LiteRT (trước đây là TensorFlow Lite) cho Android hoặ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ừ khả năng phát hiện end-to-end không cần Non-Maximum Suppression, giúp giảm độ phức tạp khi triển khai.
- Cân bằng giữa tốc độ và độ chính xác: Các dự án cần sự cân bằng tốt giữa tốc độ inference và độ chính xác phát hiện trên nhiều quy mô model.
- Ứng dụng cần độ trễ ổn định: Các tình huống triển khai yêu cầu thời gian inference có thể dự đoán, chẳng hạn như robotics hoặc hệ thống tự hành.
Khi nào nên chọn Ultralytics (YOLO26)#
Với hầu hết dự án mới, Ultralytics YOLO26 mang đến sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:
- Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
- Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
- Phát hiện vật thể nhỏ: Các tình huống khó như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác khi phát hiện vật thể rất nhỏ.
Tương lai đã đến: Ultralytics YOLO26 ra mắt#
Dù YOLOv10 mở đầu thiết kế đột phá không dùng NMS, công nghệ này đã tiếp tục phát triển. Ra mắt vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho công nghệ AI thị giác tiên tiến nhất. YOLO26 hợp nhất những ưu điểm nổi bật của các kiến trúc trước—như khả năng đa nhiệm của YOLO11 và độ ổn định của RT-DETR—thành một model mạnh mẽ, được tối ưu hóa cao.
Nếu bắt đầu một dự án mới, chúng tôi đặc biệt khuyến nghị nâng cấp lên YOLO26. YOLO26 mang đến tính linh hoạt và dễ sử dụng vượt trội thông qua Ultralytics Platform.
Các đột phá then chốt của YOLO26:
- Thiết kế end-to-end không dùng NMS: Kế thừa nền tảng YOLOv10 đặt ra, YOLO26 cung cấp head end-to-end one-to-one tùy chọn (
nms=False) bỏ qua NMS, giúp đơn giản hóa logic triển khai đến mức tối thiểu. - Inference trên CPU nhanh hơn tới 43%: Nhờ loại bỏ Distribution Focal Loss (DFL), YOLO26 giảm mạnh overhead tính toán, trở thành lựa chọn hàng đầu cho thiết bị AI biên.
- Optimizer MuSGD: YOLO26 kế thừa các cải tiến từ quá trình huấn luyện Mô hình ngôn ngữ lớn (LLM). Bằng cách kết hợp độ ổn định của SGD với tốc độ của Muon, YOLO26 hội tụ nhanh và đáng tin cậy hơn mọi thế hệ trước.
- ProgLoss + STAL: Các công thức loss vượt trội giải quyết hiệu quả những vấn đề tồn tại lâu nay trong việc phát hiện đối tượng nhỏ, lĩnh vực mà EfficientDet thường gặp khó khăn.
Kết luận: Chọn model phù hợp với trường hợp sử dụng#
Cuối cùng, việc chọn mạng nào tùy thuộc vào các giới hạn triển khai của bạn:
- EfficientDet vẫn là chủ đề được giới học thuật quan tâm trong nghiên cứu compound scaling và phù hợp với các nhà nghiên cứu duy trì hệ thống TensorFlow hiện có, trong đó kích thước model trên ổ đĩa quan trọng hơn tốc độ chạy.
- YOLOv10 đặc biệt phù hợp với các ứng dụng đòi hỏi độ trễ cực thấp, chẳng hạn như tracking nhiều đối tượng tốc độ cao và giám sát giao thông, nhờ kiến trúc tiên phong không dùng NMS.
- Tuy nhiên, YOLO26 là lựa chọn được khuyến nghị hàng đầu cho các dự án thị giác máy tính hiện đại, mang lại mức cân bằng hiệu năng cao nhất về độ chính xác, mức sử dụng bộ nhớ tối thiểu và tính linh hoạt đa nhiệm, với sự hỗ trợ từ hệ sinh thái Ultralytics mạnh mẽ.