Chuyển đến nội dung

YOLOX so với YOLOv6 -3.0: So sánh kỹ thuật

Việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là một quyết định quan trọng đối với các nhà phát triển và nhà nghiên cứu, những người mong muốn cân bằng giữa hiệu suất, tốc độ và hiệu quả tính toán. Bài so sánh toàn diện này khám phá những điểm khác biệt về mặt kỹ thuật giữa YOLOX , một bộ phát hiện không cần neo hiệu suất cao của Megvii, và YOLOv6 , một nền tảng công nghiệp do Meituan phát triển. Bằng cách phân tích kiến trúc, điểm chuẩn và phương pháp đào tạo của chúng, chúng tôi mong muốn hướng dẫn bạn đến mô hình tốt nhất cho các ứng dụng thị giác máy tính cụ thể của bạn.

YOLOX: Kết nối nghiên cứu và công nghiệp

Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
Tổ chức: Megvii
Ngày: 18-07-2021
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Tài liệu: https://yolox.readthedocs.io/en/latest/

Được phát hành vào năm 2021, YOLOX đại diện cho một sự thay đổi đáng kể trong YOLO dòng dõi bằng cách áp dụng cơ chế không neo và tích hợp các kỹ thuật phát hiện tiên tiến trước đây chỉ dành cho nghiên cứu học thuật. Bằng cách loại bỏ sự phụ thuộc vào các hộp neo được xác định trước, YOLOX đã đơn giản hóa quy trình đào tạo 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.

Kiến trúc và các tính năng chính

YOLOX nổi bật với kiến trúc "đầu tách rời". Không giống như các sản phẩm truyền thống YOLO Các mô hình kết hợp nhiệm vụ phân loại và định vị trong một nhánh duy nhất, YOLOX tách chúng ra, giúp cải thiện đáng kể tốc độ hội tụ và độ chính xác. Nó sử dụng chiến lược gán nhãn SimOTA (Simplified Optimal Transport Assignment), tự động gán các mẫu dương cho các đối tượng thực tế , giảm thiểu sự bất ổn định trong quá trình huấn luyện.

Thiết kế không có neo

YOLOX loại bỏ nhu cầu phân cụm hộp neo thủ công, một bước phổ biến trong các YOLO phiên bản. Điều này làm giảm số lượng siêu tham số kinh nghiệm và lựa chọn thiết kế liên quan đến đào tạo, giúp mô hình mạnh mẽ hơn với nhiều tập dữ liệu khác nhau mà không cần điều chỉnh nhiều.

Điểm mạnh và Điểm yếu

Điểm mạnh:

  • Độ chính xác cao: Đầu tách rời và gán nhãn nâng cao cho phép YOLOX đạt được điểm Độ chính xác trung bình ( mAP ) cạnh tranh, đặc biệt là trên tập dữ liệu COCO .
  • Tính linh hoạt trong nghiên cứu: Thiết kế đơn giản của nó khiến nó trở thành cơ sở tuyệt vời cho các nhà nghiên cứu thử nghiệm các đầu dò hoặc chiến lược phân công mới.
  • Phát hiện vật thể nhỏ: Phương pháp không có điểm neo đôi khi có thể mang lại hiệu suất tốt hơn đối với các vật thể nhỏ so với các hệ thống dựa trên điểm neo cứng.

Điểm yếu:

  • Độ trễ suy luận: Mặc dù chính xác, đầu tách rời tạo ra một chút chi phí tính toán, thường dẫn đến tốc độ suy luận chậm hơn so với các mô hình công nghiệp được tối ưu hóa hoàn toàn như YOLOv6 .
  • Độ trưởng thành của hệ sinh thái: Mặc dù mã là mã nguồn mở, nhưng hệ sinh thái của các công cụ của bên thứ ba, hướng dẫn triển khai và hỗ trợ cộng đồng lại nhỏ hơn so với Ultralytics YOLOv8 hoặc YOLOv5 .

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

