YOLOv9 so với YOLOv5 Sự tiến hóa kiến trúc và di sản trong phát hiện đối tượng
Sự tiến hóa của YOLO (You Only Look Once) là một ví dụ điển hình cho sự phát triển thú vị của thị giác máy tính. YOLOv5 , được phát hành bởi Ultralytics Năm 2020, YOLOv9 đã thiết lập một tiêu chuẩn mới về tính dễ sử dụng và khả năng sẵn sàng sản xuất, trở thành framework được các nhà phát triển trên toàn thế giới ưa chuộng. YOLOv9 , được các nhà nghiên cứu tại Viện Hàn lâm Khoa học Trung Quốc phát hành năm 2024, đã vượt qua những giới hạn của kiến trúc lý thuyết với các khái niệm như Thông tin Gradient có thể lập trình (Programmable Gradient Information - PGI).
Sự so sánh này khám phá độ tin cậy đã được kiểm chứng qua thực chiến của YOLOv5 so sánh với những đổi mới kiến trúc của YOLOv9 giúp bạn quyết định mô hình nào phù hợp với nhu cầu thị giác máy tính cụ thể của mình.
So sánh Các chỉ số Hiệu suất
Bảng sau đây so sánh hiệu năng của hai mẫu sản phẩm ở nhiều kích cỡ khác nhau. Lưu ý rằng trong khi YOLOv9 cho thấy độ chính xác lý thuyết cao hơn ( mAP ), YOLOv5 Vẫn duy trì tính cạnh tranh về tốc độ và hiệu quả sử dụng tài nguyên, đặc biệt là đối với các hệ thống cũ.
| 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 |
YOLOv5 Tiêu chuẩn cho Trí tuệ nhân tạo trong sản xuất
Kể từ khi được phát hành vào năm 2020 bởi Ultralytics YOLOv5 đã trở thành từ đồng nghĩa với việc triển khai AI thực tiễn. Nó không chỉ là một kiến trúc mô hình; mà là một sự thay đổi toàn diện về hệ sinh thái. Trước đó... YOLOv5 Việc huấn luyện các mô hình phát hiện đối tượng thường đòi hỏi các tệp cấu hình phức tạp và các khung phần mềm dựa trên C dễ bị lỗi. YOLOv5 giới thiệu một người bản địa PyTorch Việc triển khai này giúp việc huấn luyện trở nên đơn giản chỉ với một lệnh duy nhất.
- Tác giả: Glenn Jocher
- Tổ chức:Ultralytics
- Ngày: Tháng 6 năm 2020
- GitHub:ultralytics/yolov5
Điểm mạnh chính của YOLOv5
- Dễ sử dụng vượt trội: Đặc điểm nổi bật của Ultralytics Mô hình này thể hiện trải nghiệm người dùng. YOLOv5 Cung cấp quy trình làm việc liền mạch từ khâu chuẩn bị tập dữ liệu đến triển khai.
- Hỗ trợ nền tảng rộng rãi: Nó cung cấp hỗ trợ xuất dữ liệu gốc cho CoreML , TFLite và... ONNX , khiến nó trở nên vô cùng linh hoạt cho các ứng dụng di động và ứng dụng biên.
- Chi phí tài nguyên thấp: Không giống như các kiến trúc sử dụng nhiều bộ chuyển đổi đòi hỏi tài nguyên khổng lồ. GPU ký ức, YOLOv5 Nó có hiệu quả cao, cho phép đào tạo trên phần cứng dành cho người tiêu dùng hoặc thậm chí là các sổ tay đám mây miễn phí như Google Colab .
- Tính ổn định: Với nhiều năm bảo trì tích cực, các sự cố hiếm gặp đã được giải quyết, đảm bảo nền tảng ổn định cho các ứng dụng quan trọng trong sản xuất thông minh và an ninh.
Ví dụ về tính dễ sử dụng
Thực hiện suy luận với YOLOv5 (hoặc bất kỳ) Ultralytics mô hình) được tiêu chuẩn hóa và đơn giản:
from ultralytics import YOLO
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Show results
results[0].show()
YOLOv9 Đổi mới kiến trúc với PGI
Ra mắt vào đầu năm 2024, YOLOv9 tập trung giải quyết vấn đề tắc nghẽn thông tin trong mạng nơ-ron sâu. Khi mạng trở nên sâu hơn, thông tin đặc trưng quan trọng có thể bị mất trong quá trình truyền tiến. YOLOv9 Giải quyết vấn đề này bằng cách sử dụng Thông tin Độ dốc Lập trình được (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) .
- Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
- Tổ chức:Viện Khoa học Thông tin, Academia Sinica
- Ngày: Tháng 2 năm 2024
- Arxiv:YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
- GitHub:WongKinYiu/yolov9
Những đột phá về kiến trúc
- Kiến trúc GELAN: Kiến trúc mới này kết hợp những ưu điểm tốt nhất của CSPNet (được sử dụng trong YOLOv5 ) và ELAN (được sử dụng trong YOLOv7 ) để tối đa hóa hiệu quả tham số. Điều này cho phép mô hình đạt được độ chính xác cao hơn với ít tham số hơn so với các kiến trúc cũ.
- Thông tin độ dốc có thể lập trình (PGI): PGI tạo ra các độ dốc đáng tin cậy thông qua một nhánh phụ chỉ được sử dụng trong quá trình huấn luyện. Điều này đảm bảo các lớp sâu giữ lại thông tin ngữ nghĩa mà không làm tăng chi phí suy luận, giúp tăng hiệu suất trên các tác vụ khó khăn như phát hiện các vật thể nhỏ .
Phân tích so sánh: Khi nào nên sử dụng loại nào?
Việc lựa chọn giữa hai mô hình này phụ thuộc vào ưu tiên của bạn: tốc độ triển khai hay độ chính xác tối đa .
1. Hiệu quả đào tạo và hệ sinh thái
YOLOv5 vượt trội nhờ sự trưởng thành của hệ sinh thái. Nó được tích hợp vào hàng ngàn công cụ của bên thứ ba và nhận được sự hỗ trợ cộng đồng mạnh mẽ. Nếu bạn cần triển khai mô hình ngay hôm nay với mức độ khó khăn tối thiểu, YOLOv5 (hoặc phiên bản YOLO11 mới hơn) thường là lựa chọn an toàn hơn.
YOLOv9 được hỗ trợ đầy đủ trong hệ sinh thái Ultralytics , có nghĩa là người dùng có thể tận dụng cùng một quy trình huấn luyện đơn giản. Tuy nhiên, kiến trúc phức tạp của nó (các nhánh phụ trợ) đôi khi có thể làm cho quá trình huấn luyện chậm hơn và tốn nhiều bộ nhớ hơn một chút so với phiên bản được đơn giản hóa. YOLOv5 .
2. Triển khai tại biên so với độ chính xác của máy chủ
Đối với các tác vụ đòi hỏi độ chính xác cao, chẳng hạn như phân tích hình ảnh y tế ngoại tuyến hoặc kiểm tra công nghiệp độ chính xác cao, YOLOv9e vượt trội hơn hẳn YOLOv5x, mang lại hiệu suất cao hơn +5%. mAP nhận được.
Tuy nhiên, đối với các thiết bị biên như Raspberry Pi hoặc NVIDIA Trên Jetson, YOLOv5 vẫn là một lựa chọn được ưa chuộng. Kiến trúc đơn giản hơn của nó rất phù hợp với lượng tử hóa int8 và thường mang lại tốc độ suy luận nhanh hơn trên phần cứng hạn chế, mặc dù các mẫu mới hơn như YOLO26 đang nhanh chóng thay thế nó trong phân khúc này.
3. Tính Đa năng của Tác vụ
Cả hai mẫu đều đa năng, nhưng Ultralytics Việc triển khai đảm bảo chúng hỗ trợ nhiều nhiệm vụ khác nhau ngoài việc chỉ đơn thuần phát hiện:
- Phân đoạn đối tượng: Mặt nạ chính xác ở cấp độ pixel.
- Phân loại: Ghi nhãn toàn bộ hình ảnh.
- Ước lượng tư thế: Theo dõi các điểm mấu chốt để nhận dạng hoạt động của con người .
- OBB: Hộp giới hạn có hướng cho ảnh hàng không.
Tương lai: YOLO26
Trong khi YOLOv5 Và YOLOv9 Đây là những mô hình xuất sắc, lĩnh vực này phát triển rất nhanh. Các nhà phát triển muốn tìm kiếm công nghệ tiên tiến nhất nên xem xét YOLO26 .
Được phát hành vào tháng 1 năm 2026, YOLO26 đại diện cho đỉnh cao của những tiến bộ kiến trúc này. Nó áp dụng thiết kế End-to-End NMS -Free , lần đầu tiên được phổ biến bởi YOLOv10 , loại bỏ hoàn toàn bước Non-Maximum Suppression gây độ trễ cao. Ngoài ra, nó còn có MuSGD Optimizer , một sự kết hợp giữa... SGD và Muon, đảm bảo sự hội tụ và ổn định nhanh hơn.
Với những cải tiến như ProgLoss + STAL để phát hiện các vật thể nhỏ và loại bỏ Distribution Focal Loss (DFL) giúp xuất dữ liệu đơn giản hơn, YOLO26 cung cấp khả năng xử lý CPU nhanh hơn tới 43% so với các thế hệ trước, trở thành lựa chọn vượt trội cho cả nghiên cứu và sản xuất.
Kết luận
- Hãy chọn YOLOv5 nếu bạn cần một mô hình nhẹ, đã được kiểm chứng qua thực chiến cho các hệ thống cũ hoặc những nơi có nguồn lực hạn chế nghiêm trọng, nơi mà các trình điều hành mới hơn không hỗ trợ (như trong...). YOLOv9 /26) có thể bị thiếu.
- Hãy chọn YOLOv9 nếu bạn cần độ chính xác cao trên các tập dữ liệu phức tạp và có thể chấp nhận chi phí tài nguyên huấn luyện cao hơn một chút.
- Hãy chọn YOLO26 để có được những điều tốt nhất: NMS - Tốc độ vượt trội, độ chính xác hàng đầu và các tính năng thế hệ mới như trình tối ưu hóa MuSGD.
Để bắt đầu sử dụng bất kỳ mô hình nào trong số này, bạn có thể sử dụng Nền tảng Ultralytics để quản lý tập dữ liệu, huấn luyện trên đám mây và triển khai một cách dễ dàng.
Bắt đầu
Bạn có thể huấn luyện bất kỳ mô hình nào trong số này bằng cách sử dụng Ultralytics Python gói. Chỉ cần thay đổi tên mô hình trong tập lệnh của bạn:
from ultralytics import YOLO
# Switch between models easily
model = YOLO("yolov5su.pt") # YOLOv5
# model = YOLO("yolov9c.pt") # YOLOv9
# model = YOLO("yolo26n.pt") # YOLO26
# Train on your data
model.train(data="coco8.yaml", epochs=100)