YOLOv7 so với YOLOv5 So sánh kỹ thuật giữa các thiết bị dò thời gian thực
Khi xây dựng các quy trình xử lý hình ảnh máy tính hiện đại, việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là rất quan trọng để cân bằng độ chính xác, tốc độ suy luận và sử dụng tài nguyên. Bài so sánh toàn diện này xem xét hai mô hình có ảnh hưởng lớn trong lĩnh vực hình ảnh máy tính: YOLOv7 Và Ultralytics YOLOv5 .
Bằng cách phân tích sự khác biệt về kiến trúc, các chỉ số hiệu năng và các kịch bản triển khai lý tưởng, chúng tôi hướng đến việc giúp các nhà phát triển và nhà nghiên cứu lựa chọn mô hình phù hợp nhất với các yêu cầu cụ thể của họ.
Bối cảnh và nguồn gốc của mô hình
Việc hiểu rõ nguồn gốc của các mô hình này giúp ta hiểu được triết lý thiết kế và các trường hợp sử dụng mục tiêu của chúng.
YOLOv5
Được Glenn Jocher và nhóm Ultralytics công bố vào ngày 26 tháng 6 năm 2020. YOLOv5 YOLOv5 đã tạo ra một cuộc cách mạng trong lĩnh vực này bằng cách cung cấp một triển khai PyTorch gốc, ưu tiên tính dễ sử dụng mà không làm giảm hiệu suất. Nó nhanh chóng trở thành một tiêu chuẩn ngành nhờ hệ sinh thái cực kỳ tinh gọn và động lực huấn luyện đáng tin cậy. Bạn có thể khám phá mã nguồn trên kho lưu trữ GitHub YOLOv5 hoặc truy cập trực tiếp vào mô hình thông qua Nền tảng Ultralytics .
YOLOv7
Bài thuyết trình được giới thiệu bởi 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 Đài Loan vào ngày 6 tháng 7 năm 2022. YOLOv7 Tập trung mạnh vào các cải tiến kiến trúc như Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN) và một "túi quà tặng miễn phí" có thể huấn luyện được để nâng cao độ chính xác lên mức cao nhất. Chi tiết có thể được tìm thấy trong bài báo chính thức trên Arxiv và kho lưu trữ GitHub YOLOv7 . Để tích hợp liền mạch, hãy xem tài liệu Ultralytics YOLOv7 .
Thử nghiệm liền mạch
Cả hai mô hình này đều được tích hợp hoàn toàn vào... Ultralytics Python Gói này cho phép bạn chuyển đổi giữa chúng chỉ bằng cách thay đổi chuỗi mô hình trong mã của bạn!
Đổi mới Kiến trúc
Ultralytics YOLOv5 Thiết kế
YOLOv5 Nó sử dụng kiến trúc xương sống CSPDarknet53 đã được sửa đổi kết hợp với mạng tổng hợp đường dẫn (PANet). Thiết kế này được tối ưu hóa cao cho việc trích xuất đặc trưng nhanh chóng và hiệu quả bộ nhớ. Không giống như các kiến trúc cũ hơn hoặc các mô hình transformer nặng nề, YOLOv5 yêu cầu ít hơn đáng kể CUDA bộ nhớ trong quá trình huấn luyện, cho phép sử dụng kích thước lô lớn hơn trên các GPU tiêu chuẩn dành cho người tiêu dùng. Hơn nữa, Ultralytics Khung phần mềm này vốn dĩ hỗ trợ rất nhiều tác vụ khác nhau ngoài các hộp giới hạn tiêu chuẩn, bao gồm phân đoạn ảnh và phân loại ảnh .
YOLOv7 Thiết kế
YOLOv7 đã giới thiệu một số phương pháp tái tham số hóa cấu trúc và kiến trúc E-ELAN, cho phép mạng học được nhiều đặc điểm đa dạng hơn mà không phá hủy đường dẫn gradient ban đầu. Nó cũng triển khai một đầu phụ trợ để giám sát trung gian trong quá trình huấn luyện. Mặc dù những cải tiến này mang lại Độ chính xác trung bình cao (Average Precision - MAC) mAP ), họ thường giới thiệu những vấn đề phức tạp tensor các cấu trúc này có thể khiến việc xuất sang các định dạng biên như ONNX hoặc TensorRT trở nên khó khăn hơn một chút so với việc xuất trực tiếp sang các định dạng gốc. Ultralytics mô hình.
Phân tích hiệu suất
Khi so sánh các mô hình này, các nhà phát triển phải cân bằng. mAP val , tốc độ suy luận và độ phức tạp tính toán (FLOPs). Bảng dưới đây minh họa hiệu năng của cả hai kiến trúc được đánh giá trên tập dữ liệu COCO .
| 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 |
| 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 |
Những Điểm Chính
- Độ chính xác tối đa: YOLOv7x đạt độ chính xác tổng thể cao nhất, ấn tượng ở mức 53.1%. mAP val , khiến nó có tính cạnh tranh cao trong các trường hợp mà việc tối đa hóa hiệu suất phát hiện là mục tiêu chính.
- Tốc độ và hiệu quả: Ultralytics YOLOv5n là một kỳ tích về hiệu quả, cung cấp độ trễ suy luận cực nhanh (1,12 ms trên T4). TensorRT Với dung lượng bộ nhớ cực nhỏ chỉ 2,6 triệu tham số, nó trở thành lựa chọn vô song cho các triển khai biên có hạn chế cao.
- Cân bằng hiệu suất: YOLOv5 Dòng sản phẩm này cung cấp một dải mô hình đặc biệt. YOLOv5l mang đến một sự cân bằng tuyệt vời, chỉ kém YOLOv7l một chút về độ chính xác nhưng lại cung cấp một quy trình triển khai rất hoàn thiện.
Lợi thế Hệ sinh thái Ultralytics
Kiến trúc của một mô hình chỉ là một nửa của vấn đề; hệ sinh thái xung quanh nó mới quyết định khả năng tồn tại thực tế của nó. Đây là điểm mấu chốt. Ultralytics Các người mẫu thực sự tỏa sáng.
Dễ sử dụng: Ultralytics cung cấp một giao diện thống nhất, trực quan cao. Python API. Bạn có thể huấn luyện, xác thực và triển khai mô hình với lượng mã lặp lại tối thiểu, được hỗ trợ bởi tài liệu chính thức đầy đủ. Hệ sinh thái được duy trì tốt: Việc phát triển tích cực đảm bảo cập nhật liên tục, sửa lỗi và tích hợp liền mạch với các công cụ theo dõi hiện đại như Weights & Biases . Hiệu quả huấn luyện: Sử dụng trình tải dữ liệu được tối ưu hóa và bộ nhớ đệm thông minh , YOLOv5 Giảm đáng kể thời gian huấn luyện. Hơn nữa, các trọng số được huấn luyện sẵn có giúp tăng tốc quá trình chuyển giao kiến thức giữa các lĩnh vực khác nhau.
Ví dụ mã: Đào tạo được tối ưu hóa
Với Ultralytics Đối với gói phần mềm này, việc khởi tạo một quá trình chạy huấn luyện hầu như giống hệt nhau bất kể kiến trúc nào bạn chọn.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")
Các trường hợp sử dụng lý tưởng
Khi nào nên chọn YOLOv7
- So sánh chuẩn mực học thuật: Hoàn hảo cho các nhà nghiên cứu cần so sánh các kỹ thuật mới với một chuẩn mực đã được ghi nhận rõ ràng từ năm 2022.
- Xử lý đám mây GPU cao cấp: Khi triển khai trên phần cứng máy chủ mạnh mẽ, cần đạt được hiệu năng cao nhất tuyệt đối. mAP Trong những cảnh phức tạp, sự đơn giản khi xuất khẩu lại quan trọng hơn.
Khi nào nên chọn YOLOv5
- Triển khai trong môi trường sản xuất: Lý tưởng cho các ứng dụng thương mại yêu cầu độ ổn định cao, các tùy chọn triển khai mô hình đơn giản và khả năng tương thích đa nền tảng rộng rãi.
- Thiết bị biên: Các phiên bản nhỏ hơn (YOLOv5n và YOLOv5s) hoạt động cực kỳ tốt trên điện thoại di động và hệ thống nhúng.
- Yêu cầu đa nhiệm: Nếu dự án của bạn cần phát triển từ việc phát hiện đơn giản sang ước lượng tư thế hoặc phân đoạn bằng cách sử dụng một khung thống nhất.
Khám phá các kiến trúc khác
Bạn đang tìm kiếm các phiên bản mới hơn? Hãy xem xét khám phá Ultralytics YOLOv8 hoặc Ultralytics YOLO11 để tìm hiểu thêm về những cải tiến trong khả năng phát hiện đối tượng không cần neo và học đa nhiệm.
Thế hệ tiếp theo: Ultralytics YOLO26
Trong khi YOLOv5 Và YOLOv7 Giữ vị trí quan trọng trong lịch sử trí tuệ nhân tạo thị giác, lĩnh vực này liên tục phát triển. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho công nghệ phát hiện đối tượng tiên tiến nhất, vượt trội so với các thế hệ trước trên mọi phương diện.
YOLO26 giới thiệu một số tính năng mang tính đột phá:
- Thiết kế không cần NMS từ đầu đến cuối: Dựa trên các khái niệm tiên phong trong các phiên bản trước, YOLO26 được thiết kế hoàn toàn từ đầu đến cuối. Điều này loại bỏ hoàn toàn hiện tượng Non-Maximum Suppression (NMS) ( NMS ) xử lý hậu kỳ, giảm thiểu đáng kể các điểm nghẽn về độ trễ và đơn giản hóa đáng kể logic triển khai.
- Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ Kimi K2 của Moonshot AI, bộ tối ưu hóa mang tính cách mạng này kết hợp sự ổn định của các tiêu chuẩn thông thường. SGD Với đà phát triển mạnh mẽ của Muon, những đổi mới trong đào tạo LLM tiên tiến được đưa trực tiếp vào lĩnh vực thị giác máy tính.
- Tốc độ CPU được nâng cao: Bằng cách loại bỏ một cách chiến lược hiện tượng suy hao tiêu điểm phân tán (DFL), YOLO26 đạt được tốc độ suy luận CPU nhanh hơn tới 43% , trở thành nhà vô địch không thể tranh cãi trong việc triển khai thiết bị IoT công suất thấp và thiết bị biê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 vượt bậc trong nhận dạng vật thể nhỏ, điều rất quan trọng đối với ảnh chụp từ trên không và robot chính xác.
- Cải tiến dành riêng cho từng nhiệm vụ: Bao gồm tổn thất phân đoạn ngữ nghĩa để tạo mặt nạ, ước lượng logarit khả năng dư (RLE) để theo dõi tư thế và tổn thất góc chuyên biệt để giải quyết các vấn đề phức tạp về ranh giới hộp giới hạn định hướng (OBB) .
Kết luận
Cả hai YOLOv5 Và YOLOv7 Cung cấp các giải pháp mạnh mẽ cho việc phát hiện đối tượng trong thời gian thực. YOLOv7 vẫn là lựa chọn mạnh mẽ về độ chính xác tuyệt đối trên phần cứng tính toán hiệu năng cao, trong khi YOLOv5 Nổi bật như một công cụ thân thiện với nhà phát triển tối ưu, mang đến sự cân bằng vượt trội giữa tốc độ, hiệu quả và một hệ sinh thái đẳng cấp thế giới.
Tuy nhiên, đối với các nhà phát triển muốn đảm bảo tính tương lai cho quy trình của mình và đạt được sự kết hợp tối ưu giữa tốc độ, sự đơn giản và độ chính xác hàng đầu, chúng tôi đặc biệt khuyên bạn nên chuyển sang Ultralytics YOLO26 . Nó hội tụ sự dễ sử dụng huyền thoại của... Ultralytics nền tảng này đồng thời mang đến những đổi mới kiến trúc mang tính đột phá.