Chuyển đến nội dung

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 suất và kịch bản triển khai lý tưởng của chúng, chúng tôi mong muốn giúp các nhà phát triển và nhà nghiên cứu chọn được mô hình tốt nhất cho 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 .

Tìm hiểu thêm về YOLOv5

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 Arxivkho lưu trữ GitHub YOLOv7 . Để tích hợp liền mạch, hãy xem tài liệu Ultralytics YOLOv7 .

Tìm hiểu thêm về 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 gói python Ultralytics, 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 mình!

Đổ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 ảnhphâ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ìnhKích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Những Điểm Chính

  • Mức trần độ chính xác: YOLOv7x đạt độ chính xác tổng thể cao nhất với 53.1 mAPval ấn tượng, làm cho nó có tính cạnh tranh cao trong các kịch bản mà việc tối đa hóa hiệu suất detect 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ả, mang lại độ trễ suy luận cực nhanh (1.12 ms trên T4 TensorRT) với dung lượng bộ nhớ nhỏ chỉ 2.6M tham số. Điều này làm cho nó trở thành lựa chọn vô song cho các triển khai biên bị hạn chế cao.
  • Cân bằng hiệu suất: Dòng YOLOv5 cung cấp một dải mô hình vượt trội. YOLOv5l cung cấp một sự cân bằng tuyệt vời, kém YOLOv7l một chút về độ chính xác nhưng cung cấp một quy trình triển khai rất trưởng thành.

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 phương trình; hệ sinh thái xung quanh nó quyết định khả năng ứng dụng thực tế của nó. Đây là nơi các mô hình Ultralytics thực sự tỏa sáng.

Dễ sử dụng: Ultralytics cung cấp một API python thống nhất, rất trực quan. Bạn có thể huấn luyện, xác thực và triển khai mô hình với mã boilerplate tối thiểu, được hỗ trợ bởi tài liệu chính thức phong phú. Hệ sinh thái được duy trì tốt: 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ụ track hiện đại như Weights & Biases. Hiệu quả huấn luyện: Sử dụng các bộ 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 trước sẵn sàng sử dụng giúp tăng tốc học chuyển giao trên nhiều lĩnh vực khác nhau.

Ví dụ mã: Huấn luyện tinh gọn

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

  • Academic Benchmarking: 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 mô hình cơ sở năm 2022 được tài liệu hóa tốt.
  • 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ẽ, nơi việc đạt được mAP cao nhất tuyệt đối trên các cảnh dày đặc được ưu tiên hơn sự đơn giản trong việc xuất.

Khi nào nên chọn YOLOv5

  • Triển khai 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 biến thể nhỏ hơn (YOLOv5n và YOLOv5s) hoạt động đặc biệt 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ừ detect đơn giản sang ước tính tư thế hoặc segmentation bằng một framework 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.

Tìm hiểu thêm về YOLO26

YOLO26 giới thiệu một số tính năng mang tính đột phá:

  • Thiết kế đầu cuối không NMS: 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ế đầu cuối nguyên bản. Điều này loại bỏ hoàn toàn hậu xử lý Non-Maximum Suppression (NMS), cắt giảm các nút thắt cổ chai về độ trễ và đơn giản hóa đáng kể logic triển khai.
  • Trình tối ưu hóa MuSGD: Lấy cảm hứng từ Kimi K2 của Moonshot AI, trình tối ưu hóa mang tính cách mạng này kết hợp sự ổn định của SGD tiêu chuẩn với động lượng tăng tốc của Muon, mang những đổi mới tiên tiến trong huấn luyện LLM trực tiếp vào thị giác máy tính.
  • Tốc độ CPU nâng cao: Bằng cách loại bỏ chiến lược Distribution Focal Loss (DFL), YOLO26 đạt được tốc độ suy luận trên CPU nhanh hơn tới 43%, biến nó thành nhà vô địch không thể tranh cãi cho việc triển khai thiết bị IoT biên và công suất thấp.
  • 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 trội trong việc nhận diện vật thể nhỏ, điều này rất quan trọng đối với hình ảnh trên không và robot chính xác.
  • Cải tiến chuyên biệt theo tác vụ: Nổi bật với hàm mất mát segment ngữ nghĩa để tạo mặt nạ, Ước tính Log-Likelihood Dư (RLE) để theo dõi tư thế và hàm mất mát góc chuyên biệt để giải quyết các vấn đề biên khó khăn của Hộp giới hạn định hướng (OBB).

Kết luận

Cả YOLOv5 và YOLOv7 đều cung cấp các giải pháp mạnh mẽ cho detect đối tượng thời gian thực. YOLOv7 vẫn là một lựa chọn mạnh mẽ về độ chính xác thô trên phần cứng tính toán cao, trong khi YOLOv5 nổi bật là công cụ thân thiện với nhà phát triển nhất, mang lại 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á.


Bình luận