PP-YOLOE+ và YOLOv5#
Khi chọn framework deep learning phù hợp cho thị giác máy tính, nhà phát triển thường so sánh khả năng của các kiến trúc khác nhau để tìm ra sự cân bằng tối ưu giữa tốc độ, độ chính xác và tính dễ triển khai. Trong bài phân tích chuyên sâu này, chúng ta sẽ tìm hiểu các khác biệt kỹ thuật giữa PP-YOLOE+ và YOLOv5. Bằng cách phân tích kiến trúc, chỉ số hiệu năng và kịch bản triển khai lý tưởng, bạn có thể đưa ra quyết định sáng suốt cho dự án tiếp theo, dù dự án liên quan đến robot thời gian thực, triển khai edge hay phân tích video trên cloud.
Nguồn gốc và siêu dữ liệu của model#
Cả hai model đều được phát triển bởi các nhóm kỹ thuật có năng lực cao nhưng hướng đến những hệ sinh thái hơi khác nhau. Hiểu rõ nguồn gốc của chúng sẽ cung cấp bối cảnh hữu ích để nắm bắt các lựa chọn thiết kế kiến trúc.
Thông tin chi tiết về PP-YOLOE+:
- Tác giả: Nhóm tác giả 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: README PaddleDetection
Thông tin về YOLOv5:
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Tài liệu: https://docs.ultralytics.com/models/yolov5
So sánh kiến trúc#
Kiến trúc PP-YOLOE+#
PP-YOLOE+ là một bước phát triển trong hệ sinh thái Baidu, được xây dựng dựa trên nền tảng các model trước đó như PP-YOLOv2. Model giới thiệu backbone CSPRepResNet được tối ưu mạnh, cải thiện khả năng trích xuất đặc trưng bằng cách kết hợp nguyên lý của mạng Cross Stage Partial (CSP) với kỹ thuật tái tham số hóa. Nhờ đó, model duy trì độ chính xác cao trong quá trình huấn luyện, đồng thời chuyển thành kiến trúc tinh gọn hơn để suy luận nhanh hơn.
Ngoài ra, PP-YOLOE+ sử dụng Học căn chỉnh tác vụ (TAL) và head căn chỉnh tác vụ hiệu quả (ET-head). Sự kết hợp này nhằm giải quyết tình trạng lệch giữa tác vụ phân loại và định vị, vốn là điểm nghẽn phổ biến trong các bộ phát hiện đối tượng dày đặc. Dù có kiến trúc ấn tượng, model gắn chặt với framework PaddlePaddle, điều có thể gây khó khăn khi tích hợp đối với các nhóm đã chuẩn hóa quy trình trên những thư viện ML phổ biến khác.
Kiến trúc YOLOv5#
Ngược lại, YOLOv5 được xây dựng nguyên bản trên PyTorch, tiêu chuẩn của ngành cho cả nghiên cứu học thuật lẫn môi trường production doanh nghiệp. Model sử dụng backbone CSPDarknet53 đã được điều chỉnh, nổi tiếng với luồng gradient vượt trội và hiệu quả về số lượng tham số.
Một đặc điểm nổi bật của YOLOv5 là thuật toán AutoAnchor, tự động kiểm tra và điều chỉnh kích thước anchor box dựa trên dataset tùy chỉnh cụ thể trước khi huấn luyện. Nhờ đó, không cần tinh chỉnh hyperparameter thủ công cho các bounding box. Neck Mạng tổng hợp đường dẫn (PANet) của model đảm bảo hợp nhất đặc trưng đa tỷ lệ ổn định, giúp model phát hiện hiệu quả các đối tượng có kích thước khác nhau.
Vì YOLOv5 được xây dựng trực tiếp trên PyTorch, việc export sang các định dạng tối ưu như ONNX và TensorRT cần cấu hình middleware ít hơn đáng kể so với các model phụ thuộc vào framework cục bộ.
Phân tích hiệu năng#
Để đánh giá các model này, cần xem xét sự đánh đổi giữa độ chính xác trung bình trung bình (mAP) và độ trễ. Bảng sau trình bày các chỉ số theo từng kích thước model.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Mặc dù PP-YOLOE+ đạt điểm mAP rất cạnh tranh ở các kích thước lớn hơn (như biến thể X), YOLOv5 có tốc độ cao hơn và số lượng tham số thấp hơn ở nhóm kích thước nhỏ. YOLOv5 Nano (YOLOv5n) chỉ cần 1,9 triệu tham số, rất phù hợp với các thiết bị edge bị giới hạn nghiêm ngặt về bộ nhớ. Ngoài ra, việc huấn luyện model YOLO thường tiêu thụ ít bộ nhớ CUDA hơn các lựa chọn dựa trên Transformer nặng nề như RT-DETR.
Lợi thế của Ultralytics#
Khi chọn kiến trúc, các chỉ số thô chỉ là một phần của bài toán. Trải nghiệm phát triển, khả năng hỗ trợ từ hệ sinh thái và pipeline triển khai thường quyết định thành công thực tế của dự án. Đây là những lĩnh vực mà các model Ultralytics phát huy thế mạnh.
Dễ sử dụng vượt trội#
Python API của Ultralytics giúp loại bỏ phần lớn code nền phức tạp. Nhà phát triển có thể bắt đầu huấn luyện, đánh giá hiệu năng và triển khai model một cách liền mạch. Tài liệu phong phú, được duy trì thường xuyên và có sự hỗ trợ của cộng đồng mã nguồn mở toàn cầu đông đảo.
Tính linh hoạt trên nhiều tác vụ#
PP-YOLOE+ là bộ phát hiện đối tượng chuyên biệt, còn hệ sinh thái Ultralytics cho phép người dùng xử lý nhiều tác vụ thị giác máy tính thông qua một API thống nhất. Với YOLOv5 và các thế hệ kế nhiệm, bạn có thể dễ dàng chuyển từ bounding box tiêu chuẩn sang quy trình phân đoạn ảnh và phân loại.
Ví dụ code: Huấn luyện YOLOv5#
Chỉ cần vài dòng code để bắt đầu. Sự đơn giản này giúp tăng tốc đáng kể các chu kỳ nghiên cứu và phát triển.
from ultralytics import YOLO
# Tải model YOLOv5 small đã được huấn luyện trước
model = YOLO("yolov5su.pt") # YOLOv5u: weight YOLOv5 không anchor dành cho package ultralytics
# Huấn luyện model trên bộ dữ liệu COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Chạy suy luận nhanh trên ảnh
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()Các trường hợp sử dụng thực tế#
Khi nào nên chọn PP-YOLOE+: Nếu tổ chức của bạn gắn bó sâu với ngăn xếp phần mềm Baidu hoặc phụ thuộc nhiều vào phần cứng chuyên biệt yêu cầu framework PaddlePaddle, PP-YOLOE+ là model hoạt động đáng tin cậy. Model thường được sử dụng trong các pipeline sản xuất chuyên biệt tại châu Á, nơi vẫn còn tích hợp Paddle từ trước.
Khi nào nên chọn YOLOv5: Với phần lớn nhà phát triển, nhà nghiên cứu và doanh nghiệp trên toàn cầu, YOLOv5 vẫn là một model rất mạnh. Nền tảng PyTorch giúp model tương thích ngay với các công cụ như Weights & Biases để theo dõi, đồng thời export thuận tiện sang TensorRT để tăng tốc trên GPU NVIDIA hoặc sang CoreML cho thiết bị Apple. Model hoạt động xuất sắc trong nhiều lĩnh vực, từ giám sát cây trồng nông nghiệp đến điều hướng drone tốc độ cao.
Tương lai của phát hiện đối tượng: Ultralytics YOLO26#
YOLOv5 là một model mang tính biểu tượng, nhưng lĩnh vực thị giác máy tính đã phát triển vượt bậc. Với mọi dự án mới, chúng tôi đặc biệt khuyến nghị chuyển sang YOLO26, ra mắt vào tháng 1 năm 2026. Có thể dễ dàng sử dụng thông qua Ultralytics Platform, YOLO26 tái định nghĩa hoàn toàn hiệu quả.
Các cải tiến chính trong YOLO26:
- Thiết kế end-to-end không cần NMS: Head one-to-one tùy chọn (
nms=False) của YOLO26 bỏ qua hoàn toàn bước hậu xử lý Ức chế phi cực đại. Điều này giảm biến động độ trễ và đơn giản hóa đáng kể pipeline triển khai. - Suy luận CPU nhanh hơn đến 43%: Bằng cách chủ động loại bỏ Distribution Focal Loss (DFL), YOLO26 tăng đáng kể tốc độ trên các thiết bị edge không có GPU.
- Optimizer MuSGD: Lấy cảm hứng từ các Mô hình ngôn ngữ lớn hàng đầu, optimizer lai này giúp ổn định động lực huấn luyện và tăng tốc đáng kể quá trình hội tụ trên các dataset tùy chỉnh.
- Cải tiến theo từng tác vụ: Tích hợp các hàm loss tiên tiến như ProgLoss và STAL, mang lại độ chính xác vượt trội với các đối tượng rất nhỏ. Model vốn hỗ trợ phát hiện hộp giới hạn xoay (OBB) cho ảnh chụp trên không.
Nếu đang tìm hiểu các model thị giác tiên tiến nhất, bạn cũng có thể muốn so sánh thế hệ trước YOLO11 hoặc các phương pháp dựa trên Transformer như RT-DETR. Hệ sinh thái mạnh mẽ cùng những cải tiến kiến trúc tiên tiến giúp Ultralytics trở thành lựa chọn hàng đầu cho các tác vụ thị giác máy tính hiện đại.