So sánh mô hình: YOLOv7 so với YOLOv8 để phát hiện đối tượng
Việc lựa chọn đúng mô hình phát hiện đối tượng là rất quan trọng để đạt được hiệu suất tối ưu trong các tác vụ thị giác máy tính. Trang này cung cấp so sánh kỹ thuật giữa YOLOv7 và Ultralytics YOLOv8, hai mô hình quan trọng 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, điểm chuẩn hiệu suất và các ứng dụng lý tưởng của chúng để hướng dẫn quy trình lựa chọn mô hình của bạn, đồng thời làm nổi bật những lợi thế mà hệ sinh thái Ultralytics mang lại.
YOLOv7: Một chuẩn mực trong phát hiện theo thời gian thực
YOLOv7 được giới thiệu như một bước tiến đáng kể trong phát hiện đối tượng theo thời gian thực, tập trung vào tối ưu hóa hiệu quả huấn luyện và độ chính xác mà không làm tăng chi phí suy luận. Nó đã thiết lập một chuẩn mực mới cho các công cụ dò tìm theo thời gian thực khi được phát hành.
Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
Ngày: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Docs: https://docs.ultralytics.com/models/yolov7/
Kiến trúc và các tính năng chính
YOLOv7 xây dựng dựa trên các kiến trúc YOLO trước đó bằng cách giới thiệu một số cải tiến quan trọng. Nó sử dụng các kỹ thuật như Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN) trong backbone của nó để cải thiện hiệu quả trích xuất đặc trưng. Một đóng góp lớn là khái niệm "trainable bag-of-freebies", bao gồm các chiến lược tối ưu hóa được áp dụng trong quá trình huấn luyện—như các head phụ trợ và hướng dẫn từ thô đến tinh—để tăng độ chính xác của mô hình cuối cùng mà không làm tăng thêm chi phí tính toán trong quá trình suy luận. YOLOv7 chủ yếu là một detector dựa trên anchor tập trung vào nhiệm vụ phát hiện đối tượng, mặc dù các tiện ích mở rộng cộng đồng đã điều chỉnh nó cho các nhiệm vụ khác như ước tính tư thế.
Điểm mạnh
- Cân bằng giữa Độ chính xác và Tốc độ cao: Cung cấp sự kết hợp mạnh mẽ giữa mAP và tốc độ suy luận, làm cho nó hiệu quả cao cho các tác vụ suy luận theo thời gian thực.
- Huấn luyện hiệu quả: Sử dụng các kỹ thuật huấn luyện tiên tiến ("bag-of-freebies") để cải thiện độ chính xác mà không làm tăng chi phí suy luận cuối cùng.
- Hiệu Suất Đã Được Chứng Minh: Đã chứng minh kết quả trên các điểm chuẩn tiêu chuẩn như bộ dữ liệu MS COCO.
Điểm yếu
- Độ phức tạp về kiến trúc: Kiến trúc và các kỹ thuật huấn luyện mới lạ có thể phức tạp để nắm bắt đầy đủ và tối ưu hóa cho các trường hợp sử dụng tùy chỉnh.
- Tốn tài nguyên: Các mô hình YOLOv7 lớn hơn đòi hỏi tài nguyên GPU đáng kể để đào tạo.
- Tính linh hoạt của tác vụ bị hạn chế: Chủ yếu tập trung vào phát hiện đối tượng. Việc triển khai các tác vụ khác như phân đoạn thể hiện hoặc phân loại hình ảnh đòi hỏi các triển khai riêng biệt, không tích hợp, không giống như cách tiếp cận thống nhất của YOLOv8.
Ultralytics YOLOv8: Hiệu quả và khả năng thích ứng vượt trội
Ultralytics YOLOv8 là bản phát hành lớn tiếp theo từ Ultralytics, được xây dựng dựa trên thành công của các phiên bản YOLO trước đó. Nó là một mô hình hiện đại được thiết kế để có hiệu suất, tính linh hoạt và hiệu quả vượt trội. YOLOv8 giới thiệu thiết kế không neo và kiến trúc hợp lý hơn, nâng cao cả hiệu suất và tính dễ sử dụng.
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/
Điểm mạnh
- Hiệu suất vượt trội: YOLOv8 đạt được sự cân bằng vượt trội giữa độ chính xác và tốc độ, phù hợp với nhiều ứng dụng từ edge AI đến các dịch vụ dựa trên đám mây.
- Thiết Kế Thân Thiện Với Người Dùng: Ultralytics ưu tiên sự đơn giản, cung cấp tài liệu toàn diện, quy trình làm việc đơn giản và giao diện Python và CLI đơn giản để training (huấn luyện) và deployment (triển khai).
- Tính Linh hoạt Vượt trội: Hỗ trợ gốc nhiều tác vụ thị giác máy tính, bao gồm detection (phát hiện), segmentation (phân vùng), classification (phân loại), pose estimation (ước tính tư thế) và oriented object detection (OBB) (phát hiện đối tượng theo hướng), cung cấp một giải pháp thống nhất cho các nhu cầu thị giác máy tính đa dạng.
- Hệ sinh thái được duy trì tốt: Tích hợp liền mạch với Ultralytics HUB để huấn luyện và triển khai không cần code. Hệ sinh thái này được hưởng lợi từ quá trình phát triển tích cực, cập nhật thường xuyên, hỗ trợ mạnh mẽ từ cộng đồng và tài nguyên phong phú.
- Hiệu quả về huấn luyện và bộ nhớ: Cung cấp quy trình huấn luyện hiệu quả với các weights (trọng số) đã được huấn luyện trước, có sẵn. Kiến trúc của nó thường yêu cầu mức sử dụng bộ nhớ thấp hơn trong quá trình huấn luyện so với các kiến trúc phức tạp khác như transformer, vốn có thể huấn luyện chậm hơn và đòi hỏi nhiều bộ nhớ CUDA hơn.
Điểm yếu
- Các mô hình lớn hơn đòi hỏi tài nguyên tính toán đáng kể, mặc dù các biến thể nhỏ hơn, hiệu quả cao như YOLOv8n có sẵn cho các môi trường bị hạn chế về tài nguyên.
Các trường hợp sử dụng lý tưởng
Tính linh hoạt của YOLOv8 làm cho nó trở nên lý tưởng cho các ứng dụng đòi hỏi hiệu suất thời gian thực và độ chính xác cao, chẳng hạn như:
- Phát hiện đối tượng theo thời gian thực trong hệ thống báo động an ninh và xe tự hành.
- Các giải pháp AI thị giác linh hoạt trong các ngành như nông nghiệp và chăm sóc sức khỏe.
- Tạo mẫu và triển khai nhanh chóng nhờ tính dễ sử dụng và các công cụ mạnh mẽ trong hệ sinh thái Ultralytics.
Hiệu năng và điểm chuẩn: YOLOv7 so với YOLOv8
Khi so sánh hiệu suất, YOLOv8 thể hiện những lợi thế rõ ràng về cả độ chính xác và hiệu quả trên toàn bộ các mô hình của nó. Ví dụ: mô hình YOLOv8x đạt được mAP cao hơn YOLOv7x đồng thời hiệu quả hơn. Các mô hình YOLOv8 nhỏ hơn cũng mang lại sự cân bằng tuyệt vời cho việc triển khai trên các thiết bị biên.
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) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Kết luận: Bạn nên chọn mô hình nào?
Trong khi YOLOv7 là một công cụ phát hiện đối tượng đáng gờm đã đẩy lùi các ranh giới của hiệu suất thời gian thực, Ultralytics YOLOv8 đại diện cho một lựa chọn hấp dẫn hơn cho phần lớn các ứng dụng hiện đại.
Ưu điểm chính của YOLOv8 nằm ở:
- Tính linh hoạt vượt trội: Hỗ trợ gốc cho nhiều tác vụ hơn, biến nó thành một giải pháp toàn diện cho các dự án thị giác máy tính phức tạp.
- Dễ sử dụng: API được tối ưu hóa, tài liệu phong phú và tích hợp với hệ sinh thái Ultralytics giúp giảm đáng kể rào cản gia nhập cho cả người mới bắt đầu và chuyên gia.
- Better Performance-Efficiency Trade-off: Các mô hình YOLOv8 thường cung cấp độ chính xác tốt hơn cho một số lượng tham số và chi phí tính toán nhất định, giúp chúng thích ứng tốt hơn với các ràng buộc phần cứng khác nhau.
- Phát triển và Hỗ trợ tích cực: Là một mô hình hàng đầu từ Ultralytics, YOLOv8 được hưởng lợi từ các bản cập nhật liên tục, một cộng đồng mạnh mẽ và hỗ trợ chuyên nghiệp, đảm bảo khả năng tồn tại lâu dài cho các dự án.
Đối với các nhà phát triển và nhà nghiên cứu đang tìm kiếm một framework mạnh mẽ, linh hoạt và dễ sử dụng, Ultralytics YOLOv8 là lựa chọn được khuyến nghị để xây dựng các giải pháp AI hiện đại.
Khám phá các Mô hình Khác
Để khám phá thêm, hãy xem xét các so sánh liên quan đến YOLOv7, YOLOv8 và các mô hình liên quan khác trong tài liệu Ultralytics:
- YOLOv7 so với YOLOv5
- YOLOv8 so với YOLOv5
- YOLOv8 so với RT-DETR
- Khám phá các mô hình mới nhất như YOLOv10 và YOLO11.