Chuyển đến nội dung

YOLOv5 so với YOLOX: Sự thay đổi về kiến trúc và số liệu hiệu suất

Bối cảnh phát hiện đối tượng đã phát triển nhanh chóng, với nhiều kiến trúc khác nhau cạnh tranh để đạt được sự cân bằng tối ưu giữa tốc độ suy luận và độ chính xác phát hiện. Hai cột mốc quan trọng trong hành trình này là YOLOv5 , được phát triển bởi Ultralytics và YOLOX , một mô hình tập trung vào nghiên cứu từ Megvii. Mặc dù cả hai mô hình đều bắt nguồn từ dòng "Bạn Chỉ Nhìn Một Lần", nhưng chúng có sự khác biệt đáng kể về triết lý kiến trúc - cụ thể là về cơ chế phát hiện dựa trên neo so với cơ chế phát hiện không dựa trên neo.

So sánh này khám phá các thông số kỹ thuật, sự khác biệt về kiến trúc và số liệu hiệu suất của cả hai mô hình để giúp các nhà phát triển và nhà nghiên cứu chọn đúng công cụ cho các dự án thị giác máy tính của họ.

Ultralytics YOLOv5 : Tiêu chuẩn Kỹ thuật

Phát hành năm 2020, YOLOv5 nhanh chóng trở thành tiêu chuẩn công nghiệp cho việc phát hiện vật thể thực tế. Không giống như những công nghệ tiền nhiệm, chủ yếu là các dự án nghiên cứu học thuật, YOLOv5 được thiết kế tập trung vào khả năng sử dụng, dễ triển khai và hiệu suất thực tế. Nó đã giới thiệu một PyTorch - quy trình làm việc dựa trên nền tảng giúp đào tạo và triển khai các mô hình tùy chỉnh dễ tiếp cận hơn với nhiều đối tượng hơn.

YOLOv5 sử dụng kiến trúc dựa trên neo , sử dụng các hộp neo được xác định trước để dự đoán vị trí đối tượng. Nó tích hợp tính năng "AutoAnchor" cho phép phát triển hình dạng neo để phù hợp với các tập dữ liệu tùy chỉnh trước khi huấn luyện, đảm bảo sự hội tụ tối ưu. Mô hình này có xương sống CSPNet và cổ PANet, được tối ưu hóa cho việc trích xuất và tổng hợp tính năng nhanh chóng. Điểm mạnh chính của nó nằm ở tốc độ suy luận vượt trội và dung lượng bộ nhớ thấp, lý tưởng cho điện toán biên và các ứng dụng di động.

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

YOLOX: Đối thủ không cần neo

YOLOX, được Megvii phát hành vào năm 2021, đã tìm cách mở rộng ranh giới của YOLO gia đình bằng cách áp dụng thiết kế không có điểm neo . Phương pháp này loại bỏ nhu cầu sử dụng các hộp neo được xác định trước, thay vào đó là dự đoán trực tiếp tâm và kích thước của vật thể. Sự thay đổi này nhằm mục đích đơn giản hóa quy trình thiết kế và cải thiện khả năng khái quát hóa trên nhiều hình dạng vật thể khác nhau.

YOLOX giới thiệu kiến trúc đầu tách rời , tách nhiệm vụ phân loại và hồi quy thành các nhánh khác nhau. Về mặt lý thuyết, điều này cho phép mô hình học các biểu diễn đặc trưng riêng biệt để xác định đối tượng là so với vị trí của nó. Ngoài ra, nó sử dụng chiến lược gán nhãn nâng cao được gọi là SimOTA (Simplified Optimal Transport Assignment - Gán Vận chuyển Tối ưu Đơn giản hóa) để gán động các mẫu dương tính trong quá trình huấn luyện. Mặc dù những cải tiến này góp phần nâng cao độ chính xác, nhưng chúng thường đi kèm với độ phức tạp tính toán tăng lên.

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

Bạn đang tìm kiếm công nghệ mới nhất?

