Link to this sectionYOLOv9 so với 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 thời gian thực. Hướng dẫn này cung cấp bản so sánh toàn diện giữa YOLOv9 và YOLOX, phân tích những cải tiến kiến trúc, các chỉ số hiệu năng và phương pháp đào tạo của chúng. Cho dù bạn đang xây dựng các ứng dụng thông minh cho AI trong sản xuất hay khám phá mô hình dự đoán, việc hiểu rõ các model này sẽ giúp bạn đưa ra các quyết định sáng suốt cho lần triển khai tiếp theo của mình.
Link to this sectionCải tiến kiến trúc#
Link to this sectionYOLOv9: Thông tin Gradient có thể lập trình#
YOLOv9 đã mang lại một sự thay đổi mô hình bằng cách giải quyết vấn đề nghẽn cổ chai thông tin vốn có trong các mạng thần kinh sâu. Các cải tiến cốt lõi của nó bao gồm Thông tin Gradient Lập trình được (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN).
- Tác giả: Chien-Yao Wang và 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
Bằng cách giữ lại dữ liệu đặc trưng quan trọng trong quá trình truyền tiến, YOLOv9 đảm bảo rằng các gradient được sử dụng để cập nhật trọng số trong quá trình lan truyền ngược vẫn chính xác. Kiến trúc này vượt trội trong việc trích xuất đặc trưng, giúp nó có khả năng phát hiện các đối tượng nhỏ trong các môi trường phức tạp, như trong hình ảnh trên không và các bản quét y tế chi tiết.
Link to this sectionYOLOX: Kết nối Nghiên cứu và Công nghiệp#
Được phát hành vào giữa năm 2021, YOLOX đã chuyển hướng dòng YOLO sang thiết kế không neo (anchor-free). Nó giới thiệu một đầu phân tách (decoupled head), giúp tách biệt các 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 sự hội tụ khi đào tạo.
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
- Tổ chức: Megvii
- Ngày công bố: 18 tháng 7 năm 2021
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
Mặc dù YOLOX là một bước đột phá vào thời điểm đó, đạt được độ chính xác trung bình (mAP) tuyệt vời và loại bỏ việc tinh chỉnh siêu tham số anchor box, nhưng kiến trúc nền tảng của nó đã bị vượt qua bởi các mạng hiện đại có sự cân bằng tốt hơn giữa số lượng tham số và khả năng giữ lại đặc trưng.
Cả YOLOX và các model Ultralytics mới hơn đều áp dụng các thiết kế không neo, giúp giảm bớt sự phức tạp của việc tinh chỉnh siêu tham số và cải thiện khả năng tổng quát hóa trên các tập dữ liệu đa dạng.
Link to this sectionPhân tích Hiệu suất#
Khi so sánh các model này trên benchmark MS COCO, những tiến bộ của YOLOv9 trở nên rõ ràng. YOLOv9 liên tục đạt được sự cân bằng tốt hơn giữa độ chính xác và FLOPs.
| 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 |
| 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 |
Trong khi YOLOX cung cấp các biến thể nhẹ như YOLOX-Nano cho các trường hợp biên cực hạn, các biến thể YOLOv9 liên tục vượt trội hơn các model YOLOX có kích thước tương tự về độ chính xác. Ví dụ, YOLOv9m đạt 51,4% mAP so với 49,7% của YOLOXl, mặc dù có số lượng tham số ít hơn một nửa (20.0M so với 54.2M).
Link to this sectionLợi thế từ Ultralytics#
Việc chọn một model không chỉ liên quan đến lý thuyết kiến trúc; hệ sinh thái xung quanh nó quyết định tốc độ phát triển và sự 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ô song và hỗ trợ mạnh mẽ từ cộng đồng.
Không giống như các kho lưu trữ nghiên cứu gốc cũ hơn, framework Ultralytics cung cấp một Python API thống nhất giúp đơn giản hóa các đường ống (pipeline) phức tạp. Việc đào tạo đòi hỏi bộ nhớ GPU thấp hơn đáng kể so với nhiều giải pháp thay thế, mang lại hiệu suất đào tạo đáng kinh ngạc.
from ultralytics import YOLO
# Initialize the YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on your custom dataset seamlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to TensorRT format
model.export(format="engine")Với hỗ trợ tích hợp cho 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 đổi các giải pháp thị giác máy tính của mình mà không cần thay đổi toàn bộ cơ sở mã.
Link to this sectionỨng dụng trong thực tế#
Các thế mạnh cụ thể của những model này giúp chúng phù hợp với các ứng dụng thực tế riêng biệt:
Link to this sectionPhân tích bán lẻ tốc độ cao#
Đối với các môi trường bán lẻ hiện đại yêu cầu nhận dạng sản phẩm theo thời gian thực, YOLOv9 tỏ ra vượt trội. Khả năng giữ lại các chi tiết đặc trưng phức tạp giúp nó cực kỳ phù hợp cho các triển khai AI trong bán lẻ nơi việc phân biệt giữa các sản phẩm trông giống nhau trên một kệ hàng đông đúc là cần thiết.
Link to this sectionTriển khai Edge cũ#
Trong các kịch bản bị chi phối bởi các giới hạn phần cứng nghiêm ngặt hoặc các NPU chuyên dụng gặp khó khăn với các khối tổng hợp mới hơn, YOLOX-Nano thỉnh thoảng có thể tìm thấy một chỗ đứng. Các mẫu tích chập tinh gọn, thuần túy của nó đôi khi được ưa chuộng hơn đối với các vi điều khiển bị hạn chế tài nguyên nghiêm trọng.
Link to this sectionRobot tự hành#
Đối với điều hướng robot, việc bỏ sót các đối tượng nhỏ có thể dẫn đến thảm họa. Kiến trúc GELAN trong YOLOv9 đảm bảo rằng các đặc trưng của các chướng ngại vật nhỏ, ở xa không bị mất đi trong các lớp sâu của mạng, vượt trội hơn các model cũ trong các môi trường an toàn quan trọng như các ứng dụng AI trong ô tô.
Link to this sectionCác 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 các yêu cầu dự án cụ thể, hạn chế triển khai và sở thích hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn YOLOv9#
YOLOv9 là lựa chọn mạnh mẽ cho:
- Nghiên cứu Nút thắt Thông tin (Information Bottleneck): Các dự án học thuật nghiên cứu về Programmable Gradient Information (PGI) và kiến trúc Generalized Efficient Layer Aggregation Network (GELAN).
- Nghiên cứu Tối ưu hóa Luồng Gradient: Nghiên cứu tập trung vào việc hiểu và giảm thiểu tình trạng mất thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
- Đo lường Phát hiện Độ chính xác cao: Các kịch bản mà hiệu suất đo lường trên bộ dữ liệu COCO của YOLOv9 cần thiết làm điểm tham chiếu cho các so sánh kiến trúc.
Link to this sectionKhi nào nên chọn YOLOX#
YOLOX được khuyến nghị cho:
- Nghiên cứu Phát hiện Anchor-Free: Nghiên cứu học thuật sử dụng kiến trúc anchor-free sạch, gọn của YOLOX làm baseline để thử nghiệm với các head phát hiện hoặc hàm mất mát 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 cũ nơi mà footprint cực nhỏ của biến thể YOLOX-Nano (0.91M tham số) là rất quan trọng.
- Nghiên cứu Gán nhãn SimOTA: Các dự án nghiên cứu điều tra các chiến lược gán nhãn dựa trên vận chuyển tối ưu và tác động của chúng đến sự hội tụ trong đào tạo.
Link to this sectionKhi 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 năng 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 nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái 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 vật thể cực nhỏ.
Link to this sectionTương lai: Chào đón YOLO26#
Mặc dù YOLOv9 đại diện cho một cột mốc ấn tượng, nhu cầu của các môi trường sản xuất liên tục đẩy lùi các giới hạn. YOLO26 mới được phát hành đại diện cho tiêu chuẩn xác định cho AI thị giác hiện đại.
YOLO26 hoàn toàn làm mới đường ống triển khai với thiết kế End-to-End NMS-Free nguyên bản. Bằng cách loại bỏ nhu cầu về Non-Maximum Suppression phức tạp trong quá trình hậu xử lý, nó mang lại độ trễ suy luận thấp hơn đáng kể.
Hơn nữa, YOLO26 tích hợp MuSGD Optimizer đột phá, một sự kết hợp giữa SGD và Muon, vay mượn những cải tiến từ việc đào tạo LLM để cung cấp khả năng hội tụ cực kỳ ổn định và nhanh chóng. Bằng cách loại bỏ Distribution Focal Loss (DFL), YOLO26 đạt được tốc độ suy luận CPU nhanh hơn tới 43% so với các phiên bản tiền nhiệm, khiến nó trở thành lựa chọn tuyệt đối tốt nhất cho các thiết bị biên và triển khai doanh nghiệp. Với những cải tiến đáng chú ý trong nhận dạng đối tượng nhỏ thông qua ProgLoss và STAL, YOLO26 thay thế hiệu quả cả YOLOX và YOLOv9.
Đối với các kỹ sư đang khám phá các kiến trúc hiện đại, chúng tôi cũng khuyên bạn nên xem qua YOLO11 và RT-DETR như những giải pháp thay thế mạnh mẽ trong bộ công cụ Ultralytics. Hãy đảm bảo dự án của bạn sẵn sàng cho tương lai bằng cách tận dụng hiệu suất vô song của các model mới nhất trên Ultralytics Platform.