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.

FAQ

Was ist YOLO-NAS und wie verbessert es sich im Vergleich zu fr├╝heren YOLO Modellen?

YOLO-NAS, entwickelt von Deci AI, ist ein hochmodernes Modell zur Objekterkennung, das die fortschrittliche Neural Architecture Search (NAS) Technologie nutzt. Durch die Einf├╝hrung von quantisierungsfreundlichen Basisbl├Âcken und ausgefeilten Trainingsverfahren ├╝berwindet es die Einschr├Ąnkungen fr├╝herer YOLO Modelle. Dies f├╝hrt zu erheblichen Leistungssteigerungen, insbesondere in Umgebungen mit begrenzten Rechenressourcen. YOLO-NAS unterst├╝tzt auch die Quantisierung und beh├Ąlt seine hohe Genauigkeit bei, selbst wenn es in die INT8-Version umgewandelt wird, was seine Eignung f├╝r Produktionsumgebungen erh├Âht. Weitere Informationen findest du im Abschnitt ├ťbersicht.

Wie kann ich YOLO-NAS-Modelle in meine Python Anwendung integrieren?

Du kannst YOLO-NAS-Modelle ganz einfach in deine Python Anwendung integrieren, indem du die ultralytics Paket. Hier ist ein einfaches Beispiel, wie du ein vortrainiertes YOLO-NAS-Modell l├Ądst und Inferenzen durchf├╝hrst:

from ultralytics import NAS

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

# 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")

Weitere Informationen findest du in den Beispielen f├╝r Schlussfolgerungen und Validierung.

Was sind die wichtigsten Funktionen von YOLO-NAS und warum sollte ich es nutzen?

YOLO-NAS f├╝hrt mehrere wichtige Funktionen ein, die es zu einer ├╝berlegenen Wahl f├╝r Objekterkennungsaufgaben machen:

  • Quantisierungsfreundlicher Basisblock: Verbesserte Architektur, die die Modellleistung bei minimalem Pr├Ązisionsverlust nach der Quantisierung verbessert.
  • Anspruchsvolles Training und Quantisierung: Verwendet fortschrittliche Trainingsverfahren und Quantisierungstechniken nach dem Training.
  • AutoNAC-Optimierung und Pre-Training: Verwendet die AutoNAC-Optimierung und ist auf bekannten Datens├Ątzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Diese Merkmale tragen zu seiner hohen Genauigkeit, effizienten Leistung und Eignung f├╝r den Einsatz in Produktionsumgebungen bei. Weitere Informationen findest du im Abschnitt Hauptmerkmale.

Welche Aufgaben und Modi werden von den YOLO-NAS-Modellen unterst├╝tzt?

YOLO-NAS-Modelle unterst├╝tzen verschiedene Aufgaben und Modi der Objekterkennung wie Inferenz, Validierung und Export. Sie unterst├╝tzen kein Training. Zu den unterst├╝tzten Modellen geh├Âren YOLO-NAS-s, YOLO-NAS-m und YOLO-NAS-l, die jeweils auf unterschiedliche Rechnerkapazit├Ąten und Leistungsanforderungen zugeschnitten sind. Eine detaillierte ├ťbersicht findest du im Abschnitt Unterst├╝tzte Aufgaben und Modi.

Gibt es bereits trainierte YOLO-NAS-Modelle und wie kann ich darauf zugreifen?

Ja, Ultralytics bietet bereits trainierte YOLO-NAS-Modelle, auf die du direkt zugreifen kannst. Diese Modelle wurden mit Datens├Ątzen wie COCO trainiert, um eine hohe Leistung in Bezug auf Geschwindigkeit und Genauigkeit zu gew├Ąhrleisten. Du kannst diese Modelle ├╝ber die Links im Abschnitt Pre-trained Models herunterladen. Hier sind einige Beispiele:



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

Kommentare