Trong khi YOLOv5 và YOLOX đại diện cho những bước tiến quan trọng trong lịch sử thị giác máy tính, lĩnh vực này phát triển nhanh chóng. YOLO11 , mô hình mới nhất từ Ultralytics , cung cấp độ chính xác và tốc độ vượt trội so với cả hai, có kiến trúc tinh vi hỗ trợ phát hiện, phân đoạn , ước tính tư thế, v.v.

Phân tích hiệu năng: Tốc độ so với độ chính xác

Khi so sánh YOLOv5 và YOLOX, sự đánh đổi thường tập trung vào độ trễ suy luận so với độ chính xác tuyệt đối. YOLOv5 được tối ưu hóa tỉ mỉ về tốc độ, đặc biệt là trên các bộ tăng tốc phần cứng sử dụng TensorRT và ONNX Thời gian chạy. Như được hiển thị trong dữ liệu bên dưới, YOLOv5 các mô hình chứng minh độ trễ thấp hơn đáng kể (tốc độ cao hơn) trên các kích thước mô hình tương đương.

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)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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ững Điểm Chính

  • Tốc độ suy luận: YOLOv5 nắm giữ lợi thế quyết định về tốc độ. Ví dụ, YOLOv5n đạt được TensorRT Độ trễ chỉ 1,12 ms , khiến nó đặc biệt phù hợp để xử lý video FPS cao trên các thiết bị biên như NVIDIA Jetson . Ngược lại, các mẫu YOLOX nhỏ nhất lại thiếu dữ liệu chuẩn so sánh cho CPU và của họ GPU độ trễ thường cao hơn đối với các cấp độ chính xác tương tự.
  • Độ chính xác ( mAP ): YOLOX có xu hướng đạt được điểm mAP cao hơn một chút trên COCO tập dữ liệu, đặc biệt là với các biến thể lớn hơn (YOLOX-x ở mức 51,1 so với YOLOv5x ở mức 50,7). Điều này là do thiết kế không neo và đầu tách rời, có thể xử lý tốt hơn các biến thể đối tượng. Tuy nhiên, lợi ích cận biên này thường phải trả giá bằng chi phí tính toán cao hơn đáng kể (FLOP).
  • Hiệu quả: YOLOv5 các mô hình thường yêu cầu ít FLOP hơn cho một tốc độ suy luận nhất định. Thiết kế đầu ghép nối của YOLOv5 thân thiện hơn với phần cứng, cho phép thực thi nhanh hơn trên cả CPU và GPU.

Tìm hiểu sâu về kiến trúc

Sự khác biệt cơ bản nằm ở cách mỗi mô hình tiếp cận vấn đề phát hiện.

YOLOv5 (Dựa trên neo): YOLOv5 sử dụng một tập hợp các hộp neo được xác định trước. Trong quá trình huấn luyện, mô hình sẽ học cách điều chỉnh các hộp này cho phù hợp với các đối tượng. Phương pháp này dựa trên mối tương quan giữa kích thước của đối tượng và kích thước ô lưới.

  • Ưu điểm: Đào tạo ổn định, phương pháp đã được thiết lập, hiệu suất tuyệt vời trên các tập dữ liệu chuẩn.
  • Nhược điểm: Yêu cầu điều chỉnh siêu tham số cho các mỏ neo trên các tập dữ liệu kỳ lạ (mặc dù YOLOv5 AutoAnchor sẽ giảm thiểu điều này).

YOLOX (Không neo): YOLOX xử lý việc phát hiện đối tượng như một bài toán hồi quy điểm. Nó dự đoán khoảng cách từ tâm ô lưới đến ranh giới của đối tượng.

  • Ưu điểm: Giảm số lượng tham số thiết kế (không cần điều chỉnh điểm neo), có khả năng khái quát hóa tốt hơn trên các tỷ lệ khung hình không đều.
  • Nhược điểm: Có thể chậm hội tụ hơn trong quá trình đào tạo và đầu tách rời sẽ thêm các lớp làm tăng độ trễ suy luận .

