Ultralytics YOLO27:
Get Started

YOLO-NAS#

Wichtiges Update

Bitte beachte, dass Deci, die ursprünglichen Entwickler von YOLO-NAS, von NVIDIA übernommen wurden. Daher werden diese Modelle von Deci nicht mehr aktiv gepflegt. Ultralytics unterstützt die Verwendung dieser Modelle weiterhin, aber vom ursprünglichen Team sind keine weiteren Updates zu erwarten.

Übersicht#

YOLO-NAS wurde von Deci AI entwickelt und ist ein bahnbrechendes Basismodell für die Objekterkennung. Es basiert auf fortschrittlicher Technologie zur Suche nach neuronalen Architekturen und wurde sorgfältig konzipiert, um die Einschränkungen früherer YOLO-Modelle zu beheben. Mit erheblichen Verbesserungen bei der Quantisierungsunterstützung und dem Verhältnis zwischen Genauigkeit und Latenz stellt YOLO-NAS einen großen Fortschritt bei der Objekterkennung dar.

Genauigkeitsvergleich von YOLO-NAS-Modellen auf dem COCO-Benchmark Überblick über YOLO-NAS. YOLO-NAS verwendet quantisierungsbewusste Blöcke und selektive Quantisierung für eine optimale Leistung. Bei der Umwandlung in die quantisierte INT8-Version ist der Präzisionsverlust des Modells minimal – eine deutliche Verbesserung gegenüber anderen Modellen. Diese Fortschritte ergeben zusammen eine überlegene Architektur mit beispiellosen Fähigkeiten zur Objekterkennung und herausragender Leistung.

Wichtige Funktionen#

  • Quantisierungsfreundlicher Basisblock: YOLO-NAS führt einen neuen, quantisierungsfreundlichen Basisblock ein und behebt damit eine der wesentlichen Einschränkungen früherer YOLO-Modelle.
  • Anspruchsvolles Training und Quantisierung: YOLO-NAS nutzt fortschrittliche Trainingsverfahren und Quantisierung nach dem Training, um die Leistung zu steigern.
  • AutoNAC-Optimierung und Vortraining: YOLO-NAS nutzt die AutoNAC-Optimierung und wurde auf wichtigen Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Durch dieses Vortraining eignet sich das Modell besonders gut für nachgelagerte Aufgaben der Objekterkennung in Produktionsumgebungen.

Vortrainierte Modelle#

Nutze die Leistungsfähigkeit der Objekterkennung der nächsten Generation mit den von Ultralytics bereitgestellten vortrainierten YOLO-NAS-Modellen. Diese Modelle bieten erstklassige Leistung in Bezug auf Geschwindigkeit und Genauigkeit. Wähle aus verschiedenen Varianten die passende für deine Anforderungen:

Leistung
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 bietet ein ausgewogenes Verhältnis zwischen mittlerer durchschnittlicher Präzision (mAP) und Latenz und hilft dir, deine Aufgaben zur Objekterkennung sowohl hinsichtlich der Leistung als auch der Geschwindigkeit zu optimieren.

Anwendungsbeispiele#

Ultralytics erleichtert die Integration von YOLO-NAS-Modellen in deine Python-Anwendungen mit unserem Python-Paket ultralytics. Das Paket bietet eine benutzerfreundliche Python-API, die den Prozess vereinfacht.

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

Beispiele für Inferenz und Validierung#

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

Beispiel

Dieses Beispiel enthält einfachen Code für Inferenz und Validierung mit YOLO-NAS. Informationen zur Verarbeitung von Inferenzergebnissen findest du im Modus Predict. Weitere Modi für YOLO-NAS findest du unter Val und Export. YOLO-NAS unterstützt im Paket ultralytics kein Training.

Vortrainierte *.pt-Modelldateien für PyTorch können an die Klasse NAS() übergeben werden, um in Python eine Modellinstanz zu erstellen:

from ultralytics import NAS

# Lade ein auf COCO vortrainiertes YOLO-NAS-s-Modell
model = NAS("yolo_nas_s.pt")

# Modellinformationen anzeigen (optional)
model.info()

# Validiere das Modell anhand des COCO8-Beispieldatensatzes
results = model.val(data="coco8.yaml")

