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

YOLO-NAS

Tổng quan

Phát triển bởi Deci AI, YOLO-NAS là một mô hình nền tảng phát hiện đối tượng đột phá. Nó là sản phẩm của công nghệ Tìm kiếm Kiến trúc Thần kinh tiên tiến, được thiết kế tỉ mỉ để giải quyết những hạn chế của trước đây YOLO Mô hình. Với những cải tiến đáng kể trong hỗ trợ lượng tử hóa và đánh đổi độ chính xác-độ trễ, YOLONAS đại diện cho một bước nhảy vọt lớn trong việc phát hiện đối tượng.

Hình ảnh ví dụ về mô hình Tổng quan về YOLO-NAS. YOLO-NAS sử dụng các khối nhận biết lượng tử hóa và lượng tử hóa chọn lọc để có hiệu suất tối ưu. Mô hình, khi được chuyển đổi sang phiên bản lượng tử hóa INT8, trải qua sự sụt giảm độ chính xác tối thiểu, một cải tiến đáng kể so với các mô hình khác. Những tiến bộ này lên đến đỉnh điểm trong một kiến trúc vượt trội với khả năng phát hiện đối tượng chưa từng có và hiệu suất vượt trội.

Các tính năng chính

  • Khối cơ bản thân thiện với lượng tử hóa: YOLO-NAS giới thiệu một khối cơ bản mới thân thiện với lượng tử hóa, giải quyết một trong những hạn chế đáng kể của trước đây YOLO Mô hình.
  • Đào tạo và lượng tử hóa tinh vi: YOLO-NAS tận dụng các chương trình đào tạo tiên tiến và lượng tử hóa sau đào tạo để nâng cao hiệu suất.
  • Tối ưu hóa AutoNAC và đào tạo trước: YOLO-NAS sử dụng tối ưu hóa AutoNAC và được đào tạo trước trên các bộ dữ liệu nổi bật như COCO, Objects365 và Roboflow 100. Việc đào tạo trước này làm cho nó cực kỳ phù hợp cho các nhiệm vụ phát hiện đối tượng xuôi dòng trong môi trường sản xuất.

Mô hình được đào tạo trước

Trải nghiệm sức mạnh của tính năng phát hiện đối tượng thế hệ tiếp theo với tính năng được đào tạo trước YOLO-Mô hình NAS được cung cấp bởi Ultralytics. Các mô hình này được thiết kế để mang lại hiệu suất hàng đầu về cả tốc độ và độ chính xác. Chọn từ nhiều tùy chọn phù hợp với nhu cầu cụ thể của bạn:

Mẫu bản đồ Độ trễ (ms)
YOLO-NAS S 47.5 3.21
YOLO-NAS M 51.55 5.85
YOLO-NAS L 52.22 7.87
YOLO-NAS S INT-8 47.03 2.36
YOLO-NAS M INT-8 51.0 3.78
YOLO-NAS L INT-8 52.1 4.78

Mỗi biến thể mô hình được thiết kế để cung cấp sự cân bằng giữa Độ chính xác trung bình trung bình (mAP) và độ trễ, giúp bạn tối ưu hóa các tác vụ phát hiện đối tượng của mình cho cả hiệu suất và tốc độ.

Ví dụ sử dụng

Ultralytics đã thực hiện YOLO-Mô hình NAS dễ dàng tích hợp vào Python Các ứng dụng thông qua ultralytics python gói. Gói này cung cấp một thân thiện với người dùng Python API để hợp lý hóa quy trình.

Các ví dụ sau đây cho thấy cách sử dụng YOLO-Mô hình NAS với ultralytics Gói để suy luận và xác nhận:

Ví dụ về suy luận và xác thực

Trong ví dụ này, chúng tôi xác thực YOLO-NAS-s trên tập dữ liệu COCO8.

Ví dụ

Ví dụ này cung cấp mã suy luận và xác thực đơn giản cho YOLO-NAS. Để xử lý kết quả suy luận, hãy xem Dự đoán chế độ. Để sử dụng YOLO-NAS với các chế độ bổ sung xem ValXuất khẩu. YOLO-NAS trên ultralytics Gói không hỗ trợ đào tạo.

PyTorch được đào tạo trước *.pt Các tệp mô hình có thể được chuyển đến NAS() lớp để tạo một thể hiện mô hình trong python:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Display model information (optional)
model.info()

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s 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:

# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml

# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg

Các tác vụ và chế độ được hỗ trợ

Chúng tôi cung cấp ba biến thể của YOLO-Mô hình NAS: Nhỏ (s), Trung bình (m) và Lớn (l). Mỗi biến thể được thiết kế để phục vụ cho các nhu cầu tính toán và hiệu suất khác nhau:

  • YOLONAS-s: Tối ưu hóa cho các môi trường nơi tài nguyên tính toán bị hạn chế nhưng hiệu quả là chìa khóa.
  • YOLO-NAS-m: Cung cấp một cách tiếp cận cân bằng, phù hợp để phát hiện đối tượng đa năng với độ chính xác cao hơn.
  • YOLONAS-l: Được thiết kế riêng cho các tình huống yêu cầu độ chính xác cao nhất, trong đó tài nguyên tính toán ít bị ràng buộc hơn.

Dưới đây là tổng quan chi tiết về từng kiểu máy, bao gồm các liên kết đến trọng lượng được đào tạo trước, các tác vụ chúng hỗ trợ và khả năng tương thích với các chế độ hoạt động khác nhau.

Loại mô hình Trọng lượng được đào tạo trước Các tác vụ được hỗ trợ Suy luận Xác nhận Đào tạo Xuất khẩu
YOLO-NAS-s yolo_nas_s.pt Phát hiện đối tượng
YOLO-NAS-m yolo_nas_m.pt Phát hiện đối tượng
YOLO-NAS-l yolo_nas_l.pt Phát hiện đối tượng

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

Nếu bạn tuyển dụng YOLO-NAS trong công việc nghiên cứu hoặc phát triển của bạn, vui lòng trích dẫn SuperGradients:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/record/7789328},
      author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
      title = {Super-Gradients},
      publisher = {GitHub},
      journal = {GitHub repository},
      year = {2021},
}

Chúng tôi bày tỏ lòng biết ơn đối với Deci AINhóm SuperGradients của họ vì những nỗ lực của họ trong việc tạo ra và duy trì nguồn tài nguyên quý giá này cho cộng đồng thị giác máy tính. Chúng tôi tin rằng YOLONAS, với kiến trúc sáng tạo và khả năng phát hiện đối tượng vượt trội, sẽ trở thành một công cụ quan trọng cho các nhà phát triển và nhà nghiên cứu.

Từ khoá: YOLO-NAS Deci AI, phát hiện đối tượng, học sâu, tìm kiếm kiến trúc thần kinh, Ultralytics Python API YOLO mô hình, SuperGradients, mô hình được đào tạo trước, khối cơ bản thân thiện với lượng tử hóa, chương trình đào tạo nâng cao, lượng tử hóa sau đào tạo, tối ưu hóa AutoNAC, COCO, Objects365, Roboflow 100



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (11)

Ý kiến