EfficientDet và RTDETRv2#
Để chọn kiến trúc tối ưu cho các dự án thị giác máy tính, cần tìm hiểu hệ sinh thái đa dạng các mạng nơ-ron. Hướng dẫn này so sánh chi tiết hai hướng tiếp cận khác biệt: EfficientDet, một dòng Mạng Nơ-ron Tích chập (CNN) có khả năng mở rộng cao, và RTDETRv2, một model Transformer thời gian thực tiên tiến. Chúng tôi đánh giá sự khác biệt về cấu trúc, phương pháp huấn luyện và mức độ phù hợp khi triển khai trên nhiều môi trường phần cứng.
Khi hiểu rõ sự đánh đổi giữa hiệu quả của kiến trúc cũ và năng lực của Transformer hiện đại, nhà phát triển có thể đưa ra quyết định sáng suốt. Ngoài ra, chúng tôi sẽ tìm hiểu cách các lựa chọn hiện đại như Ultralytics YOLO26 mới ra mắt thu hẹp khoảng cách này, mang đến tốc độ, độ chính xác và tính dễ sử dụng vượt trội.
Tìm hiểu EfficientDet#
EfficientDet đã cách mạng hóa phát hiện đối tượng bằng cách giới thiệu một phương pháp có cơ sở rõ ràng để mở rộng quy mô model.
- Tác giả: Mingxing Tan, Ruoming Pang và Quoc V. Le
- Tổ chức: Google
- Ngày: 20 tháng 11 năm 2019
- arXiv: https://arxiv.org/abs/1911.09070
- GitHub: Kho lưu trữ Google AutoML
- Tài liệu: Tài liệu EfficientDet
Kiến trúc và khái niệm cốt lõi#
Về cốt lõi, EfficientDet sử dụng EfficientNet làm backbone và giới thiệu Mạng Kim tự tháp Đặc trưng Hai chiều (BiFPN). BiFPN giúp hợp nhất đặc trưng đa tỷ lệ dễ dàng và nhanh chóng bằng cách áp dụng trọng số có thể học để xác định mức độ quan trọng của các đặc trưng đầu vào khác nhau. Kiến trúc này kết hợp phương pháp mở rộng kết hợp, đồng thời điều chỉnh đồng đều độ phân giải, độ sâu và độ rộng của tất cả backbone, mạng đặc trưng và mạng dự đoán box/class.
Ưu điểm và hạn chế#
Ưu điểm chính của EfficientDet nằm ở hiệu quả tham số. Vào thời điểm ra mắt, các model như EfficientDet-D0 đạt độ chính xác cao hơn với ít tham số và FLOPs hơn các phiên bản YOLO trước đó. Điều này khiến model đặc biệt phù hợp với môi trường có giới hạn nghiêm ngặt về năng lực tính toán.
Tuy nhiên, EfficientDet dựa vào phương pháp loại bỏ cực đại không (NMS) tiêu chuẩn trong khâu hậu xử lý để lọc các bounding box chồng lấp, điều này có thể gây ra nút thắt độ trễ trong pipeline thời gian thực. Ngoài ra, dù quy trình huấn luyện được ghi chép đầy đủ, việc tinh chỉnh EfficientDet có thể phức tạp hơn so với trải nghiệm nhà phát triển đã được tối ưu mạnh trong các công cụ hiện đại.
Mặc dù EfficientDet mở đường cho các mạng có khả năng mở rộng, việc triển khai những model này trên NPU hiện đại thường đòi hỏi nhiều công sức tối ưu hóa thủ công. Để triển khai tinh gọn hơn, các model Ultralytics mới hơn cung cấp chức năng export chỉ với một cú nhấp chuột.
Tìm hiểu RTDETRv2#
RTDETRv2 thể hiện bước phát triển tiếp theo của các kiến trúc dựa trên Transformer, chuyển hướng khỏi CNN dựa trên anchor truyền thống.
- Tác giả: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang và Yi Liu
- Tổ chức: Baidu
- Ngày: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: Repository RT-DETR
- Tài liệu: Tài liệu RTDETRv2
Những tiến bộ trong Transformer#
RTDETRv2 được xây dựng dựa trên nền tảng Real-Time Detection Transformer (RT-DETR). Model tận dụng cơ chế attention toàn cục, cho phép hiểu ngữ cảnh cảnh phức tạp mà không bị giới hạn trong phạm vi cục bộ như các phép tích chập tiêu chuẩn. Ưu điểm kiến trúc đáng kể nhất là thiết kế nguyên bản không cần NMS. Bằng cách dự đoán trực tiếp các vật thể từ ảnh đầu vào, model đơn giản hóa pipeline suy luận và tránh việc phải tinh chỉnh theo kinh nghiệm như khi hậu xử lý bằng NMS.
Ưu điểm và nhược điểm#
RTDETRv2 hoạt động vượt trội trong môi trường có mật độ cao, nơi các vật thể chồng lấp gây nhầm lẫn cho CNN truyền thống. Model đạt độ chính xác cao trên các dataset benchmark như COCO phức tạp.
Dù có độ chính xác cao, các model Transformer vốn cần nhiều bộ nhớ. Hiệu quả huấn luyện thấp hơn đáng kể; so với CNN, model cần nhiều epoch hơn và dung lượng bộ nhớ CUDA lớn hơn để hội tụ. Điều này khiến RTDETRv2 kém phù hợp với nhà phát triển có ngân sách đám mây hạn chế hoặc cần tạo nguyên mẫu nhanh.
Huấn luyện các model Transformer như RTDETRv2 thường đòi hỏi GPU cao cấp. Nếu gặp lỗi hết bộ nhớ (OOM), hãy cân nhắc dùng các model cần ít bộ nhớ hơn trong quá trình huấn luyện, chẳng hạn như dòng Ultralytics YOLO.
So sánh benchmark hiệu năng#
Hiểu rõ các chỉ số hiệu năng thực tế là yếu tố then chốt khi lựa chọn model. Bảng sau trình bày so sánh EfficientDet và RTDETRv2 ở nhiều kích thước khác nhau.
| 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa EfficientDet và RT-DETR phụ 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 RT-DETR#
RT-DETR được khuyến nghị cho:
- Nghiên cứu phát hiện dựa trên Transformer: Các dự án nghiên cứu cơ chế attention và kiến trúc Transformer để phát hiện vật thể đầu cuối mà không cần NMS.
- Tình huống cần độ chính xác cao với độ trễ linh hoạt: Các ứng dụng đặt độ chính xác phát hiện lên hàng đầu và chấp nhận độ trễ suy luận cao hơn đôi chút.
- Phát hiện vật thể lớn: Các cảnh chủ yếu có vật thể cỡ trung bình đến lớn, trong đó cơ chế attention toàn cục của Transformer mang lại lợi thế tự nhiên.
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ỏ.
Ưu thế của Ultralytics: Giới thiệu YOLO26#
Mặc dù EfficientDet và RTDETRv2 đã khẳng định vị trí trong lịch sử thị giác máy tính, môi trường sản xuất hiện đại đòi hỏi sự cân bằng hoàn hảo giữa tốc độ, độ chính xác và trải nghiệm nhà phát triển vượt trội. Ultralytics YOLO26 mới ra mắt kết hợp những ưu điểm nổi bật nhất của hai kiến trúc khác biệt này.
YOLO26 nổi bật nhờ kết hợp hệ sinh thái tinh gọn mà Ultralytics vốn được biết đến với những cơ chế nội bộ đột phá.
Vì sao nên chọn YOLO26 thay vì các đối thủ?#
- Thiết kế đầu cuối không cần NMS: Lấy cảm hứng từ các Transformer như RTDETRv2, YOLO26 cung cấp head đầu cuối tùy chọn (
nms=False) giúp loại bỏ bước hậu xử lý NMS, đảm bảo pipeline triển khai nhanh hơn, đơn giản hơn mà không làm tăng mạnh số lượng tham số như các Transformer thuần túy. - Bộ tối ưu MuSGD: Lấy cảm hứng từ những đổi mới trong kỹ thuật huấn luyện model ngôn ngữ lớn (như Kimi K2 của Moonshot AI), YOLO26 sử dụng phương pháp kết hợp SGD và Muon. Phương pháp này mang lại độ ổn định huấn luyện vượt trội và tốc độ hội tụ nhanh hơn đáng kể so với lịch trình huấn luyện kéo dài mà RTDETRv2 yêu cầu.
- Tối ưu cho thiết bị biên: Với khả năng suy luận CPU nhanh hơn tới 43%, YOLO26 được xây dựng cho AI biên. Model dễ dàng vượt trội hơn các model Transformer cồng kềnh trên phần cứng hạn chế như điện thoại di động và camera thông minh.
- Loại bỏ DFL: Việc loại bỏ Distribution Focal Loss giúp đơn giản hóa đồ thị model, hỗ trợ xuất model liền mạch sang TensorRT và ONNX.
- ProgLoss + STAL: Các hàm loss tiên tiến này cải thiện đáng kể khả năng nhận diện vật thể nhỏ, giải quyết nút thắt phổ biến trong ảnh chụp từ trên không và robotics.
- Tính linh hoạt: Không giống RTDETRv2, vốn chủ yếu tập trung vào phát hiện, YOLO26 hỗ trợ sẵn phân đoạn instance, phân loại ảnh, ước tính tư thế và hộp giới hạn định hướng (OBB), cùng các cải tiến theo từng tác vụ như RLE cho tư thế và hàm loss góc chuyên biệt cho OBB.
Tận dụng Ultralytics Platform, bạn có thể quản lý dataset, huấn luyện model như YOLO26 hoặc YOLO11 trên cloud và triển khai liền mạch thông qua các API linh hoạt.
Code đơn giản với Ultralytics#
Ultralytics Python API được duy trì tốt giúp việc huấn luyện và suy luận model trở nên đơn giản. Nhà phát triển có thể dễ dàng benchmark model hoặc chạy script huấn luyện với lượng code khung tối thiểu.
from ultralytics import YOLO
# Tải model YOLO26 hiện đại nhất
model = YOLO("yolo26n.pt")
# Huấn luyện model trên dataset tùy chỉnh của bạn
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Chạy inference trên ảnh kiểm thử
predictions = model.predict("image.jpg")Đối với những đơn vị đang quản lý hạ tầng cũ, Ultralytics YOLOv8 được đánh giá cao vẫn là lựa chọn ổn định và mạnh mẽ, thể hiện độ tin cậy lâu dài của hệ sinh thái Ultralytics. Dù bạn đang chạy các thuật toán theo dõi thời gian thực phức tạp hay phát hiện lỗi đơn giản, nâng cấp lên YOLO26 sẽ giúp hệ thống của bạn sẵn sàng cho tương lai, có độ chính xác cao và tiết kiệm bộ nhớ.