Link to this sectionRTDETRv2 so với YOLOv10#
Sự phát triển của thị giác máy tính phần lớn được thúc đẩy bởi quá trình theo đuổi không ngừng nghỉ nhằm cân bằng giữa tốc độ và độ chính xác. Theo truyền thống, các pipeline phát hiện đối tượng thời gian thực phụ thuộc vào thuật toán Non-Maximum Suppression (NMS) như một bước hậu xử lý để lọc bỏ các khung bao (bounding box) chồng lấp. Tuy nhiên, NMS tạo ra các điểm nghẽn về độ trễ và yêu cầu điều chỉnh siêu tham số phức tạp. Gần đây, hai phương pháp kiến trúc riêng biệt đã xuất hiện để giải quyết vấn đề này một cách gốc: các mô hình dựa trên Transformer như RTDETRv2 và các mô hình dựa trên CNN như YOLOv10.
Hướng dẫn này cung cấp một bản so sánh kỹ thuật toàn diện về hai mô hình này, phân tích kiến trúc, các chỉ số hiệu suất và các trường hợp sử dụng lý tưởng, đồng thời nhấn mạnh cách các đổi mới mới nhất trong hệ sinh thái Ultralytics mang đến giải pháp tối ưu cho việc triển khai hiện đại.
Link to this sectionRTDETRv2: Transformer phát hiện thời gian thực#
RTDETRv2 được xây dựng dựa trên kiến trúc RT-DETR gốc, với mục tiêu kết hợp khả năng hiểu bối cảnh toàn cục của Vision Transformer với các yêu cầu về tốc độ thời gian thực vốn thường do các mô hình YOLO thống trị.
Đặ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
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Link to this sectionKiến trúc và phương pháp huấn luyện#
RTDETRv2 sử dụng kiến trúc transformer end-to-end giúp loại bỏ NMS một cách tự nhiên. Mô hình cải tiến so với phiên bản tiền nhiệm bằng cách giới thiệu phương pháp "Bag-of-Freebies", tối ưu hóa chiến lược huấn luyện và tích hợp các khả năng phát hiện đa quy mô. Mô hình sử dụng xương sống CNN để trích xuất feature maps (các chi tiết trực quan như cạnh và kết cấu), sau đó được xử lý bởi cấu trúc bộ mã hóa-giải mã (encoder-decoder) của transformer. Điều này cho phép mô hình phân tích toàn bộ bối cảnh hình ảnh cùng một lúc, khiến nó đạt hiệu quả cao trong việc hiểu các cảnh phức tạp nơi các đối tượng bị đóng gói dày đặc hoặc chồng chéo.
Link to this sectionĐiểm mạnh và điểm yếu#
Điểm mạnh:
- Bối cảnh toàn cục: Cơ chế chú ý cho phép mô hình vượt trội trong các môi trường phức tạp, lộn xộn.
- Không NMS: Dự đoán trực tiếp tọa độ đối tượng, giúp đơn giản hóa pipeline triển khai.
- Độ chính xác cao: Đạt được mean average precision (mAP) xuất sắc trên bộ dữ liệu COCO.
Điểm yếu:
- Tài nguyên chuyên sâu: Các kiến trúc Transformer thường yêu cầu nhiều bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện so với CNN, khiến việc tinh chỉnh trên phần cứng tiêu chuẩn trở nên đắt đỏ.
- Biến thiên tốc độ suy luận: Mặc dù nhanh, các phép tính chú ý nặng nề có thể dẫn đến FPS trong thị giác máy tính thấp hơn trên các thiết bị biên thiếu bộ tăng tốc AI chuyên dụng.
Link to this sectionYOLOv10: Phát hiện vật thể End-to-End thời gian thực#
YOLOv10 đại diện cho một bước thay đổi lớn trong dòng dõi phát hiện đối tượng YOLO bằng cách giải quyết điểm nghẽn NMS tồn tại lâu nay ngay trong khuôn khổ CNN.
Đặc điểm chính:
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 23-05-2024
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
Link to this sectionKiến trúc và phương pháp huấn luyện#
Đổi mới cốt lõi của YOLOv10 là các gán ghép kép nhất quán cho việc huấn luyện không cần NMS. Nó sử dụng hai đầu phát hiện trong quá trình huấn luyện: một đầu với gán ghép một-nhiều (như các YOLO truyền thống) để cung cấp tín hiệu giám sát phong phú, và đầu kia với gán ghép một-một để loại bỏ nhu cầu sử dụng NMS. Trong quá trình suy luận, chỉ có đầu một-một được sử dụng, dẫn đến một quy trình end-to-end. Hơn nữa, các tác giả đã áp dụng chiến lược thiết kế mô hình dựa trên hiệu quả-độ chính xác toàn diện, tối ưu hóa triệt để nhiều thành phần để giảm bớt sự dư thừa tính toán.
Link to this sectionĐiểm mạnh và điểm yếu#
Điểm mạnh:
- Tốc độ cực nhanh: Bằng cách loại bỏ NMS và tối ưu hóa kiến trúc, YOLOv10 đạt được độ trễ suy luận cực thấp.
- Hiệu quả: Yêu cầu ít tham số và FLOPs hơn để đạt được độ chính xác tương đương với các mô hình khác, giúp nó rất phù hợp với các môi trường hạn chế.
- Triển khai không NMS: Hợp lý hóa việc tích hợp vào các ứng dụng biên như giám sát thông minh.
Điểm yếu:
- Khái niệm thế hệ đầu tiên: Là YOLO đầu tiên triển khai kiến trúc không NMS cụ thể này, nó đã đặt nền móng nhưng vẫn còn dư địa cho sự linh hoạt đa nhiệm và tối ưu hóa như đã thấy ở các mô hình sau này như YOLO11 và YOLO26.
Link to this sectionSo sánh hiệu năng#
Khi đánh giá các mô hình cho sản xuất, việc cân bằng giữa độ chính xác và chi phí tính toán là rất quan trọng. Bảng dưới đây làm nổi bật các sự đánh đổi hiệu suất giữa các kích thước khác nhau của RTDETRv2 và YOLOv10.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Mặc dù RTDETRv2 cung cấp độ chính xác mạnh mẽ, YOLOv10 thể hiện lợi thế đáng kể về độ trễ và hiệu quả tham số, đặc biệt là ở các biến thể nhỏ hơn (Nano và Small), khiến nó cực kỳ hấp dẫn đối với các ứng dụng điện toán biên và AIoT.
Nếu bạn đang triển khai trên GPU cấp máy chủ nơi kích thước lô và VRAM ít bị hạn chế hơn, các mô hình lớn hơn (như -x hoặc -l) sẽ tối đa hóa độ chính xác. Đối với các thiết bị biên như Raspberry Pi hoặc điện thoại di động, hãy ưu tiên các biến thể nano (-n) hoặc small (-s) để duy trì tốc độ khung hình thời gian thực.
Link to this sectionCác trường hợp sử dụng và Khuyến nghị#
Việc lựa chọn giữa RT-DETR và YOLOv10 phụ thuộc vào yêu cầu dự án cụ thể, các hạn chế triển khai và tùy chọn hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn RT-DETR#
RT-DETR là lựa chọn mạnh mẽ 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.
Link to this sectionKhi nào nên chọn YOLOv10#
YOLOv10 được khuyến nghị cho:
- Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc phát hiện đầu cuối (end-to-end) mà không cần NMS, giúp giảm độ phức tạp khi triển khai.
- Sự cân bằng giữa tốc độ và độ chính xác: Các dự án yêu cầu sự cân bằng mạnh mẽ giữa tốc độ suy luận và độ chính xác của phát hiện trên nhiều quy mô model khác nhau.
- Các ứng dụng có độ trễ nhất quán: Các kịch bản triển khai nơi thời gian suy luận có thể dự đoán được là yếu tố quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.
Link to this sectionKhi 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 năng 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 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 đầy thách thức như hình ảnh máy bay không người lái 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 vật thể cực nhỏ.
Link to this sectionLợi thế của Ultralytics: Giới thiệu YOLO26#
Mặc dù cả RTDETRv2 và YOLOv10 đều mang đến những tiến bộ học thuật hấp dẫn, việc triển khai chúng trong các tình huống thực tế đòi hỏi một hệ sinh thái phần mềm mạnh mẽ và được bảo trì tốt. Nền tảng Ultralytics cung cấp trải nghiệm nhà phát triển chưa từng có, kết hợp giữa tính dễ sử dụng, tài liệu chuyên sâu và các công cụ mạnh mẽ cho gán nhãn dữ liệu và triển khai.
Đối với các nhà phát triển đang tìm kiếm công nghệ hiện đại nhất vào năm 2026, Ultralytics YOLO26 là khuyến nghị tối ưu. Nó tổng hợp những ý tưởng tốt nhất từ cả hai kiến trúc trong khi giới thiệu những cải tiến mang tính đột phá:
- Thiết kế End-to-End không NMS: Xây dựng dựa trên khái niệm được tiên phong bởi YOLOv10, YOLO26 loại bỏ hoàn toàn hậu xử lý NMS, dẫn đến logic triển khai nhanh hơn, đơn giản hơn và không có độ trễ thay đổi.
- Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đơn giản hóa việc xuất mô hình và cải thiện đáng kể khả năng tương thích với các thiết bị biên và thiết bị tiêu thụ điện năng thấp.
- Bộ tối ưu hóa MuSGD: Là sự kết hợp giữa SGD và Muon (lấy cảm hứng từ những cải tiến trong huấn luyện LLM), bộ tối ưu hóa mới lạ này cung cấp quá trình huấn luyện ổn định hơn và hội tụ nhanh hơn đáng kể so với các phương pháp truyền thống.
- Suy luận CPU nhanh hơn tới 43%: Được tối ưu hóa cẩn thận cho các môi trường không có GPU chuyên dụng, giúp phổ cập AI thị giác hiệu năng cao.
- ProgLoss + STAL: Các hàm mất mát nâng cao này mang lại những cải tiến đáng kể trong việc nhận diện đối tượng nhỏ, vốn rất quan trọng đối với các ứng dụng sử dụng drone và cảm biến IoT.
- Tính linh hoạt vượt trội: Không giống như các mô hình giới hạn ở khung bao, YOLO26 hỗ trợ toàn bộ các tác vụ bao gồm phân đoạn cá thể, ước tính tư thế, phân loại hình ảnh và phát hiện OBB, đi kèm với các cải tiến cụ thể cho từng tác vụ như Residual Log-Likelihood Estimation (RLE) cho Pose.
Link to this sectionTriển khai liền mạch với Python#
Việc huấn luyện và triển khai các mô hình này bằng Ultralytics Python API được thiết kế để không gây trở ngại. Yêu cầu bộ nhớ thấp hơn đáng kể trong quá trình huấn luyện so với các kiến trúc nặng về transformer, cho phép bạn huấn luyện các mô hình mạnh mẽ trên phần cứng tiêu chuẩn.
from ultralytics import YOLO
# Load the cutting-edge YOLO26 model (recommended)
# Alternatively, load a YOLOv10 model using YOLO('yolov10n.pt')
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Easily export to various formats for edge deployment
model.export(format="onnx", simplify=True)Whether you are implementing security alarm systems or conducting medical image analysis, choosing a model backed by the active Ultralytics community ensures you have the tools, hyperparameter tuning guides, and continuous updates needed to succeed. While YOLOv10 and RTDETRv2 paved the way for NMS-free architectures, YOLO26 perfects the formula, offering the best balance of performance, versatility, and production readiness.