Ultralytics YOLO27:
Get Started

YOLOX và YOLOv5#

Việc lựa chọn model phát hiện đối tượng phù hợp là quyết định then chốt, định đoạt thành công của mọi dự án thị giác máy tính. Hướng dẫn này cung cấp phần so sánh kỹ thuật toàn diện giữa hai model tiêu biểu trong lĩnh vực AI: YOLOX của Megvii và Ultralytics YOLOv5. Bằng cách phân tích kiến trúc, các chỉ số hiệu năng và hệ sinh thái huấn luyện, chúng tôi mong muốn giúp nhà phát triển và nhà nghiên cứu đưa ra lựa chọn phù hợp cho môi trường triển khai cụ thể.

Giới thiệu các model#

Cả hai model đều xuất hiện trong giai đoạn phát hiện đối tượng thời gian thực phát triển nhanh chóng, nhưng áp dụng những triết lý kiến trúc khác nhau để đạt hiệu năng.

YOLOX: Phương pháp không dùng anchor#

Được các nhà nghiên cứu Zheng Ge, Songtao Liu, Feng Wang, Zeming Li và Jian Sun tại Megvii phát hành vào ngày 18 tháng 7 năm 2021, YOLOX tạo nên bước chuyển đáng kể khi từ bỏ anchor box truyền thống. Được trình bày trong báo cáo kỹ thuật Arxiv, YOLOX kết hợp thiết kế không dùng anchor với head tách biệt và chiến lược gán nhãn SimOTA. Thiết kế này nhằm 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, đồng thời mang lại hiệu năng mạnh mẽ trên các bộ dữ liệu tiêu chuẩn.

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

YOLOv5: Tiêu chuẩn cho AI thị giác trong môi trường production#

Do Glenn Jocher phát triển và Ultralytics phát hành vào ngày 26 tháng 6 năm 2020, YOLOv5 nhanh chóng trở thành tiêu chuẩn ngành cho các hệ thống thị giác máy tính được triển khai. Được xây dựng nguyên bản trên framework PyTorch, model này phổ biến hóa AI tiên tiến nhờ khả năng sử dụng dễ dàng vượt trội, tốc độ huấn luyện đặc biệt nhanh và repository được hoàn thiện kỹ lưỡng. Kiến trúc YOLOv5 tập trung cân bằng tối ưu giữa tốc độ, độ chính xác và khả năng triển khai, khiến model trở thành lựa chọn được ưa chuộng cho mọi ứng dụng, từ thiết bị biên đến triển khai quy mô lớn trên cloud.

Khác biệt về kiến trúc#

Hiểu rõ những khác biệt cốt lõi về cơ chế giữa các mạng này sẽ làm sáng tỏ lý do chúng có hiệu năng khác nhau ở nhiều tác vụ.

Không dùng anchor và dùng anchor#

Khác biệt nổi bật nhất là cơ chế không dùng anchor của YOLOX. Các model truyền thống như YOLOv5 dựa vào anchor box được xác định trước để dự đoán bounding box, đòi hỏi phân tích phân cụm trên tập dữ liệu huấn luyện nhằm xác định kích thước anchor tối ưu. YOLOX loại bỏ bước này và dự đoán trực tiếp tọa độ bounding box tại từng vị trí không gian. Dù phương pháp không dùng anchor giảm số lượng tham số thiết kế và việc tinh chỉnh theo heuristic, phương pháp dựa trên anchor đã được hoàn thiện của YOLOv5, với chức năng auto-anchor hỗ trợ, đảm bảo quá trình hội tụ khi huấn luyện cực kỳ ổn định và dễ dự đoán ngay từ đầu.

Head tách biệt và head kết hợp#

YOLOX sử dụng head tách biệt, nghĩa là các tác vụ phân loại và hồi quy được chia thành những nhánh mạng neural riêng biệt. Các tác giả cho rằng cách này giải quyết xung đột giữa việc học đặc trưng không gian và ngữ nghĩa. Ngược lại, YOLOv5 sử dụng head kết hợp được tối ưu hóa cao (trong các phiên bản trước), giúp tối đa hóa hiệu quả tính toán và giảm độ trễ suy luận — yếu tố then chốt cho điện toán biên thời gian thực.

