Meet YOLO26: next-gen vision AI.

Link to this sectionYOLOv7 so với YOLOX#

Sự tiến hóa của thị giác máy tính đã được đánh dấu bằng những bước tiến nhanh chóng trong việc phát hiện đối tượng theo thời gian thực. Hai cột mốc quan trọng trong hành trình này là YOLOv7 và YOLOX. Mặc dù cả hai model đều vượt qua giới hạn về tốc độ và độ chính xác, chúng đã áp dụng các triết lý kiến trúc khác nhau để đạt được kết quả của mình. Hướng dẫn này cung cấp sự so sánh kỹ thuật toàn diện giữa hai model mạnh mẽ này, giúp bạn chọn kiến trúc phù hợp cho các dự án thị giác máy tính của mình.

Link to this sectionGiới thiệu về các Model#

Việc hiểu rõ nguồn gốc và các lựa chọn thiết kế chính của những model này là rất quan trọng để triển khai chúng một cách hiệu quả trong các hoạt động machine learning hiện đại.

Link to this sectionChi tiết về YOLOv7#

Được phát triển bởi các nhà nghiên cứu duy trì kiến trúc CSPNet và Scaled-YOLOv4, YOLOv7 đã giới thiệu cách tiếp cận "trainable bag-of-freebies" để tối đa hóa độ chính xác mà không làm tăng chi phí inference.

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

Link to this sectionChi tiết về YOLOX#

YOLOX đã đi theo một con đường khác bằng cách chuyển dịch mô hình trở lại phát hiện không dựa trên anchor (anchor-free), đơn giản hóa đáng kể kiến trúc phần đầu (head) trong khi vẫn duy trì hiệu suất mạnh mẽ.

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

Link to this sectionKhác biệt kiến trúc và đổi mới#

Những khác biệt cốt lõi giữa YOLOv7 và YOLOX nằm ở cách tiếp cận trích xuất đặc trưng, dự đoán bounding box và gán nhãn.

Link to this sectionYOLOX: Người tiên phong không dùng neo (anchor-free)#

YOLOX đã cách mạng hóa dòng họ YOLO bằng cách chuyển sang thiết kế không anchor (anchor-free). Các bộ phát hiện dựa trên anchor truyền thống đòi hỏi việc tinh chỉnh heuristic phức tạp để phân cụm anchor box, điều này có thể phụ thuộc rất nhiều vào tập dữ liệu. Bằng cách loại bỏ anchor box, YOLOX đã giảm đáng kể số lượng tham số thiết kế. Hơn nữa, YOLOX sử dụng decoupled head (phần đầu tách rời), phân tách các tác vụ phân loại và định vị thành các nhánh mạng riêng biệt. Điều này giải quyết xung đột cố hữu giữa việc phân loại một đối tượng và hồi quy các tọa độ không gian của nó. YOLOX cũng tích hợp các chiến lược gán nhãn tiên tiến như SimOTA, giúp phân bổ các mẫu dương tính một cách linh hoạt trong quá trình huấn luyện.

Link to this sectionYOLOv7: Extended Efficient Layer Aggregation#

YOLOv7 quay trở lại các phương pháp dựa trên anchor nhưng đã giới thiệu Extended Efficient Layer Aggregation Network (E-ELAN). E-ELAN tối ưu hóa độ dài đường dẫn gradient, đảm bảo mạng học tập hiệu quả ở các độ sâu khác nhau. Kiến trúc này phụ thuộc nhiều vào các kỹ thuật tái tham số hóa (re-parameterization), hợp nhất các lớp convolutional trong quá trình inference để tăng tốc độ mà không làm giảm độ chính xác. Chiến lược "bag-of-freebies" của YOLOv7 bao gồm các cải tiến như các lớp convolutional được tái tham số hóa theo kế hoạch và việc gán nhãn có hướng dẫn từ thô đến tinh (coarse-to-fine lead guided), giúp đẩy chỉ số mAP (Mean Average Precision) của model lên mức ấn tượng.

Dựa trên Anchor (Anchor-Based) so với Không dựa trên Anchor (Anchor-Free)

Mặc dù YOLOX đã đơn giản hóa các đường ống triển khai với thiết lập không anchor, các kiến trúc Ultralytics hiện đại từ đó đã hoàn thiện cách tiếp cận này, loại bỏ hoàn toàn nhu cầu về các box được định nghĩa trước trong các thế hệ mới hơn.

Link to this sectionSo sánh hiệu năng#

Khi đánh giá các model này cho môi trường production, việc cân bằng giữa độ chính xác và hiệu quả tính toán là điều cần thiết. Bảng dưới đây minh họa các sự đánh đổi, làm nổi bật các chỉ số đạt hiệu suất tốt nhất bằng chữ in đậm.

Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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ư đã thấy ở trên, YOLOv7x đạt được mAP cao nhất, giúp nó cực kỳ chính xác cho các tập dữ liệu phức tạp. Ngược lại, YOLOX-Nano được tối ưu hóa cao cho các ràng buộc tài nguyên cực hạn. Tuy nhiên, cả hai model đều thể hiện mức sử dụng bộ nhớ tương đối cao trong quá trình huấn luyện so với các kiến trúc hiện đại.

Link to this sectionPhương pháp huấn luyện và Hệ sinh thái#

Một yếu tố quan trọng đối với các nhà nghiên cứu và nhà phát triển là sự dễ dàng trong việc triển khai. Trong lịch sử, các phiên bản YOLO cũ đòi hỏi các tập lệnh C++ tùy chỉnh nặng nề hoặc quản lý phụ thuộc phức tạp.

Link to this sectionLợi thế từ hệ sinh thái Ultralytics#

