Chuyển đến nội dung

YOLOX so với YOLO26: Phân tích so sánh các kiến trúc detect đối tượng

Trong bối cảnh detect đối tượng đang phát triển nhanh chóng, việc xác định mô hình phù hợp cho ứng dụng cụ thể của bạn là rất quan trọng. Hướng dẫn toàn diện này so sánh YOLOX, một bộ detect không anchor hiệu suất cao từ Megvii, và Ultralytics YOLO26, mô hình tiên tiến nhất được thiết kế cho hiệu quả biên và triển khai từ đầu đến cuối.

Bằng cách phân tích kiến trúc, các chỉ số hiệu suất và phương pháp huấn luyện của chúng, chúng tôi mong muốn giúp các nhà phát triển và nghiên cứu đưa ra quyết định sáng suốt cho các dự án thị giác máy tính trong thế giới thực.

Tóm tắt điều hành

Cả hai mô hình đều đại diện cho những cột mốc quan trọng trong dòng họ YOLO. YOLOX (2021) đóng vai trò quan trọng trong việc phổ biến detect không anchor và các head tách rời, thu hẹp khoảng cách giữa nghiên cứu học thuật và ứng dụng công nghiệp. Tuy nhiên, YOLO26 (2026) đã đẩy giới hạn xa hơn với thiết kế từ đầu đến cuối tích hợp sẵn, loại bỏ Non-Maximum Suppression (NMS), đạt được suy luận CPU nhanh hơn và độ chính xác vượt trội trên các đối tượng nhỏ.

Đối với hầu hết các ứng dụng hiện đại, đặc biệt là những ứng dụng triển khai trên thiết bị biên hoặc yêu cầu tích hợp tinh gọn, YOLO26 cung cấp một hệ sinh thái mạnh mẽ hơn, độ trễ thấp hơn và quy trình triển khai đơn giản hơn.


YOLOX: Người tiên phong không neo

YOLOX đã chuyển đổi dòng YOLO sang cơ chế không anchor và tích hợp các kỹ thuật detect tiên tiến khác như head tách rời và gán nhãn SimOTA.

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

Thông số kỹ thuật

  • Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
  • Tổ chức:Megvii
  • Ngày: 18 tháng 7 năm 2021
  • Liên kết:Arxiv, GitHub, Docs

Các tính năng kiến trúc chính

  1. Cơ chế không anchor: Không giống như các phiên bản tiền nhiệm như YOLOv4 hoặc YOLOv5 đã sử dụng các hộp anchor được định nghĩa trước, YOLOX dự đoán trực tiếp các hộp giới hạn. Điều này giúp giảm số lượng tham số thiết kế và điều chỉnh heuristic cần thiết cho các tập dữ liệu khác nhau.
  2. Head tách rời: YOLOX tách biệt các tác vụ phân loại và định vị thành các "head" khác nhau. Sự tách biệt này giải quyết xung đột giữa độ tin cậy phân loại và độ chính xác hồi quy, dẫn đến hội tụ nhanh hơn và hiệu suất tốt hơn.
  3. SimOTA: Một chiến lược gán tối ưu vận chuyển được đơn giản hóa, gán động các mẫu dương cho ground truths, cải thiện độ ổn định và độ chính xác của quá trình huấn luyện.
  4. Đa điểm dương: Để giảm thiểu sự mất cân bằng cực đoan của các mẫu dương/âm trong các bộ detect không anchor, YOLOX gán vùng 3x3 trung tâm làm các điểm dương.

Điểm mạnh kế thừa

YOLOX vẫn là một nền tảng mạnh mẽ cho nghiên cứu học thuật và các kịch bản ưu tiên triển khai anchor-free truyền thống. Thiết kế đầu tách rời của nó đã ảnh hưởng lớn đến các kiến trúc sau này.


Ultralytics YOLO26: Chuyên gia biên từ đầu đến cuối

YOLO26 được thiết kế từ đầu để đạt hiệu quả cao, loại bỏ các nút thắt trong quy trình suy luận nhằm mang lại tốc độ tối đa trên cả CPU và GPU.

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

Thông số kỹ thuật

