So sánh mô hình: YOLOv8 so với YOLOv10 để phát hiện đối tượng
Việc lựa chọn mô hình phát hiện đối tượng phù hợp là rất quan trọng cho sự thành công của bất kỳ dự án thị giác máy tính nào. Trang này cung cấp so sánh kỹ thuật chi tiết giữa Ultralytics YOLOv8 và YOLOv10, hai mô hình hiện đại trong lĩnh vực này. Chúng ta sẽ phân tích các sắc thái kiến trúc, số liệu hiệu suất, phương pháp đào tạo và các ứng dụng lý tưởng của chúng để hướng dẫn bạn đưa ra quyết định sáng suốt cho các nhu cầu cụ thể của bạn.
Ultralytics YOLOv8: Tính Linh hoạt và Độ hoàn thiện
Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
Tổ chức: Ultralytics
Ngày: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Tài liệu: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8, được Ultralytics ra mắt vào tháng 1 năm 2023, là một mô hình hoàn thiện và rất linh hoạt, xây dựng dựa trên thế mạnh của những người tiền nhiệm YOLO. Nó được thiết kế để có tốc độ, độ chính xác và tính dễ sử dụng trên một loạt các tác vụ AI thị giác, bao gồm phát hiện đối tượng, phân đoạn thể hiện, phân loại hình ảnh, ước tính tư thế và hộp giới hạn theo hướng (OBB).
Kiến trúc và các tính năng chính
YOLOv8 đại diện cho một bước tiến đáng kể trong series YOLO, nổi bật với phương pháp detection không neo (anchor-free) giúp đơn giản hóa kiến trúc mô hình và tăng cường khả năng tổng quát hóa trên các tập dữ liệu khác nhau. Backbone linh hoạt và các hàm mất mát (loss function) được tối ưu hóa góp phần cải thiện độ chính xác và đào tạo ổn định hơn. Một ưu điểm chính của YOLOv8 là khả năng mở rộng, cung cấp một loạt các kích thước mô hình từ Nano (n) đến Extra-large (x) để đáp ứng các yêu cầu khác nhau về tính toán và độ chính xác. Tính linh hoạt này làm cho nó trở thành một lựa chọn phù hợp cho các dự án có thể yêu cầu nhiều hơn là chỉ phát hiện đối tượng, vì nó hỗ trợ nhiều tác vụ trong một khuôn khổ thống nhất duy nhất.
Hiệu suất và Ưu điểm
YOLOv8 cung cấp một sự cân bằng hiệu suất mạnh mẽ, đạt được điểm mAP cao trong khi vẫn duy trì tốc độ suy luận nhanh phù hợp cho các ứng dụng thời gian thực. Ví dụ: YOLOv8x đạt 53.9% mAPval 50-95 trên tập dữ liệu COCO. Thiết kế hiệu quả của nó đảm bảo yêu cầu bộ nhớ thấp hơn trong quá trình đào tạo và suy luận so với nhiều kiến trúc khác, đặc biệt là các mô hình dựa trên transformer như RT-DETR.
- Trưởng thành và có tài liệu đầy đủ: YOLOv8 được hưởng lợi từ tài liệu phong phú, một cộng đồng lớn và các tài nguyên có sẵn, làm cho nó đặc biệt thân thiện với người dùng và dễ triển khai thông qua giao diện Python và CLI đơn giản.
- Linh hoạt và đa nhiệm: Khả năng hỗ trợ nhiều tác vụ thị giác là một lợi thế chính so với các mô hình chuyên dụng hơn, mang lại sự linh hoạt vô song cho các yêu cầu dự án phức tạp.
- Hệ sinh thái được duy trì tốt: Mô hình được tích hợp liền mạch với Ultralytics HUB, một nền tảng giúp hợp lý hóa quy trình làm việc từ huấn luyện đến triển khai. Nó được hỗ trợ bởi quá trình phát triển tích cực và cập nhật thường xuyên từ Ultralytics.
- Cân bằng hiệu suất: Mô hình cung cấp sự cân bằng tuyệt vời giữa tốc độ, độ chính xác và kích thước mô hình, phù hợp với nhiều tình huống triển khai thực tế.
- Hiệu Quả Huấn Luyện: YOLOv8 cung cấp quy trình huấn luyện hiệu quả và các trọng số đã được huấn luyện trước có sẵn, giúp tăng tốc đáng kể các chu kỳ phát triển.
Điểm yếu
Mặc dù rất hiệu quả, YOLOv8 có thể bị các mô hình mới hơn như YOLOv10 vượt trội hơn một chút trong các điểm chuẩn cụ thể, bị hạn chế cao, ưu tiên tốc độ thô hoặc số lượng tham số hơn tất cả. Tuy nhiên, YOLOv8 thường cung cấp một gói tổng thể tốt hơn về khả năng sử dụng, tính linh hoạt và hỗ trợ.
Các trường hợp sử dụng lý tưởng
Tính linh hoạt và dễ sử dụng của YOLOv8 làm cho nó trở nên lý tưởng cho một loạt các ứng dụng:
- Hệ thống An ninh: Tuyệt vời để phát hiện đối tượng theo thời gian thực trong hệ thống báo động an ninh.
- Phân tích bán lẻ: Hữu ích trong bán lẻ thông minh để hiểu hành vi khách hàng và quản lý hàng tồn kho.
- Kiểm soát chất lượng công nghiệp: Áp dụng trong sản xuất để kiểm tra trực quan tự động.
- Dự án đa nhiệm: Lý tưởng cho các dự án yêu cầu phát hiện, phân đoạn và ước tính tư thế đồng thời từ một mô hình duy nhất.
YOLOv10: Đẩy mạnh giới hạn của hiệu suất
Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
Tổ chức: Đại học Thanh Hoa
Ngày: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
Docs: https://docs.ultralytics.com/models/yolov10/
YOLOv10, được giới thiệu vào tháng 5 năm 2024, tập trung vào tối đa hóa hiệu quả và tốc độ trong khi vẫn duy trì độ chính xác cạnh tranh. Nó đặc biệt nhắm đến các ứng dụng thời gian thực và edge. Một đổi mới quan trọng là phương pháp đào tạo của nó loại bỏ sự cần thiết của Non-Maximum Suppression (NMS), giúp giảm độ trễ xử lý hậu kỳ và cho phép phát hiện đối tượng đầu cuối thực sự.
Kiến trúc và các tính năng chính
YOLOv10 có thiết kế mô hình hướng đến độ chính xác-hiệu quả toàn diện. Nó tối ưu hóa các thành phần khác nhau để giảm sự dư thừa tính toán và tăng cường khả năng phát hiện. Bằng cách sử dụng gán kép nhất quán để huấn luyện, nó loại bỏ bước NMS, đơn giản hóa quy trình triển khai. Mặc dù đây là một bước tiến đáng kể, nhưng điều quan trọng cần lưu ý là YOLOv10 chủ yếu tập trung vào phát hiện đối tượng và thiếu tính linh hoạt đa nhiệm tích hợp của YOLOv8.
Phân tích hiệu suất
YOLOv10 thể hiện hiệu quả hàng đầu, mang lại tốc độ suy luận nhanh hơn và kích thước mô hình nhỏ hơn so với nhiều phiên bản YOLO trước đây. Ví dụ: YOLOv10-S đạt 46.7% mAPval 50-95 chỉ với 7.2 triệu tham số. Bảng dưới đây cho thấy rằng với một mức độ chính xác nhất định, các mô hình YOLOv10 thường có ít tham số hơn và số lượng phép toán dấu phẩy động (FLOPs) thấp hơn so với các mô hình YOLOv8 tương ứng. Tuy nhiên, YOLOv8 vẫn duy trì tốc độ rất cạnh tranh, đặc biệt là trên CPU, nơi nó đã được tối ưu hóa cao.
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) |
---|---|---|---|---|---|---|
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 |
YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Điểm mạnh và Điểm yếu
- Hiệu quả Nâng cao: Cung cấp tốc độ suy luận nhanh hơn và kích thước mô hình nhỏ hơn trong nhiều so sánh, điều này có lợi cho các môi trường bị hạn chế về tài nguyên.
- Huấn luyện không NMS: Đơn giản hóa quy trình triển khai bằng cách loại bỏ bước hậu xử lý NMS, giảm độ trễ.
- Hiệu suất vượt trội: Đạt được hiệu suất tuyệt vời, đặc biệt trong các điểm chuẩn chú trọng độ trễ.
Tuy nhiên, YOLOv10 cũng có một số hạn chế:
- Mô hình mới hơn: Vì là một mô hình gần đây hơn, nó có một cộng đồng nhỏ hơn và ít tài nguyên có sẵn hoặc tích hợp của bên thứ ba hơn so với YOLOv8 đã được thiết lập tốt.
- Tích hợp hệ sinh thái: Mặc dù được tích hợp vào thư viện Ultralytics, nhưng nó có thể đòi hỏi nhiều nỗ lực hơn để phù hợp với quy trình làm việc MLOps đã được thiết lập so với các mô hình như YOLOv8, vốn là bản địa của hệ sinh thái Ultralytics toàn diện.
- Chuyên biệt hóa tác vụ: Nó chủ yếu tập trung vào phát hiện đối tượng, thiếu tính linh hoạt tích hợp cho phân đoạn, phân loại và ước tính tư thế do YOLOv8 cung cấp.
Các trường hợp sử dụng lý tưởng
YOLOv10 đặc biệt phù hợp cho các ứng dụng mà hiệu suất thời gian thực và hiệu quả tài nguyên là ưu tiên hàng đầu tuyệt đối:
- Thiết bị biên: Lý tưởng để triển khai trên các thiết bị có công suất tính toán hạn chế như điện thoại di động và hệ thống nhúng.
- Xử lý tốc độ cao: Phù hợp cho các ứng dụng đòi hỏi độ trễ rất thấp, chẳng hạn như máy bay không người lái tự hành và robot học.
- Phân tích theo thời gian thực: Hoàn hảo cho các môi trường có nhịp độ nhanh, cần phát hiện đối tượng ngay lập tức, như quản lý giao thông.
Kết luận
Cả Ultralytics YOLOv8 và YOLOv10 đều là những mô hình phát hiện đối tượng mạnh mẽ và hiệu quả. Sự lựa chọn giữa chúng phụ thuộc nhiều vào các ưu tiên cụ thể của dự án.
Ultralytics YOLOv8 là lựa chọn được khuyến nghị cho hầu hết các nhà phát triển và nhà nghiên cứu. Nó nổi bật nhờ tính linh hoạt đặc biệt, dễ sử dụng, hệ sinh thái mạnh mẽ và sự cân bằng tuyệt vời giữa tốc độ và độ chính xác. Khả năng đa nhiệm của nó làm cho nó trở thành một giải pháp có tính đến tương lai cho các dự án có thể phát triển để bao gồm phân đoạn, ước tính tư thế hoặc các tác vụ thị giác khác.
YOLOv10 mang lại những cải tiến hiệu quả hấp dẫn cho các ứng dụng chuyên biệt, quan trọng về độ trễ. Nếu ràng buộc chính của dự án của bạn là triển khai trên các thiết bị biên có công suất thấp hoặc đạt được thời gian suy luận thấp nhất có thể cho một tác vụ duy nhất, thì YOLOv10 là một ứng cử viên mạnh mẽ.
Đối với người dùng quan tâm đến việc khám phá các mô hình hiện đại khác, Ultralytics cung cấp một loạt các tùy chọn, bao gồm YOLOv5 được đánh giá cao, YOLOv9 sáng tạo và YOLO11 mới nhất. Các so sánh khác, chẳng hạn như YOLOv9 so với YOLOv8 và YOLOv5 so với YOLOv8, có sẵn để giúp bạn chọn mô hình tốt nhất cho nhu cầu của mình.