YOLOv5 và PP-YOLOE+: Phân tích kỹ thuật chuyên sâu về công nghệ phát hiện đối tượng hiện đại
Việc lựa chọn kiến trúc mạng thần kinh phù hợp là yếu tố thiết yếu cho bất kỳ dự án thị giác máy tính hiện đại nào. Khi các lập trình viên và nhà nghiên cứu đánh giá các model cho bài toán phát hiện đối tượng thời gian thực, quyết định thường xoay quanh việc cân bằng giữa độ chính xác, tốc độ suy luận và khả năng triển khai dễ dàng. Bài so sánh kỹ thuật này xem xét YOLOv5 và PP-YOLOE+, khám phá kiến trúc, các chỉ số hiệu năng và phương pháp huấn luyện để giúp bạn chọn ra giải pháp tối ưu cho ứng dụng của mình.
Tìm hiểu về các Kiến trúc
Cả hai model đều có tác động đáng kể đến bối cảnh thị giác AI, nhưng chúng tiếp cận các thách thức của việc phát hiện đối tượng thông qua các phương pháp cấu trúc và sự phụ thuộc vào framework khác nhau.
Ultralytics YOLOv5: Tiêu chuẩn công nghiệp
Được 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 thị giác máy tính tiên tiến nhất. Là triển khai PyTorch gốc đầu tiên trong gia đình YOLO, nó đã giảm đáng kể rào cản gia nhập cho các lập trình viên Python và kỹ sư ML trên toàn thế giới.
Chi tiết 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 cải tiến, giúp nắm bắt hiệu quả các biểu diễn đặc trưng phong phú trong khi vẫn duy trì số lượng tham số nhẹ. Nó giới thiệu các anchor box tự học, tự động tính toán kích thước anchor tối ưu cho các tập dữ liệu tùy chỉnh trước khi bắt đầu huấn luyện. Hơn nữa, việc tích hợp tăng cường dữ liệu mosaic giúp cải thiện đáng kể khả năng của model trong việc phát hiện các đối tượng nhỏ và tổng quát hóa trên 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 đáng kinh ngạc. Không giống như các bộ phát hiện đối tượng tiêu chuẩn, dòng YOLOv5 hỗ trợ liền mạch phân loại hình ảnh, phân đoạn đối tượng và phát hiện hộp bao trong một API thống nhất. Kiến trúc được tối ưu hóa cao của nó cũng giúp giảm đáng kể việc sử dụng bộ nhớ trong quá trình huấn luyện và suy luận so với các mạng dựa trên transformer hạng nặng.
PP-YOLOE+: Đối thủ đến từ PaddlePaddle
Được giới thiệu khoảng hai năm sau đó, PP-YOLOE+ được xây dựng 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 để thể hiện khả năng của framework học sâu của Baidu, nó giới thiệu một số cải tiến về kiến trúc để thúc đẩy chỉ số mAP.
Chi tiết về PP-YOLOE+:
- Tác giả: Các tác giả của PaddlePaddle
- Tổ chức: Baidu
- Ngày: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- Tài liệu: PP-YOLOE+ README
PP-YOLOE+ dựa trên mô hình không anchor (anchor-free) và sử dụng backbone CSPRepResNet. Nó kết hợp kỹ thuật Task Alignment Learning mạnh mẽ và Efficient Task-aligned Head để cải thiện độ chính xác. Mặc dù PP-YOLOE+ đạt được điểm số chính xác ấn tượng, điểm yếu chính của nó nằm ở sự phụ thuộc chặt chẽ vào framework PaddlePaddle. Điều này thường tạo ra lộ trình học tập dốc và sự ma sát trong hệ sinh thái đối với các nhóm nghiên cứu và doanh nghiệp đã đầu tư sâu vào môi trường PyTorch hoặc TensorFlow.
Hiệu suất và Benchmark
Khi đánh giá các model này cho môi trường sản xuất, việc hiểu rõ sự đánh đổi giữa độ chính xác, tốc độ suy luận và dung lượng tham số là rất quan trọng. Bảng dưới đây phác thảo các chỉ số hiệu năng chính trên các biến thể kích thước khác nhau.
| Model | 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 |
Trong khi PP-YOLOE+ đạt đến giới hạn độ chính xác cao, YOLOv5 liên tục chứng minh hiệu quả tham số vượt trội và suy luận nhanh hơn trên phần cứng bị hạn chế. Đối với các triển khai biên (edge) nơi bộ nhớ khan hiếm, YOLOv5n mang lại tốc độ không đối thủ và dung lượng cực kỳ nhỏ gọn.
Các model Ultralytics được thiết kế đặc biệt cho hiệu suất huấn luyện. So với các transformer thị giác hạng 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 trên các batch size lớn hơn hoặc phần cứng cấp tiêu dùng.
Lợi thế từ 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 học máy vượt xa các con số thô; nó bao gồm toàn bộ trải nghiệm của lập trình viên. Nền tảng Ultralytics và các công cụ mã nguồn mở tương ứng cung cấp một hệ sinh thái được tinh chỉnh cao, duy trì tốt, giúp tăng tốc đáng kể các chu kỳ phát triển.
- Dễ sử dụng: Ultralytics loại bỏ các đoạn code boilerplate phức tạp. Bạn có thể huấn luyện, xác thực và kiểm thử các model thông qua API Python hoặc CLI trực quan.
- Tính linh hoạt khi triển khai: Việc xuất model cực kỳ đơn giản. Chỉ với một câu lệnh, bạn có thể chuyển đổi trọng số 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 trên các môi trường biên và đám mây.
- Cộng đồng tích cực: Cộng đồng sôi động đảm bảo các bản cập nhật thường xuyên, tài liệu phong phú và các giải pháp mạnh mẽ cho những thách thức phổ biến về thị giác máy tính.
Ngược lại, PP-YOLOE+ dựa nhiều vào các tệp cấu hình phức tạp đặc thù cho PaddleDetection, điều này có thể làm chậm quá trình tạo mẫu nhanh và làm phức tạp việc tích hợp vào các pipeline MLOps hiện đại.
Các triển khai thực tế và Ví dụ về code
Bắt đầu với Ultralytics cực kỳ đơn giản. Dưới đây là một ví dụ hoàn chỉnh, có thể chạy được về cách tải một model YOLOv5 đã huấn luyện trước, huấn luyện nó trên một tập dữ liệu tùy chỉnh và xuất kết quả:
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset for 50 epochs
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a sample image
predict_results = model("https://ultralytics.com/images/bus.jpg")
# Export the optimized model to ONNX format
path = model.export(format="onnx")Các 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 dự án cụ thể, các hạn chế triển khai và tùy chọ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 mạnh mẽ cho:
- Các hệ thống sản xuất đã được kiểm chứng: Các triển khai hiện có nơi mà hồ sơ ổn định lâu dài, tài liệu phong phú và sự hỗ trợ lớn từ cộng đồng của YOLOv5 được đánh giá cao.
- Huấn luyện trong môi trường hạn chế tài nguyên: Các 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 mang lại nhiều 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, CoreML, và TFLite.
Khi nào nên chọn PP-YOLOE+
PP-YOLOE+ được khuyến nghị cho:
- Tích hợp hệ sinh thái PaddlePaddle: Các tổ chức có hạ tầng hiện có được xây dựng trên framework và công cụ PaddlePaddle của Baidu.
- Triển khai Edge với Paddle Lite: Triển khai lên phần cứng với các nhân inference được tối ưu hóa cao dành riêng cho công cụ Paddle Lite hoặc Paddle inference.
- Nhận diện độ chính xác cao phía máy chủ: Các kịch bản ưu tiên độ chính xác nhận diện tối đa trên các máy chủ GPU mạnh mẽ, nơi sự phụ thuộc vào framework không phải là vấn đề.
Khi nào nên 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 suất và trải nghiệm nhà phát triển:
- Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone trên không 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 cực nhỏ.
Các Model tiên tiến thay thế nên xem xét
Mặc dù YOLOv5 là một tiêu chuẩn mạnh mẽ và đã được kiểm chứng, lĩnh vực thị giác máy tính đang chuyển động nhanh chóng. Đối với các đội ngũ bắt đầu dự án mới, chúng tôi đặc biệt khuyến nghị khám phá các kiến trúc mới hơn của chúng tôi.
Ultralytics YOLO26
Được ra mắt vào tháng 1 năm 2026, YOLO26 đại diện cho đỉnh cao tuyệt đối trong nghiên cứu của chúng tôi. Nó mang lại những cải tiến to lớn về cả độ chính xác và tốc độ. Những đổi mới chính bao 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, YOLO26 loại bỏ hoàn toàn quá trình hậu xử lý Non-Maximum Suppression (NMS), giúp giảm độ trễ 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 được suy luận trên CPU nhanh hơn tới 43%, khiến nó cực kỳ mạnh mẽ cho các thiết bị biên tiêu thụ điện năng thấp.
- Trình tối ưu hóa MuSGD: Lấy cảm hứng từ các kỹ thuật huấn luyện LLM tiên tiến, sự kết hợp giữa SGD và Muon này đảm bảo các đợt huấn luyện ổn định đặc biệt và hội tụ nhanh hơn.
- ProgLoss + STAL: Các hàm mất mát (loss functions) nâng cao này mang lại những cải tiến đáng chú ý trong việc nhận diện đối tượng nhỏ, điều này rất quan trọng đối với hình ảnh drone và nông nghiệp thông minh.
Ngoài ra, bạn có thể cân nhắc YOLO11, model cung cấp hiệu năng xuất sắc và đóng vai trò như một cầu nối đáng tin cậy giữa các hệ thống cũ và khả năng tiên tiến của YOLO26.
Các trường hợp sử dụng trong thực tế
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.
Các ứng dụng lý tưởng cho YOLOv5: Yêu cầu tài nguyên tối thiểu và tính dễ sử dụng đáng kinh ngạc của YOLOv5 biến nó thành lựa chọn hàng đầu cho Edge AI. Nó vượt trội trong các ứng dụng yêu cầu tốc độ khung hình 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à các hệ thống giám sát giao thông đa camera. Khả năng đồng thời xử lý các tác vụ ước tính tư thế và hộp bao định hướng (OBB) trong cùng một framework làm cho nó có khả năng thích ứng cao.
Các ứng dụng lý tưởng cho PP-YOLOE+: PP-YOLOE+ phù hợp nhất cho các kịch bản ưu tiên độ chính xác tối đa tuyệt đối trên hình ảnh tĩnh thay vì các ràng buộc xử lý thời gian thực. Nó tìm thấy phạm vi ứng dụng trong các pipeline kiểm tra công nghiệp, đặc biệt là trong các lĩnh vực sản xuất tại châu Á vốn đã có sẵn các ngăn xếp kỹ thuật đầu tư sâu vào hệ sinh thái của Baidu và PaddlePaddle.
Tóm lại, trong khi PP-YOLOE+ cung cấp các tiêu chuẩn độ chính xác mạnh mẽ, các model YOLO của Ultralytics mang lại sự kết hợp vô song giữa cân bằng hiệu năng, triển khai liền mạch và thiết kế thân thiện với lập trình viên, thúc đẩy các dự án thị giác máy tính thành công từ khâu ý tưởng đến sản xuất.