Chuyển đến nội dung

YOLOX so với YOLOv7 : So sánh kỹ thuật chi tiết

Việc điều hướng trong bối cảnh các mô hình phát hiện đối tượng đòi hỏi sự hiểu biết sâu sắc về các sắc thái kiến trúc và những đánh đổi về hiệu suất. Hướng dẫn này cung cấp một so sánh kỹ thuật toàn diện giữa YOLOXYOLOv7 , hai kiến trúc có ảnh hưởng lớn đã định hình đáng kể lĩnh vực thị giác máy tính. Chúng tôi khám phá những cải tiến về cấu trúc, số liệu chuẩn và ứng dụng thực tế của chúng để giúp bạn xác định lựa chọn phù hợp nhất cho dự án của mình. Mặc dù cả hai mô hình đều thể hiện những tiến bộ vượt bậc khi ra mắt, các nhà phát triển hiện đại thường tìm đến hệ sinh thái Ultralytics để có quy trình làm việc thống nhất và hiệu suất vượt trội.

So sánh trực tiếp hiệu năng

Khi lựa chọn một mô hình, sự cân bằng giữa Độ chính xác trung bình ( mAP ) và độ trễ suy luận thường là yếu tố quyết định. YOLOX cung cấp một họ mô hình có khả năng mở rộng cao, từ Nano đến X, nhấn mạnh tính đơn giản thông qua thiết kế không có điểm neo. Ngược lại, YOLOv7 tập trung vào việc tối đa hóa sự cân bằng giữa tốc độ và độ chính xác cho các ứng dụng thời gian thực bằng cách sử dụng các tối ưu hóa kiến trúc tiên tiến.

Mô hìnhKích thước
(pixels)
mAP giá trị
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Dữ liệu minh họa những điểm mạnh riêng biệt. YOLOXnano cực kỳ nhẹ, lý tưởng cho các môi trường cực kỳ hạn chế về tài nguyên. Tuy nhiên, đối với các tình huống hiệu suất cao, YOLOv7x thể hiện độ chính xác vượt trội (53,1% mAP ) và hiệu quả, mang lại độ chính xác cao hơn YOLOXx với số phép toán dấu chấm động (FLOP) ít hơn đáng kể và thời gian suy luận nhanh hơn trên GPU T4.

YOLOX: Sự đơn giản thông qua thiết kế không có điểm neo

YOLOX đánh dấu một sự thay đổi mô hình trong YOLO bằng cách loại bỏ cơ chế dựa trên neo để chuyển sang phương pháp không neo. Lựa chọn thiết kế này đơn giản hóa quy trình đào tạo và loại bỏ nhu cầu điều chỉnh hộp neo thủ công, thường đòi hỏi tối ưu hóa theo phương pháp heuristic cụ thể cho từng miền.

Kiến trúc và các cải tiến chính

YOLOX tích hợp cấu trúc đầu tách rời , tách biệt các tác vụ phân loại và hồi quy. Sự tách biệt này cho phép mô hình học các đặc điểm riêng biệt để nhận dạng đối tượng so với vị trí của nó, dẫn đến hội tụ nhanh hơn và độ chính xác cao hơn. Ngoài ra, YOLOX sử dụng SimOTA , một chiến lược gán nhãn tiên tiến, tự động khớp các mẫu dương tính với các đối tượng thực tế, cải thiện độ tin cậy của mô hình trong các cảnh đông đúc.

Không neo so với có neo

Truyền thống YOLO Các mô hình (trước YOLOX) sử dụng "hộp neo" được xác định trước để dự đoán kích thước đối tượng. Phương pháp không neo của YOLOX dự đoán hộp giới hạn trực tiếp từ vị trí pixel, giảm số lượng siêu tham số và giúp mô hình có thể tổng quát hóa hơn với nhiều tập dữ liệu khác nhau.

Các trường hợp sử dụng và hạn chế

YOLOX vượt trội trong các tình huống cần triển khai mô hình trên nhiều nền tảng phần cứng khác nhau mà không cần tinh chỉnh siêu tham số phức tạp. Các biến thể nhẹ (Nano/Tiny) của nó rất phổ biến cho các ứng dụng di động. Tuy nhiên, hiệu suất tối đa của nó ở quy mô lớn hơn đã bị các kiến trúc mới hơn như YOLOv7 và YOLO11 , sử dụng mạng tổng hợp tính năng phức tạp hơn.

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

YOLOv7 : Nhà máy điện "Túi quà miễn phí"

Được phát hành một năm sau YOLOX, YOLOv7 đã giới thiệu một bộ cải cách kiến trúc nhằm tối ưu hóa quá trình đào tạo để tăng cường kết quả suy luận chỉ thông qua "túi quà tặng miễn phí có thể đào tạo được".

Kiến trúc và các cải tiến chính

Cốt lõi của YOLOv7 là Mạng Tổng hợp Lớp Hiệu quả Mở rộng (E-ELAN) . Kiến trúc này cho phép mạng học được nhiều tính năng đa dạng hơn bằng cách kiểm soát các đường dẫn gradient ngắn nhất và dài nhất, đảm bảo sự hội tụ hiệu quả cho các mạng rất sâu. Hơn nữa, YOLOv7 sử dụng các kỹ thuật mở rộng mô hình được thiết kế riêng cho các mô hình dựa trên phép nối, đảm bảo rằng việc tăng chiều sâu và chiều rộng của mô hình sẽ chuyển đổi tuyến tính thành hiệu suất tăng mà không làm giảm lợi nhuận.

