Zum Inhalt springen

YOLO-NAS

Wichtiges Update

Bitte beachten Sie, dass Deci, die ursprünglichen Entwickler von YOLO-NAS, von NVIDIA übernommen wurden. Infolgedessen werden diese Modelle von Deci nicht mehr aktiv gepflegt. Ultralytics unterstützt weiterhin die Nutzung dieser Modelle, es werden jedoch keine weiteren Updates vom ursprünglichen Team erwartet.

Überblick

Entwickelt von Deci AI, ist YOLO-NAS ein bahnbrechendes Grundlagenmodell für die Objektdetektion. Es ist das Ergebnis fortschrittlicher Neural Architecture Search-Technologie, sorgfältig entwickelt, um die Einschränkungen früherer YOLO-Modelle zu beheben. Mit erheblichen Verbesserungen bei der Quantisierungsunterstützung und den Genauigkeits-Latenz-Kompromissen stellt YOLO-NAS einen großen Sprung in der Objektdetektion dar.

Beispielbild des ModellsÜbersicht über YOLO-NAS. YOLO-NAS verwendet quantisierungsbewusste Blöcke und selektive Quantisierung für optimale Leistung. Das Modell weist bei der Konvertierung in seine INT8-quantisierte Version einen minimalen Präzisionsverlust auf, was eine deutliche Verbesserung gegenüber anderen Modellen darstellt. Diese Fortschritte münden in einer überlegenen Architektur mit beispiellosen Objekterkennungsfähigkeiten und herausragender Leistung.

Hauptmerkmale

  • Quantisierungsfreundlicher Basisblock: YOLO-NAS führt einen neuen Basisblock ein, der quantisierungsfreundlich ist und damit eine der wesentlichen Einschränkungen früherer YOLO-Modelle behebt.
  • Ausgeklügeltes Training und Quantisierung: YOLO-NAS nutzt fortschrittliche Trainingsschemata und Post-Training-Quantisierung, um die Performance zu verbessern.
  • AutoNAC-Optimierung und Vortraining: YOLO-NAS nutzt die AutoNAC-Optimierung und ist auf prominenten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Dieses Vortraining macht es äußerst geeignet für nachgelagerte Objekterkennungsaufgaben in Produktionsumgebungen.

Vorab trainierte Modelle

Erleben Sie die Leistungsfähigkeit der Objekterkennung der nächsten Generation mit den vortrainierten YOLO-NAS-Modellen von Ultralytics. Diese Modelle sind darauf ausgelegt, erstklassige Leistung sowohl hinsichtlich Geschwindigkeit als auch Genauigkeit zu liefern. Wählen Sie aus einer Vielzahl von Optionen, die auf Ihre spezifischen Anforderungen zugeschnitten sind:

Performance

ModellmAPLatenz (ms)
YOLO-NAS S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

Jede Modellvariante ist darauf ausgelegt, ein Gleichgewicht zwischen Mean Average Precision (mAP) und Latenz zu bieten, wodurch Sie Ihre Objekterkennungsaufgaben sowohl hinsichtlich Leistung als auch Geschwindigkeit optimieren können.

Anwendungsbeispiele

Ultralytics hat YOLO-NAS-Modelle über unsere einfach in Ihre Python-Anwendungen integrierbar gemacht ultralytics Python-Pakets aufgenommen. Das Paket bietet eine benutzerfreundliche Python-API zur Rationalisierung des Prozesses.

Die folgenden Beispiele zeigen, wie YOLO-NAS-Modelle mit dem verwendet werden können ultralytics Paket für Inferenz und Validierung:

Beispiele für Inferenz und Validierung

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

Beispiel

Dieses Beispiel bietet einfachen Inferenz- und Validierungscode für YOLO-NAS. Zur Handhabung von Inferenz-Ergebnissen siehe Vorhersagen Modus. Für die Verwendung von YOLO-NAS mit zusätzlichen Modi siehe Validieren und ExportYOLO-NAS auf der ultralytics Paket unterstützt kein Training.

PyTorch vorab trainierte *.pt Modelldateien können an das NAS() Klasse übergeben werden, 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")

Es stehen CLI-Befehle zur Verfügung, 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 darauf ausgelegt, unterschiedliche Anforderungen an Rechenleistung und Performance zu erfüllen:

  • YOLO-NAS-s: Optimiert für Umgebungen, in denen Rechenressourcen begrenzt sind, aber Effizienz entscheidend ist.
  • YOLO-NAS-m: Bietet einen ausgewogenen Ansatz, geeignet für die allgemeine Objekterkennung mit höherer Genauigkeit.
  • YOLO-NAS-l: Zugeschnitten auf Szenarien, die höchste Genauigkeit erfordern, bei denen Rechenressourcen weniger eine Einschränkung darstellen.

