So sánh YOLOv9 với PP-YOLOE+#
Bối cảnh phát hiện đối tượng thời gian thực tiếp tục phát triển nhanh chóng, cung cấp cho các kỹ sư thị giác máy tính nhiều lựa chọn để triển khai các mô hình có độ chính xác cao trên cơ sở hạ tầng biên và đám mây. Hai mô hình nổi bật trong không gian này là YOLOv9 và PP-YOLOE+. Mặc dù cả hai đều đẩy giới hạn về độ chính xác và tốc độ, chúng xuất thân từ các dòng nghiên cứu và hệ sinh thái phần mềm khác nhau.
So sánh kỹ thuật toàn diện này khám phá kiến trúc, phương pháp huấn luyện, chỉ số hiệu suất và các ứng dụng thực tế lý tưởng của chúng. Chúng tôi cũng sẽ khám phá cách hệ sinh thái Ultralytics rộng lớn hơn mang lại những ưu thế đáng kể cho các nhà phát triển ưu tiên tính dễ sử dụng, hiệu suất bộ nhớ và khả năng triển khai linh hoạt.
Nguồn gốc mô hình và thông số kỹ thuật#
Việc hiểu rõ bối cảnh của các mô hình này giúp nắm bắt các quyết định về kiến trúc và các phụ thuộc vào framework của chúng.
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 vấn đề mất 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, được thiết kế để tối đa hóa hiệu suất tham số.
- Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
- Tổ chức: Viện Thông tin học, Academia Sinica, Đài Loan
- Ngày: 21 tháng 2 năm 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Docs: Tài liệu Ultralytics YOLOv9
PP-YOLOE+: Thúc đẩy hệ sinh thái Paddle#
Được Baidu phát hành năm 2022, PP-YOLOE+ là một bản cải tiến lặp đi lặp lại từ PP-YOLOv2. Nó tận dụng mô hình phi neo (anchor-free) và giới thiệu chiến lược gán nhãn động để cải thiện độ hội tụ và độ chính xác trong framework PaddlePaddle.
- Tác giả: Các tác giả PaddlePaddle
- Tổ chức: Baidu
- Ngày: 2 tháng 4 năm 2022
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- Docs: Cấu hình PP-YOLOE+
So sánh kiến trúc#
Programmable Gradient Information so với CSPRepResStage#
Cốt lõi đổi mới trong YOLOv9 là Programmable Gradient Information (PGI). PGI hoạt động như một framework giám sát phụ trợ, đảm bảo rằng thông tin gradient quan trọng được bảo tồn và truyền ngược chính xác đến các tầng nông trong quá trình huấn luyện. Điều này được kết hợp với Generalized Efficient Layer Aggregation Network (GELAN), kết hợp điểm mạnh của CSPNet và ELAN để mang lại độ chính xác cao trong khi giảm thiểu đáng kể chi phí tính toán (FLOPs).
PP-YOLOE+ dựa vào một backbone chuyên dụng mang tên CSPRepResStage. Nó tận dụng các kỹ thuật tái tham số hóa (tương tự như trong RepVGG) để tăng tốc độ suy luận bằng cách hợp nhất các tầng tích chập trong quá trình triển khai. Hơn nữa, nó sử dụng đầu Efficient Task-aligned head (ET-head) để cân bằng các tác vụ phân loại và hồi quy.
Mặc dù PP-YOLOE+ rất mạnh mẽ, kiến trúc GELAN của YOLOv9 thường yêu cầu lượng chiếm dụng bộ nhớ nhỏ hơn trong cả quá trình huấn luyện và suy luận, làm cho nó cực kỳ phù hợp cho các thiết bị AI biên.
So sánh hiệu năng#
Khi đánh giá các mô hình cho sản xuất, sự cân bằng giữa mAP (mean Average Precision), tốc độ suy luận và kích thước mô hình là rất quan trọng.
| Mô hình | 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.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 suất tham số: YOLOv9 đạt được hiệu suất cao hơn đáng kể. Ví dụ, YOLOv9c đạt mAP là 53,0% chỉ với 25,3 triệu tham số, trong khi PP-YOLOE+l yêu cầu hơn gấp đôi số tham số (52,2 triệu) để đạt được mAP thấp hơn một chút là 52,9%. Điều này làm giảm đáng kể yêu cầu về bộ nhớ đối với YOLOv9.
- Tốc độ suy luận: Các mô hình YOLOv9 thể hiện sự tối ưu hóa xuất sắc cho các bộ tăng tốc phần cứng như TensorRT, mang lại tốc độ suy luận cạnh tranh trên các GPU NVIDIA T4, đóng vai trò quan trọng đối với 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 mô hình 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. Mặc dù mạnh mẽ, nó yêu cầu người dùng phải thao tác trong một môi trường nặng về cấu hình và điều khiển bằng dòng lệnh. Đối với các đội ngũ đã quen thuộc sâu rộng với hệ sinh thái PyTorch hoặc TensorFlow, việc chuyển sang PaddlePaddle tạo ra sự ma sát đáng kể và đường cong học tập dốc hơn.
Lợi thế của Ultralytics: Quy trình làm việc được tinh giản#
Ngược lại, YOLOv9 hoạt động trong hệ sinh thái Ultralytics được trau chuốt kỹ lưỡng. Được thiết kế cho các nhà phát triển và nhà nghiên cứu, Ultralytics ưu tiên tính dễ sử dụng đặc biệt. Python API loại bỏ hoàn toàn mã soạn sẵn (boilerplate code) phức tạp.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Run inference and visualize results
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for production deployment
model.export(format="onnx")Quy trình làm việc này làm nổi bật Hiệu suất huấn luyện vượt trội của các mô hình Ultralytics. Hỗ trợ gốc cho tăng cường dữ liệu, huấn luyện phân tán và tự động ghi nhật ký (logging) lên các nền tảng như Weights & Biases hoặc MLflow là các tính năng tiêu chuẩn.
Mặc dù YOLOv9 mang lại hiệu suất xuất sắc, chúng tôi đặc biệt khuyến nghị cân nhắc phiên bản Ultralytics YOLO26 mới phát hành cho các dự án mới. YOLO26 có Thiết kế End-to-End NMS-Free gốc, giúp đơn giản hóa đáng kể việc triển khai. Với DFL Removal (loại bỏ Distribution Focal Loss để đơn giản hóa việc xuất mô hình và tương thích tốt hơn với thiết bị biên/công suất thấp), nó đem lại tốc độ suy luận CPU nhanh hơn tới 43% cho điện toán biên. Được vận hành bởi MuSGD Optimizer, nó đảm bảo quá trình huấn luyện ổn định và hội tụ nhanh chóng. Ngoài ra, ProgLoss + STAL cung cấp các hàm mất mát được cải thiện với những bước tiến đáng kể trong nhận diện vật thể nhỏ, điều tối quan trọng đối với IoT, robot và hình ảnh 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 ở các bounding box đơn giản.
PP-YOLOE+ được thiết kế chủ yếu cho phát hiện đối tượng tiêu chuẩn. Việc điều chỉnh kiến trúc của nó 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 cỗ máy đa nhiệm mạnh mẽ. Bằng cách sử dụng một API thống nhất, các nhà phát triển có thể dễ dàng chuyển đổi từ phát hiện đối tượng tiêu chuẩn sang Phân đoạn thực thể (Instance Segmentation), Ước lượng tư thế (Pose Estimation) cực kỳ chính xác, phát hiện Hộp bao định hướng (OBB) cho hình ảnh trên không, và Phân loại ảnh. Tính đa năng có một không hai này là lý do tại sao các nhóm doanh nghiệp liên tục lựa chọn các mô hình Ultralytics như YOLOv9, YOLO11 và YOLO26.
Các trường hợp sử dụng và ứng dụng lý tưởng#
- Phân tích Thành phố Thông minh & Quản lý Giao thông: Hiệu suất tham số cao và độ trễ thấp của YOLOv9 (và YOLO26 tiếp sau đó) khiến chúng trở nên lý tưởng để triển khai trên phần cứng biên bị giới hạn (như các thiết bị NVIDIA Jetson) nhằm giám sát lưu lượng giao thông và an ninh đô thị.
- Hệ thống tồn kho bán lẻ: Để phát hiện các cấu hình dày đặc của các mặt hàng nhỏ trên kệ, PGI của YOLOv9 duy trì hiệu quả các chi tiết không gian hạt mịn, vượt trội hơn PP-YOLOE+ trong các tác vụ phát hiện đối tượng nhỏ.
- Triển khai di sản: PP-YOLOE+ vẫn là một lựa chọn khả thi chỉ dành cho các đội ngũ được yêu cầu bắt buộc sử dụng hệ thống phần mềm của Baidu/PaddlePaddle trong cơ sở hạ tầng di sản hiện có.
Đối với các nhà nghiên cứu khám phá các kiến trúc dựa trên Transformer, Ultralytics cũng hỗ trợ nguyên bản RT-DETR nằm trong cùng một API dễ sử dụng chính xác, đảm bảo bạn luôn có quyền truy cập vào mô hình tối ưu cho các yêu cầu triển khai cụ thể của mình.