YOLOv7 so với YOLOv6 -3.0: So sánh kỹ thuật toàn diện
Trong bối cảnh thị giác máy tính đang phát triển nhanh chóng, 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 cho sự thành công của dự án. Hai khuôn khổ quan trọng đã định hình lĩnh vực này là: YOLOv7 Và YOLOv6 -3.0. Trong khi cả hai đều chia sẻ YOLO (Bạn chỉ nhìn một lần), chúng có sự khác biệt đáng kể về triết lý kiến trúc và mục tiêu tối ưu hóa.
Hướng dẫn này cung cấp phân tích kỹ thuật chuyên sâu về hai mô hình này, so sánh kiến trúc, số liệu hiệu suất và các kịch bản triển khai lý tưởng. Chúng tôi cũng khám phá cách các giải pháp thay thế hiện đại như Ultralytics YOLO11 tích hợp các tính năng tốt nhất của những phiên bản tiền nhiệm này vào một hệ sinh thái thống nhất, thân thiện với người dùng.
YOLOv7 : Kiến trúc của sự chính xác
YOLOv7 , được phát hành vào tháng 7 năm 2022, đại diện cho một sự thay đổi lớn trong YOLO gia đình, ưu tiên các cải tiến về kiến trúc để tối đa hóa độ chính xác mà không ảnh hưởng đến khả năng suy luận thời gian thực. Nó được thiết kế để mở rộng ranh giới của các chuẩn mực dữ liệu COCO .
Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Trung Quốc, Đài Loan
Ngày: 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/
Các đặc điểm kiến trúc chính
YOLOv7 giới thiệu "túi quà tặng có thể đào tạo", một tập hợp các phương pháp tối ưu hóa giúp tăng độ chính xác mà không làm tăng chi phí suy luận.
- E-ELAN (Mạng tổng hợp lớp hiệu quả mở rộng): Kiến trúc này cải thiện khả năng học của mạng bằng cách kiểm soát các đường dẫn gradient ngắn nhất và dài nhất. Nó cho phép mô hình học các tính năng đa dạng hơn bằng cách mở rộng số lượng các khối tính toán.
- Tỷ lệ mô hình: YOLOv7 sử dụng các kỹ thuật chia tỷ lệ hợp chất giúp thay đổi độ sâu và chiều rộng đồng thời, đảm bảo hiệu suất tối ưu trên các kích thước mô hình khác nhau (từ Tiny đến E6E).
- Huấn luyện Đầu phụ trợ: Mô hình sử dụng đầu phụ trợ trong quá trình huấn luyện để cung cấp giám sát sâu, sau đó được loại bỏ trong quá trình suy luận. Điều này cải thiện tính hội tụ của mô hình học sâu .
Điểm mạnh và Điểm yếu
YOLOv7 nổi tiếng với Độ chính xác trung bình ( mAP ) cao, đặc biệt là trên các vật thể nhỏ và bị che khuất. Đây là lựa chọn tuyệt vời cho nghiên cứu và các tình huống đòi hỏi độ chính xác cao. Tuy nhiên, kiến trúc phức tạp của nó, vốn phụ thuộc nhiều vào các lớp dựa trên phép nối, có thể dẫn đến mức tiêu thụ bộ nhớ cao hơn trong quá trình đào tạo so với các mô hình công nghiệp được tinh giản.
YOLOv6 -3.0: Được thiết kế cho tốc độ công nghiệp
YOLOv6 -3.0 , được phát triển bởi bộ phận điện toán hình ảnh tại Meituan, tập trung mạnh vào các ứng dụng công nghiệp thực tế. Ra mắt vào đầu năm 2023, YOLOv6 -3.0 ưu tiên tốc độ suy luận và hiệu suất phần cứng, trở thành ứng cử viên sáng giá cho điện toán biên .
Tác giả: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, và Xiangxiang Chu
Tổ chức: Meituan
Ngày: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/ YOLOv6
Tài liệu: https://docs. ultralytics .com/models/yolov6/
Các đặc điểm kiến trúc chính
YOLOv6 -3.0 khác biệt ở thiết kế nhận biết phần cứng, đặc biệt tối ưu hóa cho GPU Và CPU thông lượng.
- Xương sống RepVGG: Mô hình sử dụng các khối tham số hóa lại (RepVGG). Trong quá trình huấn luyện, mô hình có cấu trúc đa nhánh để học tốt hơn, được hợp nhất về mặt toán học thành một cấu trúc nhánh đơn để suy luận. Điều này giúp thực thi nhanh hơn trên phần cứng như NVIDIA Jetson .
- Đầu tách rời: Không giống như trước đây YOLO các phiên bản chia sẻ các tính năng để phân loại và bản địa hóa, YOLOv6 sử dụng đầu tách rời. Sự tách biệt này cải thiện tốc độ hội tụ và độ chính xác phát hiện.
- Thân thiện với lượng tử hóa: Kiến trúc được thiết kế thân thiện với lượng tử hóa mô hình (ví dụ: INT8), điều cần thiết để triển khai trên các thiết bị có nguồn lực hạn chế.
Điểm mạnh và Điểm yếu
YOLOv6 -3.0 vượt trội về thông lượng thô. Đối với các dây chuyền tự động hóa công nghiệp hoặc robot , nơi mà từng mili giây đều có giá trị, đồ thị suy luận được tối ưu hóa của nó là một lợi thế đáng kể. Tuy nhiên, nó chủ yếu tập trung vào phát hiện, thiếu tính linh hoạt đa tác vụ vốn có trong các phiên bản sau này như YOLO11 .
So sánh hiệu suất
Bảng sau minh họa sự đánh đổi giữa hai mô hình. YOLOv6 -3.0 thường cung cấp tốc độ vượt trội cho các cấp độ chính xác tương tự, trong khi YOLOv7 đẩy giới hạn của độ chính xác phát hiện.
| Mô hình | Kích thước (pixels) | mAP giá trị 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 |
| YOLOv6 -3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6 -3.0 giây | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6 -3,0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6 -3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Phân tích kết quả
- Tốc độ so với Độ chính xác: YOLOv6 -3.0n nổi bật với tốc độ cực nhanh, đạt tốc độ suy luận 1,17ms trên GPU T4, lý tưởng cho việc phân tích video tốc độ cao.
- Độ chính xác đỉnh: YOLOv7x đạt được mAP cao hơn (53,1%) so với YOLOv6 -3,0l (52,8%), cho thấy sức mạnh của nó trong việc phát hiện các mẫu khó.
- Tính toán hiệu quả: YOLOv6 sử dụng ít FLOP hơn để có mức hiệu suất tương đương, chứng minh triết lý thiết kế "EfficientRep" của hãng.
Những cân nhắc khi triển khai
Trong khi điểm chuẩn cung cấp cơ sở, hiệu suất thực tế phụ thuộc rất nhiều vào phần cứng triển khai. YOLOv6 Việc tham số hóa lại của 's tỏa sáng trên GPU, trong khi YOLOv7 Kiến trúc dựa trên nối kết của 's rất mạnh mẽ nhưng có thể tốn nhiều băng thông bộ nhớ.
Các Ultralytics Ưu điểm: Không thể so sánh hơn
Trong khi YOLOv7 Và YOLOv6 Phiên bản 3.0 đại diện cho những thành tựu đáng kể trong lịch sử thị giác máy tính, lĩnh vực này đang phát triển nhanh chóng. Đối với các nhà phát triển đang tìm kiếm một giải pháp bền vững, hướng đến tương lai, Ultralytics YOLO11 cung cấp một hệ sinh thái toàn diện, vượt qua những hạn chế của các kiến trúc mô hình riêng lẻ.
Tại sao nên chọn Ultralytics YOLO11?
- Dễ sử dụng vô song: Không giống như nhiều mô hình nguồn mở yêu cầu sao chép kho lưu trữ phức tạp và thiết lập môi trường, Ultralytics Các mô hình có thể được truy cập thông qua lệnh cài đặt pip đơn giản. Thiết kế API Python rất trực quan, cho phép đào tạo và suy luận chỉ trong vài dòng mã.
- Cân bằng hiệu suất: YOLO11 xây dựng dựa trên những bài học về kiến trúc của cả hai YOLOv6 Và YOLOv7 . Nó sử dụng một kiến trúc tinh vi đạt được độ chính xác tiên tiến trong khi vẫn duy trì tốc độ suy luận cần thiết cho các ứng dụng thời gian thực .
- Tính linh hoạt: Một trong những lợi thế mạnh nhất của Ultralytics hệ sinh thái hỗ trợ nhiều nhiệm vụ. Trong khi YOLOv6 Và YOLOv7 tập trung chủ yếu vào việc phát hiện, YOLO11 hỗ trợ phân đoạn phiên bản , ước tính tư thế , phân loại và phát hiện đối tượng định hướng (OBB) .
- Hiệu quả đào tạo: Ultralytics Các mô hình được tối ưu hóa để hội tụ nhanh hơn và sử dụng ít bộ nhớ hơn trong quá trình đào tạo. Việc quản lý tài nguyên hiệu quả này cho phép đào tạo trên GPU cấp độ người tiêu dùng mà không cần CUDA chi phí bộ nhớ thường liên quan đến các kiến trúc biến áp cũ hoặc kiến trúc nối ghép nhiều.
- Hệ sinh thái được duy trì tốt: Với các bản cập nhật thường xuyên, tài liệu mở rộng và một cộng đồng năng động, Ultralytics đảm bảo rằng các dự án của bạn vẫn tương thích với các phiên bản mới nhất PyTorch các phiên bản và định dạng xuất như ONNX , TensorRT , Và CoreML .
Ví dụ triển khai
Triển khai một mô hình hiện đại với Ultralytics rất đơn giản. Sau đây là cách bạn có thể dễ dàng triển khai tính năng phát hiện đối tượng:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save(filename="output.jpg") # save to disk
Kết luận
Cả hai YOLOv7 Và YOLOv6 -3.0 phục vụ cho các phân khúc cụ thể: YOLOv7 cho các nhiệm vụ nghiên cứu có độ chính xác cao và YOLOv6 -3.0 để tối ưu hóa tốc độ công nghiệp. Tuy nhiên, đối với phần lớn các nhà phát triển và nhà nghiên cứu, hệ sinh thái Ultralytics YOLO11 cung cấp giải pháp cân bằng, linh hoạt và dễ bảo trì nhất. Bằng cách kết hợp hiệu suất cao với trải nghiệm người dùng vượt trội và hỗ trợ tác vụ rộng rãi, Ultralytics cho phép người dùng tập trung vào việc giải quyết các vấn đề thực tế thay vì vật lộn với kiến trúc mô hình.
Khám phá các Mô hình Khác
Nếu bạn muốn khám phá thêm nhiều lựa chọn hơn trong lĩnh vực thị giác máy tính, hãy cân nhắc những so sánh sau:
- YOLOv7 so với RT-DETR : So sánh các bộ dò dựa trên CNN với kiến trúc dựa trên Transformer.
- YOLOv6 so với YOLOv8 : Một cái nhìn về thế hệ trước của Ultralytics mô hình so sánh với tiêu chuẩn công nghiệp.
- YOLOv7 so với YOLOX : Phân tích các chiến lược phát hiện không có mỏ neo so với có mỏ neo.