Chuyển đến nội dung

YOLOv5 vs RTDETRv2: Đánh giá kiến ​​trúc CNN so với Transformer trong phát hiện đối tượng

Lĩnh vực thị giác máy tính đã mở rộng đáng kể trong vài năm qua, cung cấp cho các nhà phát triển nhiều kiến ​​trúc khác nhau để giải quyết các tác vụ hình ảnh phức tạp. Trong số những mô hình phổ biến nhất là Mạng nơ-ron tích chập (CNN) và Bộ chuyển đổi phát hiện (DETR).

Hướng dẫn này cung cấp sự so sánh kỹ thuật chuyên sâu giữa hai mô hình quan trọng trong các lĩnh vực này: Ultralytics YOLOv5 , một mô hình dựa trên CNN hiệu quả cao và được sử dụng rộng rãi, và RTDETRv2, một bộ phát hiện đối tượng thời gian thực dựa trên Transformer tiên tiến.

Ultralytics YOLOv5 Tiêu chuẩn ngành về hiệu quả

Kể từ khi ra mắt, Ultralytics YOLOv5 Nó đã trở thành một trụ cột của cộng đồng AI, hỗ trợ hàng ngà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 nền tảng PyTorch , nó ưu tiên trải nghiệm phát triển trực quan mà không ảnh hưởng đến hiệu năng thời gian thực.

Các đặc điểm chính:

Kiến trúc và Điểm mạnh

YOLOv5 Nó sử dụng kiến ​​trúc CNN được tinh giản nhằm tối đa hóa hiệu quả trích xuất đặc trưng trong khi vẫn duy trì mức sử dụng bộ nhớ cực thấp. Nó sử dụng mạng xương sống CSPDarknet và mạng cổ PANet, tạo ra sự kết hợp mạnh mẽ cho việc hợp nhất đặc trưng đa tỷ lệ.

Một trong những ưu điểm chính của YOLOv5 Điểm mạnh của nó chính là sự cân bằng hiệu năng . Nó đạt được sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, khiến nó trở thành lựa chọn lý tưởng để triển khai mô hình trên phần cứng 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 tính linh hoạt vượt trội. Không giống như các mô hình chỉ giới hạn ở dự đoán hộp giới hạn, YOLOv5 Hỗ trợ phân loại hình ảnhphân đoạn đối tượng một cách tự nhiên, cung cấp một khung thống nhất cho nhiều tác vụ hình ảnh khác nhau. Hiệu quả huấn luyện của nó cũng rất đáng chú ý, yêu cầu thời gian huấn luyện ít hơn đáng kể. CUDA khả năng ghi nhớ 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 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 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 các nút thắt về độ trễ trên các NPU biên chuyên dụng.

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

RTDETRv2: Bộ chuyển đổi thời gian thực của Baidu

RTDETRv2 (Real-Time Detection Transformer v2) thể hiện một bước tiến đáng kể trong việc ứng dụng kiến ​​trúc transformer vào phát hiện đối tượng thời gian thực, giải quyết những hạn chế về tính toán vốn là vấn đề nan giải của các DETR tiêu chuẩn trước đây.

Các đặc điểm chính:

Kiến trúc và Điểm 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 thiết kế bộ mã hóa lai và bộ giải mã linh hoạt để xử lý hình ảnh. Cơ chế tự chú ý của Transformer cung cấp cho mô hình sự hiểu biết toàn cục về ngữ cảnh hình ảnh, cho phép nó hoạt động đặc biệt tốt trong các cảnh phức tạp với hiện tượng che khuất vật thể nghiêm trọng.

Một tính năng nổi bật của RTDETRv2 là thiết kế không NMS, từ đầu đến cuối của nó. 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 hộp neo 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.

Điểm yếu

