Ultralytics YOLO27:

YOLOv7 so với YOLOX#

Sự phát triển của thị giác máy tính được đánh dấu bằng những tiến bộ nhanh chóng trong 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 đẩy xa giới hạn về tốc độ và độ chính xác, chúng áp dụng những triết lý kiến trúc khác nhau để đạt được kết quả. Hướng dẫn này cung cấp một so sánh kỹ thuật toàn diện giữa hai model mạnh mẽ, giúp bạn lựa 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.

Giới thiệu về các Model#

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

Chi tiết YOLOv7#

Được phát triển bởi các nhà nghiên cứu từng duy trì các kiến trúc CSPNet và Scaled-YOLOv4, YOLOv7 giới thiệu phương pháp "túi thủ thuật miễn phí có thể huấn luyện" nhằm tối đa hóa độ chính xác mà không làm tăng chi phí suy luận.

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

Thông tin chi tiết về YOLOX#

YOLOX đi theo một hướng khác bằng cách đưa mô hình trở lại phương pháp phát hiện không dùng anchor, đơn giản hóa đáng kể kiến trúc head nhưng vẫn duy trì hiệu năng mạnh mẽ.

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

Các khác biệt và đổi mới về kiến trúc#

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

YOLOX: Tiên phong không anchor#

YOLOX đã tạo ra bước chuyển lớn cho họ YOLO bằng cách chuyển sang thiết kế không dùng anchor. Các detector dựa trên anchor truyền thống yêu cầu tinh chỉnh heuristic phức tạp để gom cụm anchor box, vốn có thể phụ thuộc rất nhiều vào dataset. Bằng cách loại bỏ anchor box, YOLOX giảm đáng kể số lượng tham số thiết kế. Ngoài ra, YOLOX sử dụng head tách biệt, phân chia các tác vụ phân loại và định vị thành những nhánh riêng biệt của mạng. Đ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 đối tượng đó. YOLOX cũng tích hợp các chiến lược gán nhãn nâng cao như SimOTA, giúp phân bổ động các mẫu dương trong quá trình huấn luyện.

YOLOv7: Extended Efficient Layer Aggregation#

YOLOv7 quay lại các phương pháp dựa trên anchor nhưng giới thiệu Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN). E-ELAN tối ưu hóa độ dài đường truyền gradient, đảm bảo mạng học hiệu quả ở nhiều độ 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, hợp nhất các lớp tích chập trong quá trình suy luận để tăng tốc độ mà không làm giảm độ chính xác. Chiến lược "túi thủ thuật miễn phí" của YOLOv7 bao gồm các cải tiến như tích chập được tái tham số hóa theo kế hoạch và phương pháp gán nhãn dẫn hướng từ coarse đến fine, giúp nâng Mean Average Precision của model lên mức ấn tượng.

Dựa trên anchor so với không dùng anchor

Trong khi thiết lập không dùng anchor của YOLOX đơn giản hóa các pipeline triển khai, các kiến trúc Ultralytics hiện đại sau đó đã hoàn thiện phương pháp này, loại bỏ hoàn toàn nhu cầu sử dụng các box được định nghĩa trước trong những thế hệ mới hơn.