Các Đổi Mới Kiến Trúc Chính

  1. Thiết kế NMS-Free Đầu cuối: YOLO26 là một hệ thống đầu cuối (end-to-end) nguyên bản. Bằng cách tạo ra các dự đoán không yêu cầu xử lý hậu kỳ Non-Maximum Suppression (NMS), nó giảm đáng kể độ trễ và độ phức tạp trong quá trình triển khai. Bước đột phá này được lấy cảm hứng từ YOLOv10 và được tinh chỉnh để đảm bảo ổn định trong sản xuất.
  2. Loại bỏ DFL: Mô-đun Distribution Focal Loss (DFL) đã được loại bỏ để đơn giản hóa việc xuất mô hình. Điều này giúp mô hình tương thích tốt hơn với các thiết bị biên/công suất thấp và các bộ công cụ tăng tốc như TensorRTCoreML.
  3. Bộ tối ưu hóa MuSGD: Một bộ tối ưu hóa lai mới kết hợp SGD và Muon. Lấy cảm hứng từ quá trình huấn luyện LLM (cụ thể là Kimi K2 của Moonshot AI), bộ tối ưu hóa này giúp ổn định quá trình huấn luyện và tăng tốc độ hội tụ cho các tác vụ thị giác.
  4. ProgLoss + STAL: Sự kết hợp giữa Cân bằng mất mát tiến bộ (Progressive Loss Balancing) và Gán nhãn nhận biết mục tiêu nhỏ (Small-Target-Aware Label Assignment - STAL) cải thiện đáng kể khả năng detect các vật thể nhỏ—điều cực kỳ quan trọng đối với hình ảnh từ drone và cảm biến IoT.
  5. Tính linh hoạt của tác vụ: Không giống như YOLOX, vốn chủ yếu là một detector, YOLO26 hỗ trợ các tác vụ Phân đoạn đối tượng (Instance Segmentation), Ước tính tư thế (Pose Estimation), Phân loại (Classification)Hộp giới hạn định hướng (OBB) ngay lập tức.

Tối ưu hóa biên

YOLO26 tự hào có tốc độ suy luận trên CPU nhanh hơn tới 43% so với các thế hệ trước, khiến nó trở thành lựa chọn vượt trội cho việc triển khai trên Raspberry Pi, thiết bị di động và các CPU Intel tiêu chuẩn mà không cần GPU chuyên dụng.


So sánh hiệu suất

Bảng sau đây nêu bật sự khác biệt về hiệu suất giữa các mô hình. Trong khi YOLOX cạnh tranh vào năm 2021, YOLO26 thể hiện những tiến bộ đạt được trong hơn năm năm phát triển kiến trúc, đặc biệt là về tốc độ suy luận và hiệu quả tham số.

Mô hìnhKích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
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
YOLO26n64040.938.91.72.45.4
YOLO26s64048.687.22.59.520.7
YOLO26m64053.1220.04.720.468.2
YOLO26l64055.0286.26.224.886.4
YOLO26x64057.5525.811.855.7193.9

Phân tích:

  • Độ chính xác: YOLO26 luôn vượt trội hơn YOLOX trên mọi quy mô. Ví dụ, phiên bản YOLO26s đạt được 48.6% mAP, cao hơn đáng kể so với YOLOX-s ở mức 40.5%, và cạnh tranh với phiên bản lớn hơn nhiều YOLOX-l (49.7%) trong khi chỉ sử dụng một phần nhỏ tài nguyên tính toán.
  • Tốc độ: YOLO26 tận dụng kiến trúc đầu cuối của mình để đạt được độ trễ cực thấp. Tốc độ TensorRT cho YOLO26 thường nhanh hơn gấp 2 lần so với các mô hình YOLOX tương đương, một phần là do loại bỏ chi phí NMS.
  • Hiệu quả: Tỷ lệ FLOPs trên độ chính xác vượt trội hơn hẳn ở YOLO26. YOLO26n đạt độ chính xác tương đương với YOLOX-s (40.9% so với 40.5%) nhưng với số FLOPs ít hơn khoảng 5 lần (5.4B so với 26.8B).

Đào tạo và Hệ sinh thái

Trải nghiệm của nhà phát triển là một yếu tố khác biệt lớn giữa hai framework này.

Dễ sử dụng và hệ sinh thái

Ultralytics ưu tiên trải nghiệm người dùng tinh gọn. Với YOLO26, bạn có quyền truy cập vào một gói Python thống nhất xử lý việc xác thực dữ liệu, huấn luyện và triển khai một cách liền mạch.

Ngược lại, YOLOX dựa trên cấu trúc codebase nghiên cứu truyền thống hơn, có thể yêu cầu cấu hình thủ công nhiều hơn cho đường dẫn tập dữ liệu, các phương pháp tăng cường dữ liệu và script triển khai.

