YOLO-NAS ist das Spitzenmodell der Objekterkennungsmodelle der YOLO-Serie. Aber warum gilt es als das Beste?

Nach YOLOv8 gibt es noch ein neues und besseres Objekterkennungsmodell auf dem neuesten Stand der Technik: YOLO-NAS. Dabei handelt es sich um einen Objekterkennungsalgorithmus, der von Deci AI entwickelt wurde, um die Einschränkungen der vorherigen YOLO-Modelle (You Only Look Once) zu überwinden.

Das Modell basiert auf AutoNAC, einer Suchmaschine für neuronale Architektur. Es übertrifft die Geschwindigkeit und Leistung von SOTA-Modellen, was einen großen Sprung in der Objekterkennung darstellt, indem es die Kompromisse zwischen Genauigkeit, Latenz und Quantisierungsunterstützung verbessert.

In diesem Artikel werden die Stärken und Funktionen von YOLO-NAS erläutert und untersucht, warum es das beste Objekterkennungsmodell in der YOLO-Serie ist.

Verstehen, wie YOLO-NAS funktioniert

Decis AutoNAC (Automated Neural Architecture Construction) generiert die Architektur von YOLO-NAS. AutoNAC ist ein nahtloser Prozess, der eine Leistungssteigerung für bestehende tiefe neuronale Netze bietet.

Die AutoNAC-Pipeline verwendet ein vom Benutzer trainiertes tiefes neuronales Netzwerk als Eingabe, Datensatz und Zugriff auf ein Inferenzsystem. Das vom Benutzer trainierte tiefe neuronale Netzwerk wird dann mithilfe der Pipeline neu gestaltet. Dadurch wird eine optimierte Architektur mit geringerer Latenz erreicht, ohne dass die Genauigkeit beeinträchtigt wird.

YOLO-NAS verwendet RepVGG. RepVGG stellt es für die Optimierung nach dem Training durch Neuparametrisierung oder Quantisierung nach dem Training zur Verfügung. Es handelt sich um eine Art neuronale Netzwerkarchitektur, die auf VGG basiert. Es verwendet Regularisierungstechniken, die darauf ausgelegt sind, die Generalisierungsfähigkeit von Deep-Learning-Modellen zu verbessern.

Das Design der Architektur ist hinsichtlich Geschwindigkeit und Speicher effizienter. RepVGG wird mithilfe einer Multi-Branch-Architektur trainiert, um eine schnellere Inferenz zu erzielen. Anschließend wird es durch Neuparametrisierung in einen einzelnen Zweig umgewandelt.

Diese Funktion macht YOLO-NAS sehr nützlich für den Produktionseinsatz. Dies liegt daran, dass es möglich ist, das Modell mit absoluter Präzision hinsichtlich Inferenzgeschwindigkeit und Speichernutzung zu trainieren und zu optimieren.

Hauptmerkmale von YOLO-NAS

Zu den Hauptfunktionen von YOLO-NAS gehören die folgenden:

  • Quantisierungsbewusstes Training: Das Modell verwendet QSP und QCI (quantisierungsbewusste Module), um den Genauigkeitsverlust während der Quantisierung nach dem Training zu reduzieren, indem die Neuparametrisierung der 8-Bit-Quantisierung kombiniert wird.
  • Automatisches Architekturdesign: AutoNAC, Decis proprietäre NAS-Technologie, sucht nach einer optimalen Modellarchitektur, die die grundlegenden YOLO-Modellarchitekturen integriert, um ein optimiertes Modell zu erstellen.
  • Hybride Quantisierungstechnik: Die Standardquantisierungsmethode wirkt sich auf das gesamte Modell aus. Im Gegensatz dazu quantisiert die Hybridquantisierungstechnik einen Abschnitt eines Modells, um die Latenz und Genauigkeit des Modells auszugleichen.
  • Verwenden Sie einzigartige Ansätze, um das Modell mithilfe automatisch gekennzeichneter Daten für das Training vorzubereiten. Das Modell lernt dann aus seinen Vorhersagen und greift auf große Datenmengen zu.

Vergleichsanalyse: YOLO-NAS im Vergleich zu anderen YOLO-Modellen

Nachfolgend finden Sie einen Vergleich zwischen verschiedenen Modellen der YOLO-Serie.

YOLO-NAS ist besser als bereits existierende Objekterkennungsmodelle, hat aber auch Nachteile. Hier ist eine Liste der Vor- und Nachteile von YOLO-NAS:

Vorteile

  • Es ist Open Source.
  • Es ist 10–20 % schneller als die bereits vorhandenen YOLO-Modelle.
  • Es ist genauer als die bereits vorhandenen YOLO-Modelle.
  • Es verwendet eine bessere Architektur, AutoNAC. Dies stellt einen neuen Rekord bei der Objekterkennung auf und bietet die beste Kompromissleistung bei Genauigkeit und Latenz.
  • Nahtlose Unterstützung für Inferenz-Engines wie NVIDIA. Diese Funktion macht es zu einem serienreifen Modell.
  • Es verfügt über eine bessere Speichereffizienz und höhere Inferenzgeschwindigkeiten.

Nachteile

  • Es ist noch nicht stabil, da die Technologie noch neu ist und noch nicht in großem Umfang in der Produktion eingesetzt wird.

Implementierung von YOLO-NAS

