YOLOv9 so với YOLOv5 Phân tích chuyên sâu về công nghệ nhận diện đối tượng hiện đại
Lĩnh vực thị giác máy tính đã chứng kiến sự phát triển vượt bậc, với việc phát hiện đối tượng đóng vai trò xương sống cho vô số ứng dụng công nghiệp và nghiên cứu. Việc lựa chọn kiến trúc phù hợp thường đòi hỏi phải đánh giá cẩn thận độ chính xác trung bình (Average Precision - APR). mAP ), tốc độ suy luận và chi phí bộ nhớ. Trong bài so sánh này, chúng ta sẽ xem xét hai mô hình có tầm ảnh hưởng lớn: YOLOv9 , nổi tiếng với những đột phá về kiến trúc trong việc lưu giữ thông tin gradient, và Ultralytics YOLOv5 , tiêu chuẩn ngành đã được kiểm chứng qua thực tiễn, nổi tiếng với sự dễ sử dụng đáng kinh ngạc và tính linh hoạt triển khai vô song.
Những đổi mới kiến trúc và nguồn gốc kỹ thuật
Việc hiểu rõ cơ chế hoạt động bên trong của hai mô hình này cung cấp bối cảnh quan trọng cho hiệu năng tương ứng của chúng.
YOLOv9: Thông tin Gradient có thể lập trình
Được phát triển bởi các nhà nghiên cứu Chien-Yao Wang và Hong-Yuan Mark Liao tại Viện Khoa học Thông tin, Viện Hàn lâm Khoa học Đài Loan, YOLOv9 Mô hình này được phát hành vào ngày 21 tháng 2 năm 2024. Nó giới thiệu hai khái niệm đột phá để giải quyết nút thắt thông tin thường gặp trong mạng nơ-ron sâu: Thông tin Gradient có thể lập trình (Programmable Gradient Information - PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (Generalized Efficient Layer Aggregation Network - GELAN).
Bằng cách sử dụng PGI, YOLOv9 Điều này đảm bảo thông tin quan trọng được giữ lại trong suốt quá trình truyền tiến, dẫn đến cập nhật gradient có độ chính xác cao. Đồng thời, kiến trúc GELAN tối đa hóa hiệu quả tham số, cho phép mô hình đạt được độ chính xác hàng đầu với chi phí tính toán thấp đáng ngạc nhiên. Bạn có thể tìm hiểu chi tiết kỹ thuật trong bài báo chính thức về YOLOv9 trên Arxiv hoặc xem kho lưu trữ GitHub YOLOv9 .
Ultralytics YOLOv5 Tiêu chuẩn sản xuất
Được viết bởi Glenn Jocher và phát hành bởi Ultralytics Vào ngày 26 tháng 6 năm 2020, YOLOv5 Nó đã cách mạng hóa khả năng tiếp cận của thị giác máy tính. Là một trong những mô hình phát hiện đối tượng đầu tiên được xây dựng nguyên bản trên khung PyTorch , nó đã bỏ qua sự phức tạp của khung C Darknet cũ hơn. YOLOv5 Sử dụng kiến trúc xương sống CSPNet được tối ưu hóa cao và kiến trúc cổ PANet, ưu tiên sự cân bằng hoàn hảo giữa tốc độ và độ chính xác.
Tuy nhiên, thành tựu nổi bật nhất của nó là sự tích hợp vào hệ thống rộng lớn hơn. Ultralytics hệ sinh thái. YOLOv5 Nó được tối ưu hóa cao để đạt hiệu quả huấn luyện nhanh và hoạt động tốt trong môi trường bộ nhớ thấp, giúp nó cực kỳ ổn định khi triển khai ở biên mạng.
Hiệu quả bộ nhớ
Khi đánh giá các mô hình dành cho thiết bị biên, hãy nhớ rằng Ultralytics YOLO các mô hình thường yêu cầu mức thấp hơn đáng kể GPU Hiệu quả sử dụng bộ nhớ trong cả quá trình huấn luyện và suy luận so với các kiến trúc dựa trên Transformer nặng nề.
Phân tích hiệu năng: Tốc độ so với độ chính xác
Khi thiết kế một quy trình xử lý hình ảnh máy tính, các nhà phát triển phải cân nhắc giữa độ chính xác và độ trễ. Bảng sau minh họa sự khác biệt về hiệu suất trên tập dữ liệu COCO tiêu chuẩn.
| 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) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Phân tích các đánh đổi
YOLOv9 Thiết lập sự thống trị tuyệt đối về độ chính xác thô. YOLOv9e đẩy giới hạn của... mAP Độ chính xác lên đến 55,6%, nhờ sử dụng các lớp GELAN để bảo toàn các chi tiết nhỏ. Điều này làm cho nó trở thành lựa chọn đặc biệt cho hình ảnh y tế hoặc các trường hợp đòi hỏi độ chính xác cao đối với các vật thể nhỏ.
Ngược lại, YOLOv5 nổi bật nhờ tốc độ triển khai nhanh và tính linh hoạt phần cứng. YOLOv5n (Nano) nổi tiếng là nhẹ, thực hiện suy luận chỉ trong 1,12ms trên T4. GPU thông qua TensorRT . Nếu bạn đang triển khai trên các thiết bị IoT có tài nguyên hạn chế, điện thoại di động hoặc Raspberry Pi , thì dung lượng bộ nhớ cần thiết sẽ rất lớn. YOLOv5 Điều đó khiến nó cực kỳ đáng tin cậy.
Lợi thế Hệ sinh thái Ultralytics
Một yếu tố quan trọng cần xem xét khi lựa chọn mô hình là hệ sinh thái phần mềm xung quanh. Trong khi đó, YOLOv9 Cung cấp các tiêu chuẩn nghiên cứu hàng đầu, sử dụng cả hai mô hình thông qua API Python hiện đại Ultralytics thu hẹp khoảng cách, mang đến cho các nhà phát triển trải nghiệm thống nhất và liền mạch.
Dễ sử dụng và xuất khẩu
Ultralytics Phần mềm này đơn giản hóa các rào cản kỹ thuật phức tạp. Các tính năng như tự động tăng cường dữ liệu và điều chỉnh siêu tham số được xử lý sẵn. Việc đưa mô hình vào sản xuất cũng dễ dàng không kém, với các lệnh xuất tích hợp sẵn để chuyển đổi mô hình sang định dạng ONNX , OpenVINO hoặc TFLite .
Tính linh hoạt của tác vụ
Mặc dù cả hai mô hình đều xuất sắc trong việc phát hiện đối tượng , nhưng mô hình hiện đại Ultralytics Các mô hình được xây dựng để giải quyết nhiều thách thức khác nhau trong lĩnh vực thị giác máy tính. Khung tổng thể cung cấp hỗ trợ gốc cho phân loại hình ảnh , phân đoạn đối tượng , ước lượng tư thế và hộp giới hạn định hướng (OBB) , cho phép các nhà phát triển giải quyết nhiều vấn đề về thị giác mà không cần chuyển đổi mã nguồn.
Các trường hợp sử dụng và Khuyến nghị
Lựa chọn giữa YOLOv9 Và YOLOv5 Điều này phụ thuộc vào các yêu cầu cụ thể của dự án, các ràng buộc triển khai và sở thích về hệ sinh thái của bạn.
Khi nào nên chọn YOLOv9
YOLOv9 là một lựa chọn tốt cho:
- Nghiên cứu về tắc nghẽn thông tin: Các dự án học thuật nghiên cứu kiến trúc Thông tin Gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN).
- Nghiên cứu tối ưu hóa dòng gradient: Nghiên cứu tập trung vào việc hiểu và giảm thiểu sự mất mát thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
- Đánh giá hiệu năng phát hiện độ chính xác cao: Các kịch bản trong đó YOLOv9 mạnh mẽ COCO Hiệu năng chuẩn là cần thiết để làm điểm tham chiếu cho việc so sánh kiến trúc.
Khi nào nên chọn YOLOv5
YOLOv5 được khuyến nghị cho:
- Hệ thống sản xuất đã được chứng minh: Các triển khai hiện có trong đó YOLOv5 Dài track Lịch sử hoạt động ổn định, hệ thống tài liệu đầy đủ và sự ủng hộ mạnh mẽ từ cộng đồng được đánh giá cao.
- Đào tạo trong điều kiện nguồn lực hạn chế: Môi trường có nguồn lực hạn chế GPU nguồn lực ở đâu YOLOv5 Quy trình huấn luyện hiệu quả và yêu cầu bộ nhớ thấp hơn là những lợi thế của nó.
- Hỗ trợ định dạng xuất khẩu đa dạng: Các dự án yêu cầu triển khai trên nhiều định dạng khác nhau, bao gồm ONNX , TensorRT , CoreML và TFLite .
Khi nào nên lựa chọn Ultralytics (YOLO26)
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:
- NMS - Triển khai biên không cần can thiệp: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không cần sự phức tạp của quá trình xử lý hậu kỳ loại bỏ cực đại không cần can thiệp (Non-Maximum Suppression).
- Môi trường chỉ sử dụng CPU : Các thiết bị không có bộ xử lý chuyên dụng. GPU khả năng tăng tốc, trong đó YOLO26 nhanh hơn tới 43%. CPU Suy luận mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các tình huống đầy thách thức như ảnh chụp từ máy bay không người lái hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL giúp tăng đáng kể độ chính xác trong việc phát hiện các vật thể siêu nhỏ.
Ví dụ triển khai
Vẻ đẹp của Ultralytics Hệ sinh thái cho phép bạn chuyển đổi giữa các hệ sinh thái khác nhau. YOLOv5 mô hình và một YOLOv9 Mô hình chỉ đơn giản bằng cách thay đổi chuỗi trọng lượng.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")
Khám phá những kiến trúc mới hơn
Trong khi YOLOv5 Và YOLOv9 Đây là những mô hình xuất sắc với những ưu điểm riêng biệt, và lĩnh vực này vẫn tiếp tục phát triển. Người dùng đang tìm kiếm các dự án mới cũng có thể muốn đánh giá các phiên bản mới nhất từ... Ultralytics .
- YOLO11 : Một sự phát triển mạnh mẽ và tinh tế của... YOLOv8 Dòng sản phẩm này mang lại sự cân bằng tuyệt vời giữa tốc độ và độ chính xác trong mọi nhiệm vụ thị giác.
- YOLO26 : Ra mắt vào năm 2026, YOLO26 là giải pháp tối ưu cho các hệ thống xử lý dữ liệu hiện đại. Nó giới thiệu thiết kế không cần hệ quản lý mạng NMS từ đầu đến cuối , loại bỏ hoàn toàn các nút thắt cổ chai trong quá trình xử lý hậu kỳ. Với việc loại bỏ DFL (Distribution Focal Loss - loại bỏ hàm mất mát tiêu điểm phân tán để đơn giản hóa việc xuất dữ liệu và cải thiện khả năng tương thích với thiết bị biên/công suất thấp), nó đạt được tốc độ suy luận CPU nhanh hơn tới 43% . Độ ổn định huấn luyện được tăng cường mạnh mẽ thông qua trình tối ưu hóa MuSGD mới, và ProgLoss + STAL cung cấp các hàm mất mát được cải tiến với những cải thiện đáng kể trong nhận dạng đối tượng nhỏ, rất quan trọng đối với IoT, robot và ảnh chụp từ trên không, khiến nó trở thành kiến trúc mạnh mẽ nhất cho cả triển khai ở biên và trên đám mây.
Đối với các nhóm quản lý tập dữ liệu lớn và quy trình triển khai phức tạp, việc sử dụng Nền tảng Ultralytics cung cấp giải pháp không cần lập trình để đào tạo, track và triển khai những mô hình tiên tiến này một cách dễ dàng.