Zum Inhalt springen

YOLO-NAS

Übersicht

Developed by Deci AI, YOLO-NAS is a groundbreaking object detection foundational model. It is the product of advanced Neural Architecture Search technology, meticulously designed to address the limitations of previous YOLO models. With significant improvements in quantization support and accuracy-latency trade-offs, YOLO-NAS represents a major leap in object detection.

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:

ModellmAPLatenzzeit (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

Each model variant is designed to offer a balance between Mean Average Precision (mAP) and latency, helping you optimize your object detection tasks for both performance and speed.

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 pretrained *.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: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy.
  • 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 TypVortrainierte GewichteUnterstützte AufgabenInferenzValidierungAusbildungexportieren
YOLO-NAS-syolo_nas_s.ptObjekt-Erkennung
YOLO-NAS-myolo_nas_m.ptObjekt-Erkennung
YOLO-NAS-lyolo_nas_l.ptObjekt-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},
}

We express our gratitude to Deci AI's SuperGradients team for their efforts in creating and maintaining this valuable resource for the computer vision community. We believe YOLO-NAS, with its innovative architecture and superior object detection capabilities, will become a critical tool for developers and researchers alike.

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:

  • Quantization-Friendly Basic Block: Enhanced architecture that improves model performance with minimal precision drop post quantization.
  • Anspruchsvolles Training und Quantisierung: Verwendet fortschrittliche Trainingsverfahren und Quantisierungstechniken nach dem Training.
  • AutoNAC Optimization and Pre-training: Utilizes AutoNAC optimization and is pre-trained on prominent datasets like COCO, Objects365, and Roboflow 100. These features contribute to its high accuracy, efficient performance, and suitability for deployment in production environments. Learn more in the Key Features section.

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:

📅 Created 11 months ago ✏️ Updated 29 days ago

Kommentare