# Führe mit dem YOLO-NAS-s-Modell eine Inferenz auf dem Bild 'bus.jpg' aus
results = model("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 auf unterschiedliche Anforderungen an Rechenleistung und Leistung ausgelegt:

  • YOLO-NAS-s: Optimiert für Umgebungen mit begrenzten Rechenressourcen, in denen Effizienz entscheidend ist.
  • YOLO-NAS-m: Bietet einen ausgewogenen Ansatz und eignet sich für die allgemeine Objekterkennung mit höherer Genauigkeit.
  • YOLO-NAS-l: Ausgelegt für Szenarien, in denen höchste Genauigkeit erforderlich ist und Rechenressourcen eine geringere Einschränkung darstellen.

Im Folgenden findest du einen ausführlichen Überblick über jedes Modell, einschließlich Links zu den vortrainierten Gewichten, den unterstützten Aufgaben und der Kompatibilität mit verschiedenen Betriebsmodi.

ModelltypVortrainierte GewichteUnterstützte AufgabenTrainingValidierungInferenzExportieren
YOLO-NAS-syolo_nas_s.ptObjekterkennung❌✅✅✅
YOLO-NAS-myolo_nas_m.ptObjekterkennung❌✅✅✅
YOLO-NAS-lyolo_nas_l.ptObjekterkennung❌✅✅✅

Zitate und Danksagungen#

Wenn du YOLO-NAS in deiner Forschungs- oder Entwicklungsarbeit einsetzt, zitiere bitte SuperGradients:

Zitat
@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 Team von SuperGradients von Deci AI für seine Arbeit an der Entwicklung und Pflege dieser wertvollen Ressource für die Computer-Vision-Community. Wir sind überzeugt, dass YOLO-NAS mit seiner innovativen Architektur und seinen herausragenden Fähigkeiten zur Objekterkennung zu einem wichtigen Werkzeug für Entwickler und Forschende wird.

Häufig gestellte Fragen#

  • YOLO-NAS wurde von Deci AI entwickelt und ist ein hochmodernes Objekterkennungsmodell, das fortschrittliche Technologie zur Suche nach neuronalen Architekturen (NAS) nutzt. Es behebt die Einschränkungen früherer YOLO-Modelle durch Merkmale wie quantisierungsfreundliche Basisblöcke und anspruchsvolle Trainingsverfahren. Dadurch verbessert sich die Leistung deutlich, insbesondere in Umgebungen mit begrenzten Rechenressourcen. YOLO-NAS unterstützt außerdem Quantisierung und behält auch nach der Umwandlung in die INT8-Version eine hohe Genauigkeit bei, wodurch es sich noch besser für Produktionsumgebungen eignet. Weitere Informationen findest du im Abschnitt Überblick.

  • Mit dem Paket ultralytics kannst du YOLO-NAS-Modelle ganz einfach in deine Python-Anwendung integrieren. Hier ist ein einfaches Beispiel, das zeigt, wie du ein vortrainiertes YOLO-NAS-Modell lädst und eine Inferenz ausführst:

    from ultralytics import NAS
    
    # Lade ein auf COCO vortrainiertes YOLO-NAS-s-Modell
    model = NAS("yolo_nas_s.pt")
    
    # Validiere das Modell anhand des COCO8-Beispieldatensatzes
    results = model.val(data="coco8.yaml")
    
    # Führe mit dem YOLO-NAS-s-Modell eine Inferenz auf dem Bild 'bus.jpg' aus
    results = model("path/to/bus.jpg")

    Weitere Informationen findest du unter Beispiele für Inferenz und Validierung.

  • YOLO-NAS bietet mehrere wichtige Merkmale, die es zu einer überlegenen Wahl für Aufgaben der Objekterkennung machen:

    • Quantisierungsfreundlicher Basisblock: Eine verbesserte Architektur, die die Modellleistung steigert und den Verlust an Präzision nach der Quantisierung minimiert.
    • Anspruchsvolles Training und Quantisierung: Verwendet fortschrittliche Trainingsverfahren und Quantisierungstechniken nach dem Training.
    • AutoNAC-Optimierung und Vortraining: Nutzt die AutoNAC-Optimierung und wurde auf wichtigen Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert.

    Diese Merkmale tragen zu hoher Genauigkeit, effizienter Leistung und Eignung für den Einsatz in Produktionsumgebungen bei. Weitere Informationen findest du im Abschnitt Hauptmerkmale.

  • YOLO-NAS-Modelle unterstützen verschiedene Objekterkennungsaufgaben und -modi wie Inferenz, Validierung und Export. Training wird nicht unterstützt. 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 ausführliche Übersicht findest du im Abschnitt Unterstützte Aufgaben und Modi.

  • Ja, Ultralytics stellt vortrainierte YOLO-NAS-Modelle bereit, auf die du direkt zugreifen kannst. Diese Modelle wurden auf Datensätzen wie COCO vortrainiert und bieten dadurch eine hohe Geschwindigkeit und Genauigkeit. Du kannst die Modelle über die Links im Abschnitt Vortrainierte Modelle herunterladen. Hier sind einige Beispiele:

Kommentare