Du wirst benutzen Google Colab um die Codes in dieser Implementierung zu schreiben und auszuführen. Eine Alternative für Google Colab wäre Erstellen Sie eine virtuelle Umgebung Und Verwenden Sie eine IDE auf Ihrem lokalen Computer.

Das Modell ist sehr ressourcenintensiv. Stellen Sie sicher, dass Sie über mindestens 8 GB RAM verfügen, bevor Sie es auf Ihrem Computer ausführen. Je größer das Video, desto mehr Speicher wird benötigt.

Abhängigkeiten installieren

Installieren Sie die YOLO-NAS-Abhängigkeit. Super-Verläufe mit dem folgenden Befehl:

pip install super-gradients==3.1.2

Nach erfolgreicher Installation können Sie nun das YOLO-NAS-Modell trainieren.

Modelltraining

Um das Modell zu trainieren, führen Sie den folgenden Codeblock aus:

aus super_gradients.training importieren Modelle
yolo_nas_l = models.get(„yolo_nas_l“, pretrained_weights=„Kokos“)

In diesem Code importieren Sie das Trainingsmodell aus der installierten SuperGradients-Bibliothek. Anschließend verwenden Sie die vorab trainierten Modellgewichte aus dem COCO-Datensatz.

Modellinferenz

Die Modellinferenz bietet potenzielle Anwendungen für Bilderkennungs-, Klassifizierungs- und Segmentierungsaufgaben.

In diesem Fall konzentrieren Sie sich auf das Objekterkennungsaufgabe für Videos und Bilder. Um ein Objekt in einem Bild zu erkennen, führen Sie den folgenden Codeblock aus:

URL = „img_path“
yolo_nas_l.predict (url, conf=0.25).zeigen()

Stellen Sie sicher, dass Sie den korrekten Pfad zu Ihrem Bild verwenden. Laden Sie in diesem Fall das Bild in die Google Colab-Umgebung hoch und kopieren Sie dann den Pfad des Bildes.

Erwartete Ausgabe:

Um Objekte in einem Video zu erkennen, führen Sie den folgenden Codeblock aus:

importieren Fackel

input_video_path = „path_to_video“
Output_video_path = „erkannt.mp4“
Gerät = 'Cuda'Wenn Torch.cuda.is_available() anders"Zentralprozessor"
yolo_nas_l.to (device).predict (input_video_path).save (output_video_path)

Laden Sie wie die Bilddaten das Video, dessen Objekte erkannt werden sollen, in die Google Colab-Umgebung hoch und kopieren Sie den Pfad zur Videovariablen. Auf das vorhergesagte Video kann über den Namen in der Google Colab-Umgebung zugegriffen werden erkannt.mp4. Laden Sie das Video auf Ihren lokalen Computer herunter, bevor Sie Ihre Sitzung beenden.

Erwartete Ausgabe:

YOLO-NAS unterstützt auch die Feinabstimmung von Modellen und das Training anhand benutzerdefinierter Daten. Die Dokumentation ist verfügbar unter Decis Feinabstimmung des Starter-Notebooks.

Reale Anwendungen von YOLO-NAS

Der Quellcode von YOLO-NAS ist unter der Apache-Lizenz 2.0 zugänglich, die für die nichtkommerzielle Nutzung zugänglich ist. Für den kommerziellen Einsatz sollte das Modell von Grund auf neu trainiert werden, um benutzerdefinierte Gewichte zu erhalten.

Es handelt sich um ein vielseitiges Modell, dessen Anwendung in mehreren Bereichen möglich ist, wie zum Beispiel:

Autonome Fahrzeuge und Robotik

YOLO-NAS kann die Wahrnehmungsfähigkeit autonomer Fahrzeuge verbessern und es ihnen ermöglichen, Objekte schneller und genauer in Echtzeit zu erkennen und zu verfolgen. Diese Fähigkeit trägt dazu bei, die Verkehrssicherheit und ein reibungsloses Fahrerlebnis zu gewährleisten.

Überwachungs- und Sicherheitssysteme

Das Modell kann eine schnelle, genaue Objekterkennung in Echtzeit für Überwachung und Sicherheit ermöglichen Systeme, die dabei helfen, potenzielle Bedrohungen oder verdächtige Aktivitäten zu erkennen, was zu einer besseren Sicherheit führt Systeme

Einzelhandels- und Bestandsmanagement

Das Modell kann schnelle und genaue Objekterkennungsfunktionen bereitstellen, die eine effiziente und automatisierte Bestandsverwaltung, Bestandsverfolgung und Regaloptimierung in Echtzeit ermöglichen. Dieses Modell trägt dazu bei, die Betriebskosten zu senken und den Gewinn zu steigern.

Gesundheitswesen und medizinische Bildgebung

Im Gesundheitswesen kann YOLO-NAS bei der effizienten Erkennung und Analyse von Krankheitsanomalien oder spezifischen Interessenbereichen helfen. Das Modell kann Ärzten helfen, Krankheiten genau zu diagnostizieren und Patienten zu überwachen und so den Gesundheitssektor zu verbessern.

YOLO-NAS-Imbiss

YOLO-NAS ist ein neues Objekterkennungsmodell, das eine neue Art der Objekterkennung ermöglicht. Es ist besser als die SOTA-Modelle. Seine Leistung bei der Objekterkennung ist ein großer Fortschritt für Computer-Vision-Projekte.