YOLO Vision 2026:

YOLOv8 so với YOLOX#

Cảnh quan thị giác máy tính đã được định hình mạnh mẽ bởi sự tiến hóa 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. Mặc dù cả hai mô hình đều áp dụng mô hình thiết kế không neo (anchor-free) để tối ưu hóa việc dự đoán hộp giới hạn, chúng đại diện cho các thời kỳ và triết lý khác nhau trong nghiên cứu học sâu và phát triển hệ sinh thái triển khai.

So sánh kỹ thuật toàn diện này khám phá kiến trúc, phương pháp đào tạo và các chỉ số hiệu suất thực tế của chúng để giúp các nhà phát triển và nghiên cứu chọn giải pháp tối ưu cho các ứng dụng AI thị giác của họ.

Bối cảnh về các model#

Việc hiểu rõ nguồn gốc và mục tiêu thiết kế của mỗi framework cung cấp bối cảnh quan trọng cho sự khác biệt về kiến trúc và độ trưởng thành của hệ sinh thái.

Ultralytics YOLOv8#

Được phát triển bởi Glenn Jocher, Ayush Chaurasia và Jing Qiu 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 nhảy vọt đáng kể trong hệ sinh thái Ultralytics. Dựa trên thành công lớn của YOLOv5, YOLOv8 giới thiệu một kiến trúc tiên tiến, được tinh chỉnh cao, có khả năng xử lý mượt mà một loạt các tác vụ khác nhau nguyên bản, bao gồm phát hiện đối tượng, phân đoạn cá thể, phân loại hình ảnh, và ước lượng tư thế.

Lợi thế chính của nó nằm ở hệ sinh thái Ultralytics được duy trì tốt, cung cấp trải nghiệm "từ con số không đến chuyên gia" liền mạch với một API Python thống nhất, tài liệu phong phú và các tích hợp nguyên bản với các công cụ MLOps như Weights & BiasesComet.

Khám phá YOLOv8 trên Nền tảng Ultralytics

YOLOX#

Do 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 nhằm mục đích thu hẹp khoảng cách giữa nghiên cứu học thuật và các ứng dụng công nghiệp. Được trình bày chi tiết trong bài báo Arxiv của họ, YOLOX đã tạo ra tiếng vang bằng cách chuyển hướng gia đình YOLO sang thiết kế không neo và tích hợp phần đầu phân tách (decoupled head), giúp cải thiện độ ổn định khi huấn luyện và khả năng hội tụ.

Mặc dù có ảnh hưởng lớn vào năm 2021, kho lưu trữ GitHub của YOLOX vẫn là một cơ sở mã tập trung chủ yếu vào nghiên cứu. Nó thiếu tính linh hoạt đa tác vụ rộng rãi và các đường ống triển khai được trau chuốt có trong các framework hiện đại, đòi hỏi cấu hình thủ công nhiều hơn cho việc triển khai sản xuất.

Xem Tài liệu YOLOX

Cải tiến kiến trúc#

Cả hai mô hình đều tận dụng phương pháp không dùng neo, loại bỏ nhu cầu phân cụm khung neo phức tạp dành riêng cho tập dữ liệu trước khi đào tạo. Điều này làm giảm số lượng tham số tinh chỉnh theo kinh nghiệm và đơn giản hóa đầu ra phát hiện.

Đầu ra tách rời và Trích xuất đặc trưng#

YOLOX đã đi tiên phong trong việc tích hợp đầu ra tách rời vào dòng YOLO. Theo truyền thống, các tác vụ phân loại và hồi quy được thực hiện trong một đầu ra thống nhất, điều này thường dẫn đến các gradient xung đột trong quá trình đào tạo. Bằng cách tách biệt các nhánh phân loại và định vị, YOLOX đã đạt được khả năng hội tụ nhanh hơn.

YOLOv8 đã áp dụng và tinh chỉnh đáng kể khái niệm này. Nó sử dụng mô-đun C2f (Cross-Stage Partial Bottleneck với hai tích chập) hiện đại trong phần khung chính, thay thế mô-đun C3 cũ hơn. Điều này giúp tăng cường luồng gradient và biểu diễn đặc trưng mà không làm tăng thêm chi phí tính toán đáng kể. Hơn nữa, YOLOv8 triển khai đầu ra phát hiện không dùng neo nâng cao sử dụng Task-Aligned Assigner, khớp các mẫu dương tính một cách linh hoạt dựa trên sự kết hợp giữa điểm số phân loại và Intersection over Union (IoU), mang lại độ chính xác vượt trội.

Hiệu quả Bộ nhớ

Các mô hình Ultralytics YOLO được thiết kế để đạt hiệu suất bộ nhớ vượt trội. So với các kiến trúc dựa trên Transformer hoặc mã nguồn nghiên cứu chưa được tối ưu hóa, YOLOv8 yêu cầu ít bộ nhớ CUDA hơn đáng kể trong khi đào tạo, cho phép các nhà phát triển sử dụng kích thước batch lớn hơn trên phần cứng tiêu dùng tiêu chuẩn.

So sánh hiệu năng#

