Chuyển đến nội dung

YOLOv5 so với RTDETRv2: So sánh Mô hình Chi tiết

Việc lựa chọn mô hình phát hiện đối tượng tối ưu là một quyết định quan trọng đối với bất kỳ dự án thị giác máy tính nào. Trang này cung cấp so sánh kỹ thuật chi tiết giữa hai mô hình mạnh mẽ: Ultralytics YOLOv5, một tiêu chuẩn công nghiệp đã được thiết lập nổi tiếng về sự cân bằng giữa tốc độ và hiệu quả, và RTDETRv2, một mô hình dựa trên transformer được thiết kế để có độ chính xác cao. Chúng ta sẽ đi sâu vào sự khác biệt về kiến trúc, điểm chuẩn 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 nhu cầu của mình.

Ultralytics YOLOv5: Tiêu chuẩn công nghiệp đã được thiết lập

Tác giả: Glenn Jocher
Tổ chức: Ultralytics
Ngày: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Docs: https://docs.ultralytics.com/models/yolov5/

Ultralytics YOLOv5 đã thiết lập một chuẩn mực mới cho phát hiện đối tượng theo thời gian thực khi phát hành, nhanh chóng trở thành một lựa chọn yêu thích của các nhà phát triển và nhà nghiên cứu nhờ sự kết hợp vượt trội giữa tốc độ, độ chính xác và tính thân thiện với người dùng. Được xây dựng hoàn toàn bằng PyTorch, nó được tối ưu hóa cao và dễ dàng huấn luyện, xác thực và triển khai.

Kiến trúc

YOLOv5 sử dụng một kiến trúc dựa trên CNN cổ điển, vừa hiệu quả vừa hiệu quả.

  • Backbone: Sử dụng backbone CSPDarknet53, một biến thể của Darknet được tối ưu hóa bằng kết nối Cross Stage Partial (CSP) để cải thiện luồng gradient và giảm chi phí tính toán.
  • Neck: Mạng tổng hợp đường dẫn (Path Aggregation Network - PANet) được sử dụng để tổng hợp đặc trưng, kết hợp hiệu quả các đặc trưng từ các tỷ lệ khác nhau để tăng cường khả năng phát hiện các đối tượng có kích thước khác nhau.
  • Head: Mô hình sử dụng detection head dựa trên anchor để dự đoán các bounding box, xác suất lớp và điểm objectness.

Điểm mạnh

  • Tốc độ và Hiệu quả Vượt trội: YOLOv5 được tối ưu hóa cao cho tốc độ suy luận nhanh, biến nó thành lựa chọn hàng đầu cho các ứng dụng thời gian thực trên nhiều loại phần cứng, từ CPU đến thiết bị biên.
  • Dễ sử dụng: Nổi tiếng với trải nghiệm người dùng được tối ưu hóa, YOLOv5 cung cấp Python APICLI đơn giản, được hỗ trợ bởi tài liệu phong phú.
  • Hệ sinh thái được duy trì tốt: Là một mô hình Ultralytics, nó được hưởng lợi từ một hệ sinh thái mạnh mẽ và được phát triển tích cực. Điều này bao gồm một cộng đồng lớn, cập nhật thường xuyên và tích hợp liền mạch với các công cụ như Ultralytics HUB để huấn luyện và triển khai không cần code.
  • Cân bằng hiệu suất: YOLOv5 đạt được sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, làm cho nó rất thiết thực cho nhiều tình huống thực tế khác nhau.
  • Hiệu quả bộ nhớ: So với các mô hình dựa trên transformer, các mô hình YOLOv5 thường yêu cầu ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện và hiệu quả bộ nhớ hơn trong quá trình suy luận.
  • Tính linh hoạt: Nó hỗ trợ nhiều tác vụ, bao gồm phát hiện đối tượng, phân vùng thể hiệnphân loại ảnh, tất cả trong một framework thống nhất.
  • Hiệu quả huấn luyện: Quy trình huấn luyện nhanh chóng và hiệu quả, với các trọng số đã được huấn luyện trước có sẵn trên các bộ dữ liệu như COCO để tăng tốc quá trình phát triển.

Điểm yếu

  • Độ chính xác trên các cảnh phức tạp: Mặc dù có độ chính xác cao, nhưng nó có thể bị các kiến trúc mới hơn, phức tạp hơn như RTDETRv2 vượt trội hơn trên các tập dữ liệu có nhiều đối tượng nhỏ hoặc bị che khuất.
  • Thiết kế dựa trên Anchor: Việc dựa vào các hộp anchor được xác định trước đôi khi có thể yêu cầu điều chỉnh thủ công để đạt được hiệu suất tối ưu trên các bộ dữ liệu có tỷ lệ khung hình đối tượng không thông thường.

Các trường hợp sử dụng lý tưởng

YOLOv5 vượt trội trong các ứng dụng mà tốc độ, hiệu quả tài nguyên và phát triển nhanh chóng là yếu tố then chốt.

  • Giám sát video theo thời gian thực: Lý tưởng cho hệ thống báo động an ninh và giám sát nguồn cấp video trực tiếp.
  • Điện toán biên: Các mô hình nhẹ của nó là hoàn hảo để triển khai trên các thiết bị có tài nguyên hạn chế như Raspberry PiNVIDIA Jetson.
  • Ứng dụng trên thiết bị di động: Phù hợp để suy luận trực tiếp trên các ứng dụng di động.
  • Tự động hóa công nghiệp: Cung cấp năng lượng cho kiểm soát chất lượng và AI trong quản lý giao thông.

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

RTDETRv2: Transformer phát hiện theo thời gian thực với độ chính xác cao

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

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 (ViT) để đạt được độ chính xác cao đồng thời duy trì hiệu suất thời gian thực trên phần cứng có khả năng.