Ngày nay, cách hiệu quả nhất để sử dụng các kiến trúc này là thông qua hệ sinh thái Ultralytics được duy trì tốt. Ultralytics cung cấp một Python API thống nhất, trực quan cao giúp đơn giản hóa đáng kể việc huấn luyện, xác thực và triển khai.

  • Dễ sử dụng: Chỉ với vài dòng mã, bạn có thể khởi tạo một vòng lặp huấn luyện, giảm thiểu đường cong học tập khó khăn liên quan đến các triển khai PyTorch gốc.
  • Hiệu quả huấn luyện: Các model Ultralytics YOLO vốn sử dụng ít bộ nhớ hơn trong quá trình huấn luyện so với các model nặng về Transformer như RT-DETR. Điều này cho phép các nhà phát triển tối đa hóa kích thước batch trên phần cứng tiêu dùng.
  • Sự linh hoạt: Ngoài các bounding box đơn giản, hệ sinh thái này mở rộng dễ dàng sang các tác vụ như Instance SegmentationPose Estimation.

Đây là một ví dụ có thể chạy được 100% minh họa cách huấn luyện một model sử dụng Ultralytics API:

from ultralytics import YOLO

# Load a pre-trained model
model = YOLO("yolov8n.pt")  # Readily available weights for rapid transfer learning

# Train the model efficiently on your custom data
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    batch=16,
    device="0",  # Utilizes optimal CUDA memory management
)

# Export seamlessly to ONNX or TensorRT
model.export(format="onnx")

Bằng cách chuẩn hóa export pipeline, các nhà phát triển có thể dễ dàng chuyển đổi trọng số của họ sang các định dạng như TensorRT hoặc ONNX, đảm bảo inference tốc độ cao trên phần cứng mục tiêu.

Link to this sectionCác 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 YOLOX và YOLOv7 phần lớn phụ thuộc vào các mục tiêu triển khai:

  • YOLOX cho Edge AI: Các biến thể YOLOX-Nano và YOLOX-Tiny rất phù hợp để triển khai trên các thiết bị năng lượng thấp. Nếu bạn đang xây dựng một camera an ninh thông minh trên Raspberry Pi, các phép toán convolutional không anchor đơn giản của YOLOX dễ dàng chuyển đổi sang các trình tăng tốc biên (edge accelerators).
  • YOLOv7 cho Phân tích độ trung thực cao: Nếu bạn đang xử lý hình ảnh vệ tinh độ phân giải cao hoặc thực hiện kiểm soát chất lượng sản xuất phức tạp, mAP cao của YOLOv7x, được hỗ trợ bởi các GPU NVIDIA cao cấp, đảm bảo rằng ngay cả những điểm bất thường nhỏ nhất cũng được phát hiện.

Link to this sectionTương lai: Nâng cấp lên Ultralytics YOLO26#

Mặc dù YOLOv7 và YOLOX đã mang tính đột phá vào thời điểm ra mắt, bối cảnh thị giác máy tính đã tiến bộ đáng kể. Đối với các triển khai mới, các nhà phát triển nên xem xét Ultralytics YOLO26, được phát hành vào tháng 1 năm 2026. Model tiên tiến này hợp nhất các lý thuyết kiến trúc tốt nhất vào một hệ thống sẵn sàng cho production tối thượng.

Đây là lý do tại sao việc nâng cấp được khuyến khích mạnh mẽ:

  • Thiết kế End-to-End không NMS: YOLO26 loại bỏ hoàn toàn Non-Maximum Suppression (NMS) trong quá trình hậu xử lý. Được tiên phong lần đầu trong YOLOv10, điều này đảm bảo độ trễ thấp ổn định, đơn giản hóa việc triển khai trên các thiết bị thiếu hỗ trợ phần cứng NMS.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đạt được khả năng tương thích tốt hơn nhiều với các thiết bị biên năng lượng thấp và xuất ONNX trực tiếp.
  • Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ các cải tiến huấn luyện LLM, YOLO26 tận dụng bộ tối ưu hóa MuSGD lai, đảm bảo hội tụ nhanh hơn và động lực huấn luyện cực kỳ ổn định.
  • Tốc độ Inference trên CPU nhanh hơn tới 43%: Được tối ưu hóa mạnh mẽ cho phần cứng thực tế, YOLO26 chạy tốt trên các CPU tiêu chuẩn mà không cần cơ sở hạ tầng GPU đắt tiền.
  • ProgLoss + STAL: Các hàm loss tiên tiến này cải thiện đáng kể khả năng nhận diện đối tượng nhỏ, một tính năng quan trọng cho các hoạt động kiểm tra bằng drone trên không và các mạng lưới IoT phức tạp.

Đối với các nhà phát triển đang tìm kiếm sự cân bằng hiệu suất tốt nhất trong phát hiện đối tượng, phân đoạn (segmentation) và hơn thế nữa, việc triển khai các model thông qua Ultralytics Platform mang lại trải nghiệm tuyệt vời, không ma sát.

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

Link to this sectionKết luận#

Cả YOLOX và YOLOv7 đều giới thiệu các kỹ thuật quan trọng định hình quỹ đạo của AI thị giác nguồn mở. YOLOX đã chứng minh tính khả thi của các phần đầu tách rời không anchor, trong khi YOLOv7 đã chứng minh sức mạnh to lớn của việc tái tham số hóa đường dẫn gradient. Ngày nay, việc tận dụng hệ sinh thái Ultralytics đảm bảo bạn có thể khai thác tối đa tiềm năng từ các kiến trúc lịch sử này, hoặc chuyển đổi liền mạch sang YOLO26 hiện đại nhất để sẵn sàng cho ứng dụng thị giác máy tính tiếp theo của bạn.

Người đóng góp

Bình luận