Link to this sectionYOLOv10 so với EfficientDet#
Việc lựa chọn mạng thần kinh tối ưu cho phát hiện đối tượng là một quyết định quan trọng, quyết định sự thành công của các hệ thống thị giác máy tính hiện đại. Hai kiến trúc nổi bật có ảnh hưởng đáng kể đến lĩnh vực này là YOLOv10 và EfficientDet. Mặc dù cả hai đều nhằm mục đích tối đa hóa độ chính xác đồng thời giảm thiểu chi phí tính toán, chúng áp dụng các hướng tiếp cận kiến trúc khác nhau để đạt được những mục tiêu này.
Hướng dẫn toàn diện này sẽ đi sâu vào thiết kế độc đáo, phương pháp huấn luyện và đặc điểm triển khai của chúng, giúp các nhà phát triển và kỹ sư ML đưa ra các quyết định dựa trên dữ liệu cho các ứng dụng thị giác AI. Chúng ta sẽ xem xét cách chúng hoạt động trên phần cứng từ các thiết bị AI cạnh nhúng cho đến các GPU đám mây mạnh mẽ.
Link to this sectionYOLOv10: Người tiên phong không cần NMS#
Được phát triển để vượt qua giới hạn của độ trễ thời gian thực, YOLOv10 đã giải quyết một trong những nút thắt dai dẳng nhất trong dòng YOLO: Non-Maximum Suppression (NMS). Bằng cách loại bỏ bước hậu xử lý này, mô hình đạt được độ trễ có thể dự đoán cao, điều này rất quan trọng đối với phương tiện tự hành và robot tốc độ cao.
Link to this sectionCải tiến kiến trúc#
YOLOv10 giới thiệu các gán ghép kép nhất quán cho việc huấn luyện không cần NMS. Trong quá trình huấn luyện, nó tận dụng cả gán ghép nhãn một-nhiều và một-một, cho phép mạng học các biểu diễn phong phú trong khi xuất ra nguyên bản một hộp bao (bounding box) tốt nhất cho mỗi đối tượng trong quá trình suy luận. Kiến trúc này cũng kết hợp thiết kế hướng tới hiệu quả-độ chính xác toàn diện, hợp lý hóa đầu phân loại và giảm sự dư thừa tính toán được tìm thấy trong các phiên bản trước.
Link to this sectionThông tin chi tiết về mô hình#
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, và cộng sự.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 23-05-2024
- Bài báo: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- Tài liệu: Tài liệu YOLOv10
Vì YOLOv10 loại bỏ bước NMS, nó vốn dĩ dễ dàng hơn để xuất sang các định dạng như định dạng ONNX và NVIDIA TensorRT mà không cần dựa vào các plugin runtime tùy chỉnh để lọc hộp bao.
Điểm mạnh:
- Suy luận có thể dự đoán: Việc loại bỏ NMS đảm bảo thời gian suy luận nhất quán bất kể số lượng đối tượng trong cảnh.
- Sử dụng bộ nhớ thấp hơn: So với các mô hình dựa trên Transformer như RT-DETR, YOLOv10 có yêu cầu bộ nhớ thấp hơn đáng kể trong cả quá trình huấn luyện và suy luận.
- Cân bằng Tốc độ/Độ chính xác tuyệt vời: Được tối ưu hóa cụ thể cho các kịch bản độ trễ thấp mà không làm ảnh hưởng đến các chỉ số hiệu suất.
Điểm yếu:
- Tập trung vào một tác vụ: Không giống như hệ sinh thái Ultralytics rộng lớn hơn, kho lưu trữ YOLOv10 gốc tập trung mạnh vào phát hiện, thiếu hỗ trợ nguyên bản cho phân đoạn đối tượng (instance segmentation) hoặc ước tính tư thế (pose estimation).
Link to this sectionEfficientDet: Có khả năng mở rộng và cân bằng#
Được giới thiệu bởi Google Brain, EfficientDet tiếp cận việc phát hiện đối tượng thông qua lăng kính mở rộng mạng có hệ thống. Nó được xây dựng dựa trên backbone phân loại hình ảnh EfficientNet và giới thiệu một cơ chế hợp nhất đặc trưng mới.
Link to this sectionCải tiến kiến trúc#
Cốt lõi của EfficientDet là Bi-directional Feature Pyramid Network (BiFPN), cho phép hợp nhất đặc trưng đa quy mô dễ dàng và nhanh chóng. Không giống như các FPN truyền thống chỉ cộng các đặc trưng từ trên xuống dưới, BiFPN giới thiệu các kết nối chéo quy mô hai chiều và trọng số có thể huấn luyện để học tầm quan trọng của các đặc trưng đầu vào khác nhau. Hơn nữa, EfficientDet sử dụng phương pháp mở rộng phức hợp giúp mở rộng đồng nhất độ phân giải, chiều sâu và chiều rộng cho tất cả các backbone, mạng đặc trưng và mạng dự đoán hộp/lớp.
Link to this sectionThông tin chi tiết về mô hình#
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Tổ chức: Google Brain
- Ngày: 20-11-2019
- Bài báo: EfficientDet: Scalable and Efficient Object Detection
- GitHub: Google AutoML EfficientDet
Điểm mạnh:
- Hiệu suất cao: Tỷ lệ tham số trên độ chính xác tuyệt vời, làm cho các biến thể
-d0đến-d2nhỏ hơn trở nên rất nhẹ. - Mở rộng theo nguyên tắc: Việc mở rộng phức hợp cho phép người dùng dễ dàng chọn kích thước mô hình phù hợp với ngân sách tính toán chính xác của họ.
Điểm yếu:
- Tích hợp framework kế thừa: Việc triển khai gốc dựa nhiều vào các phiên bản TensorFlow cũ hơn, điều này có thể làm phức tạp các quy trình triển khai hiện đại.
- Huấn luyện chậm hơn: Huấn luyện EfficientDet từ đầu nổi tiếng là chậm và đòi hỏi phải tinh chỉnh siêu tham số cẩn thận so với sự hội tụ nhanh chóng của các kiến trúc YOLO.
- Tốc độ suy luận: Mặc dù hiệu quả về tham số, các hoạt động BiFPN phức tạp thường dẫn đến tốc độ suy luận thực tế chậm hơn trên phần cứng tiêu chuẩn so với các mô hình YOLO được tối ưu hóa cao.
Link to this sectionHiệu năng và Benchmark#
Bài kiểm tra thực sự của các mô hình này nằm ở hiệu suất thực nghiệm của chúng trên các điểm chuẩn tiêu chuẩn như tập dữ liệu COCO. Bảng dưới đây minh họa sự khác biệt quan trọng về số lượng tham số, các phép toán dấu phẩy động (FLOPs) và độ trễ suy luận trên NVIDIA T4 GPUs.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Như đã hiển thị ở trên, YOLOv10 duy trì lợi thế đáng kể về tốc độ suy luận thô. Ví dụ, YOLOv10-S đạt 46.7 mAP với độ trễ TensorRT chỉ 2.66ms, trong khi EfficientDet-d3 đạt 47.5 mAP tương tự nhưng mất gần 20ms—khiến YOLOv10 vượt trội hơn nhiều cho truyền phát video thời gian thực hoặc các quy trình sản xuất chuyển động nhanh.
Link to this sectionCác trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa YOLOv10 và EfficientDet phụ thuộc vào yêu cầu dự án cụ thể, ràng buộc triển khai và sở thích về hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn YOLOv10#
YOLOv10 là một lựa chọn mạnh mẽ 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à yếu tố quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.
Link to this sectionKhi nào nên chọn EfficientDet#
EfficientDet được khuyến nghị 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 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 sectionTiêu chuẩn hiện đại: Ra mắt Ultralytics YOLO26#
Mặc dù YOLOv10 đã giới thiệu mô hình không cần NMS mang tính đột phá và EfficientDet đã giới thiệu khả năng mở rộng có nguyên tắc, bối cảnh thị giác máy tính vẫn tiếp tục phát triển. Đối với các nhà phát triển bắt đầu các dự án mới ngay hôm nay, Ultralytics YOLO26 đại diện cho trạng thái tiên tiến nhất không thể bàn cãi. Ra mắt vào tháng 1 năm 2026, nó kết hợp những gì tốt nhất của tất cả các khía cạnh thành một gói hoàn thiện, sẵn sàng cho sản xuất trong Ultralytics Platform.
Link to this sectionTại sao YOLO26 vượt trội hơn đối thủ#
- Thiết kế end-to-end không cần NMS: YOLO26 áp dụng nguyên bản kiến trúc end-to-end không cần NMS tiên phong trong YOLOv10, hợp lý hóa việc triển khai và tăng tốc suy luận.
- Tốc độ suy luận CPU nhanh hơn tới 43%: Đối với các thiết bị cạnh thiếu bộ tăng tốc chuyên dụng, YOLO26 được tối ưu hóa cụ thể để chạy hiệu quả trên các CPU tiêu chuẩn.
- Bộ tối ưu hóa MuSGD nâng cao: Lấy cảm hứng từ các đổi mới trong huấn luyện LLM, YOLO26 sử dụng kết hợp giữa SGD và Muon để huấn luyện cực kỳ ổn định và hội tụ nhanh chóng, cải thiện đáng kể hiệu quả huấn luyện so với EfficientDet.
- ProgLoss + STAL: Những hàm loss được cải tiến này mang lại sự thúc đẩy đáng kể trong việc nhận diện đối tượng nhỏ, một điểm yếu truyền thống của cả YOLOv10 và EfficientDet.
- Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 xuất liền mạch sang gần như bất kỳ định dạng phần cứng nào, bao gồm OpenVINO và CoreML.
Hơn nữa, YOLO26 cung cấp tính linh hoạt không gì sánh bằng. Trong khi EfficientDet và YOLOv10 là các mô hình phát hiện thuần túy, YOLO26 xử lý liền mạch hộp bao định hướng (oriented bounding boxes), phân loại hình ảnh và phân đoạn đối tượng bằng cách sử dụng gói Python Ultralytics trực quan tương tự.
Link to this sectionDễ sử dụng với Ultralytics#
Hệ sinh thái được bảo trì tốt do Ultralytics cung cấp đảm bảo trải nghiệm nhà phát triển mượt mà. Việc huấn luyện một mô hình, xác thực nó và xuất nó sang tích hợp TensorRT chỉ mất vài dòng code.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")
# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Export for rapid deployment
model.export(format="engine", quantize=16)Link to this sectionKết luận#
Khi so sánh YOLOv10 và EfficientDet, lựa chọn phụ thuộc nhiều vào sở thích framework và ràng buộc về tốc độ của bạn. EfficientDet cung cấp phương pháp tiếp cận có cấu trúc để mở rộng mô hình trong hệ sinh thái TensorFlow. Tuy nhiên, YOLOv10 cung cấp hiệu suất thời gian thực vượt trội, sử dụng bộ nhớ thấp hơn và lộ trình triển khai đơn giản hơn nhờ kiến trúc không cần NMS.
Để có sự cân bằng hiệu suất tốt nhất, sự dễ sử dụng và tính linh hoạt đa tác vụ, việc nâng cấp lên Ultralytics Platform và sử dụng YOLO26 được đánh giá cao. Nó kế thừa các cải tiến không cần NMS của YOLOv10, áp dụng các kỹ thuật huấn luyện tiên tiến như bộ tối ưu hóa MuSGD và gói gọn nó trong một framework mã nguồn mở mạnh mẽ, được hỗ trợ bởi một cộng đồng toàn cầu rộng lớn.