YOLOv5 so với RTDETRv2: Đánh giá kiến trúc CNN so với Transformer cho nhận diện đối tượng
Bối cảnh computer vision đã mở rộng đáng kể trong vài năm qua, mang đến cho các nhà phát triển nhiều lựa chọn kiến trúc để 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 thần kinh tích chập (CNNs) và các Transformer phát hiện (DETRs).
Hướng dẫn này cung cấp so sánh kỹ thuật chuyên sâu giữa hai mô hình then chốt 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 tiên tiến nhất.
Ultralytics YOLOv5: Tiêu chuẩn công nghiệp về hiệu suất
Kể từ khi ra mắt, Ultralytics YOLOv5 đã trở thành nền tảng của cộng đồng AI, hỗ trợ 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, nó ưu tiên trải nghiệm nhà phát triển trực quan mà không ảnh hưởng đến hiệu năng 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à các ưu điểm
YOLOv5 sử dụng kiến trúc CNN tinh gọn được thiết kế để tối đa hóa hiệu suất feature extraction trong khi vẫn duy trì mức tiêu thụ bộ nhớ cực thấp. Nó sử dụng backbone CSPDarknet và neck PANet, tạo ra sự kết hợp mạnh mẽ cho việc hợp nhất đặc trưng đa quy mô.
Một trong những ưu điểm chính của YOLOv5 là Cân bằng hiệu suất. Nó đạt được sự đánh đổi vượt trội giữa tốc độ và độ chính xác, biến nó thành lựa chọn lý tưởng cho việc model deployment trên các phần cứng bị hạn chế tài nguyên như thiết bị NVIDIA Jetson và điện thoại thông minh.
Hơn nữa, YOLOv5 sở hữu sự linh hoạt không đối thủ. Khác với các mô hình chỉ giới hạn ở dự đoán bounding box, YOLOv5 hỗ trợ mặc định image classification và instance segmentation, cung cấp một framework thống nhất cho các tác vụ thị giác đa dạng. training efficiency của nó cũng rất đáng nể, 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.
Điểm yếu
Vì dựa trên một framework CNN cũ hơn, YOLOv5 phụ thuộc vào Non-Maximum Suppression (NMS) trong quá trình xử lý hậu kỳ để loại bỏ các bounding box 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 trễ trên các NPU edge chuyên dụng.
RTDETRv2: Transformer thời gian thực từ Baidu
RTDETRv2 (Real-Time Detection Transformer v2) đại diện cho một bước tiến đáng kể trong việc áp dụng kiến trúc transformer vào nhận diện đối tượng thời gian thực, giải quyết các điểm yếu về tính toán đã từng gây khó khăn cho các 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: Arxiv Paper, GitHub Repository
Kiến trúc và các ưu điểm
RTDETRv2 phát triển dựa trên người 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ực tốt trong các cảnh phức tạp với tình trạng che khuất đối tượng nghiêm trọng.
Một đặc điểm nổi bật của RTDETRv2 là thiết kế end-to-end, không cần NMS. Bằng cách dự đoán trực tiếp các truy vấn đối tượng mà không yêu cầu anchor boxes hoặc xử lý hậu kỳ NMS, nó giúp đơn giản hóa pipeline suy luận. Kiến trúc này đạt được chỉ số mAP (mean Average Precision) ấn tượng trên các bộ dữ liệu benchmark như COCO.
Điểm yếu
Bất chấp khả năng thời gian thực, RTDETRv2 có yêu cầu bộ nhớ cao hơn đáng kể so với các mô hình YOLO. Các cơ chế attention trong transformer mở rộng theo bậc hai với độ dài chuỗi, điều này có thể dẫn đến lỗi out-of-memory trong quá trình huấn luyện độ phân giải cao trừ khi sử dụng các cụm GPU khổng lồ. Ngoài ra, nó thiếu sự linh hoạt sẵn có của hệ sinh thái Ultralytics, chủ yếu chỉ tập trung vào object detection 2D mà không hỗ trợ mặc định cho segmentation hoặc ước tính tư thế (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 đã biên soạn các số liệu 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 cao nhất trên các quy mô được kiểm tra.
| Model | kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (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 |
Mặc dù RTDETRv2-x đạt được mAP tuyệt đối cao nhất, nó yêu cầu gần gấp 30 lần số lượng tham số của 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 luôn mang lại hiệu quả tính toán tốt nhất.
Lợi thế của hệ sinh thái Ultralytics
Khi chuyển mô hình từ môi trường nghiên cứu 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 duy trì tốt mà 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ượt trội
Các mô hình Ultralytics ưu tiên trải nghiệm người dùng vô cùng tinh gọn. Dù bạn muốn huấn luyện một mô hình tùy chỉnh, chạy kiểm định 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 đều giúp bạn thực hiện chỉ với 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 suy luận 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ợ mặc định các tích hợp experiment tracking với các công cụ như Weights & Biases và Comet, cho phép các nhà phát triển ghi lại các số liệu một cách liền mạch mà không cần viết mã boilerplate 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 yêu cầu dự án cụ thể, hạn chế về 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à một lựa chọn mạnh mẽ cho:
- Các hệ thống sản xuất đã được kiểm chứng: Các triển khai hiện có nơi mà hồ sơ ổn định lâu dài, tài liệu phong phú và sự hỗ trợ lớn từ cộng đồng của YOLOv5 được đánh giá cao.
- Huấn luyện trong môi trường hạn chế tài nguyên: Các môi trường có tài nguyên GPU hạn chế, nơi quy trình 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 rộng rãi: 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 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ỏ.
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 ngay hôm nay, rất khuyến khích bạn khám phá các thế hệ mô hình mới nhất của Ultralytics.
Trong khi YOLOv5 vẫn cực kỳ đáng tin cậy, YOLO11 cung cấp độ 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 nhận diện Oriented Bounding Box (OBB).
Đáng chú ý hơn nữa, YOLO26 tiên tiến kết hợp những ưu điểm tốt nhất từ cả hai thế giới. Nó triển khai Thiết kế NMS-Free End-to-End (lần đầu tiên được tiên phong trong YOLOv10), loại bỏ chi phí xử lý hậu kỳ trong khi vẫn duy trì hiệu suất của một 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, giúp hội tụ nhanh hơn. Với DFL Removal (Distribution Focal Loss bị loại bỏ để xuất đơn giản hơn và tương thích tốt hơn với thiết bị edge/công suất thấp), YOLO26 mang lại hiệu suất suy luận CPU nhanh hơn tới 43%, biến nó thành lựa chọn tuyệt đối tốt nhất cho AI tại 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 tiến bộ đáng chú ý trong việc nhận diện đối tượng nhỏ, vốn 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 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, 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 đội ngũ tìm kiếm độ chính xác cao nhất có thể cùng với các công cụ triển khai liền mạch, 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 cho các ứng dụng vision AI hiện đại.