EfficientDet so với RTDETRv2: So sánh chuyên sâu về các kiến trúc phát hiện đối tượng
Việc lựa chọn kiến trúc tối ưu cho các dự án computer vision đòi hỏi phải điều hướng trong bối cảnh đa dạng của các mạng thần kinh. Hướng dẫn này khám phá sự so sánh kỹ thuật chi tiết giữa hai phương pháp tiếp cận riêng biệt: EfficientDet, một dòng mạng thần kinh tích chập (CNN) có khả năng mở rộng cao, và RTDETRv2, một mô hình transformer thời gian thực hiện đại. 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à khả năng triển khai trên nhiều môi trường phần cứng khác nhau.
Bằng cách hiểu rõ sự đánh đổi giữa hiệu suất cũ và khả năng của transformer hiện đại, các nhà phát triển có thể đưa ra quyết định sáng suốt. Hơn nữa, chúng tôi sẽ khám phá cách các giải pháp thay thế hiện đại như Ultralytics YOLO26 mới thu hẹp khoảng cách này, mang lại tốc độ, độ chính xác và tính dễ sử dụng chưa từng có.
Tìm hiểu về EfficientDet
EfficientDet đã tạo ra cuộc cách mạng trong object detection bằng cách giới thiệu một phương pháp tiếp cận có nguyên tắc để mở rộng mô hình.
- Tác giả: Mingxing Tan, Ruoming Pang, và Quoc V. Le
- Tổ chức: Google
- Ngày: 20 tháng 11, 2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: Google AutoML Repository
- Docs: EfficientDet Documentation
Kiến trúc và các 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 Bi-directional Feature Pyramid Network (BiFPN). BiFPN cho phép hợp nhất tính năng đa quy mô dễ dàng và nhanh chóng bằng cách áp dụng các trọng số có thể học để tìm hiểu tầm quan trọng của các tính năng đầu vào khác nhau. Điều này được kết hợp với một phương pháp mở rộng hợp nhất (compound scaling) giúp mở rộng đồng nhất độ phân giải, độ sâu và chiều rộng cho tất cả các backbone, mạng tính năng và mạng dự đoán box/lớp cùng một lúc.
Ưu điểm và Hạn chế
Điểm mạnh chính của EfficientDet nằm ở hiệu quả tham số. Vào thời điểm ra mắt, các mô hình như EfficientDet-D0 đạt độ chính xác cao hơn với ít tham số và FLOP hơn so với các phiên bản YOLO trước đó. Điều này làm cho nó trở nên rất hấp dẫn đối với các môi trường có giới hạn tài nguyên tính toán khắt khe.
Tuy nhiên, EfficientDet dựa vào Non-Maximum Suppression (NMS) tiêu chuẩn trong quá trình hậu xử lý để lọc các bounding box chồng chéo, điều này có thể gây ra hiện tượng nghẽn độ trễ trong các pipeline thời gian thực. Ngoài ra, mặc dù quy trình huấn luyện được ghi chép đầy đủ, việc tinh chỉnh EfficientDet có thể trở nên cồng kềnh so với trải nghiệm nhà phát triển được tối ưu hóa mạnh mẽ 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 các mô hình này trên các NPU hiện đại thường đòi hỏi sự tối ưu hóa thủ công rộng rãi. Để triển khai hợp lý hơn, các Ultralytics models mới hơn cung cấp chức năng xuất 1 cú nhấp chuột.
Khám phá RTDETRv2
RTDETRv2 đại diện cho sự phát triển của các kiến trúc dựa trên transformer, thay đổi mô hình từ các 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: 24-07-2024
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: RT-DETR Repository
- Tài liệu: RTDETRv2 Documentation
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). Nó tận dụng các cơ chế chú ý toàn cục (global attention), cho phép mô hình hiểu các ngữ cảnh hiện trường phức tạp mà không bị các ràng buộc cục bộ của các phép tích chập tiêu chuẩn. Lợi thế kiến trúc đáng kể nhất là thiết kế không cần NMS (NMS-free). Bằng cách dự đoán đối tượng trực tiếp từ hình ảnh đầu vào, nó giúp đơn giản hóa pipeline suy luận, tránh được việc điều chỉnh heuristic cần thiết cho hậu xử lý NMS.
Điểm mạnh và Điểm yếu
RTDETRv2 vượt trội trong các môi trường mật độ cao, nơi các đối tượng chồng chéo làm nhiễu các CNN truyền thống. Nó có độ chính xác cao trên các datasets like COCO phức tạp.
Mặc dù có độ chính xác cao, các mô hình transformer đương nhiên đòi hỏi bộ nhớ đáng kể. Hiệu quả huấn luyện thấp hơn đáng kể; nó đòi hỏi nhiều epoch hơn và dung lượng bộ nhớ CUDA lớn hơn để hội tụ so với CNN. Điều này khiến RTDETRv2 ít lý tưởng hơn cho các nhà phát triển hoạt động với ngân sách đám mây hạn chế hoặc những người cần tạo mẫu nhanh chóng.
Việc huấn luyện các mô hình transformer như RTDETRv2 thường yêu cầu GPU cao cấp. Nếu bạn gặp lỗi Out-Of-Memory (OOM), hãy cân nhắc sử dụng các mô hình có yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện, chẳng hạn như dòng Ultralytics YOLO.
So sánh điểm chuẩn hiệu suất
Việc hiểu các performance metrics thô là rất quan trọng để lựa chọn mô hình. Bảng sau đây cho thấy sự so sánh giữa EfficientDet và RTDETRv2 trên nhiều quy mô khác nhau.
| Model | 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 |
| 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 |
Các 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 các 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.
Khi nào nên chọn EfficientDet
EfficientDet là lựa chọn mạnh mẽ cho:
- Google Cloud và TPU Pipelines: Các hệ thống tích hợp sâu với Google Cloud Vision APIs hoặc hạ tầng TPU, nơi EfficientDet có sự tối ưu hóa nguyên bản.
- Nghiên cứu về Compound Scaling: Các đánh giá học thuật tập trung vào việc nghiên cứu ảnh hưởng của sự cân bằng giữa độ sâu mạng, chiều rộng và mở rộng độ phân giải.
- Triển khai trên di động thông qua TFLite: Các dự án yêu cầu cụ thể việc xuất TensorFlow Lite cho các thiết bị Android hoặc 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 khám phá các cơ chế chú ý và kiến trúc transformer cho việc phát hiện đối tượng end-to-end mà không cần NMS.
- Các tình huống có độ chính xác cao với độ trễ linh hoạt: Các ứng dụng nơi độ chính xác phát hiện là ưu tiên hàng đầu và độ trễ suy luận cao hơn một chút là điều có thể chấp nhận được.
- Phát hiện đối tượng lớn: Các cảnh có các đối tượng từ trung bình đến lớn, nơi cơ chế chú ý toàn cục của các transformer mang lại lợi thế tự nhiên.
Khi 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 suất 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 ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone 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 đối tượng cực nhỏ.
Lợi thế của Ultralytics: Giới thiệu YOLO26
Trong khi EfficientDet và RTDETRv2 đã củng cố vị thế của mình trong lịch sử computer vision, các 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 đặc biệt. Ultralytics YOLO26 mới ra mắt đã tổng hợp những khía cạnh tốt nhất của các kiến trúc khác biệt này.
YOLO26 nổi bật bằng cách kết hợp hệ sinh thái hợp lý mà Ultralytics nổi tiếng cùng với cơ chế bên trong mang tính đột phá.
Tại sao chọn YOLO26 thay vì đối thủ cạnh tranh?
- Thiết kế End-to-End NMS-Free: Lấy cảm hứng từ các transformer như RTDETRv2, YOLO26 vốn dĩ là end-to-end. Nó loại bỏ hậu xử lý NMS, đảm bảo các pipeline triển khai nhanh hơn, đơn giản hơn mà không bị cồng kềnh về tham số như các transformer thuần túy.
- Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ những cải tiến trong huấn luyện mô hình ngôn ngữ lớn (như Kimi K2 của Moonshot AI), YOLO26 sử dụng sự kết hợp giữa SGD và Muon. Điều này mang lại sự ổn định trong huấn luyện chưa từng có và tốc độ hội tụ nhanh hơn đáng kể so với các lịch trình kéo dài cần thiết cho RTDETRv2.
- Tối ưu hóa cho Edge: Với tốc độ suy luận CPU nhanh hơn tới 43%, YOLO26 được xây dựng cho edge AI. Nó dễ dàng vượt trội hơn các mô hình transformer nặng 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ị mô hình, tạo điều kiện thuận lợi cho việc xuất TensorRT và ONNX liền mạch.
- ProgLoss + STAL: Các hàm loss tiên tiến này mang lại những cải tiến đáng kể trong nhận dạng đối tượng nhỏ, giải quyết một điểm nghẽn phổ biến trong hình ảnh trên không và robotics.
- Tính linh hoạt: Không giống như RTDETRv2, vốn chủ yếu tập trung vào phát hiện, YOLO26 hỗ trợ tự nhiên instance segmentation, pose estimation, image classification và oriented bounding boxes (OBB) với những cải tiến dành riêng cho tác vụ như RLE cho pose và loss góc chuyên dụng cho OBB.
Tận dụng Ultralytics Platform, bạn có thể quản lý các tập dữ liệu, huấn luyện các mô hình như YOLO26 hoặc YOLO11 trên đám mây và triển khai chúng liền mạch thông qua các API linh hoạt.
Sự đơn giản trong code với Ultralytics
Ultralytics Python API được bảo trì tốt giúp cho việc huấn luyện và suy luận mô hình trở nên tầm thường. Các nhà phát triển có thể dễ dàng đánh giá các mô hình hoặc khởi chạy các script huấn luyện với code boilerplate tối thiểu.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a test image
predictions = model.predict("image.jpg")Đối với những người đang quản lý cơ sở hạ tầng cũ, Ultralytics YOLOv8 được đánh giá cao vẫn là một 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. Cho dù bạn đang chạy các thuật toán real-time tracking phức tạp hay phát hiện lỗi đơn giản, việc nâng cấp lên YOLO26 đảm bảo hệ thống của bạn luôn sẵn sàng cho tương lai, có độ chính xác cao và hiệu quả về bộ nhớ.