YOLOX so với YOLOv5 : Khám phá sự đổi mới không cần neo và hiệu quả đã được chứng minh
Trong bối cảnh phát hiện đối tượng đang phát triển nhanh chóng, việc lựa chọn kiến trúc phù hợp là yếu tố then chốt cho sự thành công của dự án. Bài so sánh này sẽ khám phá hai mô hình có ảnh hưởng lớn: YOLOX , một nền tảng học thuật mạnh mẽ nổi tiếng với thiết kế không cần neo, và YOLOv5 , tiêu chuẩn công nghiệp về tốc độ và khả năng triển khai dễ dàng. Cả hai mô hình đều đã định hình lĩnh vực thị giác máy tính , nhưng chúng phục vụ những nhu cầu riêng biệt, tùy thuộc vào việc bạn ưu tiên độ chính xác cấp độ nghiên cứu hay hiệu quả sẵn sàng cho sản xuất.
Phân tích hiệu năng: Tốc độ, độ chính xác và hiệu quả
Khi đánh giá YOLOX và YOLOv5 Sự khác biệt thường nằm ở sự đánh đổi giữa độ chính xác thô và hiệu quả vận hành. YOLOX đã giới thiệu những thay đổi đáng kể về kiến trúc, chẳng hạn như đầu tách rời và cơ chế không neo , cho phép nó đạt được điểm mAP (Độ chính xác trung bình) tiên tiến ngay khi ra mắt. Nó hoạt động vượt trội trong các tình huống đòi hỏi từng phần trăm độ chính xác, đặc biệt là trên các tiêu chuẩn khó như COCO .
Ngược lại, Ultralytics YOLOv5 được thiết kế tập trung vào hiệu suất "thực tế". Nó ưu tiên tốc độ suy luận và độ trễ thấp, khiến nó đặc biệt phù hợp cho các ứng dụng di động, hệ thống nhúng và thiết bị AI biên . Mặc dù YOLOX có thể chiếm ưu thế hơn một chút về mAP đối với các mô hình lớn cụ thể, YOLOv5 luôn vượt trội hơn về thông lượng (khung hình mỗi giây) và tính linh hoạt khi triển khai, tận dụng hệ sinh thái Ultralytics toàn diện.
Bảng dưới đây cung cấp so sánh chi tiết giữa các mô hình ở nhiều kích cỡ khác nhau. Lưu ý cách YOLOv5 duy trì độ chính xác cạnh tranh trong khi cung cấp thời gian suy luận nhanh hơn đáng kể, đặc biệt là khi được tối ưu hóa với TensorRT .
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
YOLOX: Đối thủ không cần neo
YOLOX được phát triển bởi các nhà nghiên cứu tại Megvii để thu hẹp khoảng cách giữa YOLO và những tiến bộ học thuật trong phát hiện không neo. Bằng cách loại bỏ ràng buộc của các hộp neo được xác định trước, YOLOX đơn giản hóa quy trình đào tạo và giảm nhu cầu điều chỉnh theo kinh nghiệm.
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
- Tổ chức: Megvii
- Date: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Tài liệu: https://yolox.readthedocs.io/en/latest/
Kiến trúc và các cải tiến
YOLOX tích hợp một Đầu tách rời , giúp phân tách các tác vụ phân loại và hồi quy thành các nhánh khác nhau. Thiết kế này trái ngược với các đầu tách rời của các phiên bản trước. YOLO phiên bản mới và được cho là cải thiện tốc độ hội tụ và độ chính xác. Hơn nữa, nó sử dụng SimOTA , một chiến lược gán nhãn tiên tiến, tự động gán các mẫu dương, nâng cao độ tin cậy của mô hình trong các cảnh dày đặc.
Điểm mạnh và Điểm yếu
Điểm mạnh chính của YOLOX nằm ở độ chính xác cao , đặc biệt là với các biến thể lớn nhất (YOLOX-x), và thiết kế gọn gàng, không có điểm neo, rất hấp dẫn các nhà nghiên cứu. Tuy nhiên, những lợi ích này đi kèm với những đánh đổi. Đầu tách rời làm tăng độ phức tạp tính toán, thường dẫn đến suy luận chậm hơn so với YOLOv5 . Ngoài ra, với tư cách là một mô hình tập trung vào nghiên cứu, nó thiếu các công cụ gắn kết, thân thiện với người dùng được tìm thấy trong Ultralytics hệ sinh thái, có khả năng làm phức tạp thêm việc tích hợp vào các đường ống thương mại.
Các trường hợp sử dụng lý tưởng
- Nghiên cứu học thuật: Thử nghiệm các kiến trúc phát hiện mới và chiến lược gán nhãn.
- Nhiệm vụ có độ chính xác cao: Các tình huống có mức tăng 1-2% trong mAP vượt trội hơn chi phí suy luận chậm hơn, chẳng hạn như phân tích video ngoại tuyến.
- Phát hiện vật thể dày đặc: Môi trường có nhiều vật thể lộn xộn mà SimOTA hoạt động tốt.
YOLOv5 : Tiêu chuẩn sản xuất
Kể từ khi phát hành vào năm 2020, Ultralytics YOLOv5 đã trở thành mô hình được các nhà phát triển trên toàn thế giới tin dùng. Nó tạo ra sự cân bằng vượt trội giữa hiệu suất và tính thực tiễn, được hỗ trợ bởi một nền tảng được thiết kế để hợp lý hóa toàn bộ vòng đời hoạt động học máy (MLOps) .
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Date: 2020-06-26
- GitHub: https://github.com/ ultralytics / yolov5
- Tài liệu: https://docs. ultralytics .com/models/ yolov5 /
Kiến trúc và Hệ sinh thái
YOLOv5 sử dụng xương sống CSPNet và một mạng lưới tổng hợp đường dẫn (PANet), được tối ưu hóa để trích xuất tính năng hiệu quả. Mặc dù ban đầu nó đã phổ biến phương pháp dựa trên neo trong PyTorch , tài sản lớn nhất của nó là hệ sinh thái xung quanh. Người dùng được hưởng lợi từ việc tự động xuất sang các định dạng như ONNX , CoreML , Và TFLite cũng như tích hợp liền mạch với Ultralytics HUB để đào tạo và quản lý mô hình.
Bạn có biết không?
YOLOv5 không chỉ giới hạn ở các hộp giới hạn. Nó hỗ trợ nhiều tác vụ bao gồm phân đoạn thực thể và phân loại hình ảnh , khiến nó trở thành một công cụ đa năng cho các quy trình xử lý hình ảnh phức tạp.
Điểm mạnh và Điểm yếu
Dễ sử dụng là đặc điểm nổi bật của YOLOv5 . Với một đơn giản Python API, các nhà phát triển có thể tải các trọng số đã được đào tạo trước và chạy suy luận chỉ trong vài dòng mã. Mô hình được tối ưu hóa cao về tốc độ , luôn mang lại độ trễ thấp hơn trên cả CPU và GPU so với YOLOX. Nó cũng tự hào có yêu cầu bộ nhớ thấp hơn trong quá trình đào tạo, giúp nó có thể truy cập được trên phần cứng tiêu chuẩn. Mặc dù thiết kế dựa trên neo của nó yêu cầu tiến hóa neo cho các tập dữ liệu tùy chỉnh (được xử lý tự động bởi YOLOv5 ), độ tin cậy và hệ sinh thái được duy trì tốt khiến nó trở nên vượt trội trong sản xuất.
Các trường hợp sử dụng lý tưởng
- Ứng dụng thời gian thực: Giám sát video, lái xe tự động và robot trong đó độ trễ thấp là rất quan trọng.
- Triển khai Edge: Chạy trên Raspberry Pi, NVIDIA Jetson hoặc các thiết bị di động do kiến trúc hiệu quả của nó.
- Sản phẩm thương mại: Tạo mẫu và triển khai nhanh chóng khi cần hỗ trợ lâu dài và dễ tích hợp.
- Tầm nhìn đa nhiệm vụ: Các dự án yêu cầu phát hiện, phân đoạn và phân loại trong một khuôn khổ duy nhất.
Ví dụ về mã: Chạy YOLOv5 với Ultralytics
Các Ultralytics Python gói làm cho việc sử dụng YOLOv5 Các mô hình cực kỳ đơn giản. Dưới đây là ví dụ về cách chạy suy luận bằng cách sử dụng mô hình được đào tạo trước.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Kết luận: Lựa chọn đúng đắn
Cả hai mô hình đều là những thành tựu đáng kể trong lĩnh vực thị giác máy tính, nhưng chúng hướng đến những đối tượng khác nhau. YOLOX là một lựa chọn đáng gờm cho các nhà nghiên cứu đang nỗ lực vượt qua giới hạn của công nghệ phát hiện không cần neo, những người cảm thấy thoải mái khi sử dụng bộ công cụ phân mảnh hơn.
Tuy nhiên, đối với đại đa số các nhà phát triển, kỹ sư và doanh nghiệp, Ultralytics YOLOv5 vẫn là lựa chọn ưu việt. Sự kết hợp hoàn hảo giữa tốc độ vượt trội , tính linh hoạt và hệ sinh thái mạnh mẽ, năng động đảm bảo bạn có thể chuyển từ ý tưởng sang triển khai với ít trở ngại nhất. Hơn nữa, việc áp dụng Ultralytics khuôn khổ cung cấp một lộ trình nâng cấp rõ ràng cho các mô hình thế hệ tiếp theo như YOLO11 , kết hợp những gì tốt nhất của thiết kế không có mỏ neo với Ultralytics 'hiệu quả chữ ký.
So sánh các mô hình khác
Khám phá cách các mô hình này so sánh với các kiến trúc khác để tìm ra mô hình phù hợp nhất với nhu cầu cụ thể của bạn:
- So sánh YOLO11 và YOLOX
- YOLOv8 so sánh với YOLOX
- YOLOv10 so với YOLOX
- RT-DETR so với YOLOX
- EfficientDet so với YOLOX
- YOLOv5 so sánh với YOLOv8