Chuyển đến nội dung

RTDETRv2 so với YOLOv8: So sánh kỹ thuật

Việc lựa chọn mô hình phát hiện đối tượng phù hợp là một quyết định quan trọng, cân bằng giữa độ chính xác, tốc độ và chi phí tính toán. Trang này cung cấp so sánh kỹ thuật chi tiết giữa hai kiến trúc mạnh mẽ: RTDETRv2, một mô hình dựa trên transformer từ Baidu và Ultralytics YOLOv8, một mô hình mạng nơ-ron tích chập (CNN) hiện đại. Chúng ta sẽ đi sâu vào sự khác biệt về kiến trúc, số liệu hiệu suất và các trường hợp sử dụng lý tưởng của chúng để giúp bạn chọn mô hình tốt nhất cho dự án của mình.

RTDETRv2: Transformer phát hiện theo thời gian thực v2

RTDETRv2 (Real-Time Detection Transformer v2) là một trình phát hiện đối tượng hiện đại, tận dụng sức mạnh của Vision Transformer để đạt được độ chính xác cao đồng thời duy trì hiệu suất thời gian thực. Nó thể hiện một sự phát triển của kiến trúc DETR (DEtection TRansformer) ban đầu, được tối ưu hóa cho tốc độ.

Tác giả: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, và Yi Liu
Tổ chức: Baidu
Ngày: 17-04-2023 (RT-DETR ban đầu), 24-07-2024 (cải tiến RT-DETRv2)
Arxiv: https://arxiv.org/abs/2304.08069, https://arxiv.org/abs/2407.17140
GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Tài liệu: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme

Kiến trúc

RTDETRv2 sử dụng kiến trúc kết hợp, kết hợp xương sống CNN thông thường với bộ mã hóa-giải mã dựa trên Transformer. Xương sống CNN trích xuất các bản đồ đặc trưng ban đầu, sau đó được đưa vào transformer. Cơ chế tự chú ý của transformer cho phép mô hình nắm bắt các mối quan hệ toàn cục giữa các phần khác nhau của hình ảnh. Sự hiểu biết về ngữ cảnh toàn cục này là một yếu tố khác biệt chính so với các mô hình thuần túy dựa trên CNN và cho phép RTDETRv2 vượt trội trong việc phát hiện các đối tượng trong các cảnh phức tạp và lộn xộn.

Điểm mạnh

  • Độ chính xác cao: Kiến trúc transformer cho phép RTDETRv2 đạt được điểm mAP tuyệt vời, đặc biệt là trên các tập dữ liệu có các đối tượng dày đặc hoặc nhỏ, nơi ngữ cảnh toàn cục có lợi.
  • Trích xuất đặc trưng mạnh mẽ: Bằng cách xử lý toàn bộ ngữ cảnh hình ảnh cùng một lúc, nó có thể xử lý tốt hơn các tắc nghẽn và các mối quan hệ đối tượng phức tạp.
  • Thời gian thực trên GPU: Khi được tăng tốc bằng các công cụ như NVIDIA TensorRT, RTDETRv2 có thể đạt được tốc độ suy luận thời gian thực trên các GPU cao cấp.

Điểm yếu

  • Chi phí tính toán cao: Các mô hình dựa trên Transformer nổi tiếng là tốn nhiều tài nguyên. RTDETRv2 có số lượng tham số và FLOPs cao hơn so với YOLOv8, đòi hỏi phần cứng mạnh mẽ hơn.
  • Huấn Luyện Chậm và Sử Dụng Nhiều Bộ Nhớ: Việc huấn luyện các transformer tốn kém về mặt tính toán và chậm. Chúng thường yêu cầu bộ nhớ CUDA nhiều hơn đáng kể so với các mô hình dựa trên CNN như YOLOv8, khiến chúng không thể truy cập được đối với người dùng có tài nguyên phần cứng hạn chế.
  • Suy luận trên CPU chậm hơn: Mặc dù nhanh trên GPU, nhưng hiệu suất của nó trên CPU chậm hơn đáng kể so với các CNN được tối ưu hóa cao như YOLOv8.
  • Hệ sinh thái hạn chế: RTDETRv2 thiếu hệ sinh thái mở rộng và thống nhất như Ultralytics. Điều này bao gồm ít tích hợp hơn, tài liệu kém toàn diện hơn và cộng đồng hỗ trợ nhỏ hơn.

