Chuyển đến nội dung

YOLOX so với... YOLOv6 -3.0: Hướng dẫn toàn diện về phát hiện vật thể không cần neo và trong công nghiệp

Sự phát triển của thị giác máy tính phần lớn được định hình bởi những tiến bộ nhanh chóng trong... YOLO loạt bài. Việc lựa chọn kiến ​​trúc phù hợp cho việc triển khai thường phụ thuộc vào việc cân bằng giữa thông lượng thô, sự đơn giản về kiến ​​trúc và hiệu quả đào tạo. Hai cột mốc đáng chú ý trong hành trình này là trọng tâm nghiên cứu không cần neo của YOLOX và thông lượng công nghiệp được tối ưu hóa cao của YOLOv6 -3.0.

Bản so sánh kỹ thuật này phân tích chi tiết sự khác biệt về kiến ​​trúc, các chỉ số hiệu năng và các trường hợp sử dụng lý tưởng của chúng, đồng thời giới thiệu các khả năng thế hệ tiếp theo của Ultralytics YOLO26 dành cho các nhà phát triển đang tìm kiếm giải pháp triển khai điện toán biên và đám mây tối ưu.

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

Được phát triển bởi các nhà nghiên cứu tại Megvii, YOLOX được giới thiệu như một sự thay đổi lớn nhằm đơn giản hóa kiến trúc YOLO bằng cách làm cho nó hoàn toàn không có anchor.

Điểm nổi bật về kiến trúc

YOLOX đã tích hợp thành công thiết kế không cần neo vào sản phẩm. YOLO Bằng cách loại bỏ các hộp neo được xác định trước, mô hình giảm đáng kể số lượng tham số thiết kế và điều chỉnh theo kinh nghiệm cần thiết trong quá trình huấn luyện. Điều này giúp YOLOX có khả năng thích ứng cao với nhiều tập dữ liệu tùy chỉnh khác nhau mà không cần tính toán lại neo thủ công.

Hơn nữa, YOLOX đã giới thiệu kiến ​​trúc đầu phân tách. Bằng cách tách biệt các nhiệm vụ phân loại và hồi quy thành các nhánh khác nhau, mô hình giải quyết được mâu thuẫn vốn có giữa việc xác định đối tượng là vị trí của nó. Kết hợp với chiến lược gán nhãn SimOTA, YOLOX đạt được sự hội tụ nhanh hơn và cải thiện độ chính xác trung bình ( mAP ) .

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

Lợi thế không neo

Các bộ detect không neo như YOLOX thường hoạt động tốt hơn trên các tập dữ liệu tùy chỉnh với tỷ lệ khung hình đối tượng bất thường vì chúng không dựa vào các priors hộp giới hạn cố định có thể không khớp với dữ liệu mới.

YOLOv6-3.0: Ông hoàng công nghiệp

Được phát triển bởi Bộ phận AI Thị giác tại Meituan, YOLOv6-3.0 được thiết kế không khoan nhượng để đạt thông lượng công nghiệp tối đa, đặc biệt trên các GPU NVIDIA sử dụng các bộ tăng tốc phần cứng như TensorRT.

  • Tác giả: Chuyi Li, Lulu Li, Yifei Geng, et al.
  • Tổ chức: Meituan
  • Ngày: 2023-01-13
  • Arxiv:2301.05586
  • GitHub:meituan/YOLOv6

Tối ưu hóa cho việc triển khai

YOLOv6 - Phiên bản 3.0 tập trung vào việc tối đa hóa khả năng sử dụng GPU . Nó giới thiệu mô-đun Ghép nối hai chiều (Bi-directional Concatenation - BiC) ở phần cổ để tăng cường khả năng kết hợp đặc trưng trong khi vẫn duy trì tốc độ suy luận cao. Mặc dù giai đoạn suy luận hoàn toàn không cần điểm neo (anchor-free), YOLOv6 -3.0 sử dụng chiến lược Huấn luyện Hỗ trợ Neo (Anchor-Aided Training - AAT) tiên tiến để tận dụng sự ổn định dựa trên neo trong giai đoạn huấn luyện.

