EfficientDet vs RTDETRv2: So sánh chuyên sâu 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 thị giác máy tính đòi hỏi phải điều hướng trong một bối cảnh đa dạng của các mạng nơ-ron. Hướng dẫn này khám phá một so sánh kỹ thuật chi tiết giữa hai phương pháp khác biệt: EfficientDet, một họ Mạng nơ-ron 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 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à tính phù hợp triển khai của chúng trên các 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 quả truyền thống 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, mang lại tốc độ, độ chính xác và dễ sử dụng chưa từng có.
Hiểu về EfficientDet
EfficientDet đã tạo ra cuộc cách mạng trong việc phát hiện đối tượng bằng cách giới thiệu một phương pháp có nguyên tắc để mở rộng quy mô mô hình.
- 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 mạng xương sống (backbone) và giới thiệu Mạng kim tự tháp đặc trưng hai chiều (BiFPN). BiFPN cho phé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 các trọng số có thể học được để tìm hiểu tầm quan trọng của các đặc trưng đầu vào khác nhau. Điều này được kết hợp với một phương pháp chia tỷ lệ hỗn hợp giúp chia tỷ lệ đồng nhất độ phân giải, độ sâu và chiều rộng cho tất cả các mạng xương sống (backbone), mạng đặc trưng và mạng dự đoán hộp/lớp cùng một lúc.
Điểm mạnh và hạn chế
Điểm mạnh chính của EfficientDet nằm ở hiệu quả tham số. Tại thời điểm ra mắt, các mô hình như EfficientDet-D0 đã đạt được độ chính xác cao hơn với ít tham số và phép tính FLOP hơn so với các mô hình trước đó. YOLO các phiên bản. Điều này khiến 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ính toán nghiêm ngặt.
Tuy nhiên, EfficientDet dựa vào phương pháp loại bỏ cực đại không chuẩn ( NMS Trong quá trình xử lý hậu kỳ, việc lọc các hộp giới hạn chồng chéo có thể gây ra tắc nghẽn độ trễ trong các quy trình 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ể khá rắc rối so với trải nghiệm phát triển được tối ưu hóa cao trong các công cụ hiện đại.
Hỗ trợ kế thừa
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 phải tối ưu hóa thủ công rất nhiều. Để đơn giản hóa quá trình triển khai, các mô hình Ultralytics mới hơn cung cấp chức năng xuất dữ liệu chỉ với một cú nhấp chuột.
Khám phá RTDETRv2
RTDETRv2 thể hiện sự tiến hóa của các kiến trúc dựa trên transformer, chuyển đổi mô hình khỏi các mạng CNN truyền thống dựa trên anchor.
- 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:Kho lưu trữ RT-DETR
- Tài liệu:Tài liệu RTDETRv2
Những tiến bộ trong Transformers
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, cho phép mô hình hiểu các ngữ cảnh cảnh phức tạp mà không bị hạn chế cục bộ của các phép tích chập tiêu chuẩn. Ưu điểm kiến trúc quan trọng nhất là thiết kế không NMS nguyên bản của nó. Bằng cách dự đoán các đối tượng trực tiếp từ ảnh đầu vào, nó đơn giản hóa quy trình suy luận, tránh việc điều chỉnh theo kinh nghiệm cần thiết cho hậu xử lý NMS.
Điểm mạnh và Điểm yếu
RTDETRv2 hoạt động xuất sắc trong môi trường có mật độ cao, nơi các đối tượng chồng chéo gây nhầm lẫn cho các mạng CNN truyền thống. Nó có độ chính xác cao trên các tập dữ liệu chuẩn phức tạp như COCO .
Mặc dù có độ chính xác cao, các mô hình transformer tự nhiên đòi hỏi bộ nhớ đáng kể. Hiệu quả huấn luyện thấp hơn đáng kể; nó yêu cầu nhiều epoch hơn đáng kể và dấu chân bộ nhớ CUDA cao hơn để hội tụ so với các mạng CNN. Điều này khiến RTDETRv2 kém lý tưởng hơn cho các nhà phát triển làm việc 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.
Các ràng buộc về bộ nhớ của máy biến áp
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 hiệu năng
Hiểu rõ các chỉ số hiệu năng thô là rất quan trọng để lựa chọn mô hình. Bảng sau đây so sánh EfficientDet và RTDETRv2 ở nhiều kích thước khác nhau.
| 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 |
| 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ể, 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 lựa 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ơ chế chú ý và kiến trúc transformer để phát hiện đối tượng đầu cuối mà không cần NMS.
- Các kịch bản độ chính xác cao với độ trễ linh hoạt: Các ứng dụng mà độ chính xác detect là ưu tiên hàng đầu và độ trễ suy luận cao hơn một chút có thể chấp nhận được.
- Phát hiện đối tượng lớn: Các cảnh với chủ yếu 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 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ỏ.
Cái Ultralytics Ưu điểm: Giới thiệu YOLO26
Mặc dù EfficientDet và RTDETRv2 đã khẳng định vị trí của mình 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 phát triển vượt trội. 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 nhau này.
YOLO26 nổi bật nhờ sự kết hợp giữa hệ sinh thái tinh gọn mà Ultralytics nổi tiếng với cơ chế hoạt động nội bộ đột phá.
Tại sao nên chọn YOLO26 thay vì các đối thủ cạnh tranh?
- Thiết kế NMS-Free End-to-End: Lấy cảm hứng từ các transformer như RTDETRv2, YOLO26 là end-to-end nguyên bản. Nó loại bỏ xử lý hậu kỳ NMS, đảm bảo các pipeline triển khai nhanh hơn, đơn giản hơn mà không có sự phình to tham số lớn của các transformer thuần túy.
- Trình tối ưu hóa MuSGD: Lấy cảm hứng từ những đổi mới trong huấn luyện mô hình ngôn ngữ lớn (như Kimi K2 của Moonshot AI), YOLO26 sử dụng một sự kết hợp giữa SGD và Muon. Điều này mang lại sự ổn định 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 mà RTDETRv2 yêu cầu.
- Tối ưu hóa cho thiết bị biên: Với tốc độ suy luận CPU nhanh hơn tới 43%, YOLO26 được xây dựng cho AI biên. Nó dễ dàng vượt trội so với 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 đơn giản hóa biểu đồ mô hình, tạo điều kiện cho việc xuất TensorRT và ONNX liền mạch.
- ProgLoss + STAL: Các hàm mất mát tiên tiến này mang lại những cải thiện đáng kể trong nhận diện vật thể nhỏ, giải quyết một nút thắt cổ chai phổ biến trong hình ảnh từ trên không và robot học.
- Tính linh hoạt: Không giống như RTDETRv2, vốn chủ yếu tập trung vào detect, YOLO26 hỗ trợ tự nhiên phân đoạn đối tượng, ước tính tư thế, phân loại ảnh và hộp giới hạn định hướng (OBB) với các cải tiến dành riêng cho từng tác vụ như RLE cho tư thế và hàm mất mát góc chuyên biệt cho OBB.
Hệ sinh thái tích hợp
Bằng cách tận dụng Nền tảng Ultralytics , bạn có thể quản lý tập dữ liệu của mình, 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 một cách liền mạch thông qua các API linh hoạt.
Đơn giản hóa mã với Ultralytics
API Python được bảo trì tốt Ultralytics giúp việc huấn luyện và suy luận mô hình trở nên dễ dàng. Các nhà phát triển có thể dễ dàng đánh giá hiệu năng của mô hình hoặc chạy các kịch bản huấn luyện với lượng mã mẫu 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 nó. Ultralytics hệ sinh thái. Cho 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 chỉ đơn giản là phát hiện lỗi, việc nâng cấp lên YOLO26 đảm bảo hệ thống của bạn có khả năng đáp ứng nhu cầu trong tương lai, độ chính xác cao và tiết kiệm bộ nhớ.