So sánh YOLOv5 với RTDETRv2#
Bối cảnh của computer vision đã mở rộng đáng kể trong vài năm qua, mang đến cho các developer nhiều kiến trúc đa dạng để giải quyết các tác vụ thị giác phức tạp. Trong số các mô hình phổ biến nhất là Mạng nơ-ron tích chập (CNN) và Detection Transformers (DETRs).
Hướng dẫn này cung cấp một so sánh kỹ thuật chi tiết giữa hai mô hình cốt lõi trong các danh mục này: Ultralytics YOLOv5, một mô hình dựa trên CNN hiệu quả cao và được áp dụng rộng rãi, và RTDETRv2, một trình phát hiện đối tượng thời gian thực dựa trên transformer hiện đại.
Ultralytics YOLOv5: Tiêu chuẩn ngành về hiệu suất#
Kể từ khi phát hành, Ultralytics YOLOv5 đã trở thành nền tảng của cộng đồng AI, cung cấp năng lượng cho hàng nghìn ứng dụng thương mại và dự án nghiên cứu trên toàn cầu. Được xây dựng hoàn toàn trên framework PyTorch, mô hình này ưu tiên trải nghiệm trực quan cho developer mà không làm giảm hiệu suất thời gian thực.
Đặc điểm chính:
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- Liên kết: GitHub Repository
Kiến trúc và thế mạnh#
YOLOv5 tận dụng kiến trúc CNN tinh gọn được thiết kế để tối đa hóa hiệu quả feature extraction đồng thời duy trì dung lượng bộ nhớ cực thấp. Mô hình sử dụng xương sống CSPDarknet và cổ mạng PANet, tạo ra sự kết hợp mạnh mẽ cho việc hợp nhất tính năng đa tỷ lệ.
Một trong những ưu điểm chính của YOLOv5 là Cân bằng Hiệu suất. Mô hình đạt được sự đánh đổi đặc biệt giữa tốc độ và độ chính xác, làm cho nó trở thành lựa chọn lý tưởng cho model deployment trên phần cứng bị giới hạn tài nguyên như các thiết bị NVIDIA Jetson và điện thoại thông minh.
Hơn nữa, YOLOv5 tự hào có Tính đa năng chưa từng có. Không giống như các mô hình chỉ giới hạn ở việc dự đoán hộp bao (bounding box), YOLOv5 hỗ trợ gốc image classification và instance segmentation, cung cấp một framework thống nhất cho các tác vụ thị giác khác nhau. training efficiency của nó cũng đáng chú ý, yêu cầu ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện so với các kiến trúc dựa trên transformer.
Nhược điểm#
Vì dựa trên một framework CNN cũ hơn, YOLOv5 vốn dĩ phụ thuộc vào Non-Maximum Suppression (NMS) trong quá trình hậu xử lý để loại bỏ các hộp bao trùng lặp. Mặc dù được tối ưu hóa cao trong framework Ultralytics, NMS đôi khi có thể gây ra hiện tượng nghẽn độ trễ trên các NPU biên chuyên dụng.
RTDETRv2: Transformer thời gian thực từ Baidu#
RTDETRv2 (Real-Time Detection Transformer v2) đại diện cho bước nhảy vọt đáng kể trong việc áp dụng kiến trúc transformer vào phát hiện vật thể thời gian thực, giải quyết các thiếu sót về hiệu suất tính toán từng gây khó khăn cho các mô hình DETR tiêu chuẩn trước đây.
Đặc điểm chính:
- 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
- Liên kết: Bài báo Arxiv, Kho lưu trữ GitHub
Kiến trúc và thế mạnh#
RTDETRv2 được xây dựng dựa trên phiên bản tiền nhiệm bằng cách sử dụng bộ encoder lai và thiết kế decoder linh hoạt để xử lý hình ảnh. Cơ chế self-attention của transformer cung cấp cho mô hình sự hiểu biết toàn diện về ngữ cảnh hình ảnh, cho phép nó hoạt động đặc biệt hiệu quả trong các cảnh phức tạp với tình trạng vật thể bị che khuất nghiêm trọng.
Một tính năng xác định của RTDETRv2 là thiết kế đầu cuối, không cần NMS. Bằng cách dự đoán các truy vấn đối tượng trực tiếp mà không yêu cầu anchor boxes hoặc hậu xử lý NMS, nó đơn giản hóa quy trình suy luận. Kiến trúc này đạt được mAP (mean Average Precision) ấn tượng trên các tập dữ liệu chuẩn như COCO.
Nhược điểm#
Bất chấp khả năng thời gian thực, RTDETRv2 có yêu cầu bộ nhớ đáng kể cao hơn so với các mô hình YOLO. Cơ chế chú ý trong transformer tỷ lệ thuận với bình phương chiều dài chuỗi, có thể dẫn đến lỗi tràn bộ nhớ trong quá trình huấn luyện độ phân giải cao trừ khi sử dụng các cụm GPU lớn. Ngoài ra, nó thiếu tính đa năng có sẵn của hệ sinh thái Ultralytics, chủ yếu tập trung chỉ vào object detection 2D mà không hỗ trợ gốc cho việc phân đoạn hoặc ước 2D pose estimation.
Bảng so sánh hiệu suất#
Để đánh giá khách quan các kiến trúc này, chúng tôi đã tổng hợp các chỉ số hiệu suất của chúng. Các giá trị được in đậm đại diện cho các chỉ số hiệu quả nhất hoặc có hiệu suất cao nhất trên các thang đo đã kiểm nghiệm.
| 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) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Trong khi RTDETRv2-x đạt được mAP tuyệt đối cao nhất, nó yêu cầu số tham số gấp gần 30 lần so với YOLOv5n. Đối với các ứng dụng tốc độ cao chạy trên phần cứng hạn chế, các mô hình Ultralytics liên tục mang lại hiệu quả tính toán tốt nhất.
Lợi thế từ hệ sinh thái Ultralytics#
Khi chuyển một mô hình từ môi trường nghiên cứu (notebook) sang môi trường sản xuất, phần mềm bao quanh mô hình cũng quan trọng như kiến trúc mạng thần kinh. Hệ sinh thái được bảo trì tốt do Ultralytics cung cấp giúp tăng tốc đáng kể vòng đời phát triển.
Sự dễ sử dụng vô song#
Các mô hình Ultralytics ưu tiên trải nghiệm người dùng cực kỳ tinh gọn. Cho dù bạn muốn huấn luyện một mô hình tùy chỉnh, chạy xác thực, hay xuất sang các định dạng dành riêng cho phần cứng như TensorRT hoặc ONNX, Ultralytics Python API giúp việc đó có thể thực hiện được chỉ trong vài dòng mã.
Dưới đây là một ví dụ mã thực tế chứng minh sự đơn giản trong việc huấn luyện và chạy inference với một mô hình Ultralytics:
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()API đơn giản, thống nhất này hỗ trợ gốc các tích hợp experiment tracking với các công cụ như Weights & Biases và Comet, cho phép developer ghi nhật ký các chỉ số một cách liền mạch mà không cần viết mã soạn sẵn phức tạp.
Các trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa YOLOv5 và RT-DETR phụ thuộc vào các yêu cầu dự án cụ thể, hạn chế triển khai và tùy chọn hệ sinh thái của bạn.
Khi nào nên chọn YOLOv5#
YOLOv5 là lựa chọn mạnh mẽ cho:
- Hệ thống sản xuất đã được kiểm chứng: Các hệ thống triển khai hiện có, nơi mà lịch sử lâu dài về tính ổn định, tài liệu đầy đủ và sự hỗ trợ cộng đồng khổng lồ của YOLOv5 được đánh giá cao.
- Huấn luyện hạn chế tài nguyên: Các môi trường có tài nguyên GPU hạn chế, nơi đường ống huấn luyện hiệu quả và yêu cầu bộ nhớ thấp hơn của YOLOv5 mang lại nhiều lợi thế.
- Hỗ trợ định dạng xuất phong phú (Extensive Export Format Support): Các dự án yêu cầu triển khai trên nhiều định dạng bao gồm ONNX, TensorRT, CoreML, và TFLite.
Khi nào nên chọn RT-DETR#
RT-DETR được khuyên dùng 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 cho phát hiện vật thể end-to-end 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 phát hiện là ưu tiên hàng đầu và độ trễ suy luận cao hơn một chút là có thể chấp nhận được.
- Phát hiện vật thể lớn: Các cảnh chủ yếu có vật thể 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 mang lại sự kết hợp tốt nhất giữa hiệu suất và trải nghiệm của 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 thử thách như aerial drone imagery hoặc phân tích cảm biến IoT nơi ProgLoss và STAL cải thiện đáng kể độ chính xác trên các vật thể nhỏ xíu.
Hướng tới tương lai: YOLO11 và YOLO26#
Nếu bạn đang bắt đầu một dự án thị giác mới ngày hôm nay, bạn nên khám phá các thế hệ mô hình mới nhất của Ultralytics.
Mặc dù YOLOv5 vẫn cực kỳ đáng tin cậy, YOLO11 mang lại độ chính xác được cải thiện và tập hợp các tác vụ mở rộng bao gồm phát hiện Oriented Bounding Box (OBB).
Thậm chí quan trọng hơn, YOLO26 tiên tiến kết hợp những điểm ưu việt của cả hai thế giới. Nó triển khai Thiết kế đầu cuối không cần NMS (được tiên phong lần đầu trong YOLOv10), loại bỏ chi phí hậu xử lý trong khi vẫn duy trì hiệu quả của CNN. YOLO26 cũng giới thiệu MuSGD Optimizer, lấy cảm hứng từ các cải tiến huấn luyện LLM, để hội tụ nhanh hơn. Với DFL Removal (Loại bỏ Distribution Focal Loss để đơn giản hóa việc xuất và cải thiện khả năng tương thích với thiết bị biên/công suất thấp), YOLO26 mang lại Suy luận CPU nhanh hơn tới 43%, làm cho nó trở thành lựa chọn tuyệt đối tốt nhất cho AI biên. Ngoài ra, ProgLoss + STAL cung cấp các hàm mất mát được cải thiện với những cải tiến đáng chú ý trong việc nhận dạng đối tượng nhỏ, rất quan trọng đối với IoT, robot và hình ảnh trên không.
Kết luận#
Việc lựa chọn giữa YOLOv5 và RTDETRv2 phụ thuộc rất nhiều vào các hạn chế triển khai của bạn. RTDETRv2 đẩy mạnh giới hạn của mAP bằng cách sử dụng các cơ chế attention mạnh mẽ của transformer nhưng đi kèm với chi phí cao về bộ nhớ và chi phí tính toán.
Ngược lại, Ultralytics YOLOv5 cung cấp một giải pháp đã được chứng minh, được tối ưu hóa cao và linh hoạt, chạy mượt mà ở mọi nơi—từ máy chủ đám mây đến vi điều khiển. Đối với các nhóm tìm kiếm độ chính xác cao nhất cùng với các công cụ triển khai liền mạch, việc nâng cấp trong hệ sinh thái Ultralytics lên YOLO26 cung cấp giải pháp tiên tiến nhất định cho các ứng dụng vision AI hiện đại.