YOLOv5 và PP-YOLOE+#
Lựa chọn kiến trúc mạng neural phù hợp là điều thiết yếu với mọi dự án thị giác máy tính hiện đại. Khi developer và nhà nghiên cứu đánh giá model phát hiện vật thể theo thời gian thực, quyết định thường xoay quanh việc cân bằng độ chính xác, tốc độ inference và khả năng triển khai. Bài so sánh kỹ thuật này phân tích YOLOv5 và PP-YOLOE+, tìm hiểu kiến trúc, metric hiệu năng và phương pháp huấn luyện của hai model để giúp bạn chọn giải pháp tối ưu cho ứng dụng.
Tìm hiểu kiến trúc#
Cả hai model đều có ảnh hưởng đáng kể đến lĩnh vực AI thị giác, nhưng áp dụng các phương pháp cấu trúc và phụ thuộc framework khác nhau để giải quyết bài toán phát hiện vật thể.
Ultralytics YOLOv5: Tiêu chuẩn ngành#
Ra mắt vào giữa năm 2020, Ultralytics YOLOv5 đã cách mạng hóa khả năng tiếp cận các model AI thị giác tiên tiến nhất. Được xây dựng nguyên bản bằng PyTorch, model giúp giảm đáng kể rào cản gia nhập cho developer Python và kỹ sư ML trên toàn thế giới.
Thông tin về YOLOv5:
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: ultralytics/yolov5
- Tài liệu: Tài liệu YOLOv5
YOLOv5 sử dụng backbone CSPDarknet đã được điều chỉnh, giúp trích xuất hiệu quả các biểu diễn đặc trưng phong phú mà vẫn duy trì số lượng tham số gọn nhẹ. Model giới thiệu anchor box tự học, tự động tính toán kích thước anchor tối ưu cho dataset tùy chỉnh trước khi bắt đầu huấn luyện. Hơn nữa, tích hợp tăng cường dữ liệu mosaic giúp cải thiện đáng kể khả năng phát hiện vật thể nhỏ và khái quát hóa trong các bối cảnh không gian phức tạp.
Một trong những thế mạnh lớn nhất của YOLOv5 là tính linh hoạt vượt trội. Khác với các model phát hiện vật thể tiêu chuẩn, dòng YOLOv5 hỗ trợ liền mạch phân loại ảnh, phân đoạn instance và phát hiện bounding box thông qua một API thống nhất. Kiến trúc được tối ưu cao cũng giúp giảm đáng kể mức sử dụng bộ nhớ trong quá trình huấn luyện và inference so với các mạng Transformer nặng.
PP-YOLOE+: Đối thủ từ PaddlePaddle#
Ra mắt khoảng hai năm sau đó, PP-YOLOE+ phát triển dựa trên nền tảng của các phiên bản PP-YOLO trước. Được phát triển nhằm thể hiện năng lực của framework deep learning của Baidu, model giới thiệu một số cải tiến kiến trúc để tăng mean Average Precision.
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: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- Tài liệu: README PP-YOLOE+
PP-YOLOE+ sử dụng phương pháp không anchor và backbone CSPRepResNet. Model tích hợp kỹ thuật Task Alignment Learning mạnh mẽ và Efficient Task-aligned Head để cải thiện độ chính xác. Dù đạt điểm số chính xác ấn tượng, điểm yếu chính của PP-YOLOE+ là phụ thuộc chặt chẽ vào framework PaddlePaddle. Điều này thường tạo ra đường cong học tập dốc và khó khăn khi tích hợp cho các nhóm nghiên cứu và doanh nghiệp vốn đã đầu tư sâu vào môi trường PyTorch hoặc TensorFlow.
Hiệu năng và benchmark#
Khi đánh giá các model này để đưa vào production, việc hiểu rõ sự đánh đổi giữa độ chính xác, tốc độ inference và số lượng tham số là rất quan trọng. Bảng dưới đây trình bày các metric hiệu năng chính trên nhiều phiên bản kích thước khác nhau.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
PP-YOLOE+ đạt mức độ chính xác cao, nhưng YOLOv5 luôn cho tốc độ inference TensorRT nhanh hơn ở mọi kích thước model. Với triển khai biên có bộ nhớ hạn chế, YOLOv5n mang lại tốc độ vượt trội và kích thước cực nhỏ.
Các model Ultralytics được thiết kế chuyên biệt để huấn luyện hiệu quả. So với các Transformer thị giác nặng như RT-DETR, YOLOv5 sử dụng ít bộ nhớ CUDA hơn đáng kể, cho phép bạn huấn luyện với batch size lớn hơn hoặc trên phần cứng phổ thông.
Lợi thế Ultralytics: Hệ sinh thái và tính dễ sử dụng#
Giá trị thực sự của một kiến trúc machine learning không chỉ nằm ở các con số; nó còn bao gồm toàn bộ trải nghiệm developer. Nền tảng Ultralytics cùng các công cụ mã nguồn mở tương ứng cung cấp hệ sinh thái được tinh chỉnh kỹ lưỡng, duy trì tốt, giúp rút ngắn đáng kể chu kỳ phát triển.
- Dễ sử dụng: Ultralytics loại bỏ phần lớn code boilerplate phức tạp. Bạn có thể train, validation và kiểm tra model thông qua Python API hoặc CLI trực quan.
- Linh hoạt khi triển khai: Việc export model vô cùng đơn giản. Chỉ với một lệnh, bạn có thể chuyển weights YOLOv5 đã huấn luyện sang các định dạng như ONNX, TensorRT hoặc OpenVINO, đảm bảo khả năng tương thích rộng rãi giữa môi trường biên và cloud.
- Cộng đồng năng động: Cộng đồng sôi nổi đảm bảo các bản cập nhật thường xuyên, tài liệu phong phú và giải pháp vững chắc cho những thách thức phổ biến trong thị giác máy tính.
Ngược lại, PP-YOLOE+ phụ thuộc nhiều vào các file cấu hình phức tạp dành riêng cho PaddleDetection, có thể làm chậm quá trình tạo prototype nhanh và gây khó khăn khi tích hợp vào pipeline MLOps hiện đại.
Triển khai thực tế và ví dụ code#
Bắt đầu sử dụng Ultralytics rất đơn giản. Dưới đây là ví dụ hoàn chỉnh, có thể chạy ngay, minh họa cách tải model YOLOv5 đã huấn luyện trước, train trên dataset tùy chỉnh và export kết quả:
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 tập dữ liệu COCO8 trong 50 epoch
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Chạy suy luận trên ảnh mẫu
predict_results = model("https://ultralytics.com/images/bus.jpg")
# Xuất model đã tối ưu hóa sang định dạng ONNX
path = model.export(format="onnx")Trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv5 và PP-YOLOE+ phụ thuộc vào yêu cầu cụ thể của dự án, các ràng buộc khi triển khai và lựa chọn hệ sinh thái của bạn.
Khi nào nên chọn YOLOv5#
YOLOv5 là lựa chọn phù hợp cho:
- Các hệ thống production đã được kiểm chứng: Những triển khai hiện có coi trọng lịch sử ổn định lâu dài, tài liệu phong phú và sự hỗ trợ rộng rãi từ cộng đồng của YOLOv5.
- Huấn luyện với tài nguyên hạn chế: Các môi trường có tài nguyên GPU hạn chế, nơi pipeline huấn luyện hiệu quả và nhu cầu bộ nhớ thấp hơn của YOLOv5 là một lợi thế.
- Hỗ trợ nhiều định dạng export: Các dự án cần triển khai trên nhiều định dạng, bao gồm ONNX, TensorRT, CoreML và LiteRT.
Khi nào nên chọn PP-YOLOE+#
PP-YOLOE+ được khuyến nghị trong các trường hợp:
- Tích hợp hệ sinh thái PaddlePaddle: Các tổ chức có hạ tầng hiện hữu được xây dựng trên framework và bộ công cụ PaddlePaddle của Baidu.
- Triển khai biên bằng Paddle Lite: Triển khai lên phần cứng có kernel suy luận được tối ưu hóa cao, dành riêng cho Paddle Lite hoặc inference engine Paddle.
- Phát hiện độ chính xác cao phía máy chủ: Các kịch bản ưu tiên độ chính xác phát hiện tối đa trên máy chủ GPU mạnh, nơi sự phụ thuộc vào framework không phải vấn đề đáng lo ngại.
Khi nào nên chọn Ultralytics (YOLO26)#
Với hầu hết dự án mới, Ultralytics YOLO26 mang đến 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 trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
- Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
- Phát hiện vật thể nhỏ: Các tình huống khó như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác khi phát hiện vật thể rất nhỏ.
Các model tiên tiến khác cần cân nhắc#
YOLOv5 là tiêu chuẩn vững chắc, đã được kiểm chứng, nhưng lĩnh vực thị giác máy tính phát triển nhanh chóng. Với các nhóm bắt đầu dự án mới, chúng tôi khuyến nghị tìm hiểu các kiến trúc mới hơn.
Ultralytics YOLO26#
Ra mắt vào tháng 1 năm 2026, YOLO26 là đỉnh cao trong các nghiên cứu của chúng tôi. Model cải thiện đáng kể cả độ chính xác lẫn tốc độ. Các cải tiến chính gồm:
- Thiết kế end-to-end không cần NMS: Dựa trên các khái niệm từ YOLOv10, head one-to-one tùy chọn của YOLO26 (
nms=False) bỏ qua bước xử lý hậu kỳ Non-Maximum Suppression (NMS), giảm latency và đơn giản hóa logic triển khai. - Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đạt tốc độ inference CPU nhanh hơn đến 43%, mang lại hiệu năng mạnh mẽ cho các thiết bị biên tiêu thụ điện năng thấp.
- Bộ tối ưu MuSGD: Lấy cảm hứng từ các kỹ thuật huấn luyện LLM tiên tiến, phương pháp kết hợp SGD và Muon này đảm bảo quá trình huấn luyện ổn định vượt trội và hội tụ nhanh hơn.
- ProgLoss + STAL: Các hàm loss tiên tiến này giúp cải thiện đáng kể khả năng nhận diện vật thể nhỏ, yếu tố thiết yếu trong ảnh chụp bằng drone và nông nghiệp thông minh.
Bạn cũng có thể cân nhắc YOLO11, model có hiệu năng xuất sắc và là bước chuyển tiếp đáng tin cậy giữa hệ thống cũ với các năng lực tiên tiến nhất của YOLO26.
Các trường hợp sử dụng thực tế#
Việc lựa chọn giữa YOLOv5 và PP-YOLOE+ cuối cùng phụ thuộc vào môi trường triển khai và các ràng buộc của dự án.
Ứng dụng phù hợp nhất với YOLOv5: YOLOv5 có yêu cầu tài nguyên tối thiểu và rất dễ sử dụng, khiến model trở thành lựa chọn hàng đầu cho AI biên. Model đặc biệt phù hợp với ứng dụng cần frame rate cao trên phần cứng hạn chế, chẳng hạn như robot thời gian thực, tích hợp ứng dụng di động và hệ thống giám sát giao thông đa camera. Khả năng xử lý phân đoạn instance và phân loại ảnh trong cùng framework giúp model thích ứng tốt với nhiều ứng dụng.
Ứng dụng phù hợp nhất với PP-YOLOE+: PP-YOLOE+ phù hợp nhất với các tình huống ưu tiên độ chính xác tối đa trên ảnh tĩnh hơn các ràng buộc xử lý thời gian thực. Model được sử dụng trong một số ứng dụng chuyên biệt của pipeline kiểm tra công nghiệp, đặc biệt tại các ngành sản xuất châu Á đã xây dựng sẵn stack kỹ thuật, đầu tư nhiều vào hệ sinh thái Baidu và PaddlePaddle.
Tóm lại, dù PP-YOLOE+ đạt kết quả chuẩn độ chính xác cao, các model YOLO của Ultralytics mang đến sự kết hợp vượt trội giữa hiệu năng cân bằng, triển khai liền mạch và thiết kế thân thiện với developer, giúp đưa các dự án thị giác máy tính từ ý tưởng đến production thành công.