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

YOLOv9: Bước nhảy vọt 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.

So sánh hiệu suất YOLOv9

Giới thiệu về YOLOv9

Trong nhiệm vụ phát hiện đối tượng 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 để vượt qua những thách thức mất thông tin vốn có trong các 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 năng lực học tập 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 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 làm 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 các kiến trúc học sâu, 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 chức năng đả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 đế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

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

Hiệu suất của YOLOv9 trên bộ 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 thời gian thực, thiết lập các tiêu chuẩn mới trên các 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 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

Khi nào các cân mô hình khác sẽ có sẵn?

Mặc dù tất cả các số liệu được hiển thị cho các thang đo mô hình khác nhau trong bảng dưới đây, chỉ Các cấu hình cho YOLOv9cYOLOv9e đã được công bố. Các Ultralytics Nhóm sẽ làm việc nhanh chóng để thêm các cấu hình khác khi chúng có sẵn, vì vậy hãy nhớ kiểm tra lại ở đây thường xuyên để cập nhật.

Hiệu năng

Mẫu kích thước
(điểm ảnh)
bản đồVal
50-95
bản đồVal
50
Params
(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ẫu kích thước
(điểm ảnh)
bản đồhộp
50-95
bản đồmặt nạ
50-95
Params
(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

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 sự cải thiệ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 (FLOP) giảm. Bảng này nhấn mạnh khả năng của YOLOv9 trong việc cung cấp độ chính xác cao 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 mức cải thiện AP tăng 1,7%.

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 nhiệm vụ phát hiện đối tượng thời gian thực. Mô hình này không chỉ đẩy 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 quả tính toán, làm cho nó trở thành một sự phát triển quan trọng 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ẫu Tên tập tin Nhiệm vụ Suy luận Xác nhận Đào tạo Xuất khẩu
YOLOv9 yolov9c.pt yolov9e.pt Phát hiện đối tượng
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Phâ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.



Đã tạo 2024-02-26, Cập nhật 2024-04-17
Tác giả: glenn-jocher (4), Burhan-Q (2), Laughing-q (1)

Ý kiến