Chuyển đến nội dung

YOLOv5 so với PP-YOLOE+: So sánh Kỹ thuật Chi tiế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à tính dễ triển khai. Trang này cung cấp so sánh kỹ thuật chuyên sâu giữa hai mô hình nổi bật: Ultralytics YOLOv5, một tiêu chuẩn công nghiệp được áp dụng rộng rãi, nổi tiếng với tính linh hoạt và hiệu suất và PP-YOLOE+, một mô hình có độ chính xác cao từ hệ sinh thái PaddlePaddle của Baidu. Chúng ta sẽ khám phá 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 đưa ra lựa chọn sáng suốt cho các dự án thị giác máy tính của mình.

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

Ultralytics YOLOv5 đã trở thành một chuẩn mực trong cộng đồng thị giác máy tính kể từ khi ra mắt. Nó được đánh giá cao nhờ sự cân bằng vượt trội giữa tốc độ và độ chính xác, khiến nó trở thành một lựa chọn thiết thực cho vô số ứng dụng thực tế. Việc phát triển nó trên PyTorch và hệ sinh thái toàn diện xung quanh nó đã biến nó 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.

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/

Kiến trúc và các tính năng chính

Kiến trúc của YOLOv5 là minh chứng cho thiết kế hiệu quả, được xây dựng hoàn toàn bằng PyTorch để có tính linh hoạt và dễ sử dụng tối đa.

  • Backbone: Sử dụng backbone CSPDarknet53, một biến thể của Darknet kết hợp các mô-đun Cross Stage Partial (CSP) để giảm tính toán trong khi vẫn duy trì khả năng trích xuất đặc trưng cao.
  • Neck: Mạng tổng hợp đường dẫn (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 cấp độ backbone khác nhau để cải thiện khả năng phát hiện ở nhiều tỷ lệ.
  • Head: YOLOv5 sử dụng một detection head dựa trên anchor, dự đoán các bounding box dựa trên một tập hợp các anchor box được xác định trước. Cách tiếp cận này được tối ưu hóa cao về tốc độ.
  • Khả năng mở rộng: Nó có nhiều kích cỡ khác nhau (n, s, m, l, x), cho phép người dùng chọn một mô hình phù hợp với nhu cầu cụ thể của họ, từ các mô hình nhẹ cho thiết bị biên đến các mô hình lớn hơn để có độ chính xác tối đa.

Điểm mạnh và Điểm yếu

Điểm mạnh:

  • Cân bằng hiệu suất vượt trội: YOLOv5 cung cấp sự cân bằng tuyệt vời giữa tốc độ suy luận và độ chính xác phát hiện, làm cho nó phù hợp với nhiều tình huống suy luận thời gian thực.
  • Dễ sử dụng: Nổi tiếng với trải nghiệm người dùng được tối ưu hóa, giao diện PythonCLI đơn giản, cùng với tài liệu phong phú.
  • Hệ sinh thái được duy trì tốt: Hưởng lợi từ hệ sinh thái Ultralytics tích hợp, bao gồm phát triển tích cực, cộng đồng lớn mạnh và luôn hỗ trợ, cập nhật thường xuyên và các công cụ như Ultralytics HUB để huấn luyện không cần code.
  • Hiệu Quả Huấn Luyện: Cung cấp quy trình huấn luyện hiệu quả, các trọng số đã được huấn luyện trước có sẵn và yêu cầu bộ nhớ thường thấp hơn so với nhiều lựa chọn thay thế.
  • Tính linh hoạt: 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.

Điểm yếu:

  • Mặc dù có độ chính xác cao, các mô hình mới hơn có thể vượt qua điểm số mAP của nó trên các điểm chuẩn như COCO.
  • Việc dựa vào các hộp neo có thể yêu cầu điều chỉnh siêu tham số nhiều hơn cho các tập dữ liệu có hình dạng đối tượng không thông thường so với các phương pháp không có neo.

Các Trường hợp Sử dụng

Tốc độ và tính linh hoạt của YOLOv5 làm cho nó trở nên lý tưởng cho:

  • Theo dõi đối tượng theo thời gian thực: Hoàn hảo cho giám sát, robot và hệ thống tự động, như được trình bày chi tiết trong hướng dẫn phân đoạn và theo dõi đối tượng của chúng tôi.
  • Triển khai thiết bị biên: Các mô hình hiệu quả (YOLOv5n, YOLOv5s) chạy hiệu quả trên các thiết bị bị hạn chế về tài nguyên như Raspberry PiNVIDIA Jetson.
  • Tự động hóa công nghiệp: Được sử dụng trong kiểm soát chất lượng, phát hiện lỗi và tự động hóa tái chế.

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

PP-YOLOE+: Độ chính xác cao trong hệ sinh thái PaddlePaddle

PP-YOLOE+, được phát triển bởi Baidu, là một detector vật thể một giai đoạn, không neo, được xây dựng trong framework học sâu PaddlePaddle. Nó được xây dựng dựa trên mô hình PP-YOLOE, giới thiệu các cải tiến nhằm đẩy mạnh ranh giới của độ chính xác đồng thời duy trì hiệu quả.

Tác giả: Các tác giả của PaddlePaddle
Tổ chức: Baidu
Ngày: 2022-04-02
Arxiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
Tài liệu: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md

Kiến trúc và các tính năng chính

PP-YOLOE+ kết hợp một số lựa chọn thiết kế hiện đại để tối đa hóa hiệu suất.

  • Thiết kế không mỏ neo (Anchor-Free): Nó loại bỏ nhu cầu về các hộp mỏ neo được xác định trước, điều này có thể đơn giản hóa quy trình và giảm việc điều chỉnh siêu tham số. Bạn có thể khám phá thêm về bộ dò tìm không mỏ neo trong bảng chú giải thuật ngữ của chúng tôi.
  • Backbone: Sử dụng một backbone hiệu quả như CSPRepResNet, được thiết kế để biểu diễn đặc trưng mạnh mẽ.
  • Neck: Sử dụng Mạng tổng hợp đường dẫn (PAN) tương tự về nguyên tắc với YOLOv5 để kết hợp các đặc trưng mạnh mẽ.
  • Head: Có một decoupled head (ET-Head) tách biệt các tác vụ phân loại và hồi quy, điều này thường dẫn đến độ chính xác được cải thiện.
  • Hàm mất mát: Sử dụng các kỹ thuật tiên tiến như Task Alignment Learning (TAL) và VariFocal Loss để cải thiện sự liên kết giữa điểm phân loại và độ chính xác bản địa hóa.

Điểm mạnh và Điểm yếu

Điểm mạnh:

  • Tiềm năng độ chính xác cao, đặc biệt với các biến thể mô hình lớn hơn thường đứng đầu bảng xếp hạng.
  • Phương pháp không cần anchor có thể đơn giản hóa việc điều chỉnh siêu tham số trong một số trường hợp.
  • Tốc độ suy luận hiệu quả, đặc biệt khi được tối ưu hóa với TensorRT.
  • Được tích hợp tốt trong hệ sinh thái PaddlePaddle.

Điểm yếu:

  • Được tối ưu hóa chủ yếu cho framework PaddlePaddle, điều này có thể hạn chế khả năng sử dụng cho phần lớn các nhà phát triển thích PyTorch.
  • Cộng đồng và các tài nguyên có sẵn nhỏ hơn so với hệ sinh thái rộng lớn xung quanh các mô hình Ultralytics YOLO.
  • Ít chú trọng hơn vào tính dễ sử dụng và đơn giản trong triển khai, thường đòi hỏi nhiều mã soạn sẵn và kiến thức cụ thể về framework hơn.

Các Trường hợp Sử dụng

PP-YOLOE+ phù hợp cho:

  • Kiểm tra chất lượng công nghiệp: Độ chính xác cao rất có lợi cho việc phát hiện các lỗi nhỏ trong AI trong sản xuất.
  • Bán lẻ thông minh: Các ứng dụng như quản lý hàng tồn kho và phân tích khách hàng có thể hưởng lợi từ độ chính xác của nó.
  • Các dự án tập trung vào PaddlePaddle: Đây là lựa chọn lý tưởng cho các nhà phát triển đã đầu tư hoặc tiêu chuẩn hóa trên framework PaddlePaddle.

Tìm hiểu thêm về PP-YOLOE+

Hiệu năng và điểm chuẩn: YOLOv5 so với PP-YOLOE+

Khi so sánh hiệu suất, sự lựa chọn phụ thuộc nhiều vào phần cứng mục tiêu và mục tiêu chính (tốc độ so với độ chính xác).

  • Độ chính xác (mAP): Các mô hình PP-YOLOE+ thường đạt được điểm mAPval cao hơn trên tập dữ liệu COCO so với các mô hình YOLOv5 có kích thước tương đương. Đối với các ứng dụng mà mỗi phần trăm nhỏ về độ chính xác đều quan trọng, PP-YOLOE+ là một ứng cử viên mạnh mẽ.
  • Tốc độ suy luận: Ultralytics YOLOv5 thể hiện tốc độ vượt trội, đặc biệt là trên CPU. Mô hình YOLOv5n đặc biệt nhanh, làm cho nó trở nên hoàn hảo cho các ứng dụng thời gian thực trên một loạt các phần cứng. Mặc dù PP-YOLOE+ nhanh trên GPU với TensorRT, YOLOv5 vẫn duy trì lợi thế mạnh mẽ về hiệu suất trên mỗi watt, đặc biệt là trên các thiết bị biên.
  • Hiệu quả (Tham số và FLOPs): Các mô hình YOLOv5 được thiết kế để có tính chất nhẹ. Ví dụ: YOLOv5n có số lượng tham số và FLOPs ít hơn đáng kể so với PP-YOLOE+s, giúp dễ dàng triển khai hơn trong các môi trường hạn chế về tài nguyên.
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
PP-YOLOE+t 640 39.9 - 2.84 4.85 19.15
PP-YOLOE+s 640 43.7 - 2.62 7.93 17.36
PP-YOLOE+m 640 49.8 - 5.56 23.43 49.91
PP-YOLOE+l 640 52.9 - 8.36 52.2 110.07
PP-YOLOE+x 640 54.7 - 14.3 98.42 206.59

Đào tạo, Tính khả dụng và Hệ sinh thái

Vượt xa hiệu suất thô, trải nghiệm của nhà phát triển là một yếu tố quan trọng. Đây là nơi Ultralytics YOLOv5 thực sự tỏa sáng.

  • YOLOv5: Hệ sinh thái Ultralytics được thiết kế để tăng năng suất cho nhà phát triển. Vốn là PyTorch-native, nó tích hợp liền mạch vào quy trình deep learning phổ biến nhất. Tính dễ sử dụng là vô song, với một API đơn giản, được ghi chép đầy đủ, cho phép đào tạo, xác thực và suy luận chỉ với một vài dòng code. Hệ sinh thái được duy trì tốt mang lại một lợi thế lớn, với các bản cập nhật liên tục, một cộng đồng lớn để hỗ trợ và tích hợp với các công cụ như Weights & BiasesClearML. Hơn nữa, Hiệu quả đào tạo là một trọng tâm cốt lõi, với các mô hình đào tạo nhanh chóng và yêu cầu ít bộ nhớ hơn.

  • PP-YOLOE+: Quá trình huấn luyện bị giới hạn trong framework PaddlePaddle. Mặc dù mạnh mẽ, điều này tạo ra một rào cản cho các nhà phát triển không quen thuộc với hệ sinh thái của nó. Tài liệu và hỗ trợ cộng đồng, mặc dù tốt, nhưng không rộng rãi hoặc dễ tiếp cận như YOLOv5. Việc tích hợp nó vào một pipeline dựa trên PyTorch đòi hỏi các bước bổ sung và chuyển đổi tiềm năng, làm tăng thêm sự phức tạp cho vòng đời MLOps.

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

Cả YOLOv5 và PP-YOLOE+ đều là những mô hình tuyệt vời, nhưng chúng phục vụ cho các nhu cầu khác nhau.

Ultralytics YOLOv5 là lựa chọn được khuyến nghị cho phần lớn các dự án. Sự cân bằng vượt trội giữa tốc độ và độ chính xác, kết hợp với một hệ sinh thái thân thiện với nhà phát triển vô song, làm cho nó trở thành lựa chọn thiết thực và hiệu quả nhất. Cho dù bạn là người mới bắt đầu tạo mẫu một ý tưởng mới hay một chuyên gia triển khai một hệ thống mạnh mẽ cho phần cứng biên, sự dễ sử dụng, tính linh hoạt và sự hỗ trợ mạnh mẽ từ cộng đồng của YOLOv5 sẽ đẩy nhanh chu kỳ phát triển của bạn và đảm bảo thành công.

PP-YOLOE+ là một công cụ chuyên dụng vượt trội trong các tình huống mà việc đạt được mAP cao nhất tuyệt đối là mục tiêu chính và nhóm phát triển đã thành thạo khuôn khổ PaddlePaddle. Đây là một mô hình mạnh mẽ cho nghiên cứu và cho các ứng dụng mà độ chính xác không thể bị xâm phạm, miễn là bạn sẵn sàng làm việc trong hệ sinh thái cụ thể của nó.

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

Ultralytics tiếp tục đẩy mạnh các giới hạn về những gì có thể trong việc phát hiện đối tượng. Đối với những người tìm kiếm hiệu suất và tính năng cao hơn nữa, chúng tôi khuyên bạn nên khám phá các mô hình mới hơn như YOLOv8YOLO11 hiện đại. Các mô hình này xây dựng trên nền tảng của YOLOv5, mang lại độ chính xác được cải thiện, nhiều tác vụ được hỗ trợ hơn và hiệu quả thậm chí còn cao hơn. Bạn có thể tìm thêm so sánh trên trang so sánh chí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