Kiến trúc

RTDETRv2 sử dụng phương pháp kết hợp, tận dụng thế mạnh của cả CNN và Transformer.

  • Backbone: Nó thường sử dụng một CNN (như các biến thể của ResNet) để trích xuất đặc trưng ban đầu một cách hiệu quả.
  • Encoder-Decoder: Một cấu trúc encoder-decoder dựa trên Transformer xử lý các đặc trưng hình ảnh. Nó sử dụng cơ chế tự chú ý để nắm bắt ngữ cảnh toàn cục, cho phép mô hình hiểu rõ hơn các mối quan hệ giữa các đối tượng ở xa và các cảnh phức tạp.

Điểm mạnh

  • Độ chính xác cao: Kiến trúc Transformer cho phép RTDETRv2 đạt được điểm mAP xuất sắc, đặc biệt là trên các bộ dữ liệu phức tạp với các vật thể dày đặc hoặc nhỏ, chẳng hạn như trong phân tích ảnh vệ tinh.
  • Khả năng hoạt động theo thời gian thực: Nó được tối ưu hóa để cung cấp tốc độ suy luận cạnh tranh, đặc biệt khi được tăng tốc trên GPU mạnh mẽ bằng các công cụ như NVIDIA TensorRT.
  • Trích xuất đặc trưng mạnh mẽ: Bằng cách nắm bắt ngữ cảnh toàn cục, nó hoạt động tốt trong các tình huống khó khăn như tắc nghẽn, điều này có lợi cho các ứng dụng như lái xe tự động.

Điểm yếu

  • Chi phí tính toán cao: RTDETRv2 thường có số lượng tham số và FLOPs cao hơn so với YOLOv5, đòi hỏi các tài nguyên tính toán đáng kể hơn như bộ nhớ GPU và sức mạnh xử lý.
  • Độ phức tạp khi huấn luyện: Huấn luyện các mô hình dựa trên transformer thường tốn nhiều tài nguyên hơn và chậm hơn so với huấn luyện CNN. Chúng thường yêu cầu nhiều bộ nhớ CUDA hơn, khiến chúng khó tiếp cận hơn đối với người dùng có phần cứng hạn chế.
  • Tốc độ suy luận trên CPU/Edge: Mặc dù thời gian thực trên GPU mạnh mẽ, nhưng hiệu suất của nó có thể chậm hơn đáng kể so với YOLOv5 trên CPU hoặc các thiết bị biên kém mạnh mẽ hơn.
  • Hệ sinh thái và khả năng sử dụng: Nó thiếu hệ sinh thái thống nhất, mở rộng, các công cụ và hỗ trợ cộng đồng rộng rãi mà Ultralytics cung cấp cho các mô hình YOLO của mình.

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

Phân tích hiệu năng: Tốc độ so với độ chính xác

Sự khác biệt chính giữa YOLOv5 và RTDETRv2 nằm ở triết lý thiết kế của chúng. YOLOv5 được thiết kế để cân bằng tối ưu giữa tốc độ và độ chính xác trên một loạt phần cứng, khiến nó trở nên cực kỳ linh hoạt. Ngược lại, RTDETRv2 ưu tiên đạt được độ chính xác tối đa, tận dụng kiến trúc transformer chuyên sâu về tính toán hơn, hoạt động tốt nhất trên GPU cao cấp.

Bảng dưới đây nêu bật những khác biệt này. Trong khi các mô hình RTDETRv2 đạt được điểm mAP cao hơn, các mô hình YOLOv5, đặc biệt là các biến thể nhỏ hơn, cung cấp thời gian suy luận nhanh hơn đáng kể, đặc biệt là trên CPU. Điều này làm cho YOLOv5 trở thành một lựa chọn thiết thực hơn cho các ứng dụng mà độ trễ thấp và triển khai trên các phần cứng khác nhau là rất cần thiết.

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)
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

Kết luận và Đề xuất

Cả YOLOv5 và RTDETRv2 đều là những mô hình phát hiện đối tượng mạnh mẽ, nhưng chúng phục vụ cho các nhu cầu khác nhau.

RTDETRv2 là một lựa chọn tuyệt vời cho các ứng dụng mà việc đạt được độ chính xác cao nhất có thể là mục tiêu chính và có sẵn tài nguyên tính toán đáng kể (ví dụ: GPU cao cấp) cho cả quá trình huấn luyện và triển khai. Kiến trúc dựa trên transformer của nó mang lại lợi thế trong các cảnh phức tạp.

Tuy nhiên, đối với phần lớn các ứng dụng thực tế, Ultralytics YOLOv5 mang đến một giải pháp hấp dẫn và thiết thực hơn. Sự cân bằng đặc biệt giữa tốc độ và độ chính xác, kết hợp với yêu cầu tài nguyên thấp, làm cho nó phù hợp với nhiều tình huống triển khai hơn. Những ưu điểm chính của hệ sinh thái Ultralytics được duy trì tốt—bao gồm tính dễ sử dụng, tài liệu toàn diện, hỗ trợ cộng đồng tích cực và các công cụ như Ultralytics HUB—giúp giảm đáng kể rào cản gia nhập và tăng tốc thời gian phát triển.

Đối với các nhà phát triển đang tìm kiếm một framework hiện đại, linh hoạt và hiệu quả cao, các mô hình Ultralytics mới hơn như YOLOv8YOLO11 xây dựng dựa trên thế mạnh của YOLOv5, mang lại hiệu suất tốt hơn và nhiều tính năng hơn. Các mô hình này đại diện cho trạng thái hiện đại về thị giác máy tính hiệu suất cao, thân thiện với người dùng.

So sánh 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 sau:



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

Bình luận