YOLOv8 và YOLOX#
Bức tranh thị giác máy tính đã chịu ảnh hưởng sâu sắc từ sự phát triển liên tục của các kiến trúc phát hiện đối tượng thời gian thực. Hai cột mốc nổi bật trong hành trình này là Ultralytics YOLOv8 và YOLOX. Cả hai model đều áp dụng thiết kế không dùng anchor để đơn giản hóa việc dự đoán bounding box, nhưng đại diện cho các thời kỳ và triết lý khác nhau trong nghiên cứu deep learning và quá trình phát triển hệ sinh thái triển khai.
Bài so sánh kỹ thuật toàn diện này khám phá các kiến trúc, phương pháp huấn luyện và chỉ số hiệu năng thực tế tương ứng để giúp nhà phát triển và nhà nghiên cứu chọn giải pháp tối ưu cho các ứng dụng AI thị giác.
Tổng quan về các model#
Việc tìm hiểu nguồn gốc và mục tiêu thiết kế của từng framework cung cấp bối cảnh quan trọng để hiểu sự khác biệt về kiến trúc và mức độ trưởng thành của hệ sinh thái.
Ultralytics YOLOv8#
Được Glenn Jocher, Ayush Chaurasia và Jing Qiu phát triển tại Ultralytics và ra mắt vào ngày 10 tháng 1 năm 2023, YOLOv8 đánh dấu một bước tiến đáng kể trong hệ sinh thái Ultralytics. Phát triển dựa trên thành công vang dội của YOLOv5, YOLOv8 giới thiệu một kiến trúc tiên tiến được tinh chỉnh kỹ lưỡng, có khả năng xử lý nguyên bản nhiều tác vụ đa dạng, bao gồm phát hiện đối tượng, phân đoạn instance, phân loại ảnh và ước tính tư thế.
Ưu điểm chính của model là hệ sinh thái Ultralytics được duy trì tốt, mang đến trải nghiệm liền mạch từ “bắt đầu đến thành thạo” với Python API thống nhất, tài liệu phong phú và tích hợp nguyên bản với các công cụ MLOps như Weights & Biases và Comet.
YOLOX#
Được Zheng Ge, Songtao Liu, Feng Wang, Zeming Li và Jian Sun từ Megvii giới thiệu vào ngày 18 tháng 7 năm 2021, YOLOX hướng đến 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. Được trình bày chi tiết trong bài báo Arxiv, YOLOX gây chú ý khi chuyển dòng YOLO sang thiết kế không dùng anchor và tích hợp head tách biệt, giúp cải thiện độ ổn định và tốc độ hội tụ khi huấn luyện.
Dù có ảnh hưởng lớn vào năm 2021, kho lưu trữ YOLOX trên GitHub vẫn chủ yếu tập trung vào nghiên cứu. Kho lưu trữ này thiếu tính linh hoạt tác vụ toàn diện và quy trình triển khai hoàn thiện như trong các framework hiện đại, đồng thời đòi hỏi cấu hình thủ công nhiều hơn khi triển khai trong môi trường production.
Các cải tiến kiến trúc#
Cả hai model đều sử dụng phương pháp không dùng anchor, loại bỏ nhu cầu phân cụm anchor box phức tạp, phụ thuộc vào từng dataset trước khi huấn luyện. Phương pháp này giảm số lượng tham số tinh chỉnh theo kinh nghiệm và đơn giản hóa detection head.
Head tách biệt và trích xuất đặc trưng#
YOLOX tiên phong tích hợp head tách biệt vào dòng YOLO. Theo phương pháp truyền thống, tác vụ phân loại và hồi quy được thực hiện trong một head thống nhất, thường dẫn đến gradient xung đột trong quá trình huấn luyện. Bằng cách tách riêng các nhánh phân loại và định vị, YOLOX đạt tốc độ hội tụ nhanh hơn.
YOLOv8 tiếp nhận và cải tiến đáng kể ý tưởng này. Model sử dụng module C2f tiên tiến (nút thắt cổ chai Cross-Stage Partial với hai lớp tích chập) trong backbone, thay thế module C3 cũ hơn. Điều này cải thiện luồng gradient và khả năng biểu diễn đặc trưng mà không làm tăng đáng kể chi phí tính toán. Ngoài ra, YOLOv8 triển khai detection head không dùng anchor tiên tiến với Task-Aligned Assigner, tự động ghép các mẫu dương dựa trên kết hợp giữa điểm phân loại và Giao điểm trên hợp (IoU), từ đó đạt độ chính xác cao hơn.
Các model YOLO của Ultralytics được thiết kế để đạt hiệu quả sử dụng bộ nhớ vượt trội. So với các kiến trúc dựa trên Transformer hoặc các codebase nghiên cứu chưa được tối ưu, YOLOv8 cần ít bộ nhớ CUDA hơn đáng kể khi huấn luyện, cho phép nhà phát triển sử dụng batch size lớn hơn trên phần cứng phổ thông dành cho người tiêu dùng.
So sánh hiệu năng#
Khi đánh giá model để triển khai thực tế, việc cân bằng độ chính xác (mAP) với độ trễ suy luận và độ phức tạp của model là điều tối quan trọng. Bảng dưới đây nêu bật các chỉ số hiệu năng trên dataset COCO.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
Như có thể thấy, các model YOLOv8 luôn vượt trội hơn các model YOLOX tương ứng khi có cùng số lượng tham số. Chẳng hạn, YOLOv8m đạt mAP 50,2% so với 46,9% của YOLOXm, thể hiện bước tiến đáng kể về độ chính xác trong khi vẫn duy trì tốc độ suy luận GPU cạnh tranh khi sử dụng TensorRT.
Ưu thế về huấn luyện và hệ sinh thái#
Trải nghiệm dành cho nhà phát triển là một trong những khác biệt rõ rệt nhất giữa hai giải pháp này. Việc huấn luyện YOLOX thường đòi hỏi thiết lập môi trường phức tạp, chỉnh sửa script thủ công và hiểu sâu về các thành phần nội bộ của PyTorch để gỡ lỗi rò rỉ bộ nhớ hoặc sự cố export.
Ngược lại, hệ sinh thái Ultralytics trừu tượng hóa những phức tạp này, cung cấp Python API và Giao diện dòng lệnh (CLI) trực quan.
Python API tinh gọn#
Để huấn luyện model YOLOv8 tiên tiến trên dataset tùy chỉnh, bạn chỉ cần vài dòng code:
from ultralytics import YOLO
# Tải model YOLOv8 đã được huấn luyện trước để phát hiện đối tượng
model = YOLO("yolov8n.pt")
# Huấn luyện model trên dataset ví dụ COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Dễ dàng đánh giá model
metrics = model.val()
# Export liền mạch sang ONNX để triển khai production
model.export(format="onnx")API này chuẩn hóa quy trình làm việc cho các tác vụ phát hiện, phân đoạn và bounding box định hướng (OBB), giúp rút ngắn đáng kể thời gian đưa ứng dụng production ra thị trường. Ngoài ra, các chức năng export tích hợp sẵn cho phép chuyển đổi liền mạch sang ONNX, OpenVINO và CoreML mà không cần viết toán tử C++ tùy chỉnh.
Các trường hợp sử dụng phù hợp nhất#
Việc lựa chọn giữa các kiến trúc này phụ thuộc vào những giới hạn của dự án, tuy nhiên YOLOv8 mang đến nền tảng linh hoạt hơn nhiều.
- Phân tích biên tốc độ cao: Để xử lý thời gian thực trên các thiết bị như NVIDIA Jetson, YOLOv8 mang lại sự cân bằng vượt trội giữa tốc độ và độ chính xác, đồng thời dễ dàng triển khai thông qua tích hợp TensorRT nguyên bản.
- Nghiên cứu học thuật: YOLOX vẫn là công cụ học tập hữu ích cho các nhà nghiên cứu tìm hiểu quá trình chuyển đổi từ phương pháp dùng anchor sang không dùng anchor trong PyTorch.
- Ứng dụng đa tác vụ phức tạp: Các ứng dụng cần đồng thời theo dõi đối tượng và phân đoạn instance sẽ đặc biệt phù hợp với YOLOv8, vì những khả năng này được tích hợp trực tiếp vào thư viện Ultralytics.
Hướng tới tương lai: Các model thay thế#
Dù YOLOv8 cải tiến vượt bậc so với YOLOX, lĩnh vực AI đang phát triển với tốc độ chóng mặt. Với người dùng bắt đầu dự án mới, chúng tôi đặc biệt khuyến nghị đánh giá Ultralytics YOLO26. Ra mắt vào tháng 1 năm 2026, YOLO26 thiết lập tiêu chuẩn vàng mới cho AI thị giác.
YOLO26 có Thiết kế end-to-end không cần NMS mang tính đột phá; head một-một tùy chọn (nms=False) loại bỏ bước hậu xử lý Non-Maximum Suppression, giúp đơn giản hóa quy trình triển khai. Kết hợp với MuSGD Optimizer mới và việc loại bỏ Distribution Focal Loss (DFL), YOLO26 đạt tốc độ suy luận CPU nhanh hơn đến 43% so với YOLO11. Model cũng giới thiệu ProgLoss + STAL (hàm mất mát tiến triển và phương pháp gán nhãn nhận biết đối tượng nhỏ), cải thiện đáng kể khả năng nhận diện đối tượng nhỏ—yếu tố then chốt trong ảnh chụp từ trên không và robotics.
Ngoài ra, người dùng có thể cân nhắc YOLO11 như một phiên bản tiền nhiệm mạnh mẽ khác, được hỗ trợ tốt trong hệ sinh thái Ultralytics và mang lại hiệu năng ổn định trên nhiều tác vụ.
Kết luận#
YOLOX đã chứng minh thành công sức mạnh của head tách biệt và thiết kế không dùng anchor trong dòng YOLO. Tuy nhiên, Ultralytics YOLOv8 đã tiếp thu những khái niệm này, cải tiến kiến trúc và tích hợp chúng vào một hệ sinh thái sẵn sàng cho production, nổi bật về độ dễ sử dụng và tính linh hoạt tác vụ. Khi chọn model Ultralytics, nhà phát triển được tiếp cận hiệu năng vượt trội, khả năng huấn luyện tiết kiệm bộ nhớ và bộ công cụ triển khai mạnh mẽ, giúp chuyển đổi liền mạch từ thử nghiệm sang ứng dụng thực tế.