Tìm hiểu thêm về RT-DETR

Ultralytics YOLOv8: Tốc độ, tính linh hoạt và tính dễ sử dụng

Ultralytics YOLOv8 là phiên bản mới nhất trong họ YOLO (You Only Look Once) rất thành công. Được phát triển bởi Ultralytics, nó đặt ra một tiêu chuẩn mới về tốc độ, độ chính xác và dễ sử dụng, khiến nó trở thành lựa chọn hàng đầu cho một loạt các tác vụ thị giác máy tính.

Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
Tổ chức: Ultralytics
Ngày: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Tài liệu: https://docs.ultralytics.com/models/yolov8/

Kiến trúc

YOLOv8 có kiến trúc một giai đoạn, không neo, hiện đại. Nó sử dụng backbone CSP (Cross Stage Partial) mới và một decoupled head, tách biệt các tác vụ phân loại và hồi quy để cải thiện độ chính xác. Toàn bộ kiến trúc được tối ưu hóa cao để có sự cân bằng đặc biệt giữa hiệu suất và hiệu quả, cho phép nó chạy trên một loạt các phần cứng, từ GPU đám mây mạnh mẽ đến các thiết bị biên bị hạn chế về tài nguyên.

Điểm mạnh

  • Cân bằng hiệu suất: YOLOv8 mang lại sự cân bằng vượt trội giữa tốc độ và độ chính xác, phù hợp cho nhiều ứng dụng thực tế khác nhau, nơi cả hai chỉ số đều quan trọng.
  • Tính linh hoạt: Không giống như RTDETRv2, vốn chủ yếu là một trình phát hiện đối tượng, YOLOv8 là một framework đa nhiệm hỗ trợ nguyên bản phát hiện đối tượng, phân đoạn thể hiện, phân loại ảnh, ước tính tư thếphát hiện đối tượng theo hướng (OBB).
  • Dễ sử dụng: YOLOv8 được thiết kế để mang lại trải nghiệm người dùng tối ưu với Python API đơn giản và CLI mạnh mẽ. Tài liệu phong phú và cộng đồng năng động giúp các nhà phát triển dễ dàng bắt đầu.
  • Hiệu quả huấn luyện và bộ nhớ thấp: YOLOv8 huấn luyện nhanh hơn đáng kể và yêu cầu ít bộ nhớ CUDA hơn nhiều so với RTDETRv2. Điều này làm cho nó dễ tiếp cận và tiết kiệm chi phí hơn để huấn luyện tùy chỉnh.
  • Hệ sinh thái được duy trì tốt: Ultralytics cung cấp một hệ sinh thái mạnh mẽ với các bản cập nhật thường xuyên, nhiều tích hợp và các công cụ như Ultralytics HUB để quản lý và huấn luyện bộ dữ liệu liền mạch.

Điểm yếu

  • Global Context: Mặc dù hiệu quả cao, nhưng kiến trúc dựa trên CNN của nó có thể không nắm bắt bối cảnh toàn cục một cách toàn diện như transformer trong một số tình huống riêng biệt với các mối quan hệ giữa các đối tượng cực kỳ phức tạp. Tuy nhiên, đối với hầu hết các ứng dụng, hiệu suất của nó là quá đủ.

Tìm hiểu thêm về YOLOv8

So sánh hiệu năng trực tiếp: RTDETRv2 so với YOLOv8

So sánh hiệu năng làm nổi bật triết lý thiết kế khác nhau của hai mô hình. RTDETRv2 hướng đến độ chính xác tối đa, trong khi YOLOv8 được thiết kế để đạt được sự cân bằng vượt trội về tốc độ, độ chính xác và hiệu quả trên nhiều loại phần cứng.

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)
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
YOLOv8n 640 37.3 80.4 1.47 3.2 8.7
YOLOv8s 640 44.9 128.4 2.66 11.2 28.6
YOLOv8m 640 50.2 234.7 5.86 25.9 78.9
YOLOv8l 640 52.9 375.2 9.06 43.7 165.2
YOLOv8x 640 53.9 479.1 14.37 68.2 257.8

