Bỏ để qua phần nội dung

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 việc phát hiện đối tượng thời gian thực, giới thiệu các kỹ thuật đột phá như Thông tin chuyển màu có thể 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 thể hiện 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 tiêu chuẩn mới trên bộ dữ liệu MS COCO. Dự án YOLOv9, trong khi được phát triển bởi một nhóm mã nguồn mở riêng biệt, được xây dựng dựa trên cơ sở mã mạnh mẽ được cung cấp bởi Ultralytics YOLOv5, thể hiện tinh thần hợp tác của cộng đồng nghiên cứu AI.



Xem: Đào tạo YOLOv9 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

So sánh hiệu suất YOLOv9

Giới thiệu về YOLOv9

Trong hành 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 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 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 đặc biệt.

Những cải tiến cốt lõi của YOLOv9

Những tiến bộ của YOLOv9 bắt nguồn sâu sắc trong việc giải quyết những thách thức do mất thông tin trong các mạng nơ-ron sâu. Nguyên tắc tắc nghẽn thông tin và việc sử dụng sáng tạo các Chức năng đả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 tắc nghẽn thông tin

Nguyên tắc tắc nghẽn thông tin cho thấy một thách thức cơ bản trong học sâu: khi dữ liệu đi qua các lớp liên tiếp của mạng, khả năng mất thông tin tăng lên. Hiện tượng này được biểu diễn bằng toán học là:

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

đâu I biểu thị thông tin lẫn nhau, và fg biểu diễn các hàm chuyển đổi với các tham số thetaphiTương ứng. YOLOv9 chống lại thách thức này bằng cách triển khai Thông tin chuyển màu có thể lập trình (PGI), hỗ trợ bảo quản dữ liệu thiết yếu trên độ sâu của mạng, đảm bảo tạo gradient đáng tin cậy hơn và do đó, hội tụ mô hình và hiệu suất tốt hơn.

Chức năng đảo ngược

Khái niệm về Chức năng đảo ngược là một nền tảng khác trong thiết kế của YOLOv9. Một hàm được coi là có thể đảo ngược nếu nó có thể được đảo ngược mà không bị mất thông tin, như được thể hiện bởi:

X = v_zeta(r_psi(X))

với psizeta như các tham số cho hàm đảo ngược và hàm nghịch đảo của nó, tương ứng. Thuộc tính này rất quan trọng đối với học sâu kiến trúc, vì nó cho phép mạng giữ lại 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 hàm có thể đảo ngược trong kiến trúc của nó để giảm thiểu rủi ro 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 tác vụ phát hiện đối tượng.

Tác động đến các mô hình nhẹ

Giải quyết mất thông tin đặc biệt quan trọng đối với các mô hình nhẹ, thường không được tham số hóa và dễ bị mất thông tin quan trọng trong quá trình chuyển tiếp. Kiến trúc của YOLOv9, thông qua việc sử dụng PGI và các chức năng đảo ngược, đảm bảo rằng ngay cả với một mô hình được sắp xếp hợp lý, thông tin cần thiết để phát hiện đối tượng chính xác vẫn được giữ lại 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 để chống lại vấn đề tắc nghẽn thông tin, đảm bảo bảo toàn 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, tạo điều kiện 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 một tiến bộ kiến trúc chiến lược, cho phép YOLOv9 đạt được việc sử dụng thông số vượt trội và hiệu quả tính toán. 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, làm cho YOLOv9 có thể thích ứng với nhiều ứng dụng mà không làm giảm tốc độ hoặc độ chính xác.

So sánh kiến trúc YOLOv9

Điểm chuẩn YOLOv9

Điểm chuẩn trong YOLOv9 bằng cách sử dụng Ultralytics liên quan đến việc đánh giá hiệu suất của mô hình được đào tạo và xác nhận của bạn trong các tình huống thực tế. Quá 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: Thử nghiệm 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ợ khung: Cung cấp một khuôn khổ 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 đo điểm chuẩn, bạn có thể đảm bảo rằng mô hình của bạn 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ế, thực tế.



Xem: Cách đánh giá mô hình YOLOv9 bằng cách sử dụng Ultralytics Python Gói

Hiệu suất trên tập dữ liệu MS COCO

Hiệu suất của YOLOv9 trên tập dữ liệu COCO minh họa cho 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 máy dò đối tượng theo thời gian thực hiện đại, minh họa hiệu quả và độ chính xác vượt trội của YOLOv9.

Bảng 1. So sánh các máy dò đối tượng thời gian thực hiện đại

Hiệu năng

Mẫukích thước
(điểm ảnh)
bản đồVal
50-95
bản đồVal
50
Params
(M)
Thất bại
(B)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5
Mẫukích thước
(điểm ảnh)
bản đồhộp
50-95
bản đồmặt nạ
50-95
Params
(M)
Thất bại
(B)
YOLOv9c-seg64052.442.227.9159.4
YOLOv9e-seg64055.144.360.5248.4

Các lần lặp lại của YOLOv9, từ những lần nhỏ bé t biến thể cho mở rộng e mô hình, chứng minh những cải tiến không chỉ về độ chính xác (số liệu mAP) mà còn về hiệu quả với số lượng tham số và nhu cầu tính toán giảm (FLOP). Bảng này nhấn mạnh khả năng cung cấp hiệu suất cao của YOLOv9 độ 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 lợi ích đáng chú ý:

  • Mô hình nhẹ: YOLOv9s vượt qua YOLO MS-S về hiệu suất tham số và tải tính toán trong khi đạt được sự cải thiện 0,4∼0,6% trong AP.
  • Các mô hình từ trung bình đến lớn: YOLOv9m và YOLOv9e cho thấy những tiến bộ đáng chú ý trong việc cân bằng sự cân bằng giữa độ phức tạp của mô hình và hiệu suất phát hiện, giúp giảm đáng kể các thông số và tính toán trong bối cảnh độ chính xác được cải thiện.

