YOLOv7 so với YOLOv9: Sự phát triển của tính năng detect đối tượng thời gian thực
Lĩnh vực thị giác máy tính đã chứng kiến sự phát triển nhanh chóng, với... YOLO Họ thuật toán (You Only Look Once - YOLO) luôn dẫn đầu trong lĩnh vực phát hiện đối tượng theo thời gian thực. Hai cột mốc quan trọng trong dòng thuật toán này là YOLOv7 , được phát hành vào tháng 7 năm 2022, và YOLOv9 , được phát hành vào tháng 2 năm 2024. Mặc dù cả hai kiến trúc đều được phát triển bởi các nhà nghiên cứu tại Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Trung Quốc, nhưng chúng đại diện cho các thế hệ tối ưu hóa học sâu khác nhau.
Hướng dẫn này cung cấp sự so sánh kỹ thuật giữa hai mô hình mạnh mẽ này, phân tích những cải tiến về kiến trúc, các chỉ số hiệu suất và các trường hợp sử dụng lý tưởng trong hệ sinh thái Ultralytics .
Đổi mới Kiến trúc
Sự khác biệt cốt lõi giữa các mô hình này nằm ở cách chúng quản lý sự lan truyền đặc trưng và dòng chảy gradient thông qua các mạng nơ-ron sâu.
YOLOv7: Túi các cải tiến miễn phí
Được viết bởi Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao, YOLOv7 đã giới thiệu E-ELAN (Extended Efficient Layer Aggregation Network) . Kiến trúc này cho phép mạng học được nhiều đặc điểm đa dạng hơn bằng cách kiểm soát các đường dẫn gradient ngắn nhất và dài nhất.
YOLOv7 Nổi tiếng với "Túi quà tặng miễn phí" - một bộ sưu tập các phương pháp huấn luyện giúp cải thiện độ chính xác mà không làm tăng chi phí suy luận. Chúng bao gồm các kỹ thuật tái tham số hóa và giám sát đầu phụ trợ, giúp mô hình học được các biểu diễn tốt hơn trong quá trình huấn luyện nhưng được hợp nhất hoặc loại bỏ trong quá trình xuất mô hình để triển khai nhanh hơn.
YOLOv9: Thông tin Gradient có thể lập trình
YOLOv9 , được phát triển bởi Chien-Yao Wang và Hong-Yuan Mark Liao, giải quyết vấn đề "nút thắt cổ chai thông tin" vốn có trong các mạng nơ-ron sâu. Khi dữ liệu truyền qua các lớp kế tiếp, thông tin đầu vào thường bị mất. YOLOv9 Họ giới thiệu hai khái niệm đột phá được trình bày chi tiết trong bài báo trên Arxiv :
- GELAN (Generalized Efficient Layer Aggregation Network): Một kiến trúc kết hợp những ưu điểm của CSPNet và ELAN để tối đa hóa hiệu quả tham số.
- PGI (Programmable Gradient Information): Một khung giám sát phụ trợ tạo ra các gradient đáng tin cậy để cập nhật trọng số mạng, đảm bảo mô hình giữ lại thông tin quan trọng xuyên suốt chiều sâu của mạng.
Phân tích hiệu suất
Khi lựa chọn giữa các kiến trúc, các nhà phát triển phải cân bằng giữa độ chính xác trung bình (Average Precision) và độ chính xác trung bình (Average Precision). mAP ), tốc độ suy luận và chi phí tính toán (FLOPs). Bảng dưới đây nêu bật sự khác biệt về hiệu năng 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Những Điểm Chính
- Hiệu quả: YOLOv9m đạt được độ chính xác tương tự (51,4%) mAP Tương tự như YOLOv7l nhưng có số tham số ít hơn gần 45% (20,0 triệu so với 36,9 triệu) và số phép tính FLOP thấp hơn đáng kể.
- Tốc độ: Đối với các ứng dụng thời gian thực mà mỗi mili giây đều quan trọng, YOLOv9t cung cấp tốc độ đáng kinh ngạc (2,3ms trên T4). TensorRT ) phù hợp cho các thiết bị biên.
- Độ chính xác: YOLOv9e vượt qua giới hạn về độ chính xác phát hiện, đạt 55,6%. mAP , khiến nó trở nên vượt trội đối với các tác vụ đòi hỏi độ chính xác cao.
Lợi thế Hệ sinh thái Ultralytics
Bất kể bạn lựa chọn điều gì. YOLOv7 hoặc YOLOv9 Việc sử dụng chúng thông qua gói Ultralytics Python mang lại trải nghiệm thống nhất và liền mạch.
Dễ sử dụng và đào tạo
Ultralytics Tóm lược các vòng lặp huấn luyện phức tạp được tìm thấy trong dữ liệu thô. PyTorch Các nhà phát triển có thể chuyển đổi giữa các kiến trúc bằng cách thay đổi một đối số chuỗi duy nhất, đơn giản hóa việc điều chỉnh siêu tham số và thử nghiệm.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model (or substitute with "yolov7.pt")
model = YOLO("yolov9c.pt")
# Train on the COCO8 dataset with efficient memory management
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate performance
metrics = model.val()
Quản lý bộ nhớ và tài nguyên
Một lợi thế đáng kể của Ultralytics Việc triển khai này tối ưu hóa việc sử dụng bộ nhớ. Không giống như nhiều mô hình dựa trên Transformer (như các biến thể DETR) hoặc các bộ dò hai giai đoạn cũ hơn, Ultralytics YOLO các mô hình được thiết kế để giảm thiểu CUDA hiện tượng tăng đột biến bộ nhớ. Điều này cho phép các nhà nghiên cứu sử dụng kích thước lô lớn hơn trên GPU dành cho người tiêu dùng, dân chủ hóa việc tiếp cận huấn luyện mô hình cao cấp.
Quản lý tập dữ liệu tích hợp
Ultralytics Phần mềm tự động xử lý việc tải xuống và định dạng tập dữ liệu. Bạn có thể bắt đầu huấn luyện ngay lập tức với các tập dữ liệu chuẩn như COCO8 hoặc Objects365 mà không cần viết các trình tải dữ liệu phức tạp.
Các ứng dụng thực tế
Khi nào nên chọn YOLOv7
YOLOv7 Đây vẫn là lựa chọn mạnh mẽ cho các hệ thống mà khả năng tương thích với hệ thống cũ là yếu tố then chốt.
- Các quy trình đã được thiết lập: Các dự án đã tích hợp với các quy trình xuất C++ từ năm 2022 có thể dễ dàng tiếp tục sử dụng chúng hơn. YOLOv7 .
- Phát hiện đa năng: Dành cho phân tích video tiêu chuẩn, trong đó số lượng tham số tối thiểu tuyệt đối không phải là yếu tố hạn chế chính. YOLOv7 vẫn hoạt động rất tốt.
Khi nào nên chọn YOLOv9
YOLOv9 Nó thường được khuyến nghị sử dụng cho các triển khai mới do hiệu quả tham số vượt trội của nó.
- Điện toán biên: Bản chất gọn nhẹ của GELAN giúp YOLOv9 Lý tưởng cho các hệ thống nhúng và ứng dụng di động có dung lượng lưu trữ và khả năng xử lý hạn chế.
- Hình ảnh y tế: Kiến trúc PGI giúp bảo toàn thông tin chi tiết, điều này rất quan trọng khi phát hiện các bất thường nhỏ trong ảnh chụp y tế .
- Giám sát trên không: Khả năng ghi nhớ chi tiết được cải thiện giúp phát hiện các vật thể nhỏ như xe cộ hoặc gia súc từ ảnh chụp bằng máy bay không người lái ở độ cao lớn.
Thế hệ tiếp theo: YOLO26
Trong khi YOLOv7 Và YOLOv9 Mặc dù đây là những mô hình xuất sắc, lĩnh vực trí tuệ nhân tạo đang hướng tới sự đơn giản và tốc độ cao hơn nữa. Hãy cùng tìm hiểu về YOLO26 , phiên bản mới nhất từ... Ultralytics Được phát hành vào tháng 1 năm 2026.
YOLO26 đại diện cho một sự thay đổi mang tính đột phá với thiết kế không có NMS từ đầu đến cuối . Bằng cách loại bỏ hiện tượng triệt tiêu cực đại không cần thiết (Non-Maximum Suppression - NMS) NMS ), YOLO26 loại bỏ một nút thắt cổ chai lớn trong các quy trình suy luận, đơn giản hóa việc triển khai lên TensorRT và ONNX .
- Bộ tối ưu hóa MuSGD: Lấy cảm hứng từ những cải tiến trong huấn luyện LLM (như Kimi K2 của Moonshot AI), YOLO26 sử dụng bộ tối ưu hóa MuSGD để hội tụ nhanh hơn và ổn định hơn.
- Tối ưu hóa trên thiết bị biên: Với việc loại bỏ Distribution Focal Loss (DFL) và các hàm mất mát được tối ưu hóa như ProgLoss + STAL , YOLO26 chạy nhanh hơn tới 43% trên CPU , trở thành lựa chọn hàng đầu cho AI trên thiết bị biên.
- Tính linh hoạt: Không giống như các mô hình trước đây có thể chỉ chuyên về phát hiện đối tượng, YOLO26 hỗ trợ trực tiếp ước tính tư thế , phân đoạn và hộp giới hạn định hướng (OBB) .
Kết luận
Cả hai YOLOv7 Và YOLOv9 đã đóng góp đáng kể vào sự phát triển của thị giác máy tính. YOLOv7 Đặt ra tiêu chuẩn cao về tốc độ và độ chính xác trong năm 2022, trong khi YOLOv9 Đã giới thiệu những thay đổi kiến trúc mới nhằm cải thiện luồng gradient và hiệu quả tham số vào năm 2024.
Ngày nay, đối với các nhà phát triển, sự lựa chọn thường nghiêng về YOLOv9 vì hiệu quả của nó hoặc YOLO26 tiên tiến hơn vì... NMS - kiến trúc tự do và CPU Các tối ưu hóa. Được hỗ trợ bởi Nền tảng Ultralytics mạnh mẽ, việc chuyển đổi giữa các mô hình này để tìm ra giải pháp phù hợp nhất với các yêu cầu cụ thể của bạn—cho dù đó là giám sát Thành phố Thông minh hay robot nông nghiệp —chưa bao giờ dễ dàng hơn.