Trải nghiệm người dùng và hệ sinh thái

Một trong những đặc điểm nổi bật nhất của Ultralytics YOLOv5 là hệ sinh thái mạnh mẽ của nó. Mặc dù YOLOX cung cấp nền tảng học thuật vững chắc, YOLOv5 cung cấp một khuôn khổ sản phẩm sẵn sàng được thiết kế dành cho các nhà phát triển.

Dễ sử dụng

YOLOv5 nổi tiếng với sự đơn giản "từ đầu đến cuối". Từ chú thích dữ liệu đến đào tạo và triển khai mô hình, Ultralytics Hệ sinh thái này đơn giản hóa mọi bước. Mô hình có thể được tải chỉ với vài dòng mã và hỗ trợ tự động xuất sang các định dạng như TFLite , CoreMLONNX .

import torch

# Load a pretrained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")

# Print results
results.print()

Tính linh hoạt và bảo trì

Ultralytics Các mô hình không chỉ tập trung vào phát hiện. Khung này hỗ trợ phân loại hình ảnhphân đoạn thực thể , cung cấp một API thống nhất cho nhiều tác vụ. Tính linh hoạt này thường thiếu trong các kho lưu trữ dành riêng cho nghiên cứu như YOLOX, vốn chủ yếu tập trung vào phát hiện. Hơn nữa, việc bảo trì tích cực của Ultralytics đả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 Và CUDA , giảm thiểu tình trạng "mã bị hỏng" theo thời gian.

Các trường hợp sử dụng lý tưởng

  • Chọn Ultralytics YOLOv5 nếu như:

    • Bạn cần hiệu suất thời gian thực trên các thiết bị biên (Raspberry Pi, điện thoại di động).
    • Bạn ưu tiên sự dễ dàng triển khai và cần hỗ trợ tích hợp để xuất sang TensorRT , CoreML , hoặc TFLite .
    • Bạn thích một khuôn khổ ổn định, được ghi chép đầy đủ với sự hỗ trợ tích cực từ cộng đồng.
    • Ứng dụng của bạn liên quan đến giám sát an ninh hoặc điều hướng tự động, trong đó độ trễ thấp là rất quan trọng.
  • Chọn YOLOX nếu:

    • Bạn đang tiến hành nghiên cứu học thuật cụ thể về kiến trúc không có mỏ neo .
    • Bạn yêu cầu mức tối đa tuyệt đối mAP cho một cuộc thi hoặc chuẩn mực, bất kể tốc độ suy luận.
    • Bạn có một tập dữ liệu chuyên biệt trong đó các phương pháp dựa trên mỏ neo đã chứng minh là không thành công (ví dụ: tỷ lệ khung hình cực đại) và AutoAnchor không giải quyết được vấn đề.

Kết luận

Cả hai YOLOv5 và YOLOX đã giành được vị trí của mình trong lịch sử của thị giác máy tính. YOLOX đã chứng minh tính khả thi của các máy dò không có neo trong YOLO gia đình, cung cấp nền tảng vững chắc cho nghiên cứu học thuật. Tuy nhiên, đối với phần lớn các ứng dụng thực tế, Ultralytics YOLOv5 vẫn là lựa chọn vượt trội nhờ tốc độ, hiệu quả vượt trội và hệ sinh thái thân thiện với nhà phát triển.

Đối với những người bắt đầu các dự án mới ngày hôm nay, chúng tôi thực sự khuyên bạn nên khám phá YOLO11 . Nó được xây dựng dựa trên thế mạnh của YOLOv5 —dễ sử dụng và tốc độ—trong khi tích hợp những tiến bộ kiến trúc hiện đại vượt trội cả hai YOLOv5 và YOLOX về độ chính xác và tính linh hoạt.

So sánh các mô hình khác

Khám phá cách Ultralytics các mô hình so sánh với các kiến trúc khác trong lĩnh vực này:


Bình luận