Sự tiến hóa của phát hiện đối tượng: YOLOv5 so với YOLOv7
Bối cảnh thị giác máy tính đã phát triển nhanh chóng trong vài năm qua, được thúc đẩy bởi nhu cầu về phát hiện đối tượng thời gian thực nhanh hơn và chính xác hơn. Khi chọn kiến trúc phù hợp cho dự án thị giác máy tính của bạn, việc hiểu rõ các sắc thái giữa các mô hình phổ biến như Ultralytics YOLOv5 và YOLOv7 là rất quan trọng. Bài so sánh kỹ thuật toàn diện này đi sâu vào kiến trúc, phương pháp huấn luyện, chỉ số hiệu suất và các kịch bản triển khai lý tưởng để giúp bạn đưa ra quyết định sáng suốt.
Nhìn lướt qua: Nguồn gốc mô hình
Việc hiểu nguồn gốc và triết lý thiết kế đằng sau các mô hình này cung cấp ngữ cảnh cho các lựa chọn kiến trúc của chúng.
Chi tiết về YOLOv5:
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: Kho lưu trữ YOLOv5
- Docs: YOLOv5 Documentation
Chi tiết về YOLOv7:
- Tác giả: Chien-Yao Wang, Alexey Bochkovskiy, và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- Ngày: 2022-07-06
- Arxiv: Bài báo về YOLOv7
- GitHub: Kho lưu trữ YOLOv7
- Tài liệu: Tài liệu về YOLOv7
Bạn quan tâm đến việc các mô hình này so sánh với những mô hình khác như thế nào? Hãy xem các bài so sánh của chúng tôi như YOLOv5 so với YOLO11 hoặc YOLOv7 so với EfficientDet để mở rộng hiểu biết của bạn về hệ sinh thái phát hiện đối tượng.
Các cải tiến và khác biệt về kiến trúc
YOLOv5: Tiêu chuẩn về khả năng tiếp cận
Được Ultralytics giới thiệu vào năm 2020, YOLOv5 đã tạo ra một sự thay đổi mô hình bằng cách sử dụng nguyên bản framework PyTorch, giúp giảm đáng kể rào cản gia nhập đối với các nhà nghiên cứu và lập trình viên. Kiến trúc của nó dựa trên backbone Modified CSPDarknet53, tích hợp các mạng Cross Stage Partial (CSP) để giảm số lượng tham số trong khi vẫn duy trì dòng gradient.
Một trong những điểm mạnh lớn nhất của nó là Yêu cầu bộ nhớ. So với các bộ phát hiện hai giai đoạn cũ hơn hoặc các mô hình transformer nặng như RT-DETR, YOLOv5 yêu cầu ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện, cho phép kích thước batch lớn hơn trên các GPU tiêu dùng phổ thông. Hơn nữa, Tính linh hoạt được tích hợp sẵn của nó hỗ trợ phân loại hình ảnh, phát hiện đối tượng và phân đoạn hình ảnh một cách liền mạch.
YOLOv7: Đẩy giới hạn của độ chính xác thời gian thực
Được phát hành vào giữa năm 2022, YOLOv7 tập trung vào việc đẩy ranh giới hiện đại (state-of-the-art) cho phát hiện thời gian thực trên các benchmark MS COCO. Các tác giả đã giới thiệu Extended Efficient Layer Aggregation Network (E-ELAN), giúp cải thiện khả năng học tập của mạng mà không phá hủy đường dẫn gradient gốc.
YOLOv7 cũng nổi tiếng với "trainable bag-of-freebies" của nó, đặc biệt là các kỹ thuật tái tham số hóa trong quá trình huấn luyện giúp chuyển đổi nhiều module thành một lớp tích chập duy nhất để suy luận, tăng tốc độ mà không hy sinh độ chính xác. Tuy nhiên, phương pháp huấn luyện phức tạp này thường dẫn đến đường cong học tập dốc hơn và các pipeline xuất mô hình ít trực quan hơn so với hệ sinh thái Ultralytics gốc.
So sánh hiệu năng
Khi đánh giá các mô hình này, Cân bằng hiệu suất giữa tốc độ, độ chính xác và chi phí tính toán là tối quan trọng. Dưới đây là bảng so sánh chi tiết các chỉ số hiệu suất của chúng dựa trên tập dữ liệu MS COCO val2017.
| Model | kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Trong khi YOLOv7 đạt điểm mAP tuyệt đối cao hơn trên các biến thể lớn hơn, YOLOv5 cung cấp một phổ mô hình vô song—từ Nano siêu nhẹ (YOLOv5n) cho các thiết bị edge khắc nghiệt đến Extra-Large (YOLOv5x) cho suy luận đám mây.
Lợi thế của hệ sinh thái Ultralytics
Tiện ích của một mô hình vượt xa kiến trúc thuần túy của nó; hệ sinh thái xung quanh nó quyết định mức độ nhanh chóng mà nó có thể được triển khai vào môi trường production. Đây chính là nơi các mô hình Ultralytics tỏa sáng.
- Dễ sử dụng: Nền tảng Ultralytics và API Python thống nhất của nó mang lại trải nghiệm người dùng hợp lý, cú pháp đơn giản và tài liệu mở rộng. Việc huấn luyện một tập dữ liệu tùy chỉnh yêu cầu không cần boilerplate code.
- Hệ sinh thái được bảo trì tốt: Ultralytics hưởng lợi từ sự phát triển tích cực, các bản cập nhật thường xuyên và hỗ trợ mạnh mẽ từ cộng đồng. Các tích hợp với các công cụ như Comet ML và Weights & Biases đã được tích hợp sẵn.
- Hiệu quả huấn luyện: Bộ nạp dữ liệu, bộ nhớ đệm thông minh và hỗ trợ đa GPU làm cho các mô hình Ultralytics đặc biệt hiệu quả khi huấn luyện. Các trọng số tiền huấn luyện sẵn có giúp tăng tốc đáng kể transfer learning.
Ví dụ mã: Bắt đầu
Sử dụng Ultralytics, việc triển khai một mô hình chỉ yêu cầu một vài dòng code. Đoạn mã Python sau đây minh họa việc tải, huấn luyện và chạy suy luận đơn giản như thế nào khi sử dụng package ultralytics được khuyến nghị.
from ultralytics import YOLO
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
# Ultralytics automatically handles data downloading and augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()Ngược lại, việc sử dụng kho lưu trữ YOLOv7 gốc thường liên quan đến việc clone các kho lưu trữ phức tạp, quản lý thủ công các phụ thuộc và sử dụng các đối số dòng lệnh dài dòng.
Ứng dụng thực tế và trường hợp sử dụng lý tưởng
Khi nào nên chọn YOLOv7
YOLOv7 vẫn là một ứng cử viên mạnh mẽ cho các benchmark học thuật hoặc các pipeline GPU cũ cụ thể, nơi mà mAP tối đa là mục tiêu duy nhất và hệ thống đã được thiết kế riêng cho các tensor đầu ra dựa trên anchor của nó. Các nhà nghiên cứu đang khám phá phân tích đường dẫn gradient thường sử dụng YOLOv7 như một baseline.
Khi nào nên chọn YOLOv5
YOLOv5 được ưa chuộng mạnh mẽ cho các môi trường production nhờ tính ổn định vượt trội. Đây là lựa chọn hàng đầu cho:
- Điện toán di động và Edge: Triển khai YOLOv5n lên iOS thông qua CoreML hoặc Android thông qua TFLite.
- Startup nhanh nhạy: Các đội nhóm cần chu kỳ lặp nhanh hưởng lợi từ việc tích hợp Nền tảng Ultralytics liền mạch để quản lý tập dữ liệu và huấn luyện trên đám mây.
- Môi trường đa nhiệm: Các hệ thống yêu cầu đồng thời phát hiện đối tượng, phân loại và phân đoạn.
Tương lai: Chuyển sang YOLO26
Mặc dù việc so sánh YOLOv5 và YOLOv7 là một bài tập tuyệt vời để hiểu sự tiến hóa của AI thị giác, nhưng công nghệ hiện đại vẫn tiếp tục tiến bộ. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho một bước nhảy vọt quan trọng, khiến các kiến trúc cũ trở nên lỗi thời đối với các dự án mới.
Đối với các lập trình viên đang tìm kiếm đỉnh cao hiệu suất, YOLO26 mang lại một số lợi thế đột phá so với cả YOLOv5 và YOLOv7:
- Thiết kế End-to-End không cần NMS: Bằng cách loại bỏ xử lý hậu kỳ Non-Maximum Suppression, YOLO26 mang lại khả năng triển khai đơn giản hơn đáng kể và độ trễ nhanh, ổn định.
- Optimizer MuSGD: Lấy cảm hứng từ những đổi mới về LLM từ Moonshot AI, bộ optimizer lai này mang lại quá trình huấn luyện cực kỳ ổn định và khả năng hội tụ nhanh chóng.
- Tốc độ Edge chưa từng có: Được tối ưu hóa đặc biệt cho các môi trường edge, biến thể nano tự hào có khả năng suy luận trên CPU nhanh hơn tới 43% bằng cách loại bỏ Distribution Focal Loss (DFL).
- Độ chính xác vượt trội: Các hàm mất mát (loss function) mới như ProgLoss + STAL cải thiện đáng kể khả năng nhận dạng đối tượng nhỏ, làm cho nó trở nên lý tưởng cho các thước phim từ drone và robot.
Cho dù bạn đang bảo trì một pipeline YOLOv5 hiện có hay đang tìm cách triển khai YOLO26 tiên tiến nhất, Nền tảng Ultralytics cung cấp tất cả các công cụ cần thiết để thành công trong thị giác máy tính hiện đại.