So sánh kỹ thuật YOLOX và YOLOv5
Trong lĩnh vực thị giác máy tính đang phát triển nhanh chóng, dòng YOLO (You Only Look Once) liên tục đẩy lùi các ranh giới của phát hiện đối tượng theo thời gian thực. Trang này cung cấp so sánh kỹ thuật chi tiết giữa hai mô hình có ảnh hưởng trong loạt mô hình này: YOLOX, được phát triển bởi Megvii và Ultralytics YOLOv5. Mặc dù cả hai mô hình đều cung cấp các khả năng mạnh mẽ, nhưng chúng được xây dựng dựa trên các triết lý thiết kế khác nhau. YOLOX giới thiệu phương pháp không neo để đơn giản hóa phần đầu dò và cải thiện hiệu suất, trong khi YOLOv5 đã khẳng định mình là một tiêu chuẩn công nghiệp được biết đến với sự cân bằng vượt trội về tốc độ, độ chính xác và dễ sử dụng.
So sánh này đi sâu vào sự khác biệt về kiến trúc, số liệu hiệu suất và các trường hợp sử dụng lý tưởng của chúng để giúp bạn chọn mô hình phù hợp nhất cho dự án của mình, cho dù bạn ưu tiên độ chính xác thô, tốc độ triển khai hay hiệu quả phát triển tổng thể.
YOLOX: Một lựa chọn thay thế không neo và hiệu suất cao
YOLOX được các nhà nghiên cứu từ Megvii giới thiệu vào ngày 18 tháng 7 năm 2021. Nó trình bày một phương pháp tiếp cận không neo để phát hiện đối tượng, hướng đến hiệu suất cao với thiết kế đơn giản so với các phương pháp dựa trên neo truyền thống. Bằng cách loại bỏ các hộp neo được xác định trước, YOLOX nhằm mục đích giảm độ phức tạp của thiết kế và cải thiện khả năng tổng quát hóa trên các tập dữ liệu khác nhau.
Chi tiết kỹ thuật:
- 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 tính năng chính
YOLOX tự phân biệt với một số cải tiến quan trọng. Tính năng cốt lõi của nó là cơ chế phát hiện không cần anchor, dự đoán trực tiếp các thuộc tính đối tượng mà không cần dựa vào một tập hợp các hộp neo được xác định trước. Điều này đơn giản hóa quy trình huấn luyện và tránh sự cần thiết phải điều chỉnh anchor. Kiến trúc này cũng kết hợp decoupled head (đầu tách rời) cho các tác vụ phân loại và bản địa hóa, mà các tác giả nhận thấy là cải thiện sự hội tụ và độ chính xác. Hơn nữa, YOLOX sử dụng một chiến lược gán nhãn nâng cao gọi là SimOTA để gán động các mẫu dương tính để huấn luyện, nâng cao hiệu suất của nó trên các đối tượng khó.
Điểm mạnh
- Độ chính xác cao: YOLOX đạt được độ chính xác cạnh tranh, thường vượt trội hơn các mô hình có kích thước tương tự trên các chuẩn đánh giá như COCO, nhờ vào phần đầu được tách rời và các kỹ thuật gán nhãn nâng cao.
- Phát hiện không mỏ neo (Anchor-Free): Điều này đơn giản hóa quy trình phát hiện và có thể cải thiện khả năng tổng quát hóa bằng cách loại bỏ các phụ thuộc vào cấu hình hộp mỏ neo, thường yêu cầu điều chỉnh theo miền cụ thể.
Điểm yếu
- Độ Phức Tạp Triển Khai: Mặc dù việc không sử dụng anchor giúp đơn giản hóa một khía cạnh, nhưng việc giới thiệu các head tách rời và các chiến lược nâng cao như SimOTA có thể làm tăng thêm sự phức tạp cho việc triển khai và hiểu mô hình.
- Hệ sinh thái bên ngoài: YOLOX không thuộc bộ công cụ Ultralytics, điều này có nghĩa là nó thiếu sự tích hợp liền mạch với các công cụ như Ultralytics HUB. Điều này có thể dẫn đến кривая học tập dốc hơn so với trải nghiệm Ultralytics thống nhất và được ghi chép đầy đủ.
- Tốc độ CPU: Như đã thấy trong các điểm chuẩn hiệu suất, tốc độ suy luận trên CPU có thể chậm hơn so với các mô hình được tối ưu hóa cao như YOLOv5, đặc biệt đối với các biến thể YOLOX lớn hơn.
Các Trường hợp Sử dụng
YOLOX phù hợp với các ứng dụng mà việc đạt được độ chính xác cao nhất có thể là mục tiêu chính:
- Lái xe tự động: Độ chính xác cao của nó rất có giá trị đối với các tác vụ tri giác trong xe tự hành, nơi việc xác định chính xác tất cả các đối tượng là rất quan trọng.
- Robotics tiên tiến: Lý tưởng cho môi trường phức tạp, nơi robot cần thực hiện phát hiện đối tượng chính xác để điều hướng và tương tác, như được khám phá trong AI trong Robotics.
- Nghiên cứu: Đóng vai trò là nền tảng vững chắc cho nghiên cứu học thuật và công nghiệp về các phương pháp không mỏ neo và các kỹ thuật huấn luyện nâng cao trong phát hiện đối tượng.
YOLOv5: Mô hình linh hoạt và được áp dụng rộng rãi
Ultralytics YOLOv5, được phát hành vào ngày 26 tháng 6 năm 2020, đã trở thành một tiêu chuẩn công nghiệp, được ca ngợi vì sự cân bằng tuyệt vời giữa tốc độ, độ chính xác và tính dễ sử dụng đáng kể. Được phát triển bởi Glenn Jocher tại Ultralytics, nó được xây dựng hoàn toàn bằng PyTorch, giúp nó có thể dễ dàng tiếp cận với một cộng đồng rộng lớn các nhà phát triển và nhà nghiên cứu.
Chi tiết kỹ thuật:
- 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à các tính năng chính
YOLOv5 sử dụng backbone CSPDarknet53 để trích xuất đặc trưng và neck PANet để tổng hợp đặc trưng, một sự kết hợp đã được chứng minh là hiệu quả để phát hiện đối tượng. Kiến trúc của nó có khả năng mở rộng cao, với nhiều kích cỡ khác nhau (n, s, m, l, x) để đáp ứng các yêu cầu khác nhau về hiệu năng và ngân sách tính toán. Không giống như YOLOX, nó sử dụng detection head dựa trên anchor, được tối ưu hóa cao về tốc độ. Mô hình này là một phần của hệ sinh thái toàn diện bao gồm Python API đơn giản, tài liệu phong phú và nền tảng Ultralytics HUB không cần code để huấn luyện và triển khai.
Điểm mạnh
- Tốc độ suy luận vượt trội: YOLOv5 được tối ưu hóa cao để phát hiện nhanh chóng, khiến nó trở thành lựa chọn hàng đầu cho các hệ thống thời gian thực trên cả phần cứng CPU và GPU.
- Dễ sử dụng: Nổi tiếng với API đơn giản, tài liệu đầy đủ và tích hợp liền mạch trong hệ sinh thái Ultralytics, giúp giảm đáng kể rào cản gia nhập cho các nhà phát triển.
- Hệ sinh thái trưởng thành: Hưởng lợi từ một cộng đồng lớn, năng động, cập nhật thường xuyên và tài nguyên phong phú, bao gồm cả trọng số được huấn luyện trước có sẵn.
- Hiệu quả huấn luyện: Quy trình huấn luyện rất hiệu quả, với thời gian hội tụ nhanh hơn và yêu cầu bộ nhớ thường thấp hơn so với các kiến trúc phức tạp hơn.
- Tính linh hoạt: YOLOv5 hỗ trợ nhiều tác vụ thị giác ngoài phát hiện, bao gồm phân đoạn thể hiện và phân loại ảnh trong cùng một framework.
Điểm yếu
- Phát hiện dựa trên Anchor: Dựa vào các hộp anchor, có thể yêu cầu điều chỉnh để có hiệu suất tối ưu trên các bộ dữ liệu có các đối tượng có hình dạng hoặc kích thước bất thường so với các bộ dò tìm không cần anchor.
- Đánh đổi về độ chính xác: Mặc dù mang lại sự cân bằng tuyệt vời, các mô hình YOLOv5 nhỏ hơn ưu tiên tốc độ, điều này có thể dẫn đến độ chính xác thấp hơn một chút so với các mô hình lớn hơn hoặc các kiến trúc mới hơn được thiết kế hoàn toàn để có độ chính xác tối đa.
Các Trường hợp Sử dụng
Tính linh hoạt và hiệu quả của YOLOv5 làm cho nó phù hợp với nhiều lĩnh vực:
- Điện toán biên: Tốc độ và kích thước mô hình nhỏ hơn của nó làm cho nó hoàn hảo để triển khai trên các thiết bị có tài nguyên hạn chế như Raspberry Pi và NVIDIA Jetson.
- Tự động hóa công nghiệp: Cung cấp năng lượng cho kiểm soát chất lượng và tự động hóa quy trình trong sản xuất, chẳng hạn như cải thiện hiệu quả tái chế.
- An ninh và Giám sát: Cho phép giám sát theo thời gian thực trong hệ thống an ninh cho các ứng dụng như phòng chống trộm cắp.
- Ứng dụng trên thiết bị di động: Phù hợp cho các tác vụ phát hiện vật thể trực tiếp trên thiết bị, nơi độ trễ thấp và hiệu quả là rất quan trọng.
So sánh hiệu năng trực tiếp: Tốc độ so với Độ chính xác
Khi so sánh YOLOX và YOLOv5, một sự đánh đổi rõ ràng giữa độ chính xác và tốc độ xuất hiện. Các mô hình YOLOX thường đạt được điểm mAPval cao hơn cho một kích thước mô hình nhất định, cho thấy hiệu quả của thiết kế không neo và các chiến lược đào tạo nâng cao của nó. Ví dụ: YOLOX-x đạt 51.1 mAP, nhỉnh hơn một chút so với YOLOv5x.
Tuy nhiên, Ultralytics YOLOv5 có một lợi thế đáng kể về tốc độ suy luận. Các mô hình YOLOv5 nhỏ hơn, như YOLOv5n, cực kỳ nhanh trên cả CPU và GPU, khiến chúng trở nên lý tưởng cho các ứng dụng thời gian thực trên các thiết bị biên. Bảng hiệu suất cho thấy rằng YOLOv5n đạt được độ trễ TensorRT chỉ 1,12 ms, nhanh gấp hơn hai lần so với YOLOX-s. Hiệu quả này khiến YOLOv5 trở thành một lựa chọn thiết thực hơn cho nhiều môi trường sản xuất nơi tốc độ là một ràng buộc quan trọng.
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 |
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 |
Kết luận: Bạn nên chọn mô hình nào?
Cả YOLOX và YOLOv5 đều là những mô hình phát hiện đối tượng mạnh mẽ, nhưng chúng phục vụ cho các ưu tiên khác nhau. YOLOX là một lựa chọn tuyệt vời cho các nhà nghiên cứu và nhà phát triển ưu tiên độ chính xác tối đa và quan tâm đến việc khám phá những lợi ích của kiến trúc không cần neo. Hiệu suất mạnh mẽ của nó trên các điểm chuẩn khiến nó trở thành một mô hình đáng gờm cho các tác vụ mà độ chính xác là tối quan trọng.
Tuy nhiên, đối với phần lớn các ứng dụng thực tế, Ultralytics YOLOv5 mang đến một gói tổng thể thuyết phục hơn. Điểm mạnh chính của nó nằm ở tốc độ vượt trội, dễ sử dụng và hệ sinh thái mạnh mẽ. Các nhà phát triển có thể bắt đầu nhanh chóng nhờ tài liệu đầy đủ, API đơn giản và quy trình đào tạo được số hóa. Hiệu suất của mô hình làm cho nó trở nên thực tế cao cho việc triển khai, đặc biệt trong các tình huống tính toán thời gian thực và biên.
Hơn nữa, sự phát triển và hỗ trợ liên tục từ Ultralytics có nghĩa là người dùng được hưởng lợi từ một khuôn khổ được duy trì tốt và không ngừng được cải thiện. Đối với những người tìm kiếm hiệu suất hiện đại nhất kết hợp với khả năng sử dụng và tính linh hoạt, việc khám phá các mô hình Ultralytics mới hơn như YOLOv8 và YOLO11 cũng rất được khuyến khích, vì chúng xây dựng dựa trên nền tảng vững chắc của YOLOv5 để cung cấp các khả năng thậm chí còn lớn hơn.
So sánh các mô hình khác
Nếu bạn quan tâm đến việc so sánh các mô hình này với các mô hình khác, hãy xem các trang sau:
- YOLOv8 so với YOLOX
- YOLOv10 so với YOLOX
- RT-DETR so với YOLOv5
- YOLOv8 so với YOLOv5
- YOLOv9 so với YOLOv5