Quá trình phát triển kiến trúc

YOLOX tiên phong sử dụng head tách biệt vào năm 2021, còn sau đó Ultralytics đã áp dụng và hoàn thiện kiến trúc tách biệt trong các model tiếp theo như YOLOv8 và YOLO26 tiên tiến nhất, kết hợp ưu điểm của cả hai phương pháp.

Chiến lược gán nhãn#

YOLOX sử dụng SimOTA để gán nhãn, biểu diễn việc ghép đối tượng ground truth với các dự đoán thành bài toán Vận chuyển Tối ưu. Cách gán nhãn động này cải thiện khả năng xử lý cảnh đông đúc. YOLOv5 sử dụng phương pháp gán nhãn dựa trên quy tắc hình dạng đáng tin cậy, đảm bảo các mẫu dương chất lượng cao luôn được đưa vào hàm loss, góp phần tạo nên độ ổn định huấn luyện trứ danh của model.

Hiệu năng và benchmark#

Sự đánh đổi giữa tốc độ và độ chính xác là phép thử tối thượng đối với các kiến trúc này. Bảng dưới đây minh họa hiệu năng của các kích cỡ model khác nhau trên những benchmark tiêu chuẩn.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(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
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

Dù YOLOX đạt điểm mAP cạnh tranh, đặc biệt ở các biến thể lớn hơn, YOLOv5 vẫn có lợi thế đáng kể về tốc độ suy luận TensorRT trên mọi kích cỡ. Chẳng hạn, model YOLOv5s mang lại tỷ lệ tốc độ/độ chính xác vượt trội, rất phù hợp với các ứng dụng thời gian thực cần tối ưu từng mili giây.

Lợi thế của Ultralytics: Huấn luyện và khả năng sử dụng#

Khi chuyển từ nghiên cứu sang production, hệ sinh thái xung quanh model thường quan trọng không kém chính model đó. Những lợi thế của hệ sinh thái Ultralytics thể hiện rõ ở đây.

Trải nghiệm người dùng tinh gọn#

YOLOv5 được đánh giá cao rộng rãi nhờ trải nghiệm phát triển "từ con số không đến thành thạo". Python API của Ultralytics và CLI cho phép bạn tải, huấn luyện và triển khai model chỉ bằng một dòng lệnh. Ngược lại, để chạy YOLOX từ repository GitHub của Megvii, bạn cần cấu hình thủ công nhiều biến môi trường hơn, thiết lập đường dẫn Python phức tạp và vượt qua đường cong học tập dốc thường thấy ở các codebase nghiên cứu học thuật.

Hiệu quả huấn luyện và yêu cầu bộ nhớ#

Các model Ultralytics được thiết kế tỉ mỉ để giảm thiểu mức sử dụng bộ nhớ trong quá trình huấn luyện. YOLOv5 cần ít bộ nhớ CUDA hơn đáng kể so với các model Transformer có nhiều tham số như RT-DETR hoặc các model nghiên cứu chưa được tối ưu. Nhờ đó, nhà phát triển có thể huấn luyện với batch size lớn hơn trên phần cứng phổ thông, đẩy nhanh chu kỳ phát triển lặp.

Tính linh hoạt trên nhiều tác vụ#

YOLOX chỉ là framework phát hiện đối tượng, còn hệ sinh thái Ultralytics đã mở rộng YOLOv5 để hỗ trợ nhiều tác vụ thị giác. Ngay khi sử dụng, bạn có thể thực hiện phân loại ảnh, phân đoạn instance và phát hiện đối tượng bằng cùng một cú pháp API.

Đổi mới liên tục

Nếu cần các tác vụ nâng cao hơn như ước lượng tư thế hoặc phát hiện bounding box định hướng (OBB), chúng tôi đặc biệt khuyên bạn nâng cấp lên kiến trúc Ultralytics YOLO26 mới nhất, vốn hỗ trợ nguyên bản tất cả các tác vụ này với độ chính xác tiên tiến nhất.

So sánh mã#

Sự khác biệt về khả năng sử dụng được thể hiện rõ nhất qua code.

Huấn luyện với YOLOv5:

from ultralytics import YOLO

# Tải model YOLOv5s đã đượ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 dataset ví dụ COCO8
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Chạy suy luận trên một ảnh
results = model("https://ultralytics.com/images/zidane.jpg")

# Hiển thị kết quả
results[0].show()

Huấn luyện với YOLOX: (Yêu cầu tự clone repository, cài đặt setup.py và sử dụng các tham số CLI phức tạp)

# Example YOLOX training command
python tools/train.py -f exps/default/yolox_s.py -d 1 -b 64 --fp16 -o

Phương pháp của Ultralytics giảm bớt trở ngại, giúp bạn tập trung vào tập dữ liệu và logic ứng dụng thay vì gỡ lỗi các file cấu hình. Ngoài ra, việc theo dõi thử nghiệm trở nên liền mạch nhờ các tích hợp sẵn với Weights & Biases và Comet ML.

Trường hợp sử dụng lý tưởng và ứ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 vận hành của dự án.

Điểm mạnh của YOLOX#

YOLOX vẫn là lựa chọn phù hợp trong môi trường học thuật, nơi nhà nghiên cứu tập trung nghiên cứu các mô hình không dùng anchor hoặc chiến lược gán nhãn. Model này cũng hữu ích trong những tình huống mà khả năng phát hiện cảnh đông đúc là chỉ số ưu tiên hàng đầu, còn tốc độ triển khai trên thiết bị biên không quan trọng bằng.

Ưu thế của YOLOv5#

YOLOv5 là lựa chọn hàng đầu không thể bàn cãi cho triển khai thực tế.

  • Sản xuất tốc độ cao: Đối với phát hiện lỗi trên dây chuyền lắp ráp, độ trễ suy luận tối thiểu của YOLOv5 trên GPU biên đảm bảo sản phẩm được kiểm tra mà không làm chậm băng chuyền.
  • Drone và ảnh hàng không: Mức sử dụng bộ nhớ hiệu quả cho phép model chạy trên các máy tính đồng hành nhỏ gọn của drone, phục vụ những tác vụ như giám sát nông nghiệp và theo dõi động vật hoang dã.
  • Bán lẻ thông minh: Từ thanh toán tự động đến quản lý hàng tồn kho, YOLOv5 dễ dàng xuất sang TensorRT và ONNX để triển khai hàng loạt trên hàng nghìn camera tại cửa hàng.

Nhìn về phía trước: Ưu thế của YOLO26#

YOLOv5 là một model huyền thoại, nhưng lĩnh vực AI phát triển rất nhanh. Nếu bắt đầu một dự án mới hôm nay, chúng tôi đặc biệt khuyên bạn tìm hiểu thế hệ model Ultralytics mới nhất.

Được phát hành vào năm 2026, Ultralytics YOLO26 đánh dấu bước tiến vượt bậc. Model có thiết kế không cần NMS đầu-cuối tùy chọn (nms=False), loại bỏ nhu cầu hậu xử lý Non-Maximum Suppression và đơn giản hóa đáng kể logic triển khai. Bằng cách loại bỏ Distribution Focal Loss (DFL) và sử dụng Optimizer MuSGD tiên tiến, YOLO26 đạt tốc độ suy luận CPU nhanh hơn tới 43% so với các thế hệ trước mà vẫn duy trì độ chính xác cao hơn, đặc biệt với đối tượng nhỏ nhờ ProgLoss + STAL mới (Progressive Loss và Small-Target-Aware Label Assignment).

Dù lựa chọn độ tin cậy đã được kiểm chứng của YOLOv5 hay hiệu năng tiên tiến nhất của YOLO26, Nền tảng Ultralytics luôn cung cấp những công cụ tốt nhất để đưa giải pháp thị giác máy tính từ ý tưởng đến production một cách liền mạch. Hãy khám phá tài liệu Ultralytics toàn diện để khai thác tối đa tiềm năng pipeline AI của bạn.

Người đóng góp

Bình luận