Mô hình YOLOv9c, đặc biệt, nhấn mạnh hiệu quả của việc tối ưu hóa kiến trúc. Nó hoạt động với các thông số ít hơn 42% và nhu cầu tính toán ít hơn 21% so với YOLOv7 AF, nhưng nó đạt được độ chính xác tương đương, thể hiện những cải tiến hiệu quả đáng kể của YOLOv9. 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 các tham số ít hơn 15% và nhu cầu tính toán ít hơn 25% so với YOLOv8x, cùng với sự cải thiện gia tăng 1,7% trong AP.

Những kết quả này cho thấy những tiến bộ chiến lược của YOLOv9 trong thiết kế mô hình, nhấn mạnh hiệu quả nâng cao của nó 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 theo thời gian thực. Mô hình không chỉ đẩy ranh giới của số liệu hiệu suất mà còn nhấn mạnh tầm quan trọng của hiệu quả tính toán, khiến nó trở 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 thúc

YOLOv9 đại diện cho một sự phát triển quan trọng trong phát hiện đối tượng thời gian thực, cung cấp 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 ra một 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 các ví dụ suy luận và đào tạo YOLOv9 đơn giả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 Dự đoán, Đào tạo, ValXuất .

Ví dụ

PyTorch được đào tạo trước *.pt Mô hình cũng như cấu hình *.yaml Các tập tin có thể được chuyển đến YOLO() lớp để 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")

CLI Các lệnh 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ợ

Dòng YOLOv9 cung cấp một loạt các mô hình, mỗi mô hình được tối ưu hóa để phát hiện đối tượng hiệu suất cao. Các mô hình này phục vụ cho các nhu cầu tính toán và yêu cầu độ chính xác khác nhau, làm cho chúng linh hoạt cho một loạt các ứng dụng.

MẫuTên tập tinNhiệm vụSuy luậnXác nhậnĐào tạoXuất khẩu
YOLOv9yolov9t yolov9s yolov9m yolov9c.pt yolov9e.ptPhát hiện đối tượng
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptPhân đoạn phiên bản

Bảng này cung cấp tổng quan chi tiết về các biến thể mô hình YOLOv9, nêu bật khả năng của chúng trong các tác vụ phát hiện đối tượng và khả năng tương thích của chúng với các chế độ hoạt động khác nhau như Suy luận, Xác thực, Đào tạoXuất. Sự hỗ trợ toàn diện này đảm bảo rằng người dùng có thể tận dụng tối đa khả năng của các mô hình YOLOv9 trong một loạt các tình huống phát hiện đối tượng.

Ghi

Việc đào tạo các mô hình YOLOv9 sẽ đòi hỏi nhiều tài nguyên hơn và mất nhiều thời gian hơn so với kích thước tương đương YOLOv8 mô hình.

Trích dẫn và xác nhận

Chúng tôi muốn ghi nhận các tác giả YOLOv9 vì những đóng góp đáng kể 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}
}

Giấy YOLOv9 gốc có thể được tìm thấy trên arXiv. Các tác giả đã công bố công khai tác phẩm của họ và cơ sở mã có thể được truy cập 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à làm cho công việc của họ có thể tiếp cận được với cộng đồng rộng lớn hơn.

FAQ

YOLOv9 giới thiệu những cải tiến nào để 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 chuyển màu có thể 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 mất thông tin trong các mạng nơ-ron sâu, đảm bảo hiệu quả, độ chính xác và khả năng thích ứng cao. PGI bảo quản dữ liệu cần thiết 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 quả tính toán. Tìm hiểu thêm về những cải tiến cốt lõi của YOLOv9 thiết lập các tiêu chuẩn mới trên bộ dữ liệu MS COCO.

YOLOv9 hoạt động như thế nào trên tập dữ liệu MS COCO so với các mô hình khác?

YOLOv9 vượt trội hơn các máy dò đối tượng 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 bộ dữ liệu COCO, các mô hình YOLOv9 thể hiện điểm mAP vượt trội trên nhiều kích cỡ khác nhau trong khi vẫn duy trì hoặc giảm chi phí tính toán. Ví dụ, YOLOv9c đạt được độ chính xác tương đương với các 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 cách nào để đào tạo mô hình YOLOv9 bằng cách sử dụng Python và CLI?

Bạn có thể đào tạo mô hình YOLOv9 bằng cả hai Python và CLI Lệnh. Cho Python, khởi tạo mô hình bằng cách sử dụng YOLO lớp học và gọi train phương pháp:

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)

Cho CLI Đào tạo, thực hiện:

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 để đào tạo và suy luận.

Ưu điểm 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 thông tin, điều này đặc biệt quan trọng đối với các mẫu nhẹ thường dễ bị mất thông tin quan trọng. Bằng cách tích hợp Thông tin chuyển màu có thể lập trình (PGI) và các chức năng đả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 khám phá phần về tác động của YOLOv9 đối với các mẫu máy nhẹ.

YOLOv9 hỗ trợ những tác vụ và chế độ nào?

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ể hiện . 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. Tính linh hoạt này giúp 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.

📅 Được tạo cách đây 8 tháng ✏️ Đã cập nhật cách đây 1 tháng

Ý kiến