YOLOX đặc biệt phù hợp với nghiên cứu học thuật và các tình huống mà độ chính xác được ưu tiên hơn tốc độ suy luận thô.

  • Chụp ảnh y tế: Phân tích các cấu trúc phức tạp trong phân tích hình ảnh y tế, trong đó độ chính xác là tối quan trọng.
  • Phát hiện lỗi: xác định những bất thường nhỏ trong quá trình sản xuất, nếu bỏ sót sẽ rất tốn kém.
  • Thí nghiệm học thuật: Đóng vai trò là cơ sở sạch, không có điểm neo để phát triển các thuật toán thị giác máy tính mới.

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

YOLOv6 -3.0: Được thiết kế cho tốc độ công nghiệp

Tác giả: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, và Xiangxiang Chu
Tổ chức: Meituan
Ngày: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/ YOLOv6
Tài liệu: https://docs. ultralytics .com/models/yolov6/

YOLOv6 -3.0 là một bộ phát hiện vật thể chuyên dụng được thiết kế cho các ứng dụng công nghiệp thực tế. Bản cập nhật "3.0", được gọi là "Nạp lại toàn diện", đã giới thiệu những cải tiến đáng kể về kiến trúc để tối đa hóa thông lượng trên phần cứng như NVIDIA GPU.

Kiến trúc và các tính năng chính

Cốt lõi của YOLOv6 -3.0 là việc sử dụng tham số hóa lại mạnh mẽ. Mô hình sử dụng xương sống EfficientRep và cổ Rep-PAN, cho phép mạng có các cấu trúc phức tạp, nhiều nhánh trong quá trình huấn luyện nhưng lại bị thu gọn thành các cấu trúc đơn giản, đường dẫn duy nhất trong quá trình suy luận . Phương pháp "kiểu RepVGG" này đảm bảo khả năng trích xuất tính năng cao mà không bị ảnh hưởng bởi độ trễ thời gian chạy của việc phân nhánh phức tạp.

Ngoài ra, YOLOv6 -3.0 sử dụng phương pháp Huấn luyện hỗ trợ neo (AAT) , kết hợp lợi ích của mô hình có neo và không có neo để ổn định quá trình huấn luyện và đẩy nhanh quá trình hội tụ.

Điểm mạnh và Điểm yếu

Điểm mạnh:

  • Tốc độ đặc biệt: Được tối ưu hóa cho TensorRT , YOLOv6 -3.0 mang lại độ trễ cực thấp, lý tưởng cho các ứng dụng có fps cao.
  • Sẵn sàng triển khai: Các tính năng như hỗ trợ lượng tử hóa mô hình giúp triển khai dễ dàng hơn trên các thiết bị biên và máy chủ.
  • Hiệu quả: Kỹ thuật tham số hóa lại mang lại sự cân bằng tuyệt vời giữa FLOP và độ chính xác.

Điểm yếu:

  • Cường độ tài nguyên đào tạo: Kiến trúc thời gian đào tạo phức tạp (trước khi tham số hóa lại) có thể yêu cầu bộ nhớ GPU đáng kể so với các mô hình đơn giản hơn.
  • Phạm vi nhiệm vụ hạn chế: YOLOv6 chủ yếu tập trung vào phát hiện. Nó thiếu hỗ trợ tích hợp gốc cho các tác vụ khác như ước tính tư thế hoặc Hộp giới hạn định hướng (OBB) trong cùng một API liền mạch được tìm thấy trong Ultralytics lễ vật.

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

YOLOv6 -3.0 phát huy hiệu quả trong môi trường đòi hỏi tốc độ suy luận thời gian thực nghiêm ngặt.

  • Robot tự động: Cho phép robot điều hướng và phản ứng tức thời với môi trường động.
  • Kiểm tra dây chuyền sản xuất: Kiểm tra chất lượng tốc độ cao trên các băng chuyền sản xuất nơi không thể ảnh hưởng đến năng suất.
  • Phân tích video: Xử lý nhiều luồng video cùng lúc cho hệ thống báo động an ninh .

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

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

Việc so sánh các số liệu hiệu suất trên tập dữ liệu COCO cho thấy các triết lý thiết kế riêng biệt. YOLOX cung cấp một kiến trúc đơn giản hóa với độ chính xác đáng nể, trong khi YOLOv6 -3.0 mở rộng ranh giới tốc độ suy luận thông qua tối ưu hóa cấu trúc.

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
YOLOv6 -3.0n64037.5-1.174.711.4
YOLOv6 -3.0 giây64045.0-2.6618.545.3
YOLOv6 -3,0m64050.0-5.2834.985.8
YOLOv6 -3.0l64052.8-8.9559.6150.7

