Ultralytics YOLO27:
Get Started

YOLOv5 và YOLOX#

Sự phát triển của thị giác máy tính thời gian thực ghi nhận nhiều cột mốc, với các kiến trúc khác nhau liên tục đẩy giới hạn tốc độ và độ chính xác. Hai model có ảnh hưởng lớn trong lĩnh vực này là YOLOv5 và YOLOX. Dù cả hai đều nổi tiếng về hiệu năng phát hiện vật thể cao, chúng áp dụng các cách tiếp cận kiến trúc khác nhau về căn bản.

Hướng dẫn này phân tích kỹ thuật chuyên sâu hai model, so sánh kiến trúc, metric hiệu năng, phương pháp huấn luyện và tình huống triển khai phù hợp, giúp developer và nhà nghiên cứu chọn đúng công cụ cho các dự án AI thị giác.

Tổng quan model và khác biệt về kiến trúc#

Ultralytics YOLOv5#

Được Ultralytics giới thiệu, YOLOv5 nhanh chóng trở thành tiêu chuẩn ngành nhờ sự cân bằng vượt trội giữa hiệu năng, tính dễ sử dụng và hiệu quả bộ nhớ. Được xây dựng nguyên bản trên framework PyTorch, YOLOv5 sử dụng kiến trúc dựa trên anchor. Model dựa vào các hình dạng bounding box được xác định trước để dự đoán vị trí đối tượng, nhờ đó đạt hiệu quả cao trong các tác vụ phát hiện đối tượng tiêu chuẩn.

Một trong những thế mạnh lớn nhất của YOLOv5 là hệ sinh thái được duy trì tốt. Model có tài liệu phong phú, Python API cực kỳ đơn giản và tích hợp nguyên bản với Ultralytics Platform. Nhờ vậy, nhà phát triển có thể chuyển đổi liền mạch từ gán nhãn dataset sang huấn luyện và xuất sang các định dạng như ONNX và TensorRT.

Ưu thế hệ sinh thái

Các model Ultralytics YOLO thường cần ít GPU memory hơn đáng kể trong quá trình huấn luyện so với các lựa chọn thay thế phức tạp dựa trên Transformer. Mức sử dụng bộ nhớ thấp này giúp YOLOv5 dễ tiếp cận hơn nhiều với các nhà nghiên cứu sử dụng phần cứng phổ thông.

YOLOX của Megvii#

Được các nhà nghiên cứu tại Megvii phát triển, YOLOX đi theo hướng khác khi giới thiệu thiết kế không anchor cho dòng YOLO. Bằng cách loại bỏ các anchor box, YOLOX đơn giản hóa detection head và giảm đáng kể số lượng tham số heuristic cần tinh chỉnh thủ công trong quá trình huấn luyện.

YOLOX cũng tích hợp head tách biệt—chia tác vụ phân loại và hồi quy thành các nhánh mạng riêng—và sử dụng chiến lược gán nhãn SimOTA. Những cải tiến này 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, giúp YOLOX đặc biệt hiệu quả trong môi trường có kích thước đối tượng rất đa dạng.

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

Hiệu năng và các chỉ số#

Khi đánh giá các model thị giác máy tính, sự đánh đổi giữa độ chính xác trung bình (mAP) và tốc độ inference là yếu tố then chốt. Cả hai model đều có nhiều kích thước (từ Nano đến Extra-Large) để phù hợp với các giới hạn phần cứng khác nhau.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7
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

YOLOXx đạt độ chính xác đỉnh cao nhỉnh hơn một chút (51.1 mAP), nhưng YOLOv5 cung cấp quy trình triển khai mạnh mẽ và được kiểm thử kỹ lưỡng hơn nhiều trên phần cứng CPU và GPU. Tốc độ TensorRT của YOLOv5 cho thấy model được tối ưu sâu cho thiết bị điện toán biên, khiến YOLOv5 trở thành lựa chọn đáng tin cậy cho phân tích video thời gian thực.

Phương pháp huấn luyện và tính dễ sử dụng#

