Link to this sectionYOLOv5 so với YOLOX#
Sự tiến hóa của thị giác máy tính thời gian thực đã trải qua nhiều cột mốc quan trọng, với các kiến trúc khác nhau không ngừng vượt qua giới hạn về tốc độ và độ chính xác. Hai mô hình có ảnh hưởng lớn trong lĩnh vực này là YOLOv5 và YOLOX. Mặc dù cả hai đều nổi tiếng về hiệu suất cao trong nhận diện đối tượng, chúng lại sử dụng các phương pháp kiến trúc cơ bản hoàn toàn khác nhau.
Hướng dẫn này cung cấp phân tích kỹ thuật chuyên sâu về hai mô hình này, so sánh kiến trúc, các chỉ số hiệu suất, phương pháp đào tạo và các kịch bản triển khai lý tưởng để giúp các nhà phát triển và nghiên cứu lựa chọn công cụ phù hợp cho các dự án vision AI của họ.
Link to this sectionTổng quan mô hình và sự khác biệt về kiến trúc#
Link to this sectionUltralytics YOLOv5#
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: Ultralytics YOLOv5 Repository
- Tài liệu: Tài liệu chính thức YOLOv5
Được giới thiệu bởi Ultralytics, YOLOv5 nhanh chóng trở thành tiêu chuẩn công nghiệp nhờ sự cân bằng vượt trội giữa hiệu suất, 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. Nó dựa vào các hình dạng khung bao (bounding box) định sẵn để dự đoán vị trí đối tượng, điều này làm cho nó cực kỳ hiệu quả cho các tác vụ nhận diệ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. Nó tự hào có tài liệu phong phú, API Python cực kỳ đơn giản và khả năng tích hợp nguyên bản với Ultralytics Platform. Điều này cho phép các nhà phát triển chuyển đổi mượt mà từ việc gán nhãn tập dữ liệu sang đào tạo và xuất sang các định dạng như ONNX và TensorRT.
Các mô hình Ultralytics YOLO thường yêu cầu ít bộ nhớ GPU hơn đáng kể trong quá trình đào tạo so với các giải pháp thay thế dựa trên Transformer phức tạp. Lượng tiêu thụ bộ nhớ thấp này giúp YOLOv5 trở nên dễ tiếp cận đối với các nhà nghiên cứu làm việc với phần cứng phổ thông.
Link to this sectionMegvii YOLOX#
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
- Tổ chức: Megvii
- Ngày: 2021-07-18
- Arxiv: YOLOX: Exceeding YOLO Series in 2021
- GitHub: Megvii YOLOX Repository
- Tài liệu: Tài liệu GitHub YOLOX
Được phát triển bởi các nhà nghiên cứu tại Megvii, YOLOX đã đi theo một con đường khác bằng cách giới thiệu thiết kế không dùng anchor (anchor-free) cho dòng YOLO. Bằng cách loại bỏ các anchor box, YOLOX đơn giản hóa phần đầu nhận diện (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 đào tạo.
YOLOX cũng kết hợp một đầu tách rời (decoupled head)—tách biệt các tác vụ phân loại và hồi quy thành các nhánh mạng khác nhau—và sử dụng chiến lược gán nhãn SimOTA. Những đổi mới 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, làm cho YOLOX đặc biệt hiệu quả trong các môi trường có quy mô đối tượng rất đa dạng.
Link to this sectionHiệu suất và chỉ số#
Khi đánh giá các mô hình thị giác máy tính, sự đánh đổi giữa mean Average Precision (mAP) và tốc độ suy luận (inference speed) là rất quan trọng. Cả hai mô hình đều cung cấp một loạt các kích thước (từ Nano đến Extra-Large) để phù hợp với các hạn chế phần cứng khác nhau.
| Mô hình | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
Trong khi YOLOXx đạt được độ chính xác đỉnh cao hơn một chút (51.1 mAP), YOLOv5 cung cấp một đường ống triển khai mạnh mẽ và được kiểm thử kỹ lưỡng hơn trên phần cứng CPU và GPU. Tốc độ TensorRT cho YOLOv5 làm nổi bật khả năng tối ưu hóa sâu của nó cho các thiết bị điện toán biên, biến nó trở thành lựa chọn cực kỳ đáng tin cậy cho phân tích video thời gian thực.
Link to this sectionPhương pháp đào tạo và khả năng sử dụng#
Trải nghiệm nhà phát triển khác biệt đáng kể giữa hai kiến trúc này.
Link to this sectionPhương pháp tiếp cận của YOLOX#
Việc đào tạo YOLOX thường yêu cầu clone repository gốc, quản lý các phụ thuộc cụ thể và thực thi các tập lệnh dòng lệnh (command-line scripts) phức tạp. Mặc dù nó hỗ trợ các tính năng nâng cao như đào tạo độ chính xác hỗn hợp (mixed-precision) và thiết lập đa nút thông qua MegEngine, đường cong học tập có thể rất dốc đối với các nhà phát triển cần tạo mẫu nhanh.
Link to this sectionLợi thế từ Ultralytics#
Ngược lại, Ultralytics ưu tiên trải nghiệm người dùng đặc biệt hợp lý hóa. Với gói Python ultralytics, các nhà phát triển có thể tải, đào tạo và xác thực một mô hình với mã boilerplate tối thiểu. Ultralytics tự động xử lý các quá trình tăng cường dữ liệu phức tạp, tiến hóa siêu tham số và lập lịch tốc độ học (learning rate scheduling).
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()Hơn nữa, tính linh hoạt của YOLOv5 còn mở rộng ra ngoài việc nhận diện đối tượng tiêu chuẩn, cung cấp hỗ trợ mạnh mẽ cho phân loại hình ảnh và phân đoạn đối tượng trong cùng một API nhất quán.
Khi quá trình đào tạo hoàn tất, việc xuất mô hình YOLOv5 sang CoreML, TFLite hoặc OpenVINO đơn giản như việc chạy model.export(format="onnx"). Điều này loại bỏ nhu cầu sử dụng các tập lệnh chuyển đổi của bên thứ ba thường thấy ở các repository tập trung vào nghiên cứu.
Link to this sectionỨng dụng trong thực tế#
Việc lựa chọn giữa các mô hình 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: Đối với các ứng dụng yêu cầu nhận diện sản phẩm thời gian thực trên các thiết bị biên như NVIDIA Jetson, YOLOv5 là lựa chọn đặc biệt phù hợp. Lượng tiêu thụ bộ nhớ tối thiểu và tốc độ suy luận TensorRT nhanh cho phép theo dõi nhiều camera mà không bị rớt khung hình.
- Nghiên cứu học thuật và Kiến trúc tùy chỉnh: YOLOX được đánh giá rất cao trong cộng đồng nghiên cứu. Đầu tách rời và bản chất không dùng anchor của nó làm cho nó trở thành một nền tảng tuyệt vời cho các kỹ sư muốn thử nghiệm với các chiến lược gán nhãn mới hoặc những người làm việc trên các tập dữ liệu mà các anchor box truyền thống không thể tổng quát hóa.
- Nông nghiệp AI: Đối 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 qua máy bay không người lái, sự dễ dàng trong việc đào tạo và triển khai các mô hình YOLOv5 bằng cách sử dụng Ultralytics Platform cho phép các chuyên gia lĩnh vực thực hiện các giải pháp AI mà không cần nền tảng sâu về kỹ thuật học máy.
Link to this sectionCác 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 dự án cụ thể, các ràng buộc triển khai và sở thích hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn YOLOv5#
YOLOv5 là lựa chọn mạnh mẽ cho:
- Hệ thống sản xuất đã được kiểm chứng: Các hệ thống triển khai hiện có, nơi mà lịch sử lâu dài về tính ổn định, tài liệu đầy đủ và sự hỗ trợ cộng đồng khổng lồ của YOLOv5 được đánh giá cao.
- Huấn luyện hạn chế tài nguyên: Các môi trường có tài nguyên GPU hạn chế, nơi đường ống huấn luyện hiệu quả và yêu cầu bộ nhớ thấp hơn của YOLOv5 mang lại nhiều lợi thế.
- Hỗ trợ định dạng xuất mở rộng: Các dự án yêu cầu triển khai trên nhiều định dạng bao gồm ONNX, TensorRT, CoreML và TFLite.
Link to this sectionKhi nào nên chọn YOLOX#
YOLOX được khuyến nghị cho:
- Nghiên cứu Phát hiện Anchor-Free: Nghiên cứu học thuật sử dụng kiến trúc anchor-free sạch, gọn của YOLOX làm baseline để thử nghiệm với các head phát hiện hoặc hàm mất mát 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 cũ nơi mà footprint cực nhỏ của biến thể YOLOX-Nano (0.91M tham số) là rất quan trọng.
- Nghiên cứu Gán nhãn SimOTA: Các dự án nghiên cứu điều tra các chiến lược gán nhãn dựa trên vận chuyển tối ưu và tác động của chúng đến sự hội tụ trong đào tạo.
Link to this sectionKhi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm nhà phát triển:
- Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái trên không hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các vật thể cực nhỏ.
Link to this sectionTương lai của thị giác AI: Giới thiệu YOLO26#
Mặc dù cả YOLOv5 và YOLOX đều đã khẳng định vị thế trong lịch sử thị giác máy tính, lĩnh vực này đang tiến bộ nhanh chóng. Đối với các nhà phát triển bắt đầu các dự án mới ngay hôm nay, Ultralytics khuyến khích mạnh mẽ việc khám phá mô hình chủ lực mới nhất của mình, YOLO26.
Ra mắt vào tháng 1 năm 2026, YOLO26 đại diện cho một bước nhảy vọt lớn về cả hiệu suất và khả năng sử dụng. Nó giới thiệu thiết kế đột phá end-to-end không cần NMS, loại bỏ hoàn toàn quá trình hậu xử lý Non-Maximum Suppression. Điều này làm giảm đáng kể biến động độ trễ và đơn giản hóa logic triển khai trên các thiết bị công suất thấp.
Hơn nữa, YOLO26 sử dụng bộ tối ưu hóa MuSGD Optimizer mới lạ—một sự kết hợp giữa SGD và Muon lấy cảm hứng từ những đổi mới trong đào tạo LLM—để đạt được sự hội tụ nhanh và cực kỳ ổn định. Với việc loại bỏ DFL (Distribution Focal Loss được loại bỏ để xuất đơn giản hơn và tương thích tốt hơn với các thiết bị biên/công suất thấp), YOLO26 đạt được tốc độ suy luận CPU nhanh hơn tới 43%, củng cố vị thế của nó như là mô hình tối ưu cho các ứng dụng điện toán biên hiện đại, robotics và IoT. Ngoài ra, ProgLoss + STAL mang lại các hàm mất mát (loss functions) cải tiến với những tiến bộ đáng chú ý trong việc nhận diện đối tượng nhỏ, rất quan trọng cho IoT, robotics và hình ảnh trên không. Người dùng quan tâm đến các thế hệ trước có thể xem thêm về YOLO11, mặc dù YOLO26 là lựa chọn hiện đại nhất (state-of-the-art) không thể tranh cãi.
Link to this sectionKết luận#
YOLOv5 và YOLOX đều cung cấp khả năng nhận diện đối tượng đáng kinh ngạc. YOLOX đã thúc đẩy giới hạn kiến trúc bằng cách chứng minh rằng các thiết kế không dùng anchor có thể cạnh tranh và vượt qua các phương pháp truyền thống vào năm 2021. Tuy nhiên, YOLOv5 vẫn là một thế lực thống trị nhờ tính dễ sử dụng vô song, hệ sinh thái rộng lớn và yêu cầu bộ nhớ thấp hơn trong quá trình đào tạo.
Đối với đại đa số các ứng dụng thương mại, hệ sinh thái Ultralytics cung cấp con đường nhanh nhất từ tập dữ liệu thô đến một mô hình sản xuất đã được triển khai. Cho dù sử dụng YOLOv5 đã được kiểm chứng hay nâng cấp lên YOLO26 tiên tiến nhất, các nhà phát triển đều được hưởng lợi từ một framework được thiết kế để làm cho vision AI trở nên dễ tiếp cận, hiệu quả và có hiệu suất cao.