YOLOv7 so với YOLOv10 Sự tiến hóa của phát hiện đối tượng thời gian thực
Lĩnh vực thị giác máy tính đã chứng kiến những bước tiến vượt bậc trong vài năm qua, với sự phát triển của... YOLO Họ mô hình (You Only Look Once - YOLOv) đang dẫn đầu trong lĩnh vực phát hiện đối tượng thời gian thực. Việc lựa chọn kiến trúc phù hợp cho các dự án thị giác máy tính của bạn đòi hỏi sự hiểu biết sâu sắc về các tùy chọn hiện có. Trong bài so sánh kỹ thuật toàn diện này, chúng ta sẽ khám phá những điểm khác biệt chính giữa hai kiến trúc mang tính bước ngoặt: YOLOv7 và YOLOv10 .
Giới thiệu về các mô hình
Cả hai mô hình này đều đại diện cho những cột mốc quan trọng trong lịch sử trí tuệ nhân tạo, nhưng chúng lại áp dụng các phương pháp tiếp cận khác biệt cơ bản để giải quyết các thách thức của detect đối tượng.
YOLOv7 Người tiên phong trong việc chia sẻ túi quà miễn phí
Được công bố vào ngày 6 tháng 7 năm 2022 bởi các nhà nghiên cứu Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao từ Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Trung Quốc . YOLOv7 Nghiên cứu này đã tạo ra một sự thay đổi mang tính đột phá trong cách tối ưu hóa mạng nơ-ron. Nghiên cứu ban đầu, được trình bày chi tiết trong bài báo khoa học của họ và được lưu trữ trên kho lưu trữ GitHub chính thức , tập trung mạnh vào việc tái tham số hóa kiến trúc và một "tập hợp các phần thưởng miễn phí" có thể huấn luyện được.
YOLOv7 Nó tận dụng mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN) để hướng dẫn mạng học các đặc trưng đa dạng mà không phá hủy đường dẫn gradient ban đầu. Điều này làm cho nó trở thành một lựa chọn mạnh mẽ cho các tiêu chuẩn nghiên cứu học thuật và các hệ thống phụ thuộc nhiều vào GPU cao cấp tiêu chuẩn.
YOLOv10: Detect thời gian thực từ đầu đến cuối
Được phát triển bởi Ao Wang và nhóm của ông tại Đại học Thanh Hoa, YOLOv10 được phát hành vào ngày 23 tháng 5 năm 2024. Như đã trình bày chi tiết trong ấn phẩm arxiv và kho lưu trữ GitHub của Thanh Hoa, mô hình này loại bỏ một nút thắt đã tồn tại lâu trong phát hiện đối tượng: Non-Maximum Suppression (NMS).
YOLOv10 giới thiệu các nhiệm vụ kép nhất quán cho NMS - đào tạo miễn phí, thay đổi căn bản quy trình xử lý hậu kỳ. Bằng cách triển khai chiến lược thiết kế mô hình toàn diện hướng đến hiệu quả và độ chính xác, YOLOv10 Giảm thiểu sự dư thừa trong tính toán. Điều này dẫn đến một kiến trúc được thiết kế riêng cho các thiết bị biên yêu cầu độ trễ cực thấp.
NMS - Kiến trúc tự do
Việc loại bỏ hiện tượng ức chế không tối đa (Non-Maximum Suppression) NMS ) TRONG YOLOv10 Cho phép xuất toàn bộ mô hình dưới dạng một đồ thị tính toán duy nhất. Điều này giúp đơn giản hóa đáng kể việc triển khai bằng cách sử dụng các môi trường chạy như TensorRT hoặc OpenVINO .
So sánh hiệu năng và số liệu
Khi phân tích hiệu năng của mô hình, điều quan trọng là phải đánh giá sự cân bằng giữa độ chính xác, tốc độ và khối lượng tính toán. Bảng sau đây thể hiện hiệu năng của các mô hình có kích thước khác nhau so với nhau.
| 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 |
| 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 |
Phân tích các đánh đổi
Các số liệu trên cho thấy một khoảng cách thế hệ rõ rệt. Mặc dù YOLOv7x mang lại hiệu suất rất mạnh mẽ mAP Với độ chính xác 53,1%, nó yêu cầu 71,3 triệu tham số và 189,9 tỷ FLOP. Ngược lại, YOLOv10l vượt trội hơn về độ chính xác (53,3%). mAP Trong khi đó, YOLOv10n yêu cầu ít hơn một nửa số tham số (29,5 triệu) và số phép tính FLOPs ít hơn đáng kể (120,3 tỷ). Hơn nữa, YOLOv10n được tối ưu hóa cao cung cấp tốc độ suy luận đáng kinh ngạc là 1,56ms, lý tưởng cho phân tích video thời gian thực và các ứng dụng di động.
Các trường hợp sử dụng thực tế
Sự khác biệt về kiến trúc giữa các mô hình này quyết định trường hợp sử dụng tối ưu của chúng.
Khi nào nên sử dụng YOLOv7
Nhờ khả năng biểu diễn đặc trưng phong phú, YOLOv7 vượt trội trong các môi trường cực kỳ phức tạp. Các trường hợp sử dụng như giám sát lưu lượng giao thông ở các khu vực đô thị đông đúc, phân tích hình ảnh vệ tinh hoặc xác định lỗi trong tự động hóa sản xuất nặng đều được hưởng lợi từ khả năng tái tham số hóa cấu trúc mạnh mẽ của nó. Nó cũng được ưa chuộng trong các môi trường kế thừa đã tích hợp sâu với các pipeline PyTorch 1.12 cụ thể.
Khi nào nên sử dụng YOLOv10
Cái NMS - Thiết kế nhẹ, không tốn kém YOLOv10 Nó hoạt động hiệu quả trong môi trường hạn chế. Nó rất được khuyến nghị cho các thiết bị điện toán biên như... NVIDIA Jetson Nano hoặc Raspberry Pi. Hiệu năng độ trễ thấp của chúng làm cho chúng trở nên hoàn hảo cho các ứng dụng tốc độ cao như phân tích thể thao , điều hướng máy bay không người lái tự hành và phân loại robot tốc độ cao trên băng chuyền.
Lợi thế Hệ sinh thái Ultralytics
Mặc dù cả hai mô hình đều có nền tảng học thuật vững chắc, nhưng tiềm năng thực sự của chúng được khai thác khi được sử dụng trong Nền tảng Ultralytics thống nhất. Việc phát triển các mô hình thị giác máy tính từ đầu rất khó khăn, nhưng Ultralytics Hệ sinh thái này mang đến trải nghiệm tuyệt vời chưa từng có cho các kỹ sư máy học.
- Dễ sử dụng: API Python của Ultralytics cung cấp một giao diện thống nhất. Bạn có thể huấn luyện, xác thực và xuất mô hình chỉ với vài dòng mã, tránh được những cơn ác mộng phụ thuộc phức tạp thường gặp với các kho lưu trữ học thuật điển hình.
- Hệ sinh thái được duy trì tốt: Ultralytics đảm bảo rằng mã nguồn cơ bản được phát triển tích cực. Người dùng hưởng lợi từ các tích hợp liền mạch với các công cụ ML phổ biến như Weights & Biases để ghi nhật ký, hoặc Hugging Face để tạo các bản demo web nhanh chóng.
- Yêu cầu bộ nhớ: Các bộ detect đối tượng dựa trên transformer thường tiêu thụ lượng lớn bộ nhớ CUDA trong quá trình huấn luyện. Ngược lại, các mô hình Ultralytics YOLO yêu cầu ít bộ nhớ hơn nhiều, cho phép sử dụng kích thước batch lớn hơn nhiều trên phần cứng phổ thông.
- Tính linh hoạt: Quy trình của Ultralytics không bị giới hạn bởi các hộp giới hạn tiêu chuẩn. Nó hỗ trợ liền mạch ước tính tư thế, phân đoạn đối tượng (instance segmentation) và các hộp giới hạn định hướng trên các họ mô hình được hỗ trợ như YOLO11 và YOLOv8.
Ví dụ về quy trình đào tạo được tinh gọn
Vận hành quy trình huấn luyện với Ultralytics Điều này vô cùng đơn giản. Cho dù bạn đang tận dụng sự vững chắc về mặt lịch sử của... YOLOv7 hoặc NMS - tốc độ miễn phí của YOLOv10 Cú pháp vẫn nhất quán:
from ultralytics import YOLO
# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export to an edge-friendly format like ONNX
model.export(format="onnx")
Các trường hợp sử dụng và Khuyến nghị
Việc lựa chọn giữa YOLOv7 và YOLOv10 phụ thuộc vào các yêu cầu dự án cụ thể, ràng buộc triển khai và sở thích hệ sinh thái của bạn.
Khi nào nên chọn YOLOv7
YOLOv7 là một lựa chọn tốt cho:
- Academic Benchmarking: Tái tạo các kết quả tiên tiến nhất từ kỷ nguyên 2022 hoặc nghiên cứu ảnh hưởng của E-ELAN và các kỹ thuật bag-of-freebies có thể huấn luyện.
- Nghiên cứu tái tham số hóa: Nghiên cứu các phép tích chập được tái tham số hóa theo kế hoạch và các chiến lược mở rộng mô hình phức hợp.
- Các pipeline tùy chỉnh hiện có: Các dự án với các pipeline tùy chỉnh cao được xây dựng xung quanh kiến trúc cụ thể của YOLOv7 mà không thể dễ dàng tái cấu trúc.
Khi nào nên chọn YOLOv10
YOLOv10 được khuyến nghị cho:
- detect thời gian thực không NMS: Các ứng dụng hưởng lợi từ detect end-to-end mà không cần Non-Maximum Suppression, giảm độ phức tạp khi triển khai.
- Đánh đổi cân bằng giữa tốc độ và độ chính xác: Các dự án yêu cầu sự cân bằng mạnh mẽ giữa tốc độ suy luận và độ chính xác detect trên các quy mô mô hình khác nhau.
- Ứng dụng có độ trễ nhất quán: Các kịch bản triển khai mà thời gian suy luận có thể dự đoán được là rất quan trọng, chẳng hạn như trong robot học hoặc các hệ thống tự hành.
Khi nào nên lựa chọn Ultralytics (YOLO26)
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:
- Triển khai biên không NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của xử lý hậu kỳ Non-Maximum Suppression.
- Môi trường chỉ có CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Detect đối tượng nhỏ: Các kịch bản đầy thách thức như hình ảnh từ máy bay không người lái hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các đối tượng rất nhỏ.
Tương lai: Giới thiệu YOLO26
Trong khi YOLOv7 Và YOLOv10 Với những cột mốc ấn tượng, ranh giới của trí tuệ nhân tạo luôn luôn tiến về phía trước. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 là tiêu chuẩn mới không thể tranh cãi về hiệu quả và độ chính xác trong tất cả các kịch bản triển khai trên thiết bị biên và đám mây.
Nếu bạn đang bắt đầu một dự án thị giác máy tính mới, YOLO26 là kiến trúc được khuyến nghị. Nó kế thừa những ưu điểm của các thế hệ trước bằng cách tích hợp một số cải tiến đột phá:
- Thiết kế NMS-Free End-to-End: Lấy cảm hứng từ YOLOv10, YOLO26 tự nhiên loại bỏ xử lý hậu kỳ NMS, đảm bảo suy luận có độ trễ cực thấp cho robot thời gian thực mang tính xác định.
- Tăng tốc suy luận trên CPU lên đến 43%: Bằng cách loại bỏ chiến lược module Distribution Focal Loss (DFL), YOLO26 tăng tốc độ thực thi đáng kể trên phần cứng điện toán biên không có GPU, biến nó thành một công cụ mạnh mẽ cho thiết bị IoT.
- Trình tối ưu hóa MuSGD: Lấy cảm hứng từ những đổi mới gần đây trong huấn luyện mô hình ngôn ngữ lớn, YOLO26 tích hợp sự kết hợp giữa SGD và Muon, ổn định các đường dẫn huấn luyện và đảm bảo hội tụ nhanh hơn.
- ProgLoss + STAL: Các hàm mất mát tiên tiến này mang lại những cải tiến đáng kể trong việc nhận diện vật thể nhỏ, khắc phục một điểm yếu cố hữu ở các thế hệ YOLO cũ hơn.
- Tính linh hoạt vượt trội: YOLO26 có các tối ưu hóa nguyên bản, dành riêng cho tác vụ như Ước tính Log-Likelihood dư (RLE) để theo dõi tư thế và các hàm mất góc chuyên biệt để phát hiện OBB chính xác trong ảnh chụp từ trên không.
Đối với các kỹ sư đang tìm kiếm sự cân bằng tối ưu giữa tốc độ, độ chính xác và tính đơn giản trong triển khai, việc chuyển đổi từ các mô hình cũ sang YOLO26 mang lại lợi thế cạnh tranh tức thì và có thể đo lường được.