YOLOv9 : Một bước tiến vượt bậc trong công nghệ phát hiện đối tượng
YOLOv9 đánh dấu một bước tiến đáng kể trong phát hiện đối tượng theo thời gian thực, giới thiệu các kỹ thuật đột phá như Thông tin Gradient Lập trình (PGI) và Mạng Tổng hợp Lớp Hiệu quả Tổng quát (GELAN). Mô hình này chứng minh những cải tiến đáng kể về hiệu quả, độ chính xác và khả năng thích ứng, thiết lập các chuẩn mực mới cho MS. COCO tập dữ liệu. Các YOLOv9 dự án, mặc dù được phát triển bởi một nhóm nguồn mở riêng biệt, được xây dựng dựa trên cơ sở mã mạnh mẽ do Ultralytics YOLOv5 cung cấp, thể hiện tinh thần hợp tác của cộng đồng nghiên cứu AI.
Xem: YOLOv9 Đào tạo về Dữ liệu tùy chỉnh bằng cách sử dụng Ultralytics | Bộ dữ liệu gói công nghiệp

Giới thiệu về YOLOv9
Trong quá trình tìm kiếm khả năng phát hiện đối tượng theo thời gian thực tối ưu, YOLOv9 nổi bật với cách tiếp cận sáng tạo để khắc phục những thách thức về mất mát thông tin vốn có trong mạng nơ-ron sâu. Bằng cách tích hợp PGI và kiến trúc GELAN linh hoạt, YOLOv9 không chỉ nâng cao khả năng học hỏi của mô hình mà còn đảm bảo lưu giữ thông tin quan trọng trong suốt quá trình phát hiện, do đó đạt được độ chính xác và hiệu suất vượt trội.
Những đổi mới cốt lõi của YOLOv9
YOLOv9 Những tiến bộ của 's bắt nguồn sâu sắc từ việc giải quyết các thách thức do mất thông tin trong mạng nơ-ron sâu gây ra. Nguyên lý Cổ chai Thông tin và việc sử dụng sáng tạo các Hàm Đảo ngược là trọng tâm trong thiết kế của nó, đảm bảo YOLOv9 duy trì hiệu quả và độ chính xác cao.
Nguyên tắc nút cổ chai thông tin
Nguyên tắc nút cổ chai thông tin tiết lộ một thách thức cơ bản trong học sâu: khi dữ liệu đi qua các lớp kế tiếp của mạng, khả năng mất thông tin sẽ tăng lên. Hiện tượng này được biểu diễn bằng toán học như sau:
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))
trong đó I biểu thị thông tin tương hỗ, và f và g lần lượt đại diện cho các hàm biến đổi với các tham số theta và phi, tương ứng. YOLOv9 giải quyết thách thức này bằng cách triển khai Programmable Gradient Information (PGI), giúp bảo toàn dữ liệu thiết yếu trên toàn bộ chiều sâu của mạng, đảm bảo tạo gradient đáng tin cậy hơn và do đó, cải thiện khả năng hội tụ và hiệu suất của model.
Các hàm обратимым
Khái niệm về các hàm có thể đảo ngược là một nền tảng khác của YOLOv9 Thiết kế của. Một hàm được coi là có thể đảo ngược nếu nó có thể được đảo ngược mà không làm mất thông tin, như được thể hiện bởi:
X = v_zeta(r_psi(X))
với psi và zeta lần lượt là các tham số cho hàm khả nghịch và hàm nghịch đảo của nó. Thuộc tính này rất quan trọng đối với kiến trúc học sâu kiến trúc, vì nó cho phép mạng lưới duy trì luồng thông tin hoàn chỉnh, do đó cho phép cập nhật chính xác hơn các tham số của mô hình. YOLOv9 kết hợp các chức năng có thể đảo ngược trong kiến trúc của nó để giảm thiểu nguy cơ suy thoái thông tin, đặc biệt là ở các lớp sâu hơn, đảm bảo bảo toàn dữ liệu quan trọng cho các nhiệm vụ phát hiện đối tượng.
Tác động đối với các mô hình nhẹ
Việc giải quyết tình trạng mất thông tin đặc biệt quan trọng đối với các mô hình nhẹ, thường thiếu tham số và dễ bị mất thông tin đáng kể trong quá trình truyền tiếp. YOLOv9 Kiến trúc của, thông qua việc sử dụng PGI và các hàm có thể đảo ngược, đảm bảo rằng ngay cả với mô hình hợp lý, thông tin cần thiết để phát hiện đối tượng chính xác vẫn được lưu giữ và sử dụng hiệu quả.
Thông tin Gradient có thể lập trình (PGI)
PGI là một khái niệm mới được giới thiệu trong YOLOv9 để giải quyết vấn đề tắc nghẽn thông tin, đảm bảo lưu trữ dữ liệu thiết yếu trên các lớp mạng sâu. Điều này cho phép tạo ra các gradient đáng tin cậy, hỗ trợ cập nhật mô hình chính xác và cải thiện hiệu suất phát hiện tổng thể.
Mạng tổng hợp lớp hiệu quả tổng quát (GELAN)
GELAN đại diện cho sự tiến bộ về kiến trúc chiến lược, cho phép YOLOv9 để đạt được hiệu quả sử dụng tham số và tính toán vượt trội. Thiết kế của nó cho phép tích hợp linh hoạt các khối tính toán khác nhau, giúp YOLOv9 có thể thích ứng với nhiều ứng dụng khác nhau mà không ảnh hưởng đến tốc độ hoặc độ chính xác.