Mặc dù có 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ế chú ý trong transformer mở rộng theo cấp số nhân với độ dài chuỗi, điều này có thể dẫn đến lỗi hết 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 linh hoạt sẵn có của hệ sinh thái Ultralytics, chủ yếu chỉ tập trung vào phát hiện đối tượng 2D mà không có hỗ trợ gốc cho segmentation hoặc ước tính tư thế.

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

Bảng so sánh hiệu năng

Để đá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 thể hiện các chỉ số hiệu quả nhất hoặc có hiệu suất cao nhất trên các quy mô đã được thử nghiệm.

Mô hìnhKích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Bối cảnh Hiệu suất

Trong khi RTDETRv2-x đạt được giá trị tuyệt đối cao nhất mAP Nó yêu cầu số lượng tham số gần gấp 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ế, Ultralytics Các mô hình này luôn mang lại hiệu quả tính toán tốt nhất.

Lợi thế Hệ sinh thái Ultralytics

Khi chuyển một mô hình từ sổ tay nghiên cứu sang môi trường sản xuất, phần mềm hỗ trợ mô hình đó cũng quan trọng không kém kiến ​​trúc mạng nơ-ron. Hệ sinh thái được duy trì tốt do cung cấp bởi Ultralytics Giúp đẩy nhanh đáng kể chu kỳ phát triển.

Dễ sử dụng vượt trội

Ultralytics Các mô hình này ưu tiên trải nghiệm người dùng cực kỳ đơn giả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 , API Python Ultralytics đều cho phép thực hiện điều đó chỉ với một vài dòng mã.

Dưới đây là một ví dụ mã thực tế minh họa cách dễ dàng huấn luyện và chạy suy luận với một mô hình. Ultralytics người mẫu:

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ợ tích hợp theo dõi thử nghiệm với các công cụ như Weights & BiasesComet , cho phép các nhà phát triển ghi lại số liệu một cách liền mạch mà không cần viết mã 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ể, ràng buộc triển khai và ưu tiê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 tốt cho:

  • Hệ thống sản xuất đã được chứng minh: Các triển khai hiện có nơi hồ sơ track ổn định lâu dài, tài liệu phong phú và sự hỗ trợ cộng đồng lớn của YOLOv5 được đánh giá cao.
  • Huấn luyện hạn chế tài nguyên: 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 là một 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, CoreMLTFLite.

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ỏ.

Hướng tới tương lai: YOLO11 và YOLO26

Nếu bạn đang bắt đầu một dự án tầm nhìn mới ngày hôm nay, rất nên tìm hiểu về các thế hệ công nghệ mới nhất. Ultralytics mô hình.

Trong khi YOLOv5 YOLO11 vẫn duy trì độ tin cậy đáng kinh ngạc, cung cấp độ chính xác được cải thiện và mở rộng bộ tác vụ bao gồm phát hiện hộp giới hạn định hướng (OBB) .

Quan trọng hơn nữa, YOLO26 tiên tiến kết hợp những ưu điểm tốt nhất của cả hai thế giới. Nó triển khai thiết kế không cần NMS từ đầu đến cuối (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 quả của mạng CNN. YOLO26 cũng giới thiệu bộ tối ưu hóa MuSGD , lấy cảm hứng từ những cải tiến trong huấn luyện LLM, giúp hội tụ nhanh hơn. Với việc loại bỏ DFL (Distribution Focal Loss được loại bỏ để đơ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 khả năng suy luận CPU nhanh hơn tới 43% , biến nó trở thành lựa chọn tốt nhất tuyệt đối cho AI biên. Ngoài ra, ProgLoss + STAL cung cấp các hàm mất mát được cải tiến với những cải tiến đáng kể trong nhận dạng vật thể 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 ràng buộc triển khai của bạn. RTDETRv2 vượt qua giới hạn của mAP bằng cách sử dụng cơ chế chú ý transformer mạnh mẽ nhưng đi kèm với chi phí cao về bộ nhớ và tài nguyên 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 nhóm 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, 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 cho các ứng dụng AI thị giác hiện đại.


Bình luận