YOLOv9 và YOLOX#
Lĩnh vực thị giác máy tính đã chứng kiến sự phát triển nhanh chóng của các kiến trúc phát hiện đối tượng theo thời gian thực. Hướng dẫn này so sánh toàn diện YOLOv9 và YOLOX, phân tích các đổi mới kiến trúc, chỉ số hiệu năng và phương pháp huấn luyện. Dù bạn đang xây dựng ứng dụng thông minh cho AI trong sản xuất hay tìm hiểu mô hình dự đoán, việc hiểu rõ các model này sẽ giúp bạn đưa ra quyết định sáng suốt cho lần triển khai tiếp theo.
Các cải tiến kiến trúc#
YOLOv9: Thông tin gradient có thể lập trình#
YOLOv9 tạo ra bước chuyển đổi mô hình bằng cách giải quyết vấn đề nút thắt thông tin vốn có trong mạng neural sâu. Các đổi mới cốt lõi của model gồm Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
- Tác giả: Chien-Yao Wang và 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
Bằng cách giữ lại dữ liệu đặc trưng quan trọng trong quá trình lan truyền tiến, YOLOv9 đảm bảo gradient dùng để cập nhật trọng số trong quá trình lan truyền ngược luôn chính xác. Kiến trúc này có thế mạnh trong trích xuất đặc trưng, giúp phát hiện hiệu quả các đối tượng nhỏ trong môi trường phức tạp, chẳng hạn như ảnh hàng không và ảnh chụp y tế chi tiết.
YOLOX: Kết nối nghiên cứu với công nghiệp#
Ra mắt vào giữa năm 2021, YOLOX đưa dòng YOLO chuyển sang thiết kế không dùng anchor. Model này giới thiệu head tách biệt, phân chia tác vụ phân loại và định vị, đồng thời sử dụng chiến lược gán nhãn SimOTA để cải thiện khả năng hội tụ khi huấn luyện.
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li và Jian Sun
- Tổ chức: Megvii
- Ngày: 18 tháng 7, 2021
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
Dù YOLOX từng tạo đột phá với khả năng đạt độ chính xác trung bình (mAP) xuất sắc và loại bỏ việc tinh chỉnh siêu tham số cho anchor box, kiến trúc nền tảng của model này đã bị các mạng hiện đại vượt qua nhờ khả năng cân bằng tốt hơn giữa số lượng tham số và khả năng bảo toàn đặc trưng.
Cả YOLOX lẫn các model Ultralytics mới hơn đều áp dụng thiết kế không dùng anchor, giảm độ phức tạp khi tinh chỉnh siêu tham số và cải thiện khả năng khái quát hóa trên nhiều bộ dữ liệu khác nhau.
Phân tích hiệu năng#
Khi so sánh các model này trên benchmark MS COCO, có thể thấy rõ những tiến bộ của YOLOv9. YOLOv9 liên tục đạt được sự cân bằng tốt hơn giữa độ chính xác và FLOPs.
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Dù YOLOX có các biến thể nhẹ như YOLOX-Nano dành cho những trường hợp biên khắc nghiệt, các biến thể YOLOv9 luôn vượt trội hơn các model YOLOX có kích thước tương đương về độ chính xác thuần túy. Chẳng hạn, YOLOv9m đạt mAP 51.4% so với 49.7% của YOLOXl, dù số lượng tham số chưa bằng một nửa (20.1M so với 54.2M).
Lợi thế của Ultralytics#
Việc chọn model không chỉ liên quan đến lý thuyết kiến trúc; hệ sinh thái xung quanh model quyết định tốc độ phát triển và thành công khi triển khai. Sử dụng YOLOv9 trong hệ sinh thái Ultralytics mang lại sự dễ sử dụng vượt trội cùng sự hỗ trợ vững chắc từ cộng đồng.
Khác với các repository nghiên cứu nguyên bản đời cũ, framework Ultralytics cung cấp API Python thống nhất giúp đơn giản hóa các pipeline phức tạp. Quá trình huấn luyện cần ít bộ nhớ GPU hơn đáng kể so với nhiều lựa chọn thay thế, mang lại hiệu quả huấn luyện ấn tượng.
from ultralytics import YOLO
# Khởi tạo model YOLOv9c
model = YOLO("yolov9c.pt")
# Huấn luyện model trên bộ dữ liệu tùy chỉnh một cách dễ dàng
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Đánh giá hiệu năng của model
metrics = model.val()
# Xuất model đã tối ưu sang định dạng TensorRT
model.export(format="engine")Với khả năng hỗ trợ tích hợp nhiều tác vụ, bao gồm phát hiện đối tượng, phân đoạn đối tượng và ước tính tư thế, bạn có thể nhanh chóng chuyển hướng giải pháp thị giác máy tính mà không cần thay đổi toàn bộ codebase.
Ứng dụng thực tế#
Thế mạnh riêng của từng model khiến chúng phù hợp với những ứng dụng thực tế khác nhau:
Phân tích bán lẻ tốc độ cao#
Với môi trường bán lẻ hiện đại cần nhận diện sản phẩm theo thời gian thực, YOLOv9 là lựa chọn nổi bật. Khả năng giữ lại các chi tiết đặc trưng phức tạp khiến model này đặc biệt phù hợp với các ứng dụng AI trong bán lẻ, nơi cần phân biệt những sản phẩm có hình ảnh tương tự trên kệ hàng đông đúc.
Triển khai biên trên hệ thống cũ#
Trong các tình huống có giới hạn phần cứng nghiêm ngặt hoặc sử dụng NPU chuyên dụng gặp khó khăn với các khối tổng hợp mới, YOLOX-Nano đôi khi có thể phù hợp với một số trường hợp đặc thù. Các mẫu tích chập tinh gọn, thuần túy của model này đôi khi được ưu tiên cho vi điều khiển có tài nguyên cực kỳ hạn chế.
Robotics tự hành#
Trong điều hướng robot, bỏ sót các đối tượng nhỏ có thể gây hậu quả nghiêm trọng. Kiến trúc GELAN trong YOLOv9 đảm bảo đặc trưng của các chướng ngại vật nhỏ ở xa không bị mất trong các lớp sâu của mạng, vượt trội hơn các model cũ trong những môi trường an toàn quan trọng như ứng dụng AI trong ngành ô tô.
Trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv9 và YOLOX phụ thuộc vào yêu cầu cụ thể của dự án, các giới hạn triển khai và lựa chọn hệ sinh thái của bạn.
Khi nào nên chọn YOLOv9#
YOLOv9 là lựa chọn phù hợp cho:
- Nghiên cứu về nút thắt thông tin: Các dự án học thuật nghiên cứu kiến trúc Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
- Nghiên cứu tối ưu hóa luồng gradient: Các nghiên cứu tập trung vào việc tìm hiểu và giảm thiểu mất mát thông tin trong các lớp mạng sâu khi huấn luyện.
- Đánh giá hiệu năng phát hiện độ chính xác cao: Các tình huống cần hiệu năng mạnh của YOLOv9 trên benchmark COCO làm mốc tham chiếu để so sánh kiến trúc.
Khi nào nên chọn YOLOX#
YOLOX được khuyến nghị cho:
- Nghiên cứu phát hiện không anchor: Nghiên cứu học thuật sử dụng kiến trúc không anchor rõ ràng của YOLOX làm baseline để thử nghiệm các head phát hiện hoặc hàm loss mới.
- Thiết bị biên siêu nhẹ: Triển khai trên vi điều khiển hoặc phần cứng di động đời cũ, nơi kích thước cực nhỏ của biến thể YOLOX-Nano (0.91M tham số) là yếu tố then chốt.
- Nghiên cứu gán nhãn SimOTA: Các dự án nghiên cứu tìm hiểu chiến lược gán nhãn dựa trên vận tải tối ưu và ảnh hưởng của chúng đến quá trình hội tụ khi huấn luyện.
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ỏ.
Tương lai: YOLO26 ra mắt#
Dù YOLOv9 là một cột mốc ấn tượng, nhu cầu của môi trường production liên tục thúc đẩy các giới hạn. YOLO26 mới ra mắt là tiêu chuẩn hàng đầu cho AI thị giác hiện đại.
YOLO26 đổi mới toàn diện pipeline triển khai với Thiết kế end-to-end không cần NMS tùy chọn. Bằng cách loại bỏ nhu cầu dùng Non-Maximum Suppression phức tạp trong quá trình hậu xử lý với nms=False, model này giúp giảm đáng kể độ trễ inference.
Ngoài ra, YOLO26 tích hợp Optimizer MuSGD mang tính đột phá, kết hợp SGD và Muon, kế thừa các đổi mới trong huấn luyện LLM để đạt khả năng hội tụ ổn định và nhanh chóng. Bằng cách loại bỏ Distribution Focal Loss (DFL), YOLO26 đạt tốc độ CPU inference nhanh hơn tới 43% so với các phiên bản tiền nhiệm, trở thành lựa chọn tốt nhất cho thiết bị biên và triển khai doanh nghiệp. Với những cải tiến đáng kể về nhận diện đối tượng nhỏ nhờ ProgLoss và STAL, YOLO26 thực sự vượt qua cả YOLOX lẫn YOLOv9.
Các kỹ sư tìm hiểu kiến trúc hiện đại cũng nên khám phá YOLO11 và RT-DETR, những lựa chọn thay thế mạnh mẽ trong bộ sản phẩm Ultralytics. Hãy đảm bảo dự án sẵn sàng cho tương lai bằng cách tận dụng hiệu năng vượt trội của các model mới nhất trên Ultralytics Platform.