Hệ thống xương sống được xây dựng bằng kiến ​​trúc EfficientRep thân thiện với phần cứng, được thiết kế có chủ đích để giảm thiểu chi phí truy cập bộ nhớ và tối đa hóa mật độ tính toán trên các bộ tăng tốc hiện đại. Điều này giúp YOLOv6 Một ứng cử viên xuất sắc cho phân tích video phía máy chủ.

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

So sánh hiệu suất

Khi so sánh các mô hình này, các nhà phát triển phải cân nhắc giữa độ chính xác thô với tốc độ suy luận và số lượng tham số. Bảng sau đây nêu bật hiệu suất của cả hai nhóm mô hình trên các kích thước khác nhau.

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)
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.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Trong khi YOLOv6 -3.0 thể hiện sự vượt trội mAP và xuất sắc TensorRT Với tốc độ xử lý nhanh hơn đối với các phiên bản lớn hơn, YOLOX vẫn duy trì tính cạnh tranh cao nhờ sự đơn giản và hiệu năng mạnh mẽ trên phần cứng cũ.

Các trường hợp sử dụng và Khuyến nghị

Việc lựa chọn giữa YOLOX và YOLOv6 phụ thuộc vào các yêu cầu dự án cụ thể, các ràng buộc triển khai và sở thích hệ sinh thái của bạn.

Khi nào nên chọn YOLOX

YOLOX là một lựa chọn tuyệt vời cho:

  • Nghiên cứu detect không Anchor: Nghiên cứu học thuật sử dụng kiến trúc không anchor, gọn gàng của YOLOX làm cơ sở để thử nghiệm các đầu detect mới hoặc hàm mất mát.
  • Thiết bị biên siêu nhẹ: Triển khai trên vi điều khiển hoặc phần cứng di động cũ, nơi dấu chân cực nhỏ của biến thể YOLOX-Nano (0.91M tham số) là rất quan trọng.
  • Nghiên cứu gán nhãn SimOTA: Các dự án nghiên cứu điều tra các chiến lược gán nhãn dựa trên vận chuyển tối ưu và tác động của chúng đến sự hội tụ huấn luyện.

Khi nào nên chọn YOLOv6

YOLOv6 được khuyến nghị cho:

  • Triển khai công nghiệp nhận biết phần cứng: Các kịch bản mà thiết kế nhận biết phần cứng và tái tham số hóa hiệu quả của mô hình mang lại hiệu suất tối ưu trên phần cứng mục tiêu cụ thể.
  • Phát hiện một giai đoạn nhanh: Các ứng dụng ưu tiên tốc độ suy luận thô trên GPU để xử lý video thời gian thực trong môi trường được kiểm soát.
  • Tích hợp hệ sinh thái Meituan: Các nhóm đã làm việc trong ngăn xếp công nghệ và cơ sở hạ tầng triển khai của Meituan.

Khi nào nên lựa chọn Ultralytics (YOLO26)

Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:

  • Triển khai biên không NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của xử lý hậu kỳ Non-Maximum Suppression.
  • Môi trường chỉ có CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Detect đối tượng nhỏ: Các kịch bản đầy thách thức như hình ảnh từ máy bay không người lái hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các đối tượng rất nhỏ.

Lợi thế của Ultralytics

Mặc dù cả Megvii và Meituan đều cung cấp các kho dữ liệu nghiên cứu mạnh mẽ, việc triển khai các mô hình này vào thực tế thường đòi hỏi chi phí kỹ thuật đáng kể. Hệ sinh thái tích hợp Ultralytics loại bỏ những trở ngại này bằng cách cung cấp một API thống nhất, được tài liệu hóa đầy đủ.

Bằng cách tận dụng gói Ultralytics, các nhà phát triển có được trải nghiệm người dùng tuyệt vời. Điều này bao gồm tự động tăng cường dữ liệu tích hợp, quản lý bộ nhớ hiệu quả cao trong quá trình huấn luyện (giảm đáng kể yêu cầu VRAM so với các mô hình transformer như RTDETR), và các pipeline xuất liền mạch sang các định dạng như ONNXOpenVINO.

Không giống như các mô hình chuyên dụng, Ultralytics Các kiến ​​trúc này vốn dĩ rất linh hoạt, hỗ trợ ngay từ đầu các chức năng như Phát hiện đối tượng , Phân đoạn đối tượng , Ước tính tư thế , Phân loại hình ảnh và Hộp giới hạn định hướng (OBB) .

Giới thiệu YOLO26: Giải pháp cạnh tối ưu

Đối với các nhóm bắt đầu các dự án thị giác máy tính mới, chúng tôi đặc biệt khuyên bạn nên nâng cấp lên Ultralytics YOLO26 mới phát hành. Dựa trên những thành công của YOLO11YOLOv8 , YOLO26 giới thiệu những cải tiến mang tính đột phá:

  • Thiết kế NMS-Free End-to-End: Lần đầu tiên được khám phá trong YOLOv10, YOLO26 tự nhiên loại bỏ nhu cầu xử lý hậu kỳ Non-Maximum Suppression (NMS). Điều này đảm bảo suy luận có độ trễ cực thấp, mang tính xác định, rất quan trọng đối với robot thời gian thực.
  • Trình tối ưu hóa MuSGD: Lấy cảm hứng từ các kỹ thuật huấn luyện LLM như Kimi K2 của Moonshot AI, YOLO26 sử dụng trình tối ưu hóa MuSGD (sự kết hợp giữa SGD và Muon) để đạt được động lực huấn luyện cực kỳ ổn định và hội tụ nhanh hơn.
  • Suy luận CPU nhanh hơn tới 43%: Bằng cách loại bỏ Distribution Focal Loss (DFL) và tinh gọn phần đầu mạng, YOLO26 được tối ưu hóa mạnh mẽ cho các thiết bị biên dựa vào thực thi CPU, vượt trội đáng kể so với YOLOv6 trong các kịch bản biên.
  • ProgLoss + STAL: Các công thức hàm mất mát tiên tiến này mang lại những cải thiện đáng kể trong detect vật thể nhỏ, làm cho YOLO26 trở nên lý tưởng cho hình ảnh từ trên không và kiểm tra lỗi siêu nhỏ.

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

Ví dụ về đào tạo thống nhất

Sử dụng Ultralytics Python Với API này, việc huấn luyện các mô hình hiện đại chỉ cần một vài dòng mã. Giao diện gọn gàng này cũng áp dụng cho dù bạn đang kiểm tra một hệ thống cũ hay mới. YOLO mô hình hóa hoặc triển khai khung phần mềm YOLO26 tiên tiến.

from ultralytics import YOLO

# Load the next-generation YOLO26 model (NMS-free, optimized for edge)
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset
# The ecosystem handles downloading, caching, and auto-batching natively
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model and print mAP metrics
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")

# Export the model for edge deployment
model.export(format="onnx")

Nền tảng Ultralytics

Để có trải nghiệm mượt mà hơn nữa, hãy quản lý tập dữ liệu của bạn. track thực hiện các thí nghiệm và huấn luyện mô hình trên nền tảng đám mây bằng cách sử dụng nền tảng Ultralytics không cần lập trình.

Đề xuất Trường hợp Sử dụng

Khi lựa chọn giữa các kiến ​​trúc này, hãy xem xét các hạn chế về phần cứng và yêu cầu cụ thể của dự án:

  • Chọn YOLOX nếu bạn đang thực hiện nghiên cứu học thuật về các chiến lược gán nhãn hoặc yêu cầu một baseline anchor-free thuần túy, dễ hiểu cho các sửa đổi kiến trúc tùy chỉnh.
  • Chọn YOLOv6-3.0 nếu bạn đang triển khai trên một giá máy chủ công nghiệp được trang bị các GPU NVIDIA cao cấp (như A100 hoặc T4) nơi bạn có thể tận dụng kích thước lô lớn và các tối ưu hóa TensorRT để xử lý hàng trăm luồng video cùng lúc.
  • Chọn YOLO26 cho phần lớn các ứng dụng hiện đại. Nếu bạn đang xây dựng các ứng dụng AI biên cho thiết bị IoT, máy bay không người lái hoặc điện thoại di động, thiết kế NMS-free nguyên bản của YOLO26, các tối ưu hóa CPU và hỗ trợ hệ sinh thái toàn diện khiến nó trở thành lựa chọn tốt nhất không thể tranh cãi để thu hẹp khoảng cách giữa đào tạo và sản xuất.

Bình luận