So sánh chi tiết: YOLOv5 so với YOLOv8
So sánh Ultralytics YOLOv5 và Ultralytics YOLOv8 để phát hiện đối tượng cho thấy những tiến bộ đáng kể và những điểm mạnh riêng biệt ở mỗi mô hình. Cả hai mô hình, được phát triển bởi Ultralytics, đều nổi tiếng về tốc độ và độ chính xác, nhưng phục vụ cho các nhu cầu và ưu tiên khác nhau của người dùng trong lĩnh vực thị giác máy tính. Trang này cung cấp một so sánh kỹ thuật để giúp người dùng đưa ra quyết định sáng suốt dựa trên các yêu cầu của dự án, làm nổi bật những lợi thế của hệ sinh thái Ultralytics.
YOLOv5: Tiêu Chuẩn Đã Được Thiết Lập và Đa Năng
Tác giả: Glenn Jocher
Tổ chức: Ultralytics
Ngày: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Docs: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 nhanh chóng trở thành một tiêu chuẩn công nghiệp sau khi phát hà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. Được xây dựng hoàn toàn trên PyTorch, YOLOv5 có một kiến trúc mạnh mẽ với backbone CSPDarknet53 và một PANet neck để tổng hợp đặc trưng hiệu quả. Detection head dựa trên anchor của nó rất hiệu quả và mô hình có sẵn với nhiều kích thước khác nhau (n, s, m, l, x), cho phép các nhà phát triển chọn sự đánh đổi tối ưu cho các nhu cầu về hiệu năng và tính toán cụ thể của họ.
Đ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, khiến nó trở thành lựa chọn hàng đầu cho các ứng dụng thời gian thực trên nhiều loại phần cứng khác nhau, từ máy chủ mạnh mẽ đến thiết bị biên hạn chế về tài nguyên.
- Dễ sử dụng: Nổi tiếng với trải nghiệm người dùng được tối ưu hóa, YOLOv5 cung cấp giao diện Python và CLI đơn giản, được hỗ trợ bởi tài liệu phong phú.
- Hệ sinh thái trưởng thành và được duy trì tốt: Là một mô hình lâu đời, 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 hệ sinh thái Ultralytics, bao gồm các công cụ như Ultralytics HUB để đào tạo không cần code.
- Hiệu quả huấn luyện: YOLOv5 cung cấp quy trình huấn luyện hiệu quả với các trọng số đã được huấn luyện trước có sẵn, cho phép chu kỳ phát triển nhanh chóng. Nó thường yêu cầu ít bộ nhớ hơn để huấn luyện và suy luận so với các kiến trúc phức tạp hơn như transformer.
Đ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ủ công để 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 bất thường, không giống như các bộ dò tìm không cần anchor hiện đại.
- Độ chính xác: Mặc dù có độ chính xác cao, nhưng các mô hình mới hơn như YOLOv8 đã vượt qua hiệu suất của nó trên các chuẩn đánh giá tiêu chuẩn như tập dữ liệu COCO.
Các trường hợp sử dụng lý tưởng
Tốc độ và hiệu quả của YOLOv5 làm cho nó trở nên hoàn hảo cho:
- Giám sát video theo thời gian thực và hệ thống an ninh.
- Triển khai trên các thiết bị biên như NVIDIA Jetson và Raspberry Pi.
- Tự động hóa công nghiệp và kiểm soát chất lượng trong sản xuất.
- Tạo mẫu nhanh cho các dự án thị giác máy tính nhờ tính đơn giản và thời gian huấn luyện nhanh chóng.
YOLOv8: Framework Hiện Đại, Thế Hệ Mới
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 thể hiện sự phát triển tiếp theo trong series YOLO, được thiết kế như một framework thống nhất hỗ trợ đầy đủ các tác vụ AI thị giác. Ngoài nhận diện đối tượng, nó còn vượt trội trong phân vùng thể hiện, phân loại ảnh, ước tính dáng điệu và nhận diện đối tượng theo hướng. YOLOv8 giới thiệu những cải tiến kiến trúc quan trọng, chẳng hạn như đầu dò không neo và mô-đun C2f mới, để mang lại hiệu suất hiện đại.
Điểm mạnh
- Cải Thiện Độ Chính Xác và Tốc Độ: YOLOv8 mang lại sự cân bằng vượt trội giữa tốc độ và độ chính xác, đạt được điểm mAP cao hơn YOLOv5 trên tất cả các kích thước mô hình trong khi vẫn duy trì tốc độ suy luận cạnh tranh.
- Tính linh hoạt: Khả năng hỗ trợ nhiều tác vụ thị giác trong một framework gắn kết duy nhất khiến nó trở thành một công cụ vô cùng mạnh mẽ và linh hoạt để phát triển các hệ thống AI phức tạp.
- Kiến trúc hiện đại: Đầu dò không neo giúp đơn giản hóa lớp đầu ra và cải thiện hiệu suất bằng cách loại bỏ nhu cầu điều chỉnh hộp neo.
- Hệ sinh thái được duy trì tốt: Là một mô hình hàng đầu, YOLOv8 được hưởng lợi từ sự phát triển tích cực, cập nhật thường xuyên và hỗ trợ mạnh mẽ từ cộng đồng. Nó được tích hợp đầy đủ vào hệ sinh thái Ultralytics, bao gồm nền tảng Ultralytics HUB để đơn giản hóa MLOps.
- Hiệu quả bộ nhớ: Mặc dù có kiến trúc tiên tiến, YOLOv8 được tối ưu hóa để sử dụng bộ nhớ thấp, giúp nó có thể truy cập được trên nhiều loại phần cứng.
Điểm yếu
- Nhu cầu tính toán: Các mô hình YOLOv8 lớn nhất (ví dụ: YOLOv8x) đòi hỏi tài nguyên tính toán đáng kể, điều này có thể là một yếu tố cần cân nhắc khi triển khai trong các môi trường bị hạn chế cao.
Các trường hợp sử dụng lý tưởng
YOLOv8 là lựa chọn được khuyên dùng cho các ứng dụng đòi hỏi độ chính xác và tính linh hoạt cao nhất:
- Robotics tiên tiến đòi hỏi khả năng hiểu bối cảnh phức tạp và tương tác đa đối tượng.
- Phân tích hình ảnh độ phân giải cao cho hình ảnh y tế hoặc vệ tinh, nơi các chi tiết nhỏ là rất quan trọng.
- Hệ thống thị giác đa nhiệm cần thực hiện phát hiện, phân đoạn và ước tính tư thế đồng thời.
- Các dự án mới trong đó bắt đầu với mô hình hiện đại nhất là một ưu tiên.
Điểm chuẩn Hiệu suất: YOLOv5 so với YOLOv8
Sự khác biệt về hiệu năng giữa YOLOv5 và YOLOv8 thể hiện rõ khi so sánh các số liệu của chúng trên tập dữ liệu COCO. Nhìn chung, các mô hình YOLOv8 thể hiện độ chính xác cao hơn (mAP) với số lượng tham số và chi phí tính toán (FLOP) tương đương. Ví dụ: YOLOv8n đạt mAP là 37.3, gần tương đương với YOLOv5s (37.4 mAP) nhưng với số lượng tham số ít hơn 68% và tốc độ suy luận CPU nhanh hơn đáng kể.
Tuy nhiên, YOLOv5 vẫn là một ứng cử viên đáng gơm, đặc biệt trong các tình huống mà tốc độ GPU thô là ưu tiên hàng đầu. Ví dụ, mô hình YOLOv5n tự hào có thời gian suy luận nhanh nhất trên GPU T4. Điều này khiến nó trở thành một lựa chọn tuyệt vời cho các ứng dụng thời gian thực chạy trên phần cứng được tối ưu hóa.
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 |
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 |
Các Khác Biệt Chủ Yếu Về Kiến Trúc
Sự phát triển từ YOLOv5 lên YOLOv8 đã giới thiệu một số thay đổi kiến trúc quan trọng, góp phần vào hiệu suất và tính linh hoạt vượt trội của nó.
Backbone và Neck
YOLOv5 sử dụng mô-đun C3 trong backbone và neck của nó. Ngược lại, YOLOv8 thay thế nó bằng mô-đun C2f. Mô-đun C2f (Cross Stage Partial BottleNeck with 2 convolutions) cung cấp khả năng hợp nhất đặc trưng hiệu quả hơn và luồng gradient phong phú hơn, giúp tăng cường độ chính xác tổng thể của mô hình.
Đầu dò tìm (Detection Head)
Một điểm khác biệt lớn nằm ở detection head. YOLOv5 sử dụng một coupled, anchor-based head, có nghĩa là cùng một tập hợp các đặc trưng được sử dụng cho cả phân loại đối tượng và hồi quy hộp giới hạn. YOLOv8 sử dụng một decoupled, anchor-free head. Sự phân tách các tác vụ này (một head cho phân loại, một head khác cho hồi quy) cho phép mỗi head chuyên biệt hóa, cải thiện độ chính xác. Cách tiếp cận anchor-free cũng đơn giản hóa quy trình huấn luyện và loại bỏ nhu cầu điều chỉnh các anchor box priors, làm cho mô hình thích ứng hơn với các tập dữ liệu khác nhau.
Phương pháp luận đào tạo và Hệ sinh thái
Cả YOLOv5 và YOLOv8 đều được xây dựng trên PyTorch và tận dụng quy trình huấn luyện được tinh giản của Ultralytics, mang lại trải nghiệm nhất quán và thân thiện với người dùng.
- Dễ sử dụng: Cả hai mô hình đều có thể dễ dàng được huấn luyện bằng cách sử dụng CLI hoặc giao diện Python được cung cấp với thiết lập tối thiểu. Tài liệu toàn diện (Tài liệu YOLOv5, Tài liệu YOLOv8) và các API đơn giản giúp cho việc huấn luyện tùy chỉnh trở nên đơn giản.
- Huấn luyện hiệu quả: Các script huấn luyện được tối ưu hóa và trọng số được huấn luyện trước có sẵn giúp giảm đáng kể thời gian huấn luyện và chi phí tính toán.
- Tăng cường dữ liệu: Cả hai mô hình đều kết hợp một tập hợp mạnh mẽ các kỹ thuật tăng cường dữ liệu tích hợp để cải thiện khả năng tổng quát hóa mô hình và giảm tình trạng overfitting.
- Hệ sinh thái Ultralytics: Tích hợp với các công cụ như Ultralytics HUB và các nền tảng ghi log như TensorBoard và Comet giúp đơn giản hóa việc theo dõi thử nghiệm, quản lý mô hình và triển khai.
Kết luận: Bạn nên chọn mô hình nào?
Cả YOLOv5 và YOLOv8 đều là những mô hình phát hiện đối tượng mạnh mẽ được phát triển bởi Ultralytics, mang lại hiệu suất tuyệt vời và dễ sử dụng. Sự lựa chọn giữa chúng phần lớn phụ thuộc vào các yêu cầu cụ thể của dự án của bạn.
-
YOLOv5 vẫn là một ứng cử viên mạnh mẽ và đáng tin cậy, đặc biệt đối với các ứng dụng mà việc tối đa hóa tốc độ suy luận trên phần cứng cụ thể là rất quan trọng. Sự hoàn thiện của nó có nghĩa là nó có một hệ sinh thái rộng lớn và đã được thử nghiệm trong vô số triển khai thực tế. Đây là một lựa chọn tuyệt vời cho các dự án có ngân sách tài nguyên eo hẹp hoặc những dự án yêu cầu triển khai nhanh chóng trên các thiết bị biên.
-
YOLOv8 đại diện cho đỉnh cao của series YOLO, mang lại độ chính xác vượt trội, tính linh hoạt nâng cao trên nhiều tác vụ thị giác và kiến trúc hiện đại hơn. Thiết kế không neo và các tính năng tiên tiến của nó làm cho nó trở thành lựa chọn lý tưởng cho các dự án mới tìm kiếm hiệu suất hiện đại và tính linh hoạt để xử lý các thách thức AI phức tạp, nhiều mặt.
Ultralytics tiếp tục đổi mới, đảm bảo cả hai mô hình đều được hỗ trợ tốt, dễ sử dụng và cung cấp sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, phù hợp với nhiều tình huống thực tế khác nhau.
Khám Phá Các Mô Hình Ultralytics Khác
Đối với người dùng đang tìm kiếm các tùy chọn hiện đại khác, Ultralytics cũng cung cấp các mô hình như YOLOv9, YOLOv10 và YOLO11 mới nhất, mỗi mô hình cung cấp những ưu điểm riêng về hiệu suất và hiệu quả. Các so sánh khác có sẵn trong tài liệu Ultralytics.