Khi đánh giá các mô hình cho việc triển khai thực tế, việc cân bằng giữa độ chính xác (mAP) với độ trễ suy luận và độ phức tạp của mô hình là tối quan trọng. Bảng dưới đây nêu bật các chỉ số hiệusuất trên tập dữ liệu COCO.

Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

Như đã quan sát, các mô hình YOLOv8 liên tục vượt trội hơn các đối thủ YOLOX ở số lượng tham số tương đương. Ví dụ, YOLOv8m đạt mAP là 50.2% so với 46.9% của YOLOXm, thể hiện một bước nhảy vọt đáng kể về độ chính xác trong khi vẫn duy trì tốc độ suy luận GPU cạnh tranh bằng cách sử dụng TensorRT.

Đào tạo và Lợi thế Hệ sinh thái#

Một trong những khác biệt rõ ràng nhất giữa hai giải pháp này là trải nghiệm nhà phát triển. Việc đào tạo YOLOX thường đòi hỏi thiết lập môi trường phức tạp, sửa đổi tập lệnh thủ công và hiểu biết sâu sắc về các thành phần nội bộ của PyTorch để gỡ lỗi rò rỉ bộ nhớ hoặc các vấn đề xuất file.

Ngược lại, hệ sinh thái Ultralytics trừu tượng hóa sự phức tạp này, cung cấp API Python và Command Line Interface (CLI) rất trực quan.

API Python được tối ưu hóa#

Việc đào tạo một mô hình YOLOv8 hiện đại trên tập dữ liệu tùy chỉnh chỉ đòi hỏi vài dòng mã:

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model for object detection
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Easily validate the model
metrics = model.val()

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

API này chuẩn hóa các quy trình làm việc trên các tác vụ phát hiện, phân đoạn và hộp giới hạn định hướng (OBB), giúp giảm đáng kể thời gian đưa ra thị trường cho các ứng dụng sản xuất. Hơn nữa, các chức năng xuất tích hợp cho phép chuyển đổi liền mạch sang ONNX, OpenVINO và CoreML mà không cần viết các toán tử C++ tùy chỉnh.

Các trường hợp sử dụng lý tưởng#

Việc lựa chọn giữa các kiến trúc này phụ thuộc vào các ràng buộc của dự án, mặc dù YOLOv8 cung cấp một nền tảng linh hoạt hơn nhiều.

  • Phân tích biên tốc độ cao: Đối với việc 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 chưa từng có giữa tốc độ và độ chính xác, dễ dàng triển khai thông qua tích hợp TensorRT nguyên bản của nó.
  • Nghiên cứu học thuật: YOLOX vẫn là một công cụ giáo dục có giá trị cho các nhà nghiên cứu đang nghiên cứu quá trình chuyển đổi từ phương pháp dựa trên neo sang phương pháp không dùng neo trong PyTorch.
  • Ứng dụng đa tác vụ phức tạp: Các ứng dụng yêu cầu theo dõi đối tượng và phân đoạn thực thể đồng thời sẽ ưu tiên sử dụng YOLOv8, vì các 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 mô hình thay thế#

Mặc dù YOLOv8 là một cải tiến lớn so với YOLOX, lĩnh vực AI đang chuyển động cực kỳ nhanh chóng. Đối với người dùng bắt đầu các dự án mới, chúng tôi đặc biệt khuyên bạn nên đánh giá Ultralytics YOLO26. Ra mắt vào tháng 1 năm 2026, YOLO26 đại diện cho tiêu chuẩn vàng mới cho AI thị giác.

YOLO26 có Thiết kế không dùng NMS từ đầu đến cuối (End-to-End NMS-Free) mang tính cách mạng, loại bỏ hoàn toàn quá trình xử lý hậu kỳ Non-Maximum Suppression để có các quy trình triển khai đơn giản hơn. Kết hợp với trình tối ưu hóa MuSGD Optimizer mới và việc 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 YOLOv8. Nó cũng giới thiệu các hàm mất mát ProgLoss + STAL, mang lại những cải tiến đáng kể trong nhận dạng đối tượng nhỏ, vốn rất quan trọng đối với hình ảnh trên không và robot.

Ngoài ra, người dùng cũng có thể xem xét YOLO11 như một phiên bản tiền nhiệm mạnh mẽ và được hỗ trợ tốt khác trong hệ sinh thái Ultralytics, mang lại hiệu suất mạnh mẽ trên nhiều tác vụ khác nhau.

Kết luận#

YOLOX đã chứng minh thành công sức mạnh của đầu ra tách rời và thiết kế không dùng neo trong dòng họ YOLO. Tuy nhiên, Ultralytics YOLOv8 đã lấy các khái niệm này, tinh chỉnh kiến trúc và đóng gói nó trong một hệ sinh thái sẵn sàng cho sản xuất, duy trì vị thế vô song về tính dễ sử dụng và tính linh hoạt trong tác vụ. Bằng cách chọn một mô hình Ultralytics, các nhà phát triển có được quyền truy cập vào hiệu suất vượt trội, đào tạo hiệu quả về bộ nhớ và một bộ công cụ triển khai mạnh mẽ giúp việc chuyển đổi từ thử nghiệm sang tác động thực tế trở nên liền mạch.

Người đóng góp

Bình luận