Chuyển đến nội dung

YOLOv7 và YOLOX: Phân tích kỹ thuật về các thiết bị dò thời gian thực

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 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 mô hình đều đẩy giới hạn về tốc độ và độ chính xác, nhưng chúng lại áp dụng các 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 mô hình mạnh mẽ này, 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 mô hình

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

YOLOv7 Chi tiết

Đượ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 một phương pháp "túi quà tặng có thể huấn luyện" để 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 đã chọn một hướng đi khác bằng cách chuyển đổi mô hình trở lại phương pháp phát hiện không cần neo, đơn giản hóa đáng kể kiến ​​trúc phần đầu trong khi vẫn duy trì hiệu suất mạnh mẽ.

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

Sự khác biệt và Đổi mới kiến trúc

Sự khác biệt cốt lõi giữa YOLOv7 Điểm khác biệt giữa YOLOX và các hệ điều hành khác nằm ở cách tiếp cận của chúng trong việc trích xuất đặc trưng, ​​dự đoán hộp giới hạn và gán nhãn.

YOLOX: Người tiên phong không neo

YOLOX đã tạo nên một cuộc cách mạng trong lĩnh vực này. YOLO YOLOX cải thiện hiệu suất của hệ thống bằng cách chuyển sang thiết kế không sử dụng anchor . Các bộ dò dựa trên anchor truyền thống yêu cầu điều chỉnh thuật toán 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 một head tách rời , phân tách các nhiệm 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 được mâu thuẫn vốn có giữa việc phân loại một đối tượng và hồi quy 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 , chiến lược này phân bổ động các mẫu tích cực trong quá trình huấn luyện.

YOLOv7 : Tổng hợp lớp hiệu quả mở rộng

YOLOv7 Phương pháp này quay trở lại với các phương pháp dựa trên điểm neo 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 dẫn gradient, đảm bảo mạng học hiệu quả trên các độ sâu khác nhau. Kiến trúc này dựa 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. YOLOv7 Chiến lược "túi quà tặng miễn phí" của mô hình bao gồm các cải tiến như các phép tích chập được tham số hóa lại theo kế hoạch và việc gán nhãn dẫn dắt từ thô đến tinh, giúp đẩy Độ chính xác trung bình (Mean Average Precision) của mô hình lên mức đáng kể.

Dựa trên Anchor so với Không Anchor

Trong khi YOLOX đơn giản hóa quy trình triển khai với thiết lập không cần neo, các hệ thống hiện đại Ultralytics Kể từ đó, các kiến ​​trúc sư đã hoàn thiện phương pháp này, loại bỏ hoàn toàn nhu cầu về các hộp được xác định trước trong các thế hệ mới hơn.

So sánh hiệu suất

Khi đánh giá các mô hình này để đưa vào sản xuất, việc cân bằng giữa độ chính xác và hiệu quả tính toán là rất quan trọng. Bảng dưới đây minh họa sự đánh đổi này, làm nổi bật các chỉ số hoạt động tốt nhất bằng chữ in đậm.

Mô hìnhKích thước
(pixels)
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 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 đoan. Tuy nhiên, cả hai mô hình đều cho thấy 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 luận đào tạo 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 triển khai. Trong lịch sử, các phiên bản YOLO cũ hơn yêu cầu các tập lệnh C++ được tùy chỉnh nhiều hoặc quản lý phụ thuộc phức tạp.

Lợi thế Hệ sinh thái Ultralytics

Ngày nay, cách hiệu quả nhất để tận dụng những kiến ​​trúc này là thông qua việc bảo trì tốt. Ultralytics hệ sinh thái. Ultralytics cung cấp một giao diện thống nhất, trực quan cao. Python API giúp đơn giản hóa đáng kể quá trình đào tạo, 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 dốc liên quan đến các triển khai PyTorch thô.
  • Hiệu quả huấn luyện: Các mô hình Ultralytics YOLO vốn dĩ sử dụng ít bộ nhớ hơn trong quá trình huấn luyện so với các mô hình transformer nặng 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 lô trên phần cứng phổ thông.
  • Tính linh hoạt: Vượt ra ngoài các hộp giới hạn đơn giản, hệ sinh thái dễ dàng mở rộng sang các tác vụ như Phân đoạn đối tượng (Instance Segmentation)Ước tính tư thế (Pose Estimation).

Dưới đây là một ví dụ hoàn chỉnh có thể chạy được, minh họa cách huấn luyện mô hình bằng cách 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 tiêu chuẩn hóa pipeline xuất, 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 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 các mục tiêu triển khai:

  • YOLOX cho AI biên: 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ị tiêu thụ ít năng lượng. 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 tích chập không neo đơn giản của YOLOX dễ dàng chuyển đổi sang các bộ tăng tốc biên.
  • YOLOv7 cho phân tích độ chính xá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 bất thường nhỏ nhất cũng được detect.

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

Trong khi YOLOv7 Kể từ khi YOLOX ra đời, lĩnh vực thị giác máy tính đã phát triển đá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. Mô hình tiên tiến này kết hợp những lý thuyết kiến ​​trúc tốt nhất vào một hệ thống hoàn chỉnh sẵn sàng cho sản xuất.

Dưới đây là lý do tại sao việc nâng cấp được khuyến nghị 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 ban đầu trong YOLOv10, điều này đảm bảo độ trễ thấp nhất quán, đơ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 tiêu thụ ít điện năng và việc xuất ONNX đơn giản.
  • Trình tối ưu hóa MuSGD: Lấy cảm hứng từ những đổi mới trong huấn luyện LLM, YOLO26 tận dụng trình 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.
  • Suy luận 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 hoạt động hiệu quả trên các CPU tiêu chuẩn mà không yêu cầu cơ sở hạ tầng GPU đắt tiền.
  • ProgLoss + STAL: Các hàm mất mát tiên tiến này cải thiện đáng kể khả năng nhận diện vật thể nhỏ, một tính năng quan trọng cho kiểm tra bằng máy bay không người lái trên không và các mạng 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 năng tốt nhất giữa phát hiện đối tượng , phân đoạn và hơn thế nữa, việc triển khai mô hình thông qua Nền tảng Ultralytics mang lại trải nghiệm vượt trội, không gặp trở ngại nào.

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

Kết luận

Cả YOLOX và YOLOv7 đều giới thiệu các kỹ thuật then chốt đã định hình quỹ đạo của AI thị giác mã nguồn mở. YOLOX đã chứng minh tính khả thi của các đầu tách rời không neo, trong khi YOLOv7 đã thể hiện sức mạnh to lớn của 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 tiên tiến để đảm bảo tương lai cho ứng dụng thị giác máy tính tiếp theo của bạn.


Bình luận