So sánh EfficientDet với YOLOv10 Phân tích sự tiến hóa của các mô hình phát hiện đối tượng
Trong lĩnh vực thị giác máy tính đ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 độ 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: Google EfficientDet của Google và YOLOv10 của Đại học Thanh Hoa. Mặc dù cả hai mô hình đều thể hiện những bước tiến đáng kể trong phát hiện đối tượng, nhưng chúng tiếp cận thiết kế kiến trúc và tối ưu hóa mô hình từ những góc độ hoàn toàn khác nhau.
Chúng ta sẽ cùng tìm hiểu kiến trúc cốt lõi của chúng, xem xét các tiêu chuẩn hiệu năng trên các tập dữ liệu chuẩn như COCO , và thảo luận về cách chúng tích hợp vào các quy trình học máy hiện đại, đặc biệt nhấn mạnh những lợi thế của hệ sinh thái Ultralytics toàn diện.
EfficientDet: Người tiên phong về mở rộng hợp chất
Được giới thiệu vào cuối năm 2019, EfficientDet đã thiết lập một chuẩn mực mới cho việc 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 một phương pháp tiếp cận có nguyên tắc để mở rộng kích thước mạng.
Những đổi mới và kiến trúc quan trọng
- 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: Kho lưu trữ EfficientDet
EfficientDet được xây dựng trên nền tảng EfficientNet, tận dụng Mạng Kim tự tháp Đặc trưng Hai chiều (BiFPN) tiên tiến. Không giống như các Mạng Kim tự tháp Đặc trưng (FPN) truyền thống cộng các đặc trư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 được để kết hợp các đặc trưng đa tỷ lệ. Điều này cho phép mạng học hiệu quả các đặ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. Hơn nữa, EfficientDet sử dụng phương pháp mở rộng tỷ lệ phức hợp, mở rộng đồng đều độ phân giải, độ sâu và chiều rộng cho nền tảng, mạng đặc trưng và mạng dự đoán hộp/lớp cùng một lúc.
Trong khi đó, EfficientDet vẫn là một lựa chọn đáng tin cậy cho các hệ thống cũ được tích hợp sâu với các hệ thống cũ hơn. TensorFlow Các pipeline này đòi hỏi lượng bộ nhớ đáng kể trong quá trình huấn luyện và dựa trên một hệ sinh thái cũ, có thể cồng kềnh so với các framework hiện đại, năng động.
YOLOv10 : Cái NMS - Nhà sáng tạo tự do
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 về phương pháp loại bỏ cực đại cục bộ (Non-Maximum Suppression) ( NMS ) trong quá trình xử lý hậu kỳ, giúp giảm đáng kể độ trễ suy luận .
Những đổi mới và kiến trúc quan trọng
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
- 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 một chiến lược phân công kép nhất quán cho NMS - huấn luyện miễn phí. Bằng cách sử dụng 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 cần dựa vào NMS Để lọc bỏ các bản sao. Thiết kế mô hình toàn diện hướng đến hiệu quả và độ chính xác này giúp giảm thiểu sự dư thừa trong tính toán, biến nó trở thành ứng cử 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. Nó tích hợp liền mạch vào... Ultralytics hệ sinh thái, cho phép các nhà phát triển truy cập vào một môi trường cực kỳ đơn giản. Python API.
NMS -Tác động miễn phí
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 detect trong một cảnh, loại bỏ các đỉnh độ trễ thường thấy trong các ứng dụng thị giác máy tính đô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 tình huống thực tế, các nhà phát triển phải cân nhắc giữa độ chính xác trung bình ( mAP ) với số lượng tham số và số phép toán (FLOPs). Bảng dưới đây trình bày chi tiết các chỉ số này trên các biến thể mở rộng của cả hai mô hình.
| 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) |
|---|---|---|---|---|---|---|
| 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,3 triệu) và đạt được hiệu suất vượt trội hơn hẳn. TensorRT tốc độ (1,56ms) so với các phiên bản EfficientDet trước đó, giúp nó khả thi hơn nhiều cho việc suy luận thời gian thực trong môi trường sản xuất.
Tại sao nên 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 quy trình hiện đại có thể là một thách thức. Đây là điểm mạnh của Nền tảng Ultralytics . Bằng cách cung cấp một hệ sinh thái thống nhất, Ultralytics Giúp đơn giản hóa toàn bộ vòng đời – từ chú thích dữ liệu đến triển khai.
- Dễ sử dụng: Gói Ultralytics Python cung cấp một giao diện duy nhất để huấn luyện mô hình, xác thực và xuất, 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 linh hoạt: Trong khi EfficientDet chuyên biệt hóa cao cho detect, các mô hình Ultralytics YOLO tự nhiên mở rộng sang Phân đoạn thực thể (Instance Segmentation), Ước tính tư thế (Pose Estimation), Hộp giới hạn định hướng (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ư tự động phân lô 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 kiến trúc TF đa nhánh cũ hơn.
Ví dụ mã: Huấn luyện YOLOv10
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 API Python.
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 dự án cụ thể, các ràng buộc triển khai và sở thích 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:
- Hệ thống Google Cloud và TPU Pipelines: Các hệ thống được tích hợp sâu với API Google Cloud Vision hoặc cơ sở hạ tầng TPU, nơi EfficientDet có tối ưu hóa gốc.
- Nghiên cứu về Compound Scaling: Đánh giá chuẩn học thuật tập trung vào việc nghiên cứu ảnh hưởng của việc mở rộng quy mô độ sâu, chiều rộng và độ phân giải mạng cân bằng.
- Triển khai di động qua TFLite: Các dự án yêu cầu cụ thể xuất TensorFlow Lite cho thiết bị Android hoặc Linux nhúng.
Khi nào nên chọn YOLOv10
YOLOv10 được khuyến nghị cho:
- detect thời gian thực không NMS: Các ứng dụng hưởng lợi từ detect end-to-end mà không cần Non-Maximum Suppression, giảm độ phức tạp khi triển khai.
- Đánh đổi 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 detect trên các quy mô mô hình khác nhau.
- Ứng dụng có độ trễ nhất quán: Các kịch bản triển khai mà thời gian suy luận có thể dự đoán được là rất quan trọng, chẳng hạn như trong robot học hoặc các hệ thống tự hành.
Khi nào nên lựa 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 dành cho nhà phát triển:
- Triển khai biên không NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của xử lý hậu kỳ Non-Maximum Suppression.
- Môi trường chỉ có CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Detect đối tượng nhỏ: Các kịch bản đầy thách thức như hình ảnh từ máy bay không người lái 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 đối tượng rất nhỏ.
Tương lai đã đến: Hãy bước vào! Ultralytics YOLO26
Trong khi YOLOv10 giới thiệu cuộc cách mạng NMS Với thiết kế không giới hạn, công nghệ đã phát triển. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho công nghệ tiên tiến nhất hiện nay trong lĩnh vực trí tuệ nhân tạo thị giác. Nó kết hợp những 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à độ ổn định RT-DETR —thành một hệ thống mạnh mẽ, được tối ưu hóa cao.
Lợi thế của YOLO26
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ó cung cấp tính linh hoạt và dễ sử dụng vượt trội thông qua Nền tảng Ultralytics .
Những bước đột phá quan trọng tại YOLO26:
- Thiết kế đầu cuối không NMS: Dựa trên nền tảng do YOLOv10 đặt ra, YOLO26 có thiết kế đầu cuối nguyên bản, đơn giản hóa logic triển khai đến mức tối thiểu.
- Tăng tốc suy luận trên CPU lên đến 43%: Với việc loại bỏ Distribution Focal Loss (DFL), YOLO26 giảm đáng kể chi phí tính toán, biến nó thành "ông vua" không thể tranh cãi cho các thiết bị AI biên.
- Trình tối ưu hóa MuSGD: YOLO26 kế thừa những đổi mới 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 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 hàm mất mát vượt trội giải quyết hiệu quả các vấn đề tồn đọng với detect vật thể nhỏ, một lĩnh vực mà EfficientDet truyền thống thường gặp khó khăn.
Kết luận: Ghép nối mô hình 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ủ đề được quan tâm trong giới học thuật về khả năng mở rộng hợp chất 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à phi thường cho các ứng dụng đòi hỏi độ trễ cực thấp, chẳng hạn như theo dõi đa đối tượng tốc độ cao và giám sát giao thông, nhờ kiến trúc không NMS tiên phong của nó.
- YOLO26, tuy nhiên, là khuyến nghị tối ưu cho các dự án thị giác máy tính hiện đại, mang lại Cân bằng Hiệu suất cao nhất về độ chính xác, dung lượng bộ nhớ tối thiểu và tính linh hoạt đa tác vụ được hỗ trợ bởi hệ sinh thái Ultralytics mạnh mẽ.