YOLOv9 so với YOLOX: Tìm hiểu chuyên sâu về kỹ thuật trong lĩnh vực nhận diện vật thể hiện đại

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 nhận diện vật thể theo thời gian thực. Hướng dẫn này cung cấp sự so sánh toàn diện giữa YOLOv9YOLOX, phân tích những cải tiến về kiến trúc, chỉ số hiệu năng và phương pháp huấn luyện của chúng. Dù bạn đang xây dựng các ứng dụng thông minh cho AI trong sản xuất hay đang nghiên cứu mô hình dự báo, việc hiểu rõ các mô hình 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.

Đổi mới kiến trúc

YOLOv9: Thông tin Gradient có thể lập trình (Programmable Gradient Information)

YOLOv9 mang đến một sự thay đổi mô hình bằng cách giải quyết vấn đề nghẽn thông tin vốn có trong các mạng thần kinh sâu. Những đổi mới 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 Khoa học Thông tin, 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 (feed-forward), 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 duy trì độ 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 cao trong việc phát hiện các vật thể nhỏ trong môi trường phức tạp, chẳng hạn như những vật thể được tìm thấy trong ảnh chụp từ trên không và các bản 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à 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 cần anchor. 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ụ trong huấn luyện.

Mặc dù YOLOX là một bước đột phá vào thời điểm đó, đạt được mean average precision (mAP) xuất sắc và loại bỏ việc tinh chỉnh siêu tham số anchor box, nhưng kiến trúc cơ bản của nó đã bị vượt qua bởi các mạng hiện đại giúp 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.

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

Sự phát triển không cần Anchor

Cả YOLOX và các mô hình Ultralytics mới hơn đều áp dụng các thiết kế không cần anchor, giúp giảm độ 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 nhiều tập dữ liệu đa dạng.

Phân tích hiệu suất

Khi so sánh các mô hình này trên tiêu chuẩn MS COCO, những tiến bộ trong 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.

Modelkích thước
(pixels)
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

Trong khi YOLOX cung cấp các biến thể nhẹ như YOLOX-Nano cho các trường hợp edge cực đoan, các biến thể YOLOv9 liên tục vượt trội hơn các mô hình YOLOX có kích thước tương đương về độ chính xác thuần túy. Ví dụ, YOLOv9m đạt mAP 51,4% so với 49,7% của YOLOXl, mặc dù có ít hơn một nửa số tham số (20,0M so với 54,2M).

Ưu thế của Ultralytics

Việc chọn một mô hình đòi hỏi nhiều hơn là chỉ lý thuyết kiến trúc; hệ sinh thái xung quanh nó 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ô song và sự 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, khung làm việc Ultralytics cung cấp một Python API thống nhất giúp đơn giản hóa các quy trình phức tạp. Việc huấn luyện đòi hỏi ít bộ nhớ GPU hơn đáng kể so với nhiều giải pháp thay thế, mang lại hiệu quả huấn luyện đá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 nhận diện vật thể, phân đoạn cá thểước tính tư thế, bạn có thể nhanh chóng xoay chuyển 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ộ codebase.

Xuất mô hình liền mạch

Triển khai ra thiết bị edge? Ultralytics giúp việc xuất các mô hình đã huấn luyện sang các định dạng được tối ưu hóa cao như ONNX, TensorRT và OpenVINO trở nên đơn giản chỉ với một lệnh duy nhất.

Ứng dụng trong thế giới thực

Những thế mạnh cụ thể của các mô hình này điều chỉnh chúng phù hợp với các ứng dụng thực tế riêng biệt:

Phân tích bán lẻ tốc độ cao

Đối với 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 là lựa chọn 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 cần thiết phải phân biệt giữa các sản phẩm có hình dáng tương tự nhau trên kệ hàng đông đúc.

Triển khai Edge cũ

Trong các kịch bản bị chi phối bởi những hạn chế 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 vị trí thích hợp. Các kiểu chập thuần túy, tinh gọn của nó đôi khi được ưu tiên cho các vi điều khiển cực kỳ hạn chế về tài nguyên.

Robot tự hành

Đối với điều hướng robot, việc bỏ lỡ các vật thể nhỏ có thể gây ra 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 mô hình cũ trong các môi trường an toàn quan trọng 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 các yêu cầu dự án cụ thể, hạn chế triển khai và tùy chọn hệ sinh thái của bạn.

Khi nào nên chọn YOLOv9

YOLOv9 là lựa chọn mạnh mẽ cho:

  • Nghiên cứu về Nút thắt Thông tin (Information Bottleneck): Các dự án học thuật nghiên cứu về kiến trúc Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
  • Nghiên cứu Tối ưu hóa Dòng Gradient: Các nghiên cứu tập trung vào việc hiểu và giảm thiểu mất 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 Hiệu năng Nhận diện Độ chính xác cao: Các trường hợp cần hiệu năng benchmark COCO mạnh mẽ của YOLOv9 làm điểm 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 nhận diện không dùng anchor: Nghiên cứu học thuật sử dụng kiến trúc không dùng anchor sạch sẽ của YOLOX làm cơ sở để thử nghiệm với các head nhận diện hoặc hàm loss mới.
  • Thiết bị Edge siêu nhẹ: Triển khai trên các vi điều khiển hoặc phần cứng di động cũ nơi mà dấu chân cực nhỏ của biến thể YOLOX-Nano (0.91 triệu tham số) là rất quan trọng.
  • Nghiên cứu về 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 quá trình training.

Khi 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 suất 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 ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
  • Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone 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 đối tượng cực nhỏ.

Tương lai: Chào đón YOLO26

Trong khi YOLOv9 đại diện cho một cột mốc ấn tượng, nhu cầu của môi trường sản xuất liên tục thúc đẩy 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 tái tạo hoàn toàn quy trình triển khai với Thiết kế không cần NMS đầu-cuối (End-to-End NMS-Free) gốc. Bằng cách loại bỏ nhu cầu cho 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 kết hợp Bộ tối ưu hóa MuSGD mang tính đột phá, một sự kết hợp giữa SGD và Muon, vay mượn các cải tiến từ huấn luyện LLM để cung cấp sự 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 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ị 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 vật thể 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 nghiên cứu các kiến trúc hiện đại, chúng tôi cũng khuyên bạn nên xem qua YOLO11RT-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 luô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 mô hình mới nhất trên Nền tảng Ultralytics.

Bình luận