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, tuy nhiên chúng lại có cách tiếp cận hoàn toàn khác nhau để giải quyết những thách thức trong việc phát hiện đố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ư đã được mô tả chi tiết trong bài báo trên arxiv và kho lưu trữ GitHub của Đại học Thanh Hoa , mô hình này loại bỏ một nút thắt cổ chai lâu đời trong phát hiện đối tượng: Loại bỏ cực đại không đồng nhất (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 sự đá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
Do có nhiều tính năng phong phú, YOLOv7 Nó hoạt động xuất sắc 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 trong các khu vực đô thị đông đúc, phân tích ảnh vệ tinh hoặc xác định lỗi trong tự động hóa sản xuất công nghiệp nặng đều được hưởng lợi từ khả năng tái tham số cấu trúc mạnh mẽ của nó. Nó cũng được ưa chuộng trong các môi trường hệ thống cũ đã được tích hợp sâu với các hệ thống cụ thể khác. PyTorch 1.12 đường ống.
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: Ultralytics Python API 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 một vài dòng mã, tránh được những rắc rối phức tạp về phụ thuộc thường gặp trong các kho lưu trữ học thuật thông thường.
- 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 liên tục. Người dùng được hưởng lợi từ sự tích hợp liền mạch với các công cụ học máy phổ biến như Weights & Biases để ghi nhật ký hoặc Hugging Face để trình diễn web nhanh chóng.
- Yêu cầu bộ nhớ: Các bộ dò đối tượng dựa trên Transformer thường tiêu tốn một lượng bộ nhớ khổng lồ. CUDA trí nhớ trong quá trình huấn luyện. Ngược lại, Ultralytics YOLO Các mô hình này yêu cầu ít bộ nhớ hơn nhiều, cho phép xử lý theo lô với kích thước lớn hơn nhiều trên phần cứng dành cho người tiêu dùng.
- Tính linh hoạt: Cái Ultralytics Quy trình này không chỉ giới hạn ở các hộp giới hạn tiêu chuẩn. Nó hỗ trợ liền mạch việc ước tính tư thế , phân đoạn đối tượng 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ị
Lựa chọn giữa YOLOv7 Và YOLOv10 Điều này phụ thuộc vào các yêu cầu cụ thể của dự án, các ràng buộc triển khai và sở thích về 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:
- So sánh hiệu quả học tập: Tái tạo các kết quả tiên tiến nhất thời kỳ năm 2022 hoặc nghiên cứu tác động của E-ELAN và các kỹ thuật "túi quà tặng miễn phí" có thể huấn luyện được.
- Nghiên cứu về tái tham số hóa: Điều tra các phép tích chập 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 quy trình tùy chỉnh hiện có: Các dự án với các quy trình được tùy chỉnh cao được xây dựng dựa trên... YOLOv7 Kiến trúc đặc thù của nó không dễ dàng để chỉnh sửa lại.
Khi nào nên chọn YOLOv10
YOLOv10 được khuyến nghị cho:
- NMS - Phát hiện thời gian thực không cần hệ thống quản lý truy cập (NMS): Các ứng dụng được hưởng lợi từ khả năng phát hiện toàn diện mà không cần hệ thống loại bỏ truy cập không tối đa (Non-Maximum Suppression), giúp giảm độ phức tạp khi triển khai.
- 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 tốt giữa tốc độ suy luận và độ chính xác phát hiện trên nhiều quy mô mô hình khác nhau.
- Ứng dụng độ trễ ổn định: 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ư robot hoặ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:
- NMS - Triển khai biên không cần can thiệp: 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 quá trình xử lý hậu kỳ loại bỏ cực đại không cần can thiệp (Non-Maximum Suppression).
- Môi trường chỉ sử dụng CPU : Các thiết bị không có bộ xử lý chuyên dụng. GPU khả năng tăng tốc, trong đó YOLO26 nhanh hơn tới 43%. CPU Suy luận mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các tình huống đầy thách thức như ảnh chụp 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 giúp tăng đáng kể độ chính xác trong việc phát hiện các vật thể siêu 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á:
- NMS từ đầu đến cuối - Thiết kế miễn phí: Lấy cảm hứng từ... YOLOv10 YOLO26 loại bỏ một cách tự nhiên NMS Xử lý hậu kỳ, đảm bảo suy luận độ trễ cực thấp cho robot thời gian thực có tính xác định.
- Suy luận CPU nhanh hơn tới 43%: Bằng cách loại bỏ một cách chiến lược mô-đun Distribution Focal Loss (DFL), YOLO26 tăng tốc đáng kể quá trình thực thi trên các tác vụ không yêu cầu CPU mạnh. GPU Phần cứng điện toán biên, biến nó thành một công cụ mạnh mẽ cho các thiết bị IoT .
- Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ những cải tiến gần đây trong việc huấn luyện mô hình ngôn ngữ quy mô lớn, YOLO26 kết hợp một phương pháp lai ghép của... SGD và Muon, giúp ổn định lộ trình huấn luyện và đảm bảo sự 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 nhận dạng vật thể nhỏ, khắc phục điểm yếu cố hữu của các thuật toán cũ hơn. YOLO các thế hệ.
- Tính linh hoạt vượt trội: YOLO26 tích hợp các tối ưu hóa chuyên biệt cho từng tác vụ, chẳng hạn như ước lượng logarit xác suất dư (RLE) để theo dõi tư thế và các hàm mất mát góc chuyên dụng để 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.