Ultralytics YOLO27:

YOLOv9 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 theo thời gian thực. Hướng dẫn này cung cấp phần so sánh toàn diện giữa YOLOv9YOLOX, phân tích các cải tiến về kiến trúc, chỉ số hiệu năng và phương pháp training 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ự báo, 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 về kiến trúc#

YOLOv9: Thông tin Gradient có thể lập trình#

YOLOv9 đã tạo ra một 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 các mạng neural sâu. Những cải tiến cốt lõi của model này bao gồm Thông tin Gradient Có thể Lập trình (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 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 feed-forward, YOLOv9 đảm bảo các gradient được sử dụng để cập nhật trọng số trong quá trình backpropagation vẫn chính xác. Kiến trúc này nổi bật 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 chụp từ trên không và ảnh quét y tế chi tiết.

Tìm hiểu thêm về YOLOv9

YOLOX: Kết nối Nghiên cứu và Ngành công nghiệp#

Được phát hành 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 một head tách rời, phân tách 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 khả năng hội tụ trong quá trình training.

Mặc dù YOLOX mang tính đột phá vào thời điểm đó, đạt độ chính xác trung bình (mAP) xuất sắc và loại bỏ việc tinh chỉnh hyperparameter của 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, vốn cân bằng tốt hơn giữa số lượng parameter và khả năng giữ lại đặc trưng.

Tìm hiểu thêm về YOLOX

Sự phát triển của thiết kế không dùng anchor

Cả YOLOX và các model Ultralytics mới hơn đều sử dụng thiết kế không dùng anchor, giúp giảm độ phức tạp của việc tinh chỉnh hyperparameter và cải thiện khả năng tổng quát hóa trên nhiều dataset đa dạng.

Phân tích hiệu năng#

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ệt. YOLOv9 liên tục đạt được sự cân bằng tốt hơn giữa độ chính xác và FLOPs.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Mặc dù YOLOX cung cấp các biến thể nhẹ như YOLOX-Nano cho những trường hợp edge đặc biệt, 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 thuần túy. Ví dụ, YOLOv9m đạt mAP 51,4% so với 49,7% của YOLOXl, dù có chưa đến một nửa số parameter (20,0M so với 54,2M).

Lợi thế của Ultralytics#

Việc lựa chọn model không chỉ liên quan đến lý thuyết kiến trúc; hệ sinh thái bao quanh model quyết định tốc độ phát triển và thành công khi triển khai. Việc sử dụng YOLOv9 trong hệ sinh thái Ultralytics mang lại tính dễ sử dụng vượt trội và sự hỗ trợ mạnh mẽ từ cộng đồng.

Không giống các repository nghiên cứu nguyên bản 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 pipeline phức tạp. Việc training yêu cầu bộ nhớ GPU thấp hơn đáng kể so với nhiều lựa chọn khác, mang lại hiệu quả training ấn tượng.

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 khả năng 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 instanceước lượng pose, bạn có thể nhanh chóng chuyển đổi các giải pháp thị giác máy tính mà không cần thay đổi toàn bộ codebase.

Xuất model liền mạch

Đang triển khai trên edge? Ultralytics giúp bạn dễ dàng xuất các model đã training sang những format được tối ưu hóa cao như ONNX, TensorRT và OpenVINO chỉ bằng một command duy nhất.

Ứng dụng thực tế#

Những thế mạnh riêng của các model này khiến chúng phù hợp với các ứng dụng thực tế khác nhau:

Phâ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 diện sản phẩm theo thời gian thực, YOLOv9 thể hiện xuất sắc. Khả năng giữ lại các chi tiết đặc trưng tinh vi khiến model này đặc biệt phù hợp cho các triển khai AI trong bán lẻ, nơi cần phân biệt các sản phẩm có hình ảnh tương tự nhau trên một kệ hàng đông đúc.

Triển khai edge cho hệ thống cũ#

Trong các tình huống bị giới hạn nghiêm ngặt về phần cứng hoặc sử dụng các NPU chuyên dụng gặp khó khăn với những block tổng hợp mới hơn, YOLOX-Nano đôi khi có thể tìm được một ngách phù hợp. Các pattern convolution thuần túy, tối giản của model này đôi khi được ưu tiên cho các vi điều khiển có tài nguyên cực kỳ hạn chế.

Robotics tự động#

Đối với điều hướng robot, việc 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ác đặc trưng của những chướng ngại vật nhỏ ở xa không bị mất trong các layer 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 then chốt như các ứng dụng AI trong ô tô.

Cá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 yêu cầu cụ thể của dự án, các ràng buộc triển khai và ưu tiên về 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 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 layer sâu của network trong quá trình huấn luyện.
  • Benchmark phát hiện độ chính xác cao: Các tình huống cần hiệu năng benchmark COCO mạnh của YOLOv9 làm mốc tham chiếu cho việc 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 detection head hoặc hàm loss mới.
  • Thiết bị edge siêu nhẹ: Triển khai trên microcontroller hoặc phần cứng mobile legacy, nơi footprint 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 project nghiên cứu tìm hiểu chiến lược gán nhãn dựa trên optimal transport và tác động của chúng đến quá trình hội tụ khi training.

Khi nào nên chọn Ultralytics (YOLO26)#

Đối 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 developer:

  • 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 bước hậu xử lý triệt tiêu cực đại.
  • Môi trường chỉ sử dụng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Phát hiện đối tượng nhỏ: Các kịch bản đầy thách thức 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 trên các đối tượng rất nhỏ.

Tương lai: YOLO26 xuất hiện#

Mặc dù YOLOv9 là một cột mốc ấn tượng, các yêu cầu của môi trường production không ngừng thúc đẩy các giới hạn. YOLO26 mới phát hành đại diện cho tiêu chuẩn tối ưu dành cho vision AI 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 sử dụng NMS nguyên bản. Bằng cách loại bỏ nhu cầu thực hiện Non-Maximum Suppression phức tạp trong quá trình post-processing, model này mang lại độ trễ inference thấp hơn đáng kể.

Ngoài ra, YOLO26 tích hợp MuSGD Optimizer mang tính đột phá, là sự kết hợp giữa SGD và Muon, kế thừa các cải tiến từ quá trình training LLM để mang lại 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 tốc độ inference trên CPU nhanh hơn 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 tuyệt đối cho các thiết bị edge và triển khai doanh nghiệp. Với những cải tiến đáng kể trong việc nhận diện đối tượng nhỏ thông qua ProgLoss và STAL, YOLO26 đã thực sự thay thế cả YOLOX và YOLOv9.

Đối với các kỹ sư đang khám phá những kiến trúc hiện đại, chúng tôi cũng khuyến nghị tham khảo YOLO11RT-DETR như 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 của bạ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.

Những người đóng góp

Bình luận