So sánh kỹ thuật chi tiết: YOLOv5 so với YOLOv10
Việc lựa chọn mô hình phát hiện đối tượng phù hợp là một quyết định quan trọng đối với bất kỳ dự án thị giác máy tính nào, vì nó ảnh hưởng trực tiếp đến hiệu suất ứng dụng, tốc độ và yêu cầu tài nguyên. Trang này cung cấp so sánh kỹ thuật chuyên sâu giữa hai mô hình mang tính bước ngoặt: Ultralytics YOLOv5, tiêu chuẩn ngành đã được thiết lập và áp dụng rộng rãi và YOLOv10, một mô hình tiên tiến đẩy lùi các ranh giới của hiệu quả thời gian thực. Phân tích này sẽ khám phá 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 đưa ra lựa chọn sáng suốt.
Ultralytics YOLOv5: Tiêu chuẩn đã được thiết lập và linh hoạt
Ultralytics YOLOv5 đã trở thành một chuẩn mực trong ngành, được đánh giá cao nhờ sự cân bằng vượt trội giữa tốc độ, độ chính xác và tính dễ sử dụng vô song. Nó đã cung cấp sức mạnh cho vô số ứng dụng trong nhiều lĩnh vực khác nhau kể từ khi ra mắt.
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
Được phát triển trong PyTorch, YOLOv5 có kiến trúc linh hoạt với xương sống CSPDarknet53 và cổ PANet để tổng hợp các đặc trưng mạnh mẽ. Đầu dò tìm dựa trên anchor của nó rất hiệu quả. Một trong những đặc điểm xác định của nó là khả năng mở rộng, cung cấp một loạt các kích thước mô hình (n, s, m, l, x) để phục vụ cho các ngân sách tính toán và nhu cầu hiệu suất khác nhau.
Điểm mạnh
- Tốc độ và Hiệu quả Vượt trội: YOLOv5 được tối ưu hóa cao cho suy luận nhanh chóng, biến nó thành một lựa chọn phù hợp 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 trải nghiệm người dùng được tối ưu hóa, Python API đơn giản và tài liệu phong phú, YOLOv5 giảm đáng kể rào cản gia nhập để phát triển các giải pháp thị giác máy tính tiên tiến.
- Hệ sinh thái được duy trì tốt: Là một mô hình Ultralytics, nó được 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ích hợp liền mạch với các công cụ như Ultralytics HUB để huấn luyện và triển khai không cần code.
- Tính linh hoạt: YOLOv5 không chỉ dành cho phát hiện đối tượng; nó còn hỗ trợ phân đoạn thể hiện và phân loại ảnh, làm cho nó trở thành một công cụ linh hoạt cho các tác vụ thị giác khác nhau.
- Hiệu quả huấn luyện: Mô hình cung cấp quy trình huấn luyện hiệu quả với trọng số đã được huấn luyện trước có sẵn và thường yêu cầu ít bộ nhớ hơn để huấn luyện so với các kiến trúc phức tạp hơn.
Điểm yếu
- Phát hiện dựa trên Anchor: Việc dựa vào các hộp anchor được xác định trước đôi khi có thể yêu cầu điều chỉnh thêm để đạt được hiệu suất tối ưu trên các bộ dữ liệu có hình dạng hoặc kích thước đối tượng không thông thường, so với các bộ dò tìm không cần anchor hiện đại.
- Độ chính xác so với các Model mới hơn: Mặc dù có độ chính xác cao, nhưng các kiến trúc mới hơn như YOLOv10 đã vượt qua nó về mAP trên các chuẩn đánh giá tiêu chuẩn như COCO.
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ó trở thành một công cụ đáng tin cậy cho vô số ứng dụng:
- Điện toán biên: Các biến thể nhỏ hơn của nó là 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: Được sử dụng rộng rãi để kiểm soát chất lượng và tự động hóa quy trình trong sản xuất.
- An ninh và Giám sát: Cung cấp khả năng giám sát theo thời gian thực trong hệ thống an ninh và các ứng dụng an toàn công cộng.
- Tạo mẫu Nhanh chóng: Tính dễ sử dụng của nó làm cho nó trở nên lý tưởng để phát triển và thử nghiệm nhanh chóng các ý tưởng mới.
YOLOv10: Công cụ phát hiện theo thời gian thực tiên tiến
YOLOv10 thể hiện một bước tiến lớn trong phát hiện đối tượng thời gian thực, tập trung vào việc tạo ra một quy trình hiệu quả thực sự từ đầu đến cuối bằng cách loại bỏ nhu cầu về Non-Maximum Suppression (NMS).
Chi tiết kỹ thuậ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
- Tài liệu: https://docs.ultralytics.com/models/yolov10/
Kiến trúc và các tính năng chính
Đổi mới cốt lõi của YOLOv10 là chiến lược huấn luyện không cần NMS, sử dụng các phép gán kép nhất quán để giải quyết các dự đoán xung đột trong quá trình huấn luyện. Như được trình bày chi tiết trong bài báo arXiv, điều này loại bỏ bước xử lý hậu kỳ NMS, vốn là một nút thắt cổ chai làm tăng độ trễ suy luận. Hơn nữa, YOLOv10 sử dụng thiết kế mô hình hướng đến hiệu quả-độ chính xác toàn diện, tối ưu hóa các thành phần như backbone và neck để giảm sự dư thừa tính toán đồng thời tăng cường khả năng phát hiện.
Phân tích và so sánh hiệu năng
YOLOv10 đặt ra một chuẩn mực hiện đại mới cho sự đánh đổi giữa tốc độ và độ chính xác. Bảng dưới đây cho thấy các mô hình YOLOv10 liên tục đạt được độ chính xác cao hơn với số lượng tham số và FLOP ít hơn so với các đối tác YOLOv5 của chúng. Ví dụ: YOLOv10-M vượt trội hơn YOLOv5-x về mAP trong khi có số lượng tham số ít hơn gần 6 lần và số lượng FLOP ít hơn 4 lần. Hiệu quả vượt trội này làm cho nó trở thành một đối thủ mạnh mẽ cho các ứng dụng hiện đại.
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) |
---|---|---|---|---|---|---|
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 |
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
- Tốc độ và hiệu quả vượt trội: Thiết kế không cần NMS mang lại sự tăng tốc đáng kể trong quá trình suy luận, điều này rất quan trọng đối với các ứng dụng có yêu cầu độ trễ cực thấp.
- Độ chính xác cao với ít tham số hơn: Đạt được độ chính xác cao nhất với kích thước mô hình nhỏ hơn, làm cho nó rất phù hợp để triển khai trong môi trường hạn chế tài nguyên.
- End-to-End Deployment: Bằng cách loại bỏ NMS, YOLOv10 đơn giản hóa quy trình triển khai, làm cho nó thực sự là end-to-end.
- Tích hợp hệ sinh thái Ultralytics: YOLOv10 được tích hợp đầy đủ vào hệ sinh thái Ultralytics, cung cấp tính dễ sử dụng, tài liệu mở rộng và hỗ trợ tương tự như các mô hình Ultralytics khác.
Điểm yếu
- Mô hình mới hơn: Là một mô hình được phát hành gần đây, sự hỗ trợ của cộng đồng và công cụ của bên thứ ba vẫn đang phát triển so với hệ sinh thái rộng lớn xung quanh YOLOv5.
- Chuyên biệt hóa tác vụ: YOLOv10 chủ yếu tập trung vào phát hiện đối tượng. Đối với các dự án yêu cầu một mô hình duy nhất cho nhiều tác vụ như phân đoạn và ước tính tư thế, các mô hình như YOLOv8 có thể phù hợp hơn.
Các Trường hợp Sử dụng
YOLOv10 vượt trội trong các ứng dụng mà mỗi mili giây và mỗi tham số đều có giá trị:
- Robot học tốc độ cao: Cho phép xử lý hình ảnh thời gian thực cho robot hoạt động trong môi trường phức tạp và năng động.
- Hệ thống hỗ trợ lái xe nâng cao (ADAS): Cung cấp khả năng phát hiện đối tượng nhanh chóng để tăng cường an toàn đường bộ, một thành phần quan trọng trong AI cho xe tự lái.
- Phân tích video theo thời gian thực: Xử lý video tốc độ khung hình cao để có thông tin chi tiết ngay lập tức, hữu ích trong các ứng dụng như quản lý giao thông.
Kết luận
Cả YOLOv5 và YOLOv10 đều là những mô hình vượt trội, nhưng chúng phục vụ cho các nhu cầu khác nhau.
Ultralytics YOLOv5 vẫn là lựa chọn hàng đầu cho các nhà phát triển cần một mô hình hoàn thiện, đáng tin cậy và đa năng. Tính dễ sử dụng, tài liệu phong phú và sự hỗ trợ mạnh mẽ từ cộng đồng giúp nó trở nên hoàn hảo để phát triển và triển khai nhanh chóng trên nhiều ứng dụng khác nhau. Sự cân bằng giữa tốc độ và độ chính xác của nó đã được chứng minh trong vô số tình huống thực tế.
YOLOv10 là tương lai của phát hiện đối tượng theo thời gian thực. Kiến trúc không cần NMS cải tiến của nó mang lại hiệu quả vô song, khiến nó trở thành giải pháp lý tưởng cho các ứng dụng quan trọng về độ trễ và triển khai trên các thiết bị biên. Mặc dù mới hơn, nhưng việc tích hợp nó vào hệ sinh thái Ultralytics đảm bảo trải nghiệm người dùng mượt mà.
Đối với những ai đang khám phá các tùy chọn hiện đại khác, hãy cân nhắc xem các mô hình khác như YOLOv8, YOLOv9 và YOLO11 mới nhất, những mô hình tiếp tục xây dựng dựa trên nền tảng vững chắc của kiến trúc YOLO.