Phương pháp luận huấn luyện

  • YOLO26: Tận dụng bộ tối ưu hóa MuSGD để đạt được sự ổn định và sử dụng tính năng tự động phân lô (auto-batching) cùng tự động neo (auto-anchoring) (mặc dù ít liên quan đến các mô hình không neo, nhưng vẫn áp dụng chia tỷ lệ nội bộ). Nó cũng hỗ trợ các phương pháp tăng cường dữ liệu MosaicMixup được tối ưu hóa để hội tụ nhanh chóng.
  • YOLOX: Giới thiệu một pipeline tăng cường dữ liệu mạnh mẽ bao gồm Mosaic và Mixup, đây là yếu tố then chốt tạo nên hiệu suất cao của nó. YOLOX thường yêu cầu lịch trình huấn luyện dài hơn (300 epoch) để đạt được độ chính xác cao nhất.

Yêu cầu bộ nhớ

YOLO26 được tối ưu hóa để tiết kiệm bộ nhớ. Các hàm mất mát được đơn giản hóa (loại bỏ DFL) và kiến trúc tối ưu hóa giúp giảm mức sử dụng VRAM trong quá trình huấn luyện so với các kiến trúc không neo cũ hơn. Điều này cho phép sử dụng kích thước lô lớn hơn trên các GPU phổ thông, đẩy nhanh quá trình thử nghiệm.


Các trường hợp và ứng dụng sử dụng

Điểm mạnh của YOLO26

  • Điện toán biên (Edge Computing): Với khả năng suy luận trên CPU nhanh hơn tới 43% và loại bỏ DFL, YOLO26 là lựa chọn lý tưởng cho Raspberry Pi và các triển khai trên thiết bị di động.
  • Phân tích video thời gian thực: Thiết kế không NMS đảm bảo độ trễ xác định, rất quan trọng cho các ứng dụng an toàn như lái xe tự hành hoặc hệ thống báo động an ninh.
  • Các tác vụ phức tạp: Nếu dự án của bạn yêu cầu segment hoặc ước tính tư thế (pose estimation), YOLO26 cung cấp các khả năng này trong cùng một framework, trong khi YOLOX chủ yếu là một bộ detect đối tượng.

Các trường hợp sử dụng YOLOX

  • Nền tảng nghiên cứu: YOLOX thường được sử dụng làm nền tảng so sánh trong các bài báo học thuật nhờ triển khai không neo rõ ràng của nó.
  • Hệ thống kế thừa: Các dự án bắt đầu vào năm 2021-2022 đã tùy chỉnh sâu codebase của YOLOX có thể thấy việc di chuyển sang phiên bản mới tốn nhiều tài nguyên, mặc dù những cải thiện về hiệu suất của YOLO26 thường biện minh cho nỗ lực này.

Ví dụ mã: Bắt đầu với YOLO26

Việc di chuyển sang YOLO26 rất đơn giản. Dưới đây là một ví dụ hoàn chỉnh về cách tải mô hình đã được huấn luyện trước và chạy suy luận.

from ultralytics import YOLO

# Load a pre-trained YOLO26 model (automatically downloads weights)
model = YOLO("yolo26n.pt")

# Run inference on a local image or URL
results = model("https://ultralytics.com/images/bus.jpg")

# Display results
for result in results:
    result.show()  # Show image with bounding boxes

# Export to ONNX for deployment
model.export(format="onnx")

Đoạn mã đơn giản này thay thế hàng trăm dòng mã lặp lại thường được yêu cầu bởi các kho lưu trữ nghiên cứu cũ hơn.

Kết luận

Trong khi YOLOX đóng vai trò then chốt trong lịch sử detect đối tượng bằng cách xác thực các thiết kế không neo, Ultralytics YOLO26 đại diện cho tương lai của AI hiệu quả và có thể triển khai.

Với kiến trúc end-to-end không NMS, tỷ lệ độ chính xác trên hiệu suất tính toán vượt trội và sự hỗ trợ mạnh mẽ từ hệ sinh thái Ultralytics, YOLO26 là lựa chọn được khuyến nghị cho cả các phát triển mới và nâng cấp các pipeline thị giác hiện có.

Đọc thêm

  • Khám phá các mô hình khác như YOLO11YOLOv8 để so sánh.
  • Tìm hiểu về xuất mô hình để đạt tốc độ tối đa.
  • Xem Blog Ultralytics để biết các hướng dẫn và trường hợp sử dụng mới nhất.

Bình luận