Dữ liệu làm nổi bật rằng YOLOv6 -3.0n nhanh hơn đáng kể trên GPU phần cứng (1,17 ms so với 2,56 ms của YOLOX) trong khi vẫn duy trì một mAP Đối với các thiết bị hạn chế tài nguyên, nơi mà mỗi megabyte đều có giá trị, YOLOXnano vẫn là một lựa chọn đáng cân nhắc với thông số dưới 1M, mặc dù độ chính xác của nó thấp hơn. Ở mức cao hơn, YOLOv6 -3.0l vượt trội hơn YOLOXx về cả độ chính xác (52,8 so với 51,1 mAP ) và hiệu quả, sử dụng ít hơn khoảng 40% tham số.

Phương pháp luận đào tạo và Hệ sinh thái

Trải nghiệm của người dùng khi đào tạo các mô hình này có sự khác biệt đáng kể.

YOLOX dựa vào các kỹ thuật tăng cường dữ liệu mạnh mẽ như Mosaic và MixUp để đạt được kết quả mà không cần tạ đã được huấn luyện trước. Chương trình đào tạo của nó hướng đến nghiên cứu, mang lại sự linh hoạt cho những người đã quen thuộc sâu sắc với PyTorch cấu hình.

YOLOv6 -3.0 sử dụng phương pháp tự chưng cất, trong đó một mô hình giáo viên lớn hơn sẽ hướng dẫn mô hình học viên trong quá trình huấn luyện, nâng cao độ chính xác của các mô hình nhỏ hơn mà không làm tăng chi phí suy luận. Phương pháp này rất mạnh mẽ nhưng lại làm tăng độ phức tạp cho quá trình huấn luyện.

Tuy nhiên, các nhà phát triển ưu tiên quy trình làm việc hợp lý thường thấy hệ sinh thái Ultralytics vượt trội hơn. Không giống như các công cụ phân mảnh thường thấy ở các mô hình nghiên cứu độc lập, Ultralytics cung cấp một nền tảng thống nhất.

  • Dễ sử dụng: Một cách đơn giản Python API cho phép đào tạo, xác thực và suy luận chỉ trong một vài dòng mã.
  • 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à xuất các định dạng như ONNXOpenVINO .
  • Hiệu quả đào tạo: Ultralytics các mô hình được tối ưu hóa để sử dụng bộ nhớ hiệu quả, thường đào tạo nhanh hơn và ít tốn kém hơn GPU bộ nhớ hơn so với các kiến trúc dựa trên máy biến áp tương đương.

Ultralytics Dễ sử dụng

Đào tạo một mô hình tiên tiến với Ultralytics đơn giản như sau:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Kết luận: Các Ultralytics Lợi thế

Trong khi YOLOX cung cấp một thiết kế không có mỏ neo sáng tạo phù hợp cho nghiên cứu và YOLOv6 -3.0 mang lại tốc độ ấn tượng cho phần cứng công nghiệp cụ thể, Ultralytics YOLO11 đại diện cho đỉnh cao của công nghệ thị giác máy tính hiện tại.

YOLO11 và YOLOv8 đã được thiết lập cung cấp sự cân bằng hiệu suất vượt trội , đạt được trình độ tiên tiến mAP điểm số với tốc độ suy luận đáng chú ý trên CPU Và GPU giống nhau. Không giống như các đối thủ cạnh tranh chủ yếu giới hạn ở khả năng phát hiện, Ultralytics các mô hình cung cấp tính linh hoạt vô song, hỗ trợ sẵn có:

Dành cho các nhà phát triển đang tìm kiếm giải pháp bền vững trong tương lai được hỗ trợ bởi sự phát triển tích cực, tài liệu toàn diện và cộng đồng phát triển mạnh mẽ, Ultralytics vẫn là lựa chọn được khuyến nghị để đưa dự án từ ý tưởng đến sản xuất.

Để tìm hiểu thêm về các so sánh, hãy cân nhắc đọc về YOLOv5 so với YOLOv6 hoặc YOLO11 so với RT-DETR .


Bình luận