Zum Inhalt springen

YOLO-NAS

Übersicht

Das von Deci AI entwickelte YOLO-NAS ist ein bahnbrechendes Grundmodell für die Objekterkennung. Es ist das Produkt der fortschrittlichen Neural Architecture Search Technologie, die sorgfältig entwickelt wurde, um die Grenzen der bisherigen YOLO Modelle zu überwinden. Mit erheblichen Verbesserungen bei der Quantisierungsunterstützung und dem Kompromiss zwischen Genauigkeit und Latenz stellt YOLO-NAS einen großen Sprung in der Objekterkennung dar.

Modell Beispielbild Überblick über YOLO-NAS. YOLO-NAS verwendet quantisierungssensitive Blöcke und selektive Quantisierung für optimale Leistung. Die Umwandlung des Modells in die INT8-quantisierte Version führt zu einem minimalen Präzisionsabfall, was eine erhebliche Verbesserung gegenüber anderen Modellen darstellt. Diese Fortschritte führen zu einer überlegenen Architektur mit beispiellosen Objekterkennungsfähigkeiten und herausragender Leistung.

Hauptmerkmale

  • Quantisierungsfreundlicher Basisblock: YOLO-NAS führt einen neuen quantisierungsfreundlichen Basisblock ein, der eine der wesentlichen Einschränkungen der bisherigen YOLO Modelle beseitigt.
  • Anspruchsvolles Training und Quantisierung: YOLO-NAS nutzt fortschrittliche Trainingsverfahren und Quantisierung nach dem Training, um die Leistung zu verbessern.
  • AutoNAC-Optimierung und Pre-Training: YOLO-NAS nutzt die AutoNAC-Optimierung und ist auf bekannten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Durch dieses Vortraining eignet es sich hervorragend für nachgelagerte Aufgaben der Objekterkennung in Produktionsumgebungen.

Vorgefertigte Modelle

Erlebe die Leistung der Objekterkennung der nächsten Generation mit den vortrainierten YOLO-NAS-Modellen von Ultralytics. Diese Modelle sind so konzipiert, dass sie sowohl in Bezug auf die Geschwindigkeit als auch auf die Genauigkeit eine erstklassige Leistung erbringen. Wähle aus einer Vielzahl von Optionen, die auf deine speziellen Bedürfnisse zugeschnitten sind:

Modell mAP Latenzzeit (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

Jede Modellvariante ist so konzipiert, dass sie ein ausgewogenes Verhältnis zwischen mittlerer durchschnittlicher Genauigkeit (mAP) und Latenzzeit bietet, damit du deine Objekterkennungsaufgaben sowohl hinsichtlich der Leistung als auch der Geschwindigkeit optimieren kannst.

Verwendungsbeispiele

Ultralytics Die YOLO-NAS-Modelle lassen sich über unsere Python einfach in Ihre Anwendungen integrieren. ultralytics python Paket. Das Paket bietet eine benutzerfreundliche Python API, um den Prozess zu vereinfachen.

Die folgenden Beispiele zeigen, wie man YOLO-NAS-Modelle mit dem ultralytics Paket für Inferenz und Validierung:

Beispiele für Schlussfolgerungen und Validierung

In diesem Beispiel validieren wir YOLO-NAS-s mit dem COCO8-Datensatz.

Beispiel

Dieses Beispiel enthält einfachen Inferenz- und Validierungscode für YOLO-NAS. Für den Umgang mit Inferenzergebnissen siehe Vorhersage Modus. Für die Verwendung von YOLO-NAS mit zusätzlichen Modi siehe Val und exportieren. YOLO-NAS auf dem ultralytics Paket unterstützt keine Ausbildung.

PyTorch vorgebildet *.pt Modelldateien können an die NAS() Klasse, um eine Modellinstanz in python zu erstellen:

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 Befehle sind verfügbar, um die Modelle direkt auszuführen:

# 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

Unterstützte Aufgaben und Modi

Wir bieten drei Varianten der YOLO-NAS-Modelle an: Small (s), Medium (m) und Large (l). Jede Variante ist für unterschiedliche Rechen- und Leistungsanforderungen ausgelegt:

  • YOLO-NAS-s: Optimiert für Umgebungen, in denen die Rechenressourcen begrenzt sind, die Effizienz aber entscheidend ist.
  • YOLO-NAS-m: Bietet einen ausgewogenen Ansatz, der sich für die allgemeine Objekterkennung mit höherer Genauigkeit eignet.
  • YOLO-NAS-l: Maßgeschneidert für Szenarien, die höchste Genauigkeit erfordern und bei denen die Rechenressourcen weniger stark eingeschränkt sind.

Im Folgenden findest du einen detaillierten Überblick über jedes Modell, einschließlich Links zu den vortrainierten Gewichten, den Aufgaben, die sie unterstützen, und ihrer Kompatibilität mit verschiedenen Betriebsarten.

Modell Typ Vortrainierte Gewichte Unterstützte Aufgaben Inferenz Validierung Ausbildung exportieren
YOLO-NAS-s yolo_nas_s.pt Objekt-Erkennung
YOLO-NAS-m yolo_nas_m.pt Objekt-Erkennung
YOLO-NAS-l yolo_nas_l.pt Objekt-Erkennung

Zitate und Danksagungen

Wenn du YOLO-NAS in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte 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},
}

Wir danken dem SuperGradients-Team von Deci AI für seine Bemühungen bei der Erstellung und Pflege dieser wertvollen Ressource für die Computer Vision Community. Wir sind davon überzeugt, dass YOLO-NAS mit seiner innovativen Architektur und seinen überlegenen Objekterkennungsfähigkeiten zu einem wichtigen Werkzeug für Entwickler und Forscher gleichermaßen werden wird.

Schlüsselwörter: YOLO-NAS, Deci AI, Objekterkennung, Deep Learning, neuronale Architektursuche, Ultralytics Python API, YOLO Modell, SuperGradienten, vortrainierte Modelle, quantisierungsfreundlicher Basisblock, erweiterte Trainingsschemata, Quantisierung nach dem Training, AutoNAC-Optimierung, COCO, Objects365, Roboflow 100



Erstellt am 2023-11-12, Aktualisiert am 2024-04-17
Autoren: glenn-jocher (8)

Kommentare