Từ bảng so sánh, chúng ta có thể rút ra một vài kết luận sau:

  • Độ chính xác: Model RTDETRv2-x lớn nhất vượt trội hơn một chút so với YOLOv8x về mAP. Tuy nhiên, nhìn chung, các model YOLOv8 cung cấp độ chính xác rất cạnh tranh so với kích thước của chúng. Ví dụ: YOLOv8l gần như phù hợp với RTDETRv2-l về độ chính xác với ít FLOP hơn.
  • Tốc độ GPU: YOLOv8 nhanh hơn đáng kể, đặc biệt là các biến thể nhỏ hơn của nó. YOLOv8n nhanh hơn hơn 3 lần so với mô hình RTDETRv2 nhỏ nhất, khiến nó trở nên lý tưởng cho các ứng dụng có tốc độ khung hình cao. Ngay cả mô hình YOLOv8x lớn nhất cũng nhanh hơn so với đối tác RTDETRv2-x của nó.
  • Tốc độ CPU: YOLOv8 thể hiện một lợi thế lớn về suy luận CPU, một yếu tố quan trọng để triển khai trên nhiều thiết bị biên và máy chủ tiêu chuẩn mà không cần GPU chuyên dụng.
  • Hiệu quả: Các mô hình YOLOv8 hiệu quả hơn nhiều về tham số và FLOP. YOLOv8x đạt được độ chính xác gần như tương đương với RTDETRv2-x với ít tham số và FLOP hơn, thể hiện hiệu quả kiến trúc vượt trội.

Đào tạo và Triển khai

Khi nói đến huấn luyện, sự khác biệt là rất lớn. Huấn luyện RTDETRv2 là một quy trình tốn nhiều tài nguyên, đòi hỏi các GPU cao cấp với lượng VRAM lớn và có thể mất một lượng thời gian đáng kể.

Ngược lại, khuôn khổ Ultralytics YOLOv8 được xây dựng để huấn luyện hiệu quả. Nó cho phép huấn luyện tùy chỉnh nhanh chóng với yêu cầu bộ nhớ thấp hơn, giúp nhiều nhà phát triển có thể tiếp cận hơn. Quy trình làm việc hợp lý, từ chuẩn bị dữ liệu đến huấn luyện và xác thực mô hình, là một lợi thế đáng kể.

Để triển khai, tính linh hoạt của YOLOv8 tỏa sáng. Nó có thể dễ dàng được xuất sang nhiều định dạng như ONNX, TensorRT, CoreMLOpenVINO, đảm bảo hiệu suất tối ưu trên hầu hết mọi nền tảng, từ máy chủ đám mây đến điện thoại di động và các hệ thống nhúng như Raspberry Pi.

Kết luận: Bạn nên chọn mô hình nào?

RTDETRv2 là một mô hình mạnh mẽ dành cho các nhà nghiên cứu và nhóm có nguồn tài nguyên tính toán đáng kể, những người cần tận dụng tối đa phần trăm cuối cùng về độ chính xác cho các tác vụ phát hiện đối tượng phức tạp, chẳng hạn như trong lái xe tự động hoặc phân tích hình ảnh vệ tinh.

Tuy nhiên, đối với phần lớn các nhà phát triển, nhà nghiên cứu và doanh nghiệp, Ultralytics YOLOv8 là người chiến thắng rõ ràng. Nó cung cấp một giải pháp thiết thực và hiệu quả hơn nhiều bằng cách mang lại sự cân bằng đặc biệt giữa tốc độ và độ chính xác. Những ưu điểm chính của nó—tính linh hoạt trên nhiều tác vụ, dễ sử dụng, hiệu quả đào tạo vượt trội, yêu cầu tài nguyên thấp hơn và một hệ sinh thái toàn diện, được hỗ trợ tốt—làm cho nó trở thành lựa chọn lý tưởng để xây dựng các ứng dụng thị giác máy tính mạnh mẽ, thực tế một cách nhanh chóng và hiệu quả. Cho dù bạn đang triển khai trên một máy chủ cao cấp hay một thiết bị biên có công suất thấp, YOLOv8 cung cấp một giải pháp có thể mở rộng, hiệu suất cao và thân thiện với người dùng.

Khám phá các Mô hình Khác

Nếu bạn quan tâm đến việc khám phá các mô hình khác, hãy xem các so sánh bổ sung trong chuỗi so sánh mô hình của chúng tôi:



📅 Đã tạo 1 năm trước ✏️ Đã cập nhật 1 tháng trước

Bình luận