Trải nghiệm dành cho nhà phát triển khác biệt đáng kể giữa hai kiến trúc này.

Phương pháp YOLOX#

Huấn luyện YOLOX thường đòi hỏi sao chép kho lưu trữ gốc, quản lý các dependency cụ thể và chạy những script dòng lệnh phức tạp. Dù hỗ trợ các tính năng nâng cao như huấn luyện độ chính xác hỗn hợp và thiết lập đa node thông qua MegEngine, quá trình học có thể khá khó khăn đối với nhà phát triển cần tạo mẫu nhanh.

Lợi thế của Ultralytics#

Ngược lại, Ultralytics ưu tiên mang đến trải nghiệm người dùng được tinh giản tối đa. Với package Python ultralytics, nhà phát triển có thể tải, huấn luyện và xác thực model chỉ với lượng mã khung tối thiểu. Ultralytics tự động xử lý các phép tăng cường dữ liệu phức tạp, quá trình tiến hóa hyperparameter và lập lịch learning rate.

from ultralytics import YOLO

# Tải model YOLOv5 small đã được huấn luyện trước
model = YOLO("yolov5su.pt")  # YOLOv5u: weight YOLOv5 không anchor dành cho package ultralytics

# Huấn luyện model trên bộ dữ liệu COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Đánh giá hiệu năng của model
metrics = model.val()

Hơn nữa, tính linh hoạt của YOLOv5 không chỉ giới hạn ở phát hiện đối tượng tiêu chuẩn, mà còn hỗ trợ mạnh mẽ phân loại hình ảnh và phân đoạn instance trong cùng một API nhất quán.

Triển khai tinh gọn

Khi hoàn tất huấn luyện, việc xuất model YOLOv5 sang ONNX, CoreML, LiteRT hoặc OpenVINO đơn giản như gọi một lệnh duy nhất, chẳng hạn model.export(format="onnx"). Cách này loại bỏ nhu cầu sử dụng các script chuyển đổi của bên thứ ba thường cần có trong những kho lưu trữ tập trung vào nghiên cứu.

Ứng dụng thực tế#

Việc lựa chọn giữa các model này phụ thuộc vào môi trường triển khai và yêu cầu kỹ thuật của bạn:

  • Bán lẻ và quản lý hàng tồn kho: Với các ứng dụng cần nhận diện sản phẩm theo thời gian thực trên thiết bị biên như NVIDIA Jetson, YOLOv5 đặc biệt phù hợp. Mức sử dụng bộ nhớ tối thiểu và tốc độ inference TensorRT nhanh cho phép theo dõi bằng nhiều camera mà không làm rớt khung hình.
  • Nghiên cứu học thuật và kiến trúc tùy chỉnh: YOLOX được cộng đồng nghiên cứu đánh giá cao. Head tách biệt và thiết kế không anchor khiến YOLOX trở thành baseline tuyệt vời cho kỹ sư muốn thử nghiệm các chiến lược gán nhãn mới hoặc làm việc với dataset mà anchor box truyền thống không khái quát hóa tốt.
  • AI trong nông nghiệp: Với các tác vụ nông nghiệp chính xác như phát hiện trái cây hoặc nhận diện cỏ dại bằng drone, khả năng huấn luyện và triển khai model YOLOv5 dễ dàng thông qua Ultralytics Platform cho phép chuyên gia lĩnh vực triển khai giải pháp AI mà không cần nền tảng chuyên sâu về kỹ thuật machine learning.

Trường hợp sử dụng và khuyến nghị#

Việc lựa chọn giữa YOLOv5 và YOLOX phụ thuộc vào yêu cầu cụ thể của dự án, giới hạn triển khai và sở thích về hệ sinh thái.

Khi nào nên chọn YOLOv5#