YOLOv7 cũng sử dụng hiệu quả các đầu phụ trợ trong quá trình đào tạo để cung cấp sự giám sát từ thô đến chi tiết, một kỹ thuật cải thiện độ chính xác của đầu phát hiện chính mà không làm tăng thêm chi phí tính toán trong quá trình triển khai.

Các trường hợp sử dụng và hạn chế

Với tỷ lệ tốc độ-độ chính xác đặc biệt, YOLOv7 là ứng cử viên hàng đầu cho phân tích video thời gian thực và các tác vụ điện toán biên, nơi từng mili giây đều có giá trị. Nó đã vượt qua ranh giới của những gì có thể thực hiện được trên các tiêu chuẩn GPU phần cứng (như V100 và T4). Tuy nhiên, kiến trúc phức tạp của nó có thể khiến việc sửa đổi hoặc tinh chỉnh cho các tác vụ tùy chỉnh ngoài phạm vi phát hiện đối tượng tiêu chuẩn trở nên khó khăn.

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

Các Ultralytics Ưu điểm: Tại sao phải hiện đại hóa?

Trong khi YOLOX và YOLOv7 Mặc dù vẫn là những công cụ mạnh mẽ, lĩnh vực thị giác máy tính vẫn đang phát triển nhanh chóng. Các nhà phát triển và nhà nghiên cứu hiện đại ngày càng ưa chuộng hệ sinh thái Ultralytics với các mô hình như YOLO11YOLOv8 nhờ khả năng hỗ trợ toàn diện, thiết kế thống nhất và dễ sử dụng.

Trải nghiệm nhà phát triển được sắp xếp hợp lý

Một trong những rào cản lớn nhất của các mô hình cũ là sự phân mảnh của cơ sở mã. Ultralytics giải quyết vấn đề này bằng cách cung cấp một Python API và CLI hoạt động nhất quán trên tất cả các phiên bản mô hình. Bạn có thể chuyển đổi giữa phát hiện, phân đoạn hoặc phân loại chỉ bằng một dòng mã.

from ultralytics import YOLO

# Load a model (YOLO11 or YOLOv8)
model = YOLO("yolo11n.pt")  # or "yolov8n.pt"

# Run inference on an image
results = model("path/to/image.jpg")

# Export to ONNX for deployment
model.export(format="onnx")

Lợi ích chính của Ultralytics Các mô hình

  • Tính linh hoạt: Không giống như YOLOX và YOLOv7 , tập trung chủ yếu vào việc phát hiện, Ultralytics các mô hình hỗ trợ phân đoạn trường hợp , ước tính tư thế , phân loạiphát hiện đối tượng theo hướng (OBB) ngay khi cài đặt.
  • Hệ sinh thái được duy trì tốt: Các bản cập nhật thường xuyên đảm bảo khả năng tương thích với các phiên bản mới nhất của PyTorch , CUDA , Và Python . Cộng đồng năng động và tài liệu chi tiết giúp giảm thời gian gỡ lỗi các vấn đề về môi trường.
  • Cân bằng hiệu suất: Các mô hình như YOLO11 đại diện cho công nghệ tiên tiến nhất, mang lại độ chính xác vượt trội và độ trễ thấp hơn cả YOLOX và YOLOv7 . Chúng được tối ưu hóa để suy luận theo thời gian thực trên nhiều phần cứng khác nhau, từ thiết bị biên đến máy chủ đám mây.
  • Hiệu quả đào tạo: Ultralytics các mô hình được thiết kế để hội tụ nhanh hơn, tiết kiệm được giá trị GPU giờ. Có sẵn tạ được huấn luyện sẵn cho nhiều nhiệm vụ khác nhau, giúp việc học chuyển giao trở nên dễ dàng.
  • Yêu cầu về bộ nhớ: Các mô hình này được thiết kế để đạt hiệu quả, thường yêu cầu ít VRAM hơn trong quá trình đào tạo và suy luận so với các giải pháp thay thế dựa trên bộ biến đổi (như RT-DETR ), giúp chúng có thể truy cập được trên phần cứng dành cho người tiêu dùng.

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

Kết luận

Cả YOLOX và YOLOv7 đã khẳng định được vị thế của mình trong lịch sử thị giác máy tính. YOLOX đã dân chủ hóa phương pháp tiếp cận không cần neo, cung cấp một quy trình đơn giản, dễ hiểu và triển khai trên các thiết bị nhỏ. YOLOv7 đã vượt qua giới hạn hiệu suất, chứng minh rằng thiết kế kiến trúc hiệu quả có thể mang lại những cải tiến đáng kể về tốc độ và độ chính xác.

Tuy nhiên, đối với những người đang xây dựng các hệ thống AI cấp độ sản xuất hiện nay, khuyến nghị nghiêng nhiều về dòng sản phẩm Ultralytics YOLO . Với YOLO11 , bạn sẽ được tiếp cận một nền tảng linh hoạt, mạnh mẽ và thân thiện với người dùng, xử lý được sự phức tạp của MLOps , cho phép bạn tập trung giải quyết các vấn đề thực tế.

Khám Phá Các So Sánh Khác

Để hiểu rõ hơn về lựa chọn mô hình của bạn, hãy cân nhắc khám phá những so sánh liên quan sau:


Bình luận