YOLOv10 so với YOLOv7: So sánh kỹ thuật chi tiết
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 đối với các dự án thị giác máy tính, ảnh hưởng đến hiệu suất, tốc độ và việc sử dụng tài nguyên. Trang này cung cấp so sánh kỹ thuật giữa YOLOv10 và YOLOv7, hai mô hình quan trọng trong họ You Only Look Once (YOLO), để giúp bạn chọn mô hình phù hợp nhất với nhu cầu của mình. Chúng ta sẽ đi sâu vào kiến trúc, các chỉ số hiệu suất và các trường hợp sử dụng lý tưởng của chúng.
YOLOv10
YOLOv10, được giới thiệu vào tháng 5 năm 2024 bởi các nhà nghiên cứu từ Đại học Thanh Hoa, thể hiện một bước tiến đáng kể trong phát hiện đối tượng theo thời gian thực. Đổi mới chính của nó là đạt được khả năng phát hiện đối tượng end-to-end bằng cách loại bỏ sự cần thiết của Non-Maximum Suppression (NMS) trong quá trình suy luận. Đột phá này làm giảm chi phí tính toán và giảm độ trễ suy luận, làm cho việc triển khai hiệu quả hơn.
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
YOLOv10 giới thiệu một số cải tiến kiến trúc nhằm tối ưu hóa sự cân bằng giữa tốc độ và độ chính xác:
- Huấn luyện không NMS: Bằng cách sử dụng gán nhãn kép nhất quán, YOLOv10 tránh các dự đoán dư thừa và loại bỏ sự cần thiết của bước hậu xử lý NMS. Điều này đơn giản hóa quy trình triển khai và làm cho mô hình thực sự là đầu cuối.
- Thiết kế hướng đến hiệu quả và độ chính xác toàn diện: Kiến trúc mô hình được tối ưu hóa một cách toàn diện cho cả hiệu quả và hiệu suất. Điều này bao gồm việc giới thiệu một lớp classification head (đầu phân loại) gọn nhẹ và sử dụng giảm tỷ lệ lấy mẫu không gian-kênh được tách rời để giảm sự dư thừa tính toán đồng thời tăng cường khả năng của mô hình.
- Phương Pháp Không Dựa trên Anchor: Giống như các mô hình YOLO hiện đại khác, nó áp dụng thiết kế trình phát hiện không dựa trên anchor, giúp đơn giản hóa phần đầu dò (detection head) và cải thiện khả năng tổng quát hóa.
- Tích hợp Ultralytics liền mạch: YOLOv10 được tích hợp hoàn toàn vào hệ sinh thái Ultralytics, được hưởng lợi từ trải nghiệm người dùng được sắp xếp hợp lý với Python API đơn giản và lệnh CLI mạnh mẽ. Điều này làm cho việc đào tạo, xác thực và triển khai trở nên cực kỳ đơn giản.
Điểm mạnh
- Hiệu quả vượt trội: Thiết kế không NMS và các tối ưu hóa kiến trúc dẫn đến tốc độ suy luận nhanh hơn và độ trễ thấp hơn đáng kể, điều này rất quan trọng đối với các ứng dụng thời gian thực.
- Độ chính xác Cạnh tranh: YOLOv10 duy trì độ chính xác cao đồng thời giảm đáng kể kích thước mô hình và chi phí tính toán so với các phiên bản tiền nhiệm.
- Triển Khai Đơn Giản Hóa: Việc loại bỏ NMS tạo ra một quy trình phát hiện đầu cuối thực sự, giúp triển khai dễ dàng hơn, đặc biệt là trên các thiết bị biên.
- Khả năng mở rộng tuyệt vời: Cung cấp một loạt các mô hình từ Nano (N) đến Extra-large (X), phục vụ cho các nhu cầu hiệu suất khác nhau, từ phần cứng biên bị hạn chế về tài nguyên đến các máy chủ đám mây mạnh mẽ.
Điểm yếu
- Mô hình mới hơn: Là một bản phát hành gần đây, sự hỗ trợ của cộng đồng và số lượng tích hợp của bên thứ ba có thể không rộng lớn bằng so với các mô hình được xây dựng vững chắc hơn như YOLOv7 hoặc Ultralytics YOLOv8.
YOLOv7
YOLOv7, được phát hành vào tháng 7 năm 2022, nhanh chóng thiết lập một tiêu chuẩn mới cho việc phát hiện đối tượng với sự cân bằng đáng kể giữa tốc độ và độ chính xác. Được phát triển bởi các nhà nghiên cứu tại Viện Khoa học Thông tin, Academia Sinica, nó đã giới thiệu một số cải tiến kiến trúc và chiến lược huấn luyện được gọi là "trainable bag-of-freebies" để tăng hiệu suất mà không làm tăng chi phí suy luận.
Chi tiết kỹ thuật:
- 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
- Date: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Tài liệu: https://docs.ultralytics.com/models/yolov7/
Kiến trúc và các tính năng chính
Kiến trúc của YOLOv7 kết hợp một số cải tiến quan trọng đã thúc đẩy ranh giới của việc phát hiện đối tượng theo thời gian thực tại thời điểm phát hành:
- Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN): Cấu trúc mạng nâng cao này cải thiện khả năng học các đặc trưng đa dạng của mô hình đồng thời duy trì luồng gradient hiệu quả, dẫn đến độ chính xác tốt hơn và hội tụ nhanh hơn.
- Điều chỉnh tỷ lệ mô hình cho các mô hình dựa trên ghép kênh: YOLOv7 giới thiệu các phương pháp điều chỉnh tỷ lệ phức hợp, điều chỉnh một cách thông minh độ sâu và chiều rộng của mô hình để tối ưu hóa hiệu suất trên các mức ngân sách tính toán khác nhau.
- Trainable Bag-of-Freebies: Nó tận dụng các kỹ thuật đào tạo nâng cao, chẳng hạn như sử dụng auxiliary head với hướng dẫn từ thô đến tinh, để cải thiện độ chính xác mà không làm tăng bất kỳ chi phí nào trong quá trình suy diễn.
Điểm mạnh
- mAP cao: Cung cấp độ chính xác phát hiện đối tượng tuyệt vời, khiến nó trở thành một lựa chọn mạnh mẽ cho các ứng dụng mà độ chính xác là tối quan trọng.
- Suy luận nhanh: Cung cấp tốc độ suy luận cạnh tranh, phù hợp với nhiều tác vụ thời gian thực, đặc biệt là trên phần cứng GPU.
- Đã được thiết lập tốt: Vì đã có mặt trên thị trường lâu hơn, YOLOv7 được hưởng lợi từ cơ sở cộng đồng lớn hơn, nhiều hướng dẫn hơn và được áp dụng rộng rãi hơn trong các dự án khác nhau.
Điểm yếu
- Phụ thuộc NMS: Không giống như YOLOv10, YOLOv7 dựa vào bước xử lý hậu kỳ NMS, điều này làm tăng tổng thể độ trễ suy diễn và làm phức tạp thêm quy trình triển khai.
- Kém hiệu quả hơn: So với YOLOv10, các mô hình YOLOv7 thường có nhiều tham số hơn và FLOPs cao hơn để đạt được mức độ chính xác tương đương, khiến chúng kém hiệu quả hơn.
So sánh Hiệu suất: YOLOv10 so với YOLOv7
Khi so sánh hiệu suất, YOLOv10 thể hiện lợi thế rõ rệt về hiệu quả. So sánh trực tiếp nhất là giữa YOLOv10-M và YOLOv7-L. Như trong bảng dưới đây, YOLOv10-M đạt được mAPval gần như giống hệt là 51.3% so với 51.4% của YOLOv7-L. Tuy nhiên, YOLOv10-M hiệu quả hơn đáng kể: nhanh hơn (5.48ms so với 6.84ms trên TensorRT), có số lượng tham số ít hơn một nửa (15.4M so với 36.9M) và yêu cầu tài nguyên tính toán ít hơn nhiều (59.1B FLOPs so với 104.7B FLOPs). Điều này làm nổi bật thiết kế kiến trúc vượt trội của YOLOv10, mang lại độ chính xác tương đương với hiệu quả cao hơn nhiều.
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) |
---|---|---|---|---|---|---|
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Kết luận
Cả YOLOv10 và YOLOv7 đều là những mô hình phát hiện đối tượng mạnh mẽ, nhưng YOLOv10 đại diện cho bước tiếp theo trong hiệu quả phát hiện thời gian thực. Kiến trúc không NMS của nó cung cấp một giải pháp đầu cuối thực sự nhanh hơn, nhẹ hơn và dễ triển khai hơn mà không làm giảm độ chính xác. Đối với các dự án mới, đặc biệt là những dự án nhắm mục tiêu edge AI hoặc yêu cầu độ trễ tối thiểu, YOLOv10 là lựa chọn được khuyến nghị.
Trong khi YOLOv7 vẫn là một mô hình có khả năng, sự phụ thuộc của nó vào NMS và kiến trúc kém hiệu quả hơn làm cho nó phù hợp hơn với các dự án kế thừa hoặc các tình huống mà tài nguyên cộng đồng mở rộng của nó là một cân nhắc chính. Đối với các nhà phát triển đang tìm kiếm hiệu suất tốt nhất, dễ sử dụng và một hệ sinh thái toàn diện, các mô hình Ultralytics như YOLOv10 mang lại trải nghiệm vượt trội. Việc tích hợp với Ultralytics HUB giúp đơn giản hóa hơn nữa việc đào tạo và triển khai, giúp thị giác máy tính tiên tiến trở nên dễ tiếp cận hơn bao giờ hết.
Khám phá các Mô hình Khác
Để tìm hiểu thêm, bạn có thể tham khảo các mô hình hiện đại khác có trong tài liệu Ultralytics:
- Ultralytics YOLOv8: Một mô hình rất linh hoạt, vượt trội trong nhiều tác vụ thị giác, bao gồm nhận diện, phân vùng và ước tính dáng điệu.
- YOLOv9: Giới thiệu các đổi mới như Thông tin Gradient có thể lập trình (PGI) để giải quyết tình trạng mất thông tin trong mạng sâu.
- YOLO11: Mô hình Ultralytics chính thức mới nhất, cung cấp hiệu suất hiện đại, hỗ trợ đa nhiệm và dễ sử dụng chưa từng có.