So 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 độ chính xác với hiệu quả tính toán là yếu tố thiết yếu. Bảng dưới đây minh họa những đánh đổi, trong đó các metric có hiệu năng tốt nhất được in đậm.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(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 mAP cao nhất, khiến model này có độ chính xác đặc biệt cao trên các dataset phức tạp. Ngược lại, YOLOX-Nano được tối ưu hóa tốt cho các ràng buộc tài nguyên khắc nghiệt. Tuy nhiên, cả hai model đều có 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.

Phươ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à developer là mức độ dễ triển khai. Trước đây, các phiên bản YOLO cũ thường yêu cầu các script C++ được tùy biến nhiều hoặc quản lý dependency phức tạp.

Lợ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, giúp đơn giản hóa đáng kể việc huấn luyện, validation và triển khai.

  • Tính dễ sử dụng: Chỉ với vài dòng code, bạn có thể khởi chạy vòng lặp huấn luyện, giảm bớt độ dốc của đường cong học tập vốn gắn liền với các triển khai PyTorch thuần.
  • 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 Transformer nặng như RT-DETR. Điều này cho phép developer tăng kích thước batch trên phần cứng phổ thông.
  • Tính linh hoạt: Ngoài các bounding box đơn giản, hệ sinh thái còn dễ dàng mở rộng sang những tác vụ như phân đoạn instanceước lượng pose.

Dưới đây là một ví dụ có thể chạy 100%, minh họa cách huấn luyện một model bằ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 pipeline export, developer có thể dễ dàng chuyển weights sang các format như TensorRT hoặc ONNX, đảm bảo suy luận tốc độ cao trên phần cứng mục tiêu.

Cá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 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 những thiết bị công suất thấp. Nếu bạn đang xây dựng camera an ninh thông minh trên Raspberry Pi, các phép tích chập đơn giản không dùng anchor của YOLOX dễ dàng chuyển sang các bộ tăng tốc edge.
  • YOLOv7 cho phân tích độ trung thực cao: Nếu bạn xử lý ả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 ngay cả những bất thường nhỏ nhất cũng được phát hiện.

Tương lai: Nâng cấp lên Ultralytics YOLO26#

Mặc dù YOLOv7 và YOLOX từng tạo ra bước đột phá khi mới xuất hiện, 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, developer nên hướng đến 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 những lý thuyết kiến trúc tốt nhất thành một hệ thống tối ưu, sẵn sàng cho production.

Sau đây là những lý do việc nâng cấp được đặc biệt khuyến nghị:

  • Thiết kế end-to-end không dùng NMS: YOLO26 loại bỏ Non-Maximum Suppression (NMS) một cách native trong quá trình hậu xử lý. Ban đầu được tiên phong trong YOLOv10, phương pháp 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ị không có hỗ trợ phần cứng cho NMS.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đạt khả năng tương thích tốt hơn đáng kể với các thiết bị edge công suất thấp và hỗ trợ export ONNX đơn giản hơn.
  • Optimizer MuSGD: Lấy cảm hứng từ những cải tiến trong huấn luyện LLM, YOLO26 sử dụng optimizer MuSGD lai, đảm bảo hội tụ nhanh hơn và động lực huấn luyện cực kỳ ổn định.
  • Suy luận CPU nhanh hơn tới 43%: Được tối ưu mạnh cho phần cứng thực tế, YOLO26 hoạt động hiệu quả trên các CPU tiêu chuẩn mà không yêu cầu hạ tầng GPU đắt đỏ.
  • ProgLoss + STAL: Các hàm loss nâng cao 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 đối với kiểm tra bằng drone trên không và các mạng IoT tinh vi.

Đối với developer đang tìm kiếm sự cân bằng hiệu năng tốt nhất trên các tác vụ phát hiện đối tượng, phân đoạn và nhiều tác vụ khác, triển khai model thông qua Ultralytics Platform mang lại trải nghiệm vượt trội, gần như không có ma sát.

Kết luận#

Cả YOLOX và YOLOv7 đều giới thiệu những kỹ thuật then chốt đã định hình hướng phát triển của AI thị giác mã nguồn mở. YOLOX chứng minh tính khả thi của các head tách biệt không dùng anchor, trong khi YOLOv7 cho thấy sức mạnh to lớn của việc tái tham số hóa đường truyề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 của các kiến trúc mang tính lịch sử này hoặc chuyển đổi liền mạch sang YOLO26 hiện đại nhất để bảo đảm ứng dụng thị giác máy tính tiếp theo của bạn luôn sẵn sàng cho tương lai.

Những người đóng góp

Bình luận