YOLOv9 và PP-YOLOE+#
Lĩnh vực phát hiện đối tượng thời gian thực tiếp tục phát triển nhanh chóng, mang đến cho kỹ sư thị giác máy tính nhiều lựa chọn để triển khai các model có độ chính xác cao trên hạ tầng edge và cloud. Hai model nổi bật trong lĩnh vực này là YOLOv9 và PP-YOLOE+. Cả hai đều mở rộng giới hạn về độ chính xác và tốc độ, nhưng xuất phát từ những hướng nghiên cứu và hệ sinh thái phần mềm khác nhau.
Bài so sánh kỹ thuật toàn diện này phân tích kiến trúc, phương pháp huấn luyện, chỉ số hiệu năng và các ứng dụng thực tế phù hợp của hai model. Chúng ta cũng sẽ tìm hiểu cách hệ sinh thái Ultralytics mang lại lợi thế đáng kể cho developer ưu tiên tính dễ sử dụng, hiệu quả bộ nhớ và khả năng triển khai linh hoạt.
Nguồn gốc và thông số kỹ thuật của model#
Tìm hiểu bối cảnh hình thành các model giúp làm rõ những quyết định về kiến trúc và các framework phụ thuộc.
YOLOv9: Giải quyết nút thắt thông tin#
Được giới thiệu vào đầu năm 2024, YOLOv9 giải quyết tình trạng mất dữ liệu xảy ra khi thông tin truyền qua các mạng neural sâu. Đây là một mạng neural tích chập được tối ưu hóa cao nhằm tối đa hóa hiệu quả tham số.
- Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- Ngày: 21 tháng 2, 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Tài liệu: Tài liệu YOLOv9 của Ultralytics
PP-YOLOE+: Thúc đẩy hệ sinh thái Paddle#
Được Baidu phát hành năm 2022, PP-YOLOE+ là phiên bản cải tiến lặp lại từ PP-YOLOv2. Model sử dụng phương pháp không anchor và giới thiệu chiến lược gán nhãn động nhằm cải thiện khả năng hội tụ và độ chính xác trong framework PaddlePaddle.
- Tác giả: Nhóm tác giả PaddlePaddle
- Tổ chức: Baidu
- Ngày: 2 tháng 4 năm 2022
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- Tài liệu: Cấu hình PP-YOLOE+
So sánh kiến trúc#
Thông tin Gradient có thể lập trình và CSPRepResStage#
Cải tiến cốt lõi của YOLOv9 là Thông tin Gradient có thể lập trình (PGI). PGI hoạt động như một framework giám sát phụ trợ, đảm bảo thông tin gradient quan trọng được bảo toàn và truyền ngược chính xác về các lớp nông trong quá trình huấn luyện. PGI kết hợp với Mạng tổng hợp lớp hiệu quả tổng quát (GELAN), kiến trúc kết hợp ưu điểm của CSPNet và ELAN để đạt độ chính xác cao đồng thời giảm đáng kể chi phí tính toán (FLOPs).
PP-YOLOE+ dựa vào một backbone chuyên biệt có tên CSPRepResStage. Model tận dụng kỹ thuật tái tham số hóa (tương tự RepVGG) để tăng tốc suy luận bằng cách gộp các lớp tích chập trong quá trình triển khai. Ngoài ra, model sử dụng head Efficient Task-aligned (ET-head) để cân bằng tác vụ phân loại và hồi quy.
Dù PP-YOLOE+ mạnh mẽ, kiến trúc GELAN của YOLOv9 thường cần ít bộ nhớ hơn trong cả quá trình huấn luyện lẫn suy luận, nhờ đó đặc biệt phù hợp với thiết bị AI edge.
So sánh hiệu năng#
Khi đánh giá model cho môi trường production, sự đánh đổi giữa mAP (độ chính xác trung bình), tốc độ suy luận và kích thước model là yếu tố then chốt.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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 |
Phân tích#
- Hiệu quả tham số: YOLOv9 đạt hiệu quả vượt trội rõ rệt. Chẳng hạn, YOLOv9c đạt mAP 53.0% chỉ với 25.5M tham số, trong khi PP-YOLOE+l cần hơn gấp đôi số tham số (52.2M) để đạt mAP thấp hơn một chút, ở mức 52.9%. Điều này giúp giảm đáng kể yêu cầu bộ nhớ của YOLOv9.
- Tốc độ suy luận: Các model YOLOv9 được tối ưu hóa rất tốt cho bộ tăng tốc phần cứng như TensorRT, đạt tốc độ suy luận cạnh tranh trên GPU NVIDIA T4, yếu tố then chốt cho suy luận thời gian thực.
Phương pháp huấn luyện và hệ sinh thái#
Việc lựa chọn giữa các model này thường phụ thuộc vào hệ sinh thái phần mềm.
PP-YOLOE+ và PaddlePaddle#
PP-YOLOE+ gắn kết chặt chẽ với bộ công cụ PaddleDetection. Dù mạnh mẽ, bộ công cụ này yêu cầu người dùng làm việc trong môi trường sử dụng nhiều file cấu hình và điều khiển qua command line. Với các nhóm đã gắn bó sâu với hệ sinh thái PyTorch hoặc TensorFlow, việc chuyển sang PaddlePaddle tạo ra nhiều trở ngại và đòi hỏi thời gian làm quen lâu hơn.
Ưu thế của Ultralytics: Tinh giản quy trình làm việc#
Ngược lại, YOLOv9 hoạt động trong hệ sinh thái Ultralytics được hoàn thiện kỹ lưỡng. Ultralytics được thiết kế cho developer và nhà nghiên cứu, ưu tiên trải nghiệm sử dụng dễ dàng vượt trội. Python API loại bỏ hoàn toàn nhu cầu viết mã boilerplate phức tạp.
from ultralytics import YOLO
# Tải một model YOLOv9 đã huấn luyện sẵn
model = YOLO("yolov9c.pt")
# Dễ dàng huấn luyện trên dataset tùy chỉnh
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Chạy suy luận và trực quan hóa kết quả
results = model("https://ultralytics.com/images/bus.jpg")
# Xuất sang ONNX để triển khai production
model.export(format="onnx")Quy trình này cho thấy Hiệu quả huấn luyện vượt trội của các model Ultralytics. Hỗ trợ nguyên bản cho tăng cường dữ liệu, huấn luyện phân tán và ghi log tự động lên các nền tảng như Weights & Biases hoặc MLflow được tích hợp sẵn.
Dù YOLOv9 có hiệu năng vượt trội, chúng tôi đặc biệt khuyến nghị cân nhắc Ultralytics YOLO26 mới ra mắt cho các dự án mới. YOLO26 có Thiết kế đầu-cuối không cần NMS nguyên bản (có thể bật tùy chọn qua nms=False), giúp đơn giản hóa đáng kể việc triển khai. Với Loại bỏ DFL (loại bỏ Distribution Focal Loss để đơn giản hóa quá trình export và tăng khả năng tương thích với thiết bị edge/thiết bị công suất thấp), model đạt tốc độ suy luận trên CPU nhanh hơn đến 43% cho điện toán edge. Nhờ Bộ tối ưu MuSGD, model đảm bảo huấn luyện ổn định và hội tụ nhanh. Ngoài ra, ProgLoss + STAL cung cấp các hàm loss cải tiến, giúp nhận diện vật thể nhỏ tốt hơn đáng kể — yếu tố thiết yếu trong IoT, robot và ảnh chụp từ trên không.
Tính linh hoạt và hỗ trợ tác vụ#
Các dự án thị giác máy tính hiện đại hiếm khi chỉ dừng lại ở bounding box đơn giản.
PP-YOLOE+ chủ yếu được thiết kế cho tác vụ phát hiện đối tượng tiêu chuẩn. Việc điều chỉnh kiến trúc cho các tác vụ khác đòi hỏi nhiều công sức kỹ thuật tùy chỉnh.
Ngược lại, framework Ultralytics là một nền tảng đa tác vụ mạnh mẽ. Với API thống nhất, developer có thể dễ dàng chuyển từ tác vụ phát hiện đối tượng tiêu chuẩn sang phân đoạn instance phức tạp, ước tính pose có độ chính xác cao, phát hiện Bounding Box định hướng (OBB) cho ảnh chụp từ trên không và phân loại ảnh. Tính linh hoạt vượt trội này là lý do các nhóm doanh nghiệp liên tục chọn những model được Ultralytics hỗ trợ như YOLOv9, YOLO11 và YOLO26.
Trường hợp sử dụng và ứng dụng lý tưởng#
- Phân tích đô thị thông minh và quản lý giao thông: Hiệu quả tham số cao và độ trễ thấp của YOLOv9 (cũng như YOLO26 ra mắt sau đó) khiến các model này trở thành lựa chọn lý tưởng để triển khai trên phần cứng edge hạn chế (như thiết bị NVIDIA Jetson), phục vụ giám sát luồng giao thông và an ninh đô thị.
- Hệ thống kiểm kê bán lẻ: Để phát hiện các mặt hàng nhỏ được xếp dày đặc trên kệ, PGI của YOLOv9 duy trì hiệu quả thông tin không gian chi tiết, vượt trội hơn PP-YOLOE+ trong các tác vụ phát hiện vật thể nhỏ.
- Triển khai trên hạ tầng cũ: PP-YOLOE+ vẫn là lựa chọn khả thi, nhưng chỉ dành cho các nhóm bắt buộc phải sử dụng stack phần mềm Baidu/PaddlePaddle trong hạ tầng cũ hiện có.
Với các nhà nghiên cứu tìm hiểu kiến trúc dựa trên Transformer, Ultralytics cũng hỗ trợ nguyên bản RT-DETR thông qua chính API dễ sử dụng này, đảm bảo bạn luôn có thể tiếp cận model tối ưu cho yêu cầu triển khai cụ thể của mình.