YOLOv5 là lựa chọn phù hợp cho:

  • Các hệ thống production đã được kiểm chứng: Những triển khai hiện có coi trọng lịch sử ổn định lâu dài, tài liệu phong phú và sự hỗ trợ rộng rãi từ cộng đồng của YOLOv5.
  • Huấn luyện với tài nguyên hạn chế: Các môi trường có tài nguyên GPU hạn chế, nơi pipeline huấn luyện hiệu quả và nhu cầu bộ nhớ thấp hơn của YOLOv5 là một lợi thế.
  • Hỗ trợ nhiều định dạng export: Các dự án cần triển khai trên nhiều định dạng, bao gồm ONNX, TensorRT, CoreML và LiteRT.

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 head phát hiện hoặc hàm loss mới.
  • Thiết bị biên siêu nhẹ: Triển khai trên vi điều khiển hoặc phần cứng di động đời cũ, nơi kích thước 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 dự án nghiên cứu tìm hiểu chiến lược gán nhãn dựa trên vận tải tối ưu và ảnh hưởng của chúng đến quá trình hội tụ khi huấn luyện.

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

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 dành cho nhà phát triển:

  • Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
  • Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
  • Phát hiện vật thể nhỏ: Các tình huống khó 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 khi phát hiện vật thể rất nhỏ.

Tương lai của AI thị giác: YOLO26 ra mắt#

Dù YOLOv5 và YOLOX đều đã khẳng định vị trí trong lịch sử thị giác máy tính, lĩnh vực này vẫn đang phát triển nhanh chóng. Với các nhà phát triển bắt đầu dự án mới hiện nay, Ultralytics đặc biệt khuyến nghị tìm hiểu model chủ lực mới nhất của mình, YOLO26.

Ra mắt vào tháng 1 năm 2026, YOLO26 đánh dấu bước tiến vượt bậc cả về hiệu năng lẫn khả năng sử dụng. Model giới thiệu thiết kế end-to-end không cần NMS đột phá (được chọn bằng nms=False), loại bỏ bước hậu xử lý Non-Maximum Suppression. Điều này giảm đáng kể biến động độ trễ và đơn giản hóa logic triển khai trên thiết bị công suất thấp.

Hơn nữa, YOLO26 sử dụng bộ tối ưu hóa MuSGD mới—kết hợp SGD và Muon, lấy cảm hứng từ các cải tiến trong huấn luyện LLM—để hội tụ cực kỳ ổn định và nhanh chóng. Nhờ loại bỏ DFL (loại bỏ Distribution Focal Loss để đơn giản hóa quá trình xuất và tăng khả năng tương thích với thiết bị biên/công suất thấp), YOLO26 đạt tốc độ inference CPU nhanh hơn đến 43%, củng cố vị thế là model tối ưu cho điện toán biên hiện đại, robotics và ứng dụng IoT. Ngoài ra, ProgLoss + STAL cung cấp các hàm loss được cải thiện, giúp nhận diện vật thể nhỏ tốt hơn đáng kể—điều thiết yếu trong IoT, robotics và ảnh chụp từ trên không. Người dùng quan tâm đến các thế hệ trước cũng có thể tìm hiểu YOLO11, dù YOLO26 là lựa chọn tiên tiến nhất hiện nay.

Kết luận#

YOLOv5 và YOLOX đều có năng lực phát hiện đối tượng ấn tượng. Năm 2021, YOLOX đã mở rộng giới hạn kiến trúc khi chứng minh thiết kế không anchor có thể cạnh tranh và vượt qua các phương pháp truyền thống. Tuy nhiên, YOLOv5 vẫn giữ vị thế nổi bật nhờ tính dễ sử dụng vượt trội, hệ sinh thái phong phú và nhu cầu bộ nhớ thấp hơn trong quá trình huấn luyện.

Với phần lớn ứng dụng thương mại, hệ sinh thái Ultralytics mang đến con đường nhanh nhất từ dataset thô đến model sản xuất đã triển khai. Dù sử dụng YOLOv5 đã được kiểm chứng hay nâng cấp lên YOLO26 tiên tiến, nhà phát triển đều được hưởng lợi từ framework được thiết kế để giúp AI thị giác dễ tiếp cận, hiệu quả và có hiệu năng cao.

Người đóng góp

Bình luận