YOLOv6 -3.0 so với YOLOX: Khám phá sâu hơn về tốc độ công nghiệp và độ chính xác không cần neo
Việc lựa chọn kiến trúc phát hiện đối tượng tối ưu là một quyết định quan trọng ảnh hưởng đến hiệu quả và khả năng của các hệ thống thị giác máy tính. Bài so sánh kỹ thuật này xem xét YOLOv6 và YOLOX , hai mô hình có ảnh hưởng lớn đã định hình bối cảnh phát hiện thời gian thực. Chúng tôi phân tích những cải tiến về kiến trúc, các chỉ số hiệu suất chuẩn và tính phù hợp của chúng cho các tình huống triển khai khác nhau.
YOLOv6 -3.0: Được thiết kế để đạt hiệu quả 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 : YOLOv6 v3.0: Tải lại toàn diện
GitHub : meituan/ YOLOv6
Tài liệu : Tài liệu Ultralytics YOLOv6
Được phát triển bởi Phòng AI Tầm nhìn tại Meituan, YOLOv6 Phiên bản 3.0 được thiết kế đặc biệt cho các ứng dụng công nghiệp, nơi tài nguyên phần cứng thường bị hạn chế, nhưng tốc độ thời gian thực là không thể thương lượng. Phiên bản này tập trung vào việc tối đa hóa thông lượng của các đường ống phát hiện đối tượng trên các hệ thống tiêu chuẩn. GPU phần cứng.
Kiến trúc và các tính năng chính
YOLOv6 -3.0 giới thiệu một loạt "túi quà tặng miễn phí" để tăng độ chính xác mà không làm tăng chi phí suy luận.
- Backbone có thể tham số hóa: Sử dụng xương sống EfficientRep cho phép cấu trúc phức tạp, nhiều nhánh trong quá trình đào tạo (ghi lại các tính năng phong phú) có thể thu gọn thành cấu trúc đường dẫn đơn giản, nhanh chóng trong quá trình suy luận.
- Đào tạo hỗ trợ neo (AAT): Trong khi mô hình hoạt động như một bộ phát hiện không có neo trong quá trình suy luận, nó sử dụng các nhánh phụ dựa trên neo trong quá trình đào tạo để ổn định sự hội tụ và cải thiện hiệu suất.
- Tự chưng cất: Một kỹ thuật chưng cất kiến thức trong đó mô hình học sinh học hỏi từ các dự đoán của mô hình giáo viên, tinh chỉnh độ chính xác của nó mà không phụ thuộc vào bên ngoài.
Điểm mạnh và Điểm yếu
Sức mạnh chính của YOLOv6 -3.0 nằm ở khả năng tối ưu hóa độ trễ . Nó đạt được tốc độ suy luận vượt trội trên NVIDIA GPU khi được tối ưu hóa với TensorRT , khiến nó trở thành ứng cử viên sáng giá cho tự động hóa nhà máy thông lượng cao và giám sát thành phố thông minh . Hơn nữa, việc hỗ trợ đào tạo nhận biết lượng tử hóa (QAT) giúp triển khai đến các thiết bị biên với yêu cầu độ chính xác thấp hơn.
Tuy nhiên, mô hình này có phần chuyên biệt. Nó thiếu tính linh hoạt đa nhiệm vốn có trong các khuôn khổ rộng hơn, gần như chỉ tập trung vào phát hiện. Hơn nữa, hệ sinh thái của nó, mặc dù mạnh mẽ, nhưng lại nhỏ hơn cộng đồng xung quanh. Ultralytics các mô hình, có khả năng hạn chế tính khả dụng của các hướng dẫn của bên thứ ba và trọng số được đào tạo trước cho các tập dữ liệu thích hợp.
YOLOX: Sự đơn giản và đổi mới không có mỏ neo
Tác giả : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
Tổ chức : Megvii
Ngày : 2021-07-18
Arxiv : YOLOX: Vượt qua chuỗi YOLO năm 2021
GitHub : Megvii-BaseDetection/YOLOX
Tài liệu : Tài liệu YOLOX
YOLOX đại diện cho một sự thay đổi mô hình bằng cách đưa các máy dò không có mỏ neo vào dòng chính YOLO dòng dõi. Bằng cách loại bỏ nhu cầu về các hộp neo được xác định trước, nó đã đơn giản hóa quá 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 đối tượng khác nhau.
Kiến trúc và các tính năng chính
YOLOX tích hợp một số kỹ thuật tiên tiến để tăng hiệu suất trong khi vẫn duy trì kiến trúc sạch:
- Đầu tách rời: Không giống như trước đây YOLO Các phiên bản sử dụng đầu ghép nối (chia sẻ các tính năng để phân loại và định vị), YOLOX tách biệt các nhiệm vụ này, dẫn đến hội tụ nhanh hơn và độ chính xác cao hơn.
- Gán nhãn SimOTA: Một chiến lược gán nhãn động tiên tiến coi quá trình đào tạo như một bài toán vận chuyển tối ưu , tự động gán các mẫu dương tính cho dữ liệu thực tế theo cách giảm thiểu chi phí.
- Tăng cường mạnh mẽ: Sử dụng nhiều tăng cường MixUp và Mosaic, cho phép mô hình học các tính năng mạnh mẽ ngay cả khi không có xương sống được đào tạo trước.
Điểm mạnh và Điểm yếu
YOLOX vượt trội về độ chính xác và tính linh hoạt trong nghiên cứu. Tính chất không cần neo của nó đặc biệt hiệu quả trong việc phát hiện các vật thể có tỷ lệ khung hình bất thường, thường vượt trội hơn các thiết bị tương đương dựa trên neo trong các tình huống này. Mô hình YOLOX-Nano cũng đặc biệt nhẹ (dưới 1M tham số), lý tưởng cho các bộ vi điều khiển công suất cực thấp.
Mặt hạn chế là YOLOX có thể tốn kém hơn về mặt tính toán xét về FLOP so với các mô hình mới hơn như YOLOv6 hoặc YOLO11 cho cùng một mức độ chính xác. Quy trình đào tạo của nó, mặc dù hiệu quả, có thể chậm hơn do các phép tính gán nhãn động phức tạp và thường yêu cầu nhiều hơn GPU bộ nhớ trong quá trình đào tạo so với bộ nhớ được tối ưu hóa cao Ultralytics triển khai.
So sánh hiệu suất: Số liệu và phân tích
Bảng sau đây trình bày sự so sánh trực tiếp các số liệu hiệu suất chính trên tập dữ liệu COCO .
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6 -3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6 -3.0 giây | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6 -3,0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6 -3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Phân tích
Dữ liệu làm nổi bật sự khác biệt rõ ràng trong triết lý thiết kế. YOLOv6 -3.0 chiếm ưu thế về hiệu quả nhận thức phần cứng. Ví dụ, YOLOv6-3.0n đạt được thời gian suy luận cực nhanh 1,17ms trên GPU T4, nhanh hơn đáng kể so với các điểm chuẩn thông thường cho các mẫu cùng loại. YOLOv6-3.0l cũng vượt qua mô hình YOLOX lớn nhất (YOLOXx) về độ chính xác (52,8 so với 51,1 mAP ) trong khi sử dụng gần một nửa Thất bại.
YOLOX, ngược lại, chiến thắng ở hạng mục siêu nhẹ. YOLOXnano là các tham số dưới 1 triệu, một kỳ tích mà ít máy dò hiện đại nào có thể đạt được, khiến nó trở nên đặc biệt phù hợp cho các ứng dụng IoT cụ thể, nơi lưu trữ bộ nhớ là điểm nghẽn chính chứ không phải tốc độ tính toán. Tuy nhiên, đối với mục đích phát hiện chung, YOLOX thường yêu cầu nhiều tham số hơn để có độ chính xác tương đương. YOLOv6 .
Cân nhắc về phần cứng
Nếu mục tiêu triển khai của bạn là một hiện đại NVIDIA GPU (ví dụ: Jetson Orin, T4, A100), YOLOv6 -3.0 có khả năng cung cấp thông lượng tốt hơn nhờ nền tảng chuyên biệt của nó. Nếu bạn đang nhắm mục tiêu đến một CPU hoặc hệ thống nhúng cũ có giới hạn lưu trữ rất chặt chẽ, YOLOX Nano có thể phù hợp hơn.
Lợi thế của Ultralytics: Tại sao nên chọn YOLO11?
Trong khi YOLOv6 và YOLOX cung cấp các giải pháp mạnh mẽ cho các phân khúc cụ thể, Ultralytics YOLO11 đại diện cho đỉnh cao của nghiên cứu tiên tiến, mang lại sự cân bằng vượt trội về tốc độ, độ chính xác và khả năng sử dụng cho đại đa số các nhà phát triển.
Tính linh hoạt và hệ sinh thái vô song
Không giống như các đối thủ cạnh tranh thường chỉ tập trung vào việc phát hiện hộp giới hạn, YOLO11 cung cấp hỗ trợ gốc cho nhiều tác vụ thị giác máy tính , bao gồm Phân đoạn thực thể , Ước tính tư thế , Phát hiện đối tượng định hướng (OBB) và Phân loại . Điều này cho phép các nhà phát triển giải quyết các vấn đề phức tạp, nhiều giai đoạn chỉ bằng một khuôn khổ duy nhất.
Hơn nữa, hệ sinh thái Ultralytics được duy trì tích cực, đảm bảo khả năng tương thích với các công nghệ mới nhất Python các phiên bản, PyTorch các bản cập nhật và mục tiêu triển khai như CoreML , OpenVINO và ONNX .
Hiệu quả và dễ sử dụng
YOLO11 được thiết kế để đào tạo hiệu quả , thường yêu cầu ít hơn GPU bộ nhớ hơn các giải pháp thay thế dựa trên máy biến áp (như RT-DETR ) hoặc cũ hơn YOLO phiên bản. Điều này cho phép các nhà nghiên cứu đào tạo các mô hình lớn hơn trên phần cứng cấp tiêu dùng. Python API được thiết kế đơn giản, cho phép người dùng chuyển từ cài đặt sang suy luận chỉ trong vài dòng mã:
from ultralytics import YOLO
# Load the YOLO11 model (n, s, m, l, or x)
model = YOLO("yolo11n.pt")
# Perform inference on an image
results = model("path/to/image.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Cân bằng hiệu suất thực tế
Các điểm chuẩn liên tục cho thấy rằng YOLO11 đạt được điểm mAP cao hơn ở tốc độ suy luận tương đương hoặc nhanh hơn cả hai YOLOv6 và YOLOX. Hiệu suất "tối ưu Pareto" này khiến nó trở thành lựa chọn được khuyến nghị cho các ứng dụng từ xe tự hành đến phân tích hình ảnh y tế .
Kết luận
Khi so sánh YOLOv6 -3.0 và YOLOX , sự lựa chọn phụ thuộc rất nhiều vào các ràng buộc cụ thể của bạn. YOLOv6 -3.0 là lựa chọn phù hợp cho các ứng dụng công nghiệp nghiêm ngặt GPU triển khai trong đó độ trễ ở mức mili giây là rất quan trọng. YOLOX vẫn là lựa chọn đáng tin cậy cho nghiên cứu về kiến trúc không cần neo và cho các môi trường lưu trữ cực kỳ hạn chế thông qua mô hình Nano của mình.
Tuy nhiên, đối với các nhà phát triển đang tìm kiếm một giải pháp bền vững với hiệu suất hàng đầu cùng nền tảng giàu tính năng, dễ sử dụng, Ultralytics YOLO11 chắc chắn là lựa chọn hàng đầu. Khả năng xử lý liền mạch nhiều tác vụ, cùng với tài liệu hướng dẫn chi tiết và hỗ trợ triển khai rộng rãi, giúp đẩy nhanh vòng đời phát triển từ ý tưởng đến sản xuất.
Khám phá các so sánh khác để xem cách Ultralytics các mô hình so sánh với RT-DETR hoặc YOLOv7 .