YOLOv9 Điểm chuẩn
Đánh giá chuẩn trong YOLOv9 Việc sử dụng Ultralytics bao gồm việc đánh giá hiệu suất của mô hình đã được đào tạo và xác thực của bạn trong các tình huống thực tế. Quy trình này bao gồm:
- Đánh giá hiệu suất: Đánh giá tốc độ và độ chính xác của mô hình.
- Định dạng xuất: Kiểm tra mô hình trên các định dạng xuất khác nhau để đảm bảo nó đáp ứng các tiêu chuẩn cần thiết và hoạt động tốt trong các môi trường khác nhau.
- Hỗ trợ Framework: Cung cấp một framework toàn diện trong Ultralytics YOLOv8 để tạo điều kiện thuận lợi cho các đánh giá này và đảm bảo kết quả nhất quán và đáng tin cậy.
Bằng cách đánh giá hiệu năng, bạn có thể đảm bảo rằng mô hình của mình không chỉ hoạt động tốt trong môi trường thử nghiệm có kiểm soát mà còn duy trì hiệu suất cao trong các ứng dụng thực tế.
Xem: Làm thế nào để đánh giá chuẩn YOLOv9 Mô hình sử dụng Ultralytics Python Bưu kiện
Hiệu suất trên MS COCO Bộ dữ liệu
Hiệu suất của YOLOv9 trên tập dữ liệu COCO minh họa những tiến bộ đáng kể của nó trong việc phát hiện đối tượng theo thời gian thực, thiết lập các chuẩn mực mới trên nhiều kích thước mô hình khác nhau. Bảng 1 trình bày so sánh toàn diện về các bộ phát hiện đối tượng theo thời gian thực hiện đại, minh họa YOLOv9 hiệu quả và độ chính xác vượt trội.
Hiệu suất
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | mAP giá trị 50 | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | 53.1 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | 63.4 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | 68.1 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | 70.2 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | 72.8 | 58.1 | 192.5 |
| Mô hình | Kích thước (pixels) | mAP hộp 50-95 | mAP mặt nạ 50-95 | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|
| YOLOv9c-seg | 640 | 52.4 | 42.2 | 27.9 | 159.4 |
| YOLOv9e-seg | 640 | 55.1 | 44.3 | 60.5 | 248.4 |
YOLOv9 các lần lặp lại của, từ những thứ nhỏ bé t đến phiên bản mở rộng e mô hình, chứng minh những cải tiến không chỉ về độ chính xác ( mAP số liệu) mà còn về hiệu quả với số lượng tham số và nhu cầu tính toán (FLOP) giảm đi. Bảng này nhấn mạnh YOLOv9 khả năng cung cấp cao độ chính xác trong khi vẫn duy trì hoặc giảm chi phí tính toán so với các phiên bản trước và các mô hình cạnh tranh.
So sánh, YOLOv9 thể hiện những thành tựu đáng kể:
- Các mẫu nhẹ : YOLOv9s vượt trội hơn YOLO MS-S về hiệu quả tham số và tải tính toán trong khi đạt được cải tiến 0,4∼0,6% trong AP .
- Các Mô Hình Vừa đến Lớn: YOLOv9m và YOLOv9e cho thấy những tiến bộ đáng chú ý trong việc cân bằng giữa độ phức tạp của mô hình và hiệu suất phát hiện, mang lại sự giảm đáng kể về số lượng tham số và tính toán so với bối cảnh độ chính xác được cải thiện.
Đặc biệt, mô hình YOLOv9c làm nổi bật hiệu quả của các tối ưu hóa kiến trúc. Nó hoạt động với ít hơn 42% tham số và ít hơn 21% nhu cầu tính toán so với YOLOv7 AF, nhưng nó đạt được độ chính xác tương đương, chứng minh YOLOv9 cải thiện đáng kể hiệu quả. Hơn nữa, mô hình YOLOv9e đặt ra một tiêu chuẩn mới cho các mô hình lớn, với ít hơn 15% tham số và ít hơn 25% nhu cầu tính toán so với YOLOv8x , cùng với cải thiện gia tăng 1,7% về AP .
Những kết quả này thể hiện YOLOv9 Những tiến bộ chiến lược trong thiết kế mô hình, nhấn mạnh hiệu quả nâng cao mà không ảnh hưởng đến độ chính xác cần thiết cho các tác vụ phát hiện đối tượng thời gian thực. Mô hình này không chỉ mở rộng ranh giới của các chỉ số hiệu suất mà còn nhấn mạnh tầm quan trọng của hiệu suất tính toán, biến nó thành một bước phát triển then chốt trong lĩnh vực thị giác máy tính .
Kết luận
YOLOv9 đại diện cho một bước phát triển then chốt trong lĩnh vực phát hiện đối tượng thời gian thực, mang lại những cải tiến đáng kể về hiệu quả, độ chính xác và khả năng thích ứng. Bằng cách giải quyết những thách thức quan trọng thông qua các giải pháp sáng tạo như PGI và GELAN, YOLOv9 tạo ra tiền lệ mới cho nghiên cứu và ứng dụng trong tương lai trong lĩnh vực này. Khi cộng đồng AI tiếp tục phát triển, YOLOv9 là minh chứng cho sức mạnh của sự hợp tác và đổi mới trong việc thúc đẩy tiến bộ công nghệ.
Ví dụ sử dụng
Ví dụ này cung cấp đơn giản YOLOv9 ví dụ về đào tạo và suy luận. Để biết tài liệu đầy đủ về các chế độ này và các chế độ khác, hãy xem các trang tài liệu Predict , Train , Val và Export .
Ví dụ
PyTorch đã được huấn luyện trước *.pt các mô hình cũng như cấu hình *.yaml các tệp có thể được chuyển đến YOLO() class để tạo một thể hiện mô hình trong python:
from ultralytics import YOLO
# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")
# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Các lệnh CLI có sẵn để chạy trực tiếp các mô hình:
# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640
# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg
Các Tác vụ và Chế độ được Hỗ trợ
Các YOLOv9 Dòng sản phẩm này cung cấp nhiều mẫu mã, mỗi mẫu đều được tối ưu hóa cho khả năng phát hiện đối tượng hiệu suất cao. Các mẫu này đáp ứng các nhu cầu tính toán và yêu cầu độ chính xác khác nhau, giúp chúng linh hoạt cho nhiều ứng dụng khác nhau.
| Mô hình | Tên tập tin | Nhiệm vụ | Suy luận | Xác thực | Huấn luyện | Xuất |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | Phát Hiện Đối Tượng | ✅ | ✅ | ✅ | ✅ |
| YOLOv9 -seg | yolov9c-seg.pt yolov9e-seg.pt | Phân đoạn thực thể | ✅ | ✅ | ✅ | ✅ |
Bảng này cung cấp tổng quan chi tiết về YOLOv9 các biến thể mô hình, làm nổi bật khả năng của chúng trong các nhiệm vụ phát hiện đối tượng và khả năng tương thích của chúng với nhiều chế độ hoạt động khác nhau như Suy luận , Xác thực , Đào tạo và Xuất . Hỗ trợ toàn diện này đảm bảo rằng người dùng có thể tận dụng đầy đủ các khả năng của YOLOv9 mô hình trong nhiều tình huống phát hiện đối tượng khác nhau.
Lưu ý
Đào tạo YOLOv9 các mô hình sẽ yêu cầu nhiều tài nguyên hơn và mất nhiều thời gian hơn so với mô hình YOLOv8 có kích thước tương đương.
Trích dẫn và Lời cảm ơn
Chúng tôi muốn ghi nhận YOLOv9 các tác giả vì những đóng góp quan trọng của họ trong lĩnh vực phát hiện đối tượng thời gian thực:
@article{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Liao, Hong-Yuan Mark},
booktitle={arXiv preprint arXiv:2402.13616},
year={2024}
}
Bản gốc YOLOv9 Bài báo có thể được tìm thấy trên arXiv . Các tác giả đã công bố công trình của họ và có thể truy cập cơ sở mã nguồn trên GitHub . Chúng tôi đánh giá cao những nỗ lực của họ trong việc thúc đẩy lĩnh vực này và giúp công trình của họ được cộng đồng rộng rãi tiếp cận.
Câu hỏi thường gặp
Những đổi mới nào YOLOv9 giới thiệu để phát hiện đối tượng theo thời gian thực?
YOLOv9 giới thiệu các kỹ thuật đột phá như Thông tin Gradient Lập trình (PGI) và Mạng Tổng hợp Lớp Hiệu quả Tổng quát (GELAN). Những đổi mới này giải quyết các thách thức về mất mát thông tin trong mạng nơ-ron sâu, đảm bảo hiệu suất, độ chính xác và khả năng thích ứng cao. PGI bảo toàn dữ liệu thiết yếu trên các lớp mạng, trong khi GELAN tối ưu hóa việc sử dụng tham số và hiệu suất tính toán. Tìm hiểu thêm về các cải tiến cốt lõi của YOLOv9 , thiết lập các chuẩn mực mới cho hệ thống MS. COCO tập dữ liệu.
Làm thế nào YOLOv9 thực hiện trên MS COCO bộ dữ liệu so với các mô hình khác?
YOLOv9 vượt trội hơn các máy dò vật thể thời gian thực hiện đại bằng cách đạt được độ chính xác và hiệu quả cao hơn. Trên tập dữ liệu COCO , YOLOv9 các mô hình thể hiện vượt trội mAP Điểm số trên nhiều kích cỡ khác nhau trong khi vẫn duy trì hoặc giảm thiểu chi phí tính toán. Ví dụ, YOLOv9c đạt được độ chính xác tương đương với số lượng tham số ít hơn 42% và nhu cầu tính toán ít hơn 21% so với YOLOv7 AF. Khám phá các so sánh hiệu suất để biết số liệu chi tiết.
Làm thế nào tôi có thể đào tạo một YOLOv9 mô hình sử dụng Python Và CLI ?
Bạn có thể đào tạo một YOLOv9 mô hình sử dụng cả hai Python Và CLI lệnh. Đối với Python , khởi tạo một mô hình bằng cách sử dụng YOLO class và gọi train phương thức:
from ultralytics import YOLO
# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Đối với huấn luyện CLI, hãy thực thi:
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640
Tìm hiểu thêm về các ví dụ sử dụng để huấn luyện và suy luận.
Những lợi ích của việc sử dụng là gì? Ultralytics YOLOv9 cho các mô hình nhẹ?
YOLOv9 được thiết kế để giảm thiểu mất mát thông tin, điều này đặc biệt quan trọng đối với các mô hình nhẹ thường dễ bị mất thông tin quan trọng. Bằng cách tích hợp Thông tin Gradient Lập trình (PGI) và các hàm có thể đảo ngược, YOLOv9 đảm bảo lưu giữ dữ liệu thiết yếu, nâng cao độ chính xác và hiệu quả của mô hình. Điều này làm cho nó rất phù hợp cho các ứng dụng yêu cầu mô hình nhỏ gọn với hiệu suất cao. Để biết thêm chi tiết, hãy xem phần về tác động của YOLOv9 lên các mô hình nhẹ .
Nhiệm vụ và chế độ nào? YOLOv9 ủng hộ?
YOLOv9 hỗ trợ nhiều tác vụ khác nhau, bao gồm phát hiện đối tượng và phân đoạn thực thể . Nó tương thích với nhiều chế độ hoạt động như suy luận, xác thực, đào tạo và xuất dữ liệu. Tính linh hoạt này làm cho YOLOv9 có thể thích ứng với nhiều ứng dụng thị giác máy tính thời gian thực khác nhau. Tham khảo phần tác vụ và chế độ được hỗ trợ để biết thêm thông tin.