Nachfolgend finden Sie eine detaillierte Übersicht über jedes Modell, einschließlich Links zu deren vortrainierten Gewichten, den unterstützten Aufgaben und deren Kompatibilität mit verschiedenen Betriebsmodi.

ModelltypVortrainierte GewichteUnterstützte AufgabenInferenzValidierungTrainingExport
YOLO-NAS-syolo_nas_s.ptObjekterkennung
YOLO-NAS-myolo_nas_m.ptObjekterkennung
YOLO-NAS-lyolo_nas_l.ptObjekterkennung

Zitate und Danksagungen

Wenn Sie YOLO-NAS in Ihrer Forschungs- oder Entwicklungsarbeit einsetzen, zitieren Sie bitte SuperGradients:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/records/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 überlegenen Objekterkennungsfähigkeiten ein entscheidendes Werkzeug für Entwickler und Forscher gleichermaßen werden wird.

FAQ

Was ist YOLO-NAS und wie verbessert es sich gegenüber früheren YOLO-Modellen?

YOLO-NAS, entwickelt von Deci AI, ist ein hochmodernes Objekterkennungsmodell, das fortschrittliche Neural Architecture Search (NAS)-Technologie nutzt. Es behebt die Einschränkungen früherer YOLO-Modelle durch die Einführung von Funktionen wie quantisierungsfreundlichen Basisblöcken und ausgeklügelten Trainingsschemata. Dies führt zu erheblichen Leistungsverbesserungen, insbesondere in Umgebungen mit begrenzten Rechenressourcen. YOLO-NAS unterstützt auch die Quantisierung und behält selbst bei der Konvertierung in seine INT8-Version eine hohe Genauigkeit bei, was seine Eignung für Produktionsumgebungen verbessert. Weitere Details finden Sie im Abschnitt Übersicht.

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

Sie können YOLO-NAS-Modelle einfach in Ihre python-Anwendung integrieren, indem Sie das ultralytics Paket. Hier ist ein einfaches Beispiel, wie man ein vortrainiertes YOLO-NAS-Modell lädt und eine Inferenz durchführt:

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 finden Sie unter Inferenz- und Validierungsbeispiele.

Welche Hauptmerkmale hat YOLO-NAS und warum sollte ich dessen Verwendung in Betracht ziehen?

YOLO-NAS führt mehrere Schlüsselmerkmale ein, die es zu einer überlegenen Wahl für Objekterkennungsaufgaben machen:

  • Quantisierungsfreundlicher Basisblock: Verbesserte Architektur, die die Modellleistung mit minimalem Präzisionsverlust nach der Quantisierung verbessert.
  • Ausgeklügeltes Training und Quantisierung: Verwendet fortschrittliche Trainingsschemata und Post-Training-Quantisierungstechniken.
  • AutoNAC-Optimierung und Vortraining: Nutzt die AutoNAC-Optimierung und ist auf prominenten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert.

Diese Funktionen tragen zu seiner hohen Genauigkeit, effizienten Leistung und Eignung für den Einsatz in Produktionsumgebungen bei. Erfahren Sie mehr im Abschnitt Hauptmerkmale.

Welche Aufgaben und Modi werden von YOLO-NAS-Modellen unterstützt?

YOLO-NAS-Modelle unterstützen verschiedene Objekterkennungsaufgaben und -modi 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 Rechenkapazitäten und Leistungsanforderungen zugeschnitten sind. Eine detaillierte Übersicht finden Sie im Abschnitt Unterstützte Aufgaben und Modi.

Sind vortrainierte YOLO-NAS-Modelle verfügbar und wie greife ich darauf zu?

Ja, Ultralytics vortrainierte YOLO, auf die Sie direkt zugreifen können. Diese Modelle wurden anhand von Datensätzen wie COCO vortrainiert und gewährleisten eine hohe Leistung sowohl in Bezug auf Geschwindigkeit als auch Genauigkeit. Sie können diese Modelle über die Links im Abschnitt „Vortrainierte Modelle ” herunterladen. Hier einige Beispiele:



📅 Vor 2 Jahren erstellt ✏️ Vor 23 Tagen aktualisiert
glenn-jocherRizwanMunawarY-T-GpderrengerLaughing-qMatthewNoyce

Kommentare