YOLOX so với... YOLOv8 Những tiến bộ trong phát hiện đối tượng hiệu năng cao
Trong bối cảnh thị giác máy tính đang phát triển nhanh chóng, việc lựa chọn kiến trúc phù hợp cho ứng dụng cụ thể của bạn là vô cùng quan trọng. Hướng dẫn này cung cấp so sánh kỹ thuật chi tiết giữa YOLOX , một bộ dò điểm ảnh không cần neo hiệu suất cao ra mắt năm 2021, và Ultralytics YOLOv8 , một mô hình tiên tiến được thiết kế cho tính linh hoạt, tốc độ và dễ triển khai. Mặc dù cả hai mô hình đều đã đóng góp đáng kể cho lĩnh vực này, việc hiểu rõ sự khác biệt về kiến trúc và hệ sinh thái hỗ trợ của chúng sẽ giúp các nhà phát triển đưa ra quyết định sáng suốt cho các dự án thực tế.
Tổng quan
YOLOX đại diện cho một sự thay đổi đáng kể trong YOLO loạt sản phẩm này được cải tiến bằng cách chuyển sang cơ chế không cần neo và tách rời đầu dự đoán. Điều này đã đơn giản hóa quy trình thiết kế và cải thiện hiệu suất so với các sản phẩm cùng thời như YOLOv3 và YOLOv5 (v5.0). Tuy nhiên, YOLOv8 được xây dựng dựa trên nhiều năm phản hồi và nghiên cứu từ cộng đồng, tích hợp các tính năng tiên tiến như phát hiện không cần neo, một khung thống nhất cho nhiều tác vụ và hiệu quả huấn luyện vượt trội, tất cả đều được hỗ trợ bởi hệ sinh thái Ultralytics toàn diện.
YOLOX
- 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: Exceeding YOLO Series in 2021
- GitHub:Megvii-BaseDetection/YOLOX
YOLOv8
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức:Ultralytics
- Ngày: 2023-01-10
- GitHub:ultralytics/ultralytics
Sự khác biệt về kiến trúc
Điểm khác biệt cốt lõi nằm ở cách các mô hình này xử lý việc dự đoán đối tượng và trích xuất đặc trưng.
Kiến trúc YOLOX
YOLOX đã giới thiệu cấu trúc "đầu tách rời". Truyền thống YOLO Các hệ điều hành trước đây đã kết hợp nhiệm vụ phân loại và định vị (hồi quy hộp giới hạn) vào một nhánh duy nhất. YOLOX đã tách biệt chúng, lập luận rằng sự xung đột giữa nhiệm vụ phân loại và hồi quy đã hạn chế hiệu năng. Nó cũng chuyển sang thiết kế không cần anchor , coi phát hiện đối tượng như một bài toán hồi quy điểm, giúp giảm độ phức tạp của việc điều chỉnh heuristic cho các hộp anchor. Nó sử dụng SimOTA để gán nhãn động, tối ưu hóa các dự đoán phù hợp với các đối tượng thực tế.
Kiến trúc YOLOv8
Ultralytics YOLOv8 Khái niệm không cần neo đã được tinh chỉnh hơn nữa. Nó sử dụng một mô-đun C2f trong cấu trúc xương sống của mình, kết hợp những ưu điểm tốt nhất của C3 (từ YOLOv5 ) và ELAN (từ YOLOv7 ) để tăng cường luồng gradient trong khi vẫn duy trì dung lượng nhẹ. Giống như YOLOX, nó sử dụng một đầu xử lý tách rời nhưng giới thiệu thêm Trình gán nhãn phù hợp với nhiệm vụ, giúp cân bằng điểm số phân loại và định vị hiệu quả hơn SimOTA. Quan trọng hơn, YOLOv8 Nó được thiết kế như một khung thống nhất, hỗ trợ nguyên bản phân đoạn đối tượng , ước lượng tư thế , phát hiện đối tượng định hướng (OBB) và phân loại.
Cân bằng hiệu suất
Ultralytics Các mô hình đạt được sự cân bằng tối ưu giữa tốc độ và độ chính xác. Cấu trúc xương sống C2f trong YOLOv8 Cung cấp khả năng trích xuất đặc trưng phong phú hơn với chi phí tính toán giảm so với CSPDarknet được sử dụng trong các kiến trúc cũ hơn.
So sánh Các chỉ số Hiệu suất
Bảng sau đây so sánh các mô hình phát hiện tiêu chuẩn trên... COCO tập dữ liệu. YOLOv8 thường cung cấp mức cao hơn mAP val ở tốc độ suy luận tương đương hoặc nhanh hơn, đặc biệt là trên phần cứng hiện đại sử dụng TensorRT .
| Mô hình | Kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Lưu ý: Tốc độ của YOLOX thường được trích dẫn trên GPU V100, trong khi đó YOLOv8 Tốc độ được chuẩn hóa trên T4 TensorRT10 và CPU ONNX Các tiêu chuẩn đánh giá. "params" đề cập đến các tham số (triệu) và "FLOPs" đề cập đến các phép toán dấu phẩy động (tỷ).
Huấn luyện và Dễ sử dụng
Một trong những điểm khác biệt quan trọng nhất giữa YOLOX và Ultralytics models chính là trải nghiệm của nhà phát triển.
Lợi thế Hệ sinh thái Ultralytics
YOLOv8 có lợi từ một sản phẩm được đánh bóng kỹ lưỡng. Python API và Giao diện dòng lệnh ( CLI Các nhà phát triển có thể chuyển từ cài đặt đến huấn luyện trên tập dữ liệu tùy chỉnh chỉ trong vài phút. Hệ sinh thái này bao gồm khả năng tích hợp liền mạch với các công cụ như Weights & Biases để ghi nhật ký và Ultralytics Platform để quản lý dữ liệu. Hơn nữa, Ultralytics Platform cho phép huấn luyện và triển khai mô hình dựa trên web mà không cần thiết lập môi trường cục bộ phức tạp.
Ngược lại, YOLOX là một kho lưu trữ nghiên cứu truyền thống hơn. Mặc dù mạnh mẽ, nhưng nó thường yêu cầu cấu hình thủ công nhiều hơn đối với các tập lệnh huấn luyện và các phụ thuộc môi trường, khiến nó trở nên khó sử dụng hơn đối với người mới bắt đầu hoặc các nhóm cần lặp lại nhanh chóng.
Ví dụ mã: Huấn luyện YOLOv8
Sự đơn giản của Ultralytics API cho phép viết mã ngắn gọn và dễ bảo trì.
from ultralytics import YOLO
# Load a model (YOLOv8n)
model = YOLO("yolov8n.pt")
# Train on COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Yêu cầu bộ nhớ
Hiệu quả là một nguyên tắc cốt lõi của Ultralytics kỹ thuật. YOLOv8 được tối ưu hóa để sử dụng ít bộ nhớ hơn trong quá trình huấn luyện so với nhiều kiến trúc khác, bao gồm cả các mô hình dựa trên Transformer như RT-DETR . Điều này cho phép các nhà nghiên cứu huấn luyện với kích thước lô lớn hơn trên các GPU cấp người tiêu dùng (ví dụ: NVIDIA RTX 3060 hoặc 4070), giúp dân chủ hóa việc tiếp cận huấn luyện mô hình hiệu năng cao.
Các trường hợp sử dụng thực tế
Việc lựa chọn mô hình phù hợp thường phụ thuộc vào môi trường triển khai và các yêu cầu cụ thể của nhiệm vụ.
Điểm mạnh của YOLOv8
- Ứng dụng đa nhiệm: Bởi vì YOLOv8 Hỗ trợ phân đoạn và ước lượng tư thế một cách tự nhiên, phần mềm này lý tưởng cho các ứng dụng phức tạp như phân tích thể thao (theo dõi chuyển động và tư thế của người chơi) hoặc xe tự hành (phân đoạn làn đường và phát hiện vật thể).
- Triển khai tại biên: Với thao tác xuất một lệnh duy nhất sang các định dạng như ONNX , TensorRT , CoreML , Và TFLite , YOLOv8 Được tối ưu hóa cao cho các thiết bị biên như Raspberry Pi và điện thoại di động.
- Tạo mẫu nhanh: Tính dễ sử dụng và trọng lượng được huấn luyện sẵn khiến nó trở thành lựa chọn hàng đầu cho các công ty khởi nghiệp và các nhóm làm việc theo phương pháp Agile cần xác thực ý tưởng một cách nhanh chóng.
Vị trí phù hợp của YOLOX
- Các nghiên cứu nền tảng trước đây: YOLOX vẫn là một nền tảng vững chắc cho các bài báo học thuật so sánh các kiến trúc không có neo từ thời kỳ năm 2021.
- Các triển khai tùy chỉnh cụ thể: Dành cho người dùng đầu tư mạnh vào khung MegEngine (mặc dù PyTorch (cũng được hỗ trợ), YOLOX cung cấp khả năng tương thích gốc.
Nhìn về phía trước: Sức mạnh của YOLO26
Trong khi YOLOv8 vẫn là một tiêu chuẩn mạnh mẽ và được sử dụng rộng rãi. Ultralytics Tiếp tục đổi mới. Mẫu YOLO26 mới ra mắt đánh dấu bước tiến tiếp theo.
Đối với các nhà phát triển đang tìm kiếm lợi thế tuyệt đối về hiệu năng, YOLO26 mang lại một số ưu điểm quan trọng so với cả YOLOX và... YOLOv8 :
- Hệ thống quản lý mạng đầu cuối NMS - Miễn phí: YOLO26 hỗ trợ hệ thống quản lý mạng đầu cuối một cách tự nhiên, loại bỏ nhu cầu sử dụng thuật toán ngăn chặn lỗi không tối đa (Non-Maximum Suppression). NMS (Xử lý hậu kỳ). Điều này giúp giảm sự biến động về độ trễ và đơn giản hóa quy trình triển khai.
- Suy luận CPU nhanh hơn: Được tối ưu hóa cho điện toán biên, YOLO26 mang lại khả năng suy luận CPU nhanh hơn tới 43% , giúp nó vượt trội hơn đối với các thiết bị không có GPU chuyên dụng.
- Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ những cải tiến trong huấn luyện LLM, bộ tối ưu hóa MuSGD đảm bảo quá trình huấn luyện ổn định hơn và hội tụ nhanh hơn.
- Phát hiện vật thể nhỏ được cải tiến: Với các chức năng ProgLoss + STAL, YOLO26 mang lại những cải tiến đáng kể trong việc nhận diện các vật thể nhỏ, rất quan trọng đối với ảnh chụp từ trên không và các nhiệm vụ kiểm tra.
Kết luận
Cả YOLOX và YOLOv8 đã đóng vai trò then chốt trong sự phát triển của việc phát hiện đối tượng. YOLOX đã phổ biến thành công các cơ chế phát hiện không cần neo. Tuy nhiên, YOLOv8 cung cấp một giải pháp toàn diện hơn, thân thiện với người dùng và linh hoạt hơn cho sự phát triển AI hiện đại. Việc tích hợp nó vào... Ultralytics Hệ sinh thái, khả năng hỗ trợ nhiều tác vụ xử lý hình ảnh và các tùy chọn triển khai liền mạch khiến nó trở thành lựa chọn ưu tiên cho hầu hết các ứng dụng thương mại và nghiên cứu hiện nay.
Đối với những ai sẵn sàng áp dụng công nghệ AI thị giác tiên tiến nhất, việc tìm hiểu YOLO26 rất được khuyến khích để đảm bảo ứng dụng của bạn luôn đáp ứng được nhu cầu trong tương lai. NMS - Tốc độ và hiệu quả miễn phí.