Künstliche Intelligenz

YOLOv7: Der fortschrittlichste Algorithmus für Objekterkennung?

mm

Der 6. Juli 2022 wird als Meilenstein in der Geschichte der künstlichen Intelligenz in Erinnerung bleiben, da an diesem Tag YOLOv7 veröffentlicht wurde. Seit seiner Veröffentlichung ist YOLOv7 das heißeste Thema in der Community der Computer-Vision-Entwickler und aus guten Gründen. YOLOv7 gilt bereits als Meilenstein in der Branche der Objekterkennung.

Kurz nach der Veröffentlichung des YOLOv7-Papiers stellte sich heraus, dass es das schnellste und genaueste Echtzeit-Objekterkennungsmodell ist. Aber wie schafft es YOLOv7, seine Vorgänger zu überbieten? Was macht YOLOv7 so effizient bei der Ausführung von Computer-Vision-Aufgaben?

In diesem Artikel werden wir versuchen, das YOLOv7-Modell zu analysieren und zu erklären, warum YOLOv7 zum Branchenstandard wird. Aber bevor wir das beantworten können, müssen wir uns mit der kurzen Geschichte der Objekterkennung auseinandersetzen.

Was ist Objekterkennung?

Objekterkennung ist ein Teilbereich der Computer-Vision, der Objekte in einem Bild oder einer Video-Datei identifiziert und lokalisieren kann. Objekterkennung ist die Grundlage für zahlreiche Anwendungen, darunter selbstfahrende Autos, überwachte Überwachung und sogar Robotik.

Ein Objekterkennungsmodell kann in zwei verschiedene Kategorien unterteilt werden, Single-Shot-Detektoren und Multi-Shot-Detektoren.

Echtzeit-Objekterkennung

Um wirklich zu verstehen, wie YOLOv7 funktioniert, ist es wichtig, das Hauptziel von YOLOv7 zu verstehen, nämlich “Echtzeit-Objekterkennung”}. Echtzeit-Objekterkennung ist ein wichtiger Bestandteil der modernen Computer-Vision. Die Echtzeit-Objekterkennungsmodelle versuchen, Objekte von Interesse in Echtzeit zu identifizieren und zu lokalisieren. Echtzeit-Objekterkennungsmodelle ermöglichen es Entwicklern, Objekte von Interesse in einem bewegten Rahmen wie einem Video oder einer Live-Überwachungseingabe effizient zu verfolgen.

Echtzeit-Objekterkennungsmodelle sind im Wesentlichen einen Schritt vor den herkömmlichen Bilderkennungsmodellen. Während die ersten verwendet werden, um Objekte in Video-Dateien zu verfolgen, lokalisieren und identifizieren die letzteren Objekte innerhalb eines stationären Rahmens wie eines Bildes.

Daher sind Echtzeit-Objekterkennungsmodelle sehr effizient für Video-Analytics, autonome Fahrzeuge, Objektzählung, Multi-Objekt-Verfolgung und vieles mehr.

Was ist YOLO?

YOLO oder “You Only Look Once” ist eine Familie von Echtzeit-Objekterkennungsmodellen. Das YOLO-Konzept wurde 2016 von Joseph Redmon vorgestellt und wurde fast sofort zum Gesprächsthema, da es viel schneller und genauer war als die vorhandenen Objekterkennungs-Algorithmen. Es dauerte nicht lange, bis der YOLO-Algorithmus zum Standard in der Computer-Vision-Industrie wurde.

Das grundlegende Konzept, das der YOLO-Algorithmus vorschlägt, ist die Verwendung eines End-to-End-Neural-Netzwerks mit Begrenzungsboxen und Klassenwahrscheinlichkeiten, um in Echtzeit Vorhersagen zu treffen. YOLO unterschied sich von den vorherigen Objekterkennungsmodellen dadurch, dass es einen anderen Ansatz zur Objekterkennung vorschlug, indem es Klassifizierer umwidmete.

Der Ansatz funktionierte, da YOLO bald zum Industriestandard wurde und die Leistungsunterschiede zwischen YOLO und anderen Echtzeit-Objekterkennungs-Algorithmen erheblich waren. Aber was war der Grund, warum YOLO so effizient war?

Im Vergleich zu YOLO verwendeten Objekterkennungs-Algorithmen zuvor Region-Proposal-Netzwerke, um mögliche Regionen von Interesse zu erkennen. Der Erkennungsprozess wurde dann auf jeder Region separat durchgeführt. Als Ergebnis führten diese Modelle oft mehrere Iterationen auf demselben Bild durch und hatten daher einen Mangel an Genauigkeit und eine höhere Ausführungszeit. Andererseits verwendet der YOLO-Algorithmus eine einzelne vollständig verbundene Schicht, um die Vorhersage auf einmal durchzuführen.

Wie funktioniert YOLO?

Es gibt drei Schritte, die erklären, wie ein YOLO-Algorithmus funktioniert.

Umformulierung der Objekterkennung als einziges Regressionsproblem

Der YOLO-Algorithmus versucht, die Objekterkennung als einziges Regressionsproblem umzuformulieren, einschließlich Bildpixeln, Klassenwahrscheinlichkeiten und Begrenzungsbox-Koordinaten. Daher muss der Algorithmus das Bild nur einmal betrachten, um die Zielobjekte im Bild vorherzusagen und zu lokalisieren.

Globale Betrachtung des Bildes

Darüber hinaus betrachtet der YOLO-Algorithmus das Bild global, wenn er Vorhersagen trifft. Es unterscheidet sich von region-basierten und Sliding-Techniken, da der YOLO-Algorithmus das gesamte Bild während des Trainings und Testens auf dem Datensatz sieht und in der Lage ist, kontextuelle Informationen über die Klassen und ihre Erscheinung zu kodieren.

Bevor YOLO kam, war Fast R-CNN einer der beliebtesten Objekterkennungs-Algorithmen, der den größeren Kontext in einem Bild nicht sehen konnte, da er Hintergrund-Patches in einem Bild für ein Objekt hielt. Der YOLO-Algorithmus ist 50% genauer als der Fast R-CNN-Algorithmus, wenn es um Hintergrundfehler geht.

Verallgemeinern der Objektdarstellung

Schließlich zielt der YOLO-Algorithmus auch darauf ab, die Darstellung von Objekten in einem Bild zu verallgemeinern. Als Ergebnis übertraf YOLO bei der Ausführung auf einem Datensatz mit natürlichen Bildern und bei der Überprüfung der Ergebnisse die vorhandenen R-CNN-Modelle um ein großes Maß. Es liegt daran, dass YOLO sehr verallgemeinerbar ist, die Chancen, dass es bei der Implementierung auf unerwartete Eingaben oder neue Domänen zusammenbricht, gering sind.

YOLOv7: Was ist neu?

Jetzt, da wir ein grundlegendes Verständnis dafür haben, was Echtzeit-Objekterkennungsmodelle sind und was der YOLO-Algorithmus ist, ist es Zeit, den YOLOv7-Algorithmus zu diskutieren.

Optimierung des Trainingsprozesses

Der YOLOv7-Algorithmus versucht nicht nur, die Modellarchitektur zu optimieren, sondern auch den Trainingsprozess zu optimieren. Er zielt darauf ab, Optimierungs-Module und -Methoden zu verwenden, um die Genauigkeit der Objekterkennung zu verbessern, die Kosten für das Training zu stärken und die Interferenzkosten zu erhalten. Diese Optimierungs-Module können als “trainable bag of freebies” bezeichnet werden.

Coarse-to-Fine-Lead-Guided-Label-Zuweisung

Der YOLOv7-Algorithmus plant, eine neue Coarse-to-Fine-Lead-Guided-Label-Zuweisung anstelle der herkömmlichen dynamischen Label-Zuweisung zu verwenden. Es liegt daran, dass bei der dynamischen Label-Zuweisung das Training eines Modells mit mehreren Ausgabeschichten einige Probleme verursacht, insbesondere, wie dynamische Ziele für verschiedene Zweige und ihre Ausgaben zugewiesen werden können.

Modell-Re-Parameterisierung

Die Modell-Re-Parameterisierung ist ein wichtiges Konzept in der Objekterkennung, und ihre Verwendung wird normalerweise mit einigen Problemen während des Trainings verbunden. Der YOLOv7-Algorithmus plant, den Gradienten-Übertragungspfad zu verwenden, um die Modell-Re-Parameterisierungs-Politiken zu analysieren, die auf verschiedene Schichten im Netzwerk anwendbar sind.

Erweiterte und zusammengesetzte Skalierung

Der YOLOv7-Algorithmus führt auch die erweiterte und zusammengesetzte Skalierungsmethode ein, um die Parameter und Berechnungen für die Echtzeit-Objekterkennung effizient zu nutzen.

YOLOv7: Verwandte Arbeiten

Echtzeit-Objekterkennung

YOLO ist derzeit der Industriestandard, und die meisten Echtzeit-Objekterkennungs-Modelle verwenden YOLO-Algorithmen und FCOS (Fully Convolutional One-Stage Object-Detection). Ein State-of-the-Art-Echtzeit-Objekterkennungs-Modell hat normalerweise die folgenden Eigenschaften

  • Stärkere und schnellere Netzwerkarchitektur.
  • Eine effektive Methode zur Merkmalintegration.
  • Eine genaue Objekterkennungsmethode.
  • Eine robuste Verlustfunktion.
  • Eine effiziente Label-Zuweisungsmethode.
  • Eine effiziente Trainingsmethode.

Der YOLOv7-Algorithmus verwendet keine selbstüberwachte Lern- und Destillationsmethoden, die oft große Mengen an Daten erfordern. Stattdessen verwendet der YOLOv7-Algorithmus eine trainable bag-of-freebies-Methode.

Modell-Re-Parameterisierung

Die Modell-Re-Parameterisierungstechniken werden als Ensemble-Technik betrachtet, die mehrere Berechnungs-Module in einer Interferenz-Phase kombiniert. Die Technik kann in zwei Kategorien unterteilt werden, Modell-Level-Ensemble und Modul-Level-Ensemble.

Um das endgültige Interferenz-Modell zu erhalten, verwendet die Modell-Level-Re-Parameterisierungstechnik zwei Praktiken. Die erste Praxis verwendet unterschiedliche Trainingsdaten, um mehrere identische Modelle zu trainieren, und dann die Gewichte der trainierten Modelle zu mitteln. Alternativ verwendet die andere Praxis die Mittelung der Gewichte der Modelle während der verschiedenen Iterationen.

Die Modul-Level-Re-Parameterisierung gewinnt derzeit an Popularität, da sie ein Modul in verschiedene Modul-Zweige oder verschiedene identische Zweige während der Trainingsphase teilt und dann diese verschiedenen Zweige in einen äquivalenten Modul während der Interferenz integriert.

Allerdings können Re-Parameterisierungstechniken nicht auf alle Arten von Architekturen angewendet werden. Es ist der Grund, warum der YOLOv7-Algorithmus neue Modell-Re-Parameterisierungstechniken verwendet, um Strategien zu entwerfen, die für verschiedene Architekturen geeignet sind.

Modell-Skalierung

Die Modell-Skalierung ist der Prozess der Skalierung eines bestehenden Modells, um es auf verschiedene Rechengeräte anzupassen. Die Modell-Skalierung verwendet normalerweise eine Vielzahl von Faktoren wie die Anzahl der Schichten (Tiefe), die Größe der Eingabe-Bilder (Auflösung), die Anzahl der Merkmal-Pyramiden (Stufe) und die Anzahl der Kanäle (Breite). Diese Faktoren spielen eine entscheidende Rolle bei der Gewährleistung eines ausgewogenen Kompromisses zwischen Netzwerk-Parametern, Interferenz-Geschwindigkeit, Berechnung und Genauigkeit des Modells.

Eine der am häufigsten verwendeten Skalierungsmethoden ist NAS oder Network-Architecture-Search, die automatisch nach geeigneten Skalierungsfaktoren in Suchmaschinen sucht, ohne komplizierte Regeln zu verwenden. Der Hauptnachteil der Verwendung von NAS ist, dass es ein teurer Ansatz für die Suche nach geeigneten Skalierungsfaktoren ist.

Fast jedes Modell-Re-Parameterisierungs-Modell analysiert individuelle und einzigartige Skalierungsfaktoren unabhängig voneinander und optimiert diese Faktoren auch unabhängig voneinander. Es liegt daran, dass die NAS-Architektur mit nicht korrelierten Skalierungsfaktoren arbeitet.

Es ist erwähnenswert, dass Konkatenations-basierte Modelle wie VoVNet oder DenseNet die Eingabe-Breite einiger Schichten ändern, wenn die Tiefe des Modells skaliert wird. Der YOLOv7-Algorithmus arbeitet mit einer vorgeschlagenen Konkatenations-basierten Architektur und verwendet daher eine zusammengesetzte Skalierungsmethode.

Die Abbildung oben vergleicht die erweiterten effizienten Schichten-Aggregations-Netzwerke (E-ELAN) von verschiedenen Modellen. Die vorgeschlagene E-ELAN-Methode bewahrt den Gradienten-Übertragungspfad der ursprünglichen Architektur, aber zielt darauf ab, die Kardinalität der hinzugefügten Merkmale mithilfe von Gruppen-Konvolution zu erhöhen. Der Prozess kann die Merkmale verbessern, die von verschiedenen Karten erlernt werden, und kann die Verwendung von Berechnungen und Parametern effizienter machen.

YOLOv7-Architektur

Das YOLOv7-Modell verwendet die YOLOv4-, YOLO-R- und die skalierten YOLOv4-Modelle als Basis. Das YOLOv7 ist das Ergebnis von Experimenten, die auf diesen Modellen durchgeführt wurden, um die Ergebnisse zu verbessern und das Modell genauer zu machen.

Erweiterte effiziente Schichten-Aggregations-Netzwerk oder E-ELAN

E-ELAN ist der grundlegende Baustein des YOLOv7-Modells und wird von bereits existierenden Modellen zur Netzwerkeffizienz abgeleitet, insbesondere von ELAN.

Die wichtigsten Überlegungen bei der Gestaltung einer effizienten Architektur sind die Anzahl der Parameter, die Rechen-Dichte und die Menge an Berechnungen. Andere Modelle berücksichtigen auch Faktoren wie den Einfluss des Eingabe-/Ausgabe-Kanals-Verhältnisses, die Zweige in der Netzwerk-Architektur, die Netzwerk-Interferenz-Geschwindigkeit, die Anzahl der Elemente in den Tensoren des konvolutionellen Netzwerks und mehr.

Das CSPVoNet-Modell berücksichtigt nicht nur die oben genannten Parameter, sondern analysiert auch den Gradienten-Pfad, um mehr diverse Merkmale zu erlernen, indem es die Gewichte verschiedener Schichten ermöglicht. Der Ansatz ermöglicht es, die Interferenzen viel schneller und genauer zu machen.

Die ELAN-Architektur zielt darauf ab, ein effizientes Netzwerk zu entwerfen, um den kürzesten längsten Gradienten-Pfad zu kontrollieren, damit das Netzwerk effektiver im Lernen und Konvergieren sein kann.

ELAN hat bereits ein stabiles Stadium erreicht, unabhängig von der Anzahl der gestapelten Rechen-Blöcke und der Länge des Gradienten-Pfads. Der stabile Zustand kann zerstört werden, wenn Rechen-Blöcke unbegrenzt gestapelt werden und die Parameter-Ausnutzungsrate abnimmt. Die vorgeschlagene E-ELAN-Architektur kann das Problem lösen, indem sie Erweiterung, Verschiebung und Zusammenführung der Kardinalität verwendet, um kontinuierlich die Lernfähigkeit des Netzwerks zu verbessern, während der ursprüngliche Gradienten-Pfad beibehalten wird.

Darüber hinaus ist der einzige Unterschied zwischen der E-ELAN-Architektur und der ELAN-Architektur der Rechen-Block, während die Architektur der Übergangsschicht unverändert bleibt.

E-ELAN schlägt vor, die Kardinalität der Rechen-Blöcke zu erweitern und die Kanäle mithilfe von Gruppen-Konvolution zu erweitern. Die Merkmalskarte wird dann berechnet und in Gruppen nach dem Gruppen-Parameter verschoben und dann zusammengefügt. Die Anzahl der Kanäle in jedem Gruppe bleibt dieselbe wie in der ursprünglichen Architektur. Schließlich werden die Gruppen von Merkmalskarten addiert, um die Kardinalität durchzuführen.

Modell-Skalierung für Konkatenations-basierte Modelle

Die Modell-Skalierung hilft bei der Anpassung von Attributen des Modells, um Modelle nach Bedarf und in verschiedenen Größen zu generieren, um unterschiedliche Interferenz-Geschwindigkeiten zu erreichen.

Die Abbildung oben zeigt die Modell-Skalierung für verschiedene Konkatenations-basierte Modelle. Wie in Abbildung (a) und (b) zu sehen ist, erhöht sich die Ausgabe-Breite des Rechen-Blocks mit der Tiefe der Modell-Skalierung. Als Ergebnis wird die Eingabe-Breite der Übertragungsschichten erhöht. Wenn diese Methoden auf Konkatenations-basierte Architekturen angewendet werden, wird die Skalierung in der Tiefe durchgeführt, wie in Abbildung (c) dargestellt.

Es kann daher gefolgert werden, dass es nicht möglich ist, die Skalierungsfaktoren unabhängig voneinander für Konkatenations-basierte Modelle zu analysieren, sondern dass sie zusammen analysiert werden müssen. Daher ist es für ein Konkatenations-basiertes Modell geeignet, die entsprechende zusammengesetzte Modell-Skalierungsmethode zu verwenden. Darüber hinaus muss, wenn der Tiefen-Faktor skaliert wird, die Ausgabe-Kanäle des Blocks auch skaliert werden.

Trainable Bag of Freebies

Ein “trainable bag of freebies” ist ein Begriff, den Entwickler verwenden, um eine Sammlung von Methoden oder Techniken zu beschreiben, die die Trainingsstrategie oder Kosten ändern können, um die Modell-Genauigkeit zu verbessern. Was sind also die trainable bags of freebies in YOLOv7? Lassen Sie uns einen Blick werfen.

Geplante Re-Parameterisierung der Konvolution

Der YOLOv7-Algorithmus verwendet den Gradienten-Fluss-Pfad, um zu bestimmen, wie man idealerweise ein Netzwerk mit der Re-Parameterisierung der Konvolution kombiniert. Dieser Ansatz von YOLOv7 ist ein Versuch, den RepConv-Algorithmus zu kontern, der zwar auf dem VGG-Modell gut performt, aber schlecht performt, wenn er direkt auf die DenseNet- und ResNet-Modelle angewendet wird.

Um die Verbindungen in einer konvolutionellen Schicht zu identifizieren, kombiniert der RepConv-Algorithmus 3×3-Konvolution und 1×1-Konvolution. Wenn wir den Algorithmus analysieren, seine Leistung und die Architektur, werden wir feststellen, dass RepConv die Konkatenation in DenseNet und die Residuen in ResNet zerstört.

Die Abbildung oben zeigt ein geplantes Re-Parameterisierungs-Modell. Es ist zu sehen, dass der YOLOv7-Algorithmus festgestellt hat, dass eine Schicht im Netzwerk mit Konkatenations- oder Residuen-Verbindungen nicht mit einer Identitäts-Verbindung im RepConv-Algorithmus kombiniert werden sollte. Als Ergebnis ist es akzeptabel, mit RepConvN ohne Identitäts-Verbindung umzuschalten.

Groß für Hilfs- und Fein für Leit-Verlust

Tiefe Aufsicht ist ein Teilbereich der Informatik, der oft bei der Ausbildung von tiefen Netzen verwendet wird. Das grundlegende Prinzip der tiefen Aufsicht ist, dass es einen zusätzlichen Hilfs-Kopf in den mittleren Schichten des Netzwerks hinzufügt, zusammen mit den flachen Netzwerk-Gewichten und dem Hilfs-Verlust als Führer. Der YOLOv7-Algorithmus bezeichnet den Kopf, der für die endgültige Ausgabe verantwortlich ist, als Leit-Kopf, und der Hilfs-Kopf ist der Kopf, der beim Training hilft.

Weiterhin verwendet YOLOv7 eine andere Methode für die Label-Zuweisung. Üblicherweise wurde die Label-Zuweisung verwendet, um Labels zu generieren, indem direkt auf die Grundwahrheit verwiesen und auf der Grundlage einer gegebenen Menge von Regeln wurde. In den letzten Jahren spielt die Verteilung und Qualität der Vorhersage-Eingabe jedoch eine wichtige Rolle bei der Generierung eines zuverlässigen Labels. Der YOLOv7-Algorithmus generiert ein weiches Label des Objekts, indem er die Vorhersagen der Begrenzungsbox und der Grundwahrheit verwendet.

Darüber hinaus verwendet die neue Label-Zuweisungsmethode des YOLOv7-Algorithmus die Vorhersagen des Leit-Kopfs, um sowohl den Leit- als auch den Hilfs-Kopf zu führen. Die Label-Zuweisungsmethode hat zwei vorgeschlagene Strategien.

Leit-Kopf-gesteuerter Label-Zuweiser

Die Strategie berechnet auf der Grundlage der Vorhersage-Ergebnisse des Leit-Kopfs und der Grundwahrheit und verwendet dann die Optimierung, um weiche Labels zu generieren. Diese weichen Labels werden dann als Trainings-Modell für sowohl den Leit- als auch den Hilfs-Kopf verwendet.

Die Strategie funktioniert unter der Annahme, dass, da der Leit-Kopf eine größere Lernfähigkeit hat, die Labels, die er generiert, repräsentativer und korrelierender zwischen der Quelle und dem Ziel sein sollten.

Groß-fein-Leit-Kopf-gesteuerter Label-Zuweiser

Diese Strategie berechnet auch auf der Grundlage der Vorhersage-Ergebnisse des Leit-Kopfs und der Grundwahrheit und verwendet dann die Optimierung, um weiche Labels zu generieren. Es gibt jedoch einen wichtigen Unterschied. In dieser Strategie gibt es zwei Sätze von weichen Labels, großes Level und feines Label.

Das grobe Label wird durch Entspannen der Einschränkungen des positiven Stichproben-Zuweisungsprozesses generiert, der mehr Gitter als positive Ziele behandelt. Es wird getan, um das Risiko zu vermeiden, Informationen zu verlieren, weil der Hilfs-Kopf eine schwächere Lernfähigkeit hat.

Die Abbildung oben erklärt die Verwendung eines trainable bag of freebies im YOLOv7-Algorithmus. Es zeigt grob für den Hilfs-Kopf und fein für den Leit-Kopf. Wenn wir ein Modell mit Hilfs-Kopf (b) mit dem normalen Modell (a) vergleichen, werden wir feststellen, dass das Schema in (b) einen Hilfs-Kopf hat, während es in (a) nicht vorhanden ist.

Abbildung (c) zeigt den gemeinsamen unabhängigen Label-Zuweiser, während Abbildung (d) und (e) jeweils den Leit-Kopf-gesteuerten Zuweiser und den Groß-fein-Leit-Kopf-gesteuerten Zuweiser darstellen, die von YOLOv7 verwendet werden.

Andere trainable bags of freebies

Zusätzlich zu den oben genannten verwendet der YOLOv7-Algorithmus weitere trainable bags of freebies, obwohl sie nicht von ihnen ursprünglich vorgeschlagen wurden. Sie sind

  • Batch-Normalisierung in Conv-Bn-Aktivierungstechnologie: Diese Strategie wird verwendet, um eine konvolutionelle Schicht direkt mit der Batch-Normalisierungsschicht zu verbinden.
  • Implizites Wissen in YOLOR: Der YOLOv7-Algorithmus kombiniert die Strategie mit der konvolutionellen Merkmalskarte.
  • EMA-Modell: Das EMA-Modell wird als endgültiges Referenz-Modell in YOLOv7 verwendet, obwohl seine primäre Verwendung darin besteht, im Mittel-Lehrer-Verfahren verwendet zu werden.

YOLOv7: Experimente

Experimentelle Einrichtung

Der YOLOv7-Algorithmus verwendet das Microsoft-COCO-Datensatz für Training und Validierung seines Objekterkennungs-Modells, und nicht alle dieser Experimente verwenden ein vorge trainiertes Modell. Die Entwickler verwendeten den 2017-Train-Datensatz für das Training und den 2017-Validierungs-Datensatz für die Auswahl der Hyperparameter. Schließlich werden die Ergebnisse der YOLOv7-Objekterkennung mit State-of-the-Art-Algorithmen für Objekterkennung verglichen.

Die Entwickler entwarfen ein Basis-Modell für Kanten-GPU (YOLOv7-Tiny), normale GPU (YOLOv7) und Cloud-GPU (YOLOv7-W6). Darüber hinaus verwendet der YOLOv7-Algorithmus auch ein Basis-Modell für die Modell-Skalierung nach verschiedenen Service-Anforderungen und erhält unterschiedliche Modelle. Für den YOLOv7-Algorithmus wird die Stapel-Skalierung auf dem Hals und die vorgeschlagenen Verbindungen verwendet, um die Tiefe und Breite des Modells zu skalieren.

Baselines

Der YOLOv7-Algorithmus verwendet vorherige YOLO-Modelle und den YOLOR-Objekterkennungs-Algorithmus als Baseline.

Die Abbildung oben vergleicht die Baseline des YOLOv7-Modells mit anderen Objekterkennungs-Modellen, und die Ergebnisse sind ziemlich eindeutig. Wenn man den YOLOv7-Algorithmus mit dem YOLOv4-Algorithmus vergleicht, verwendet YOLOv7 75% weniger Parameter und 15% weniger Berechnungen und hat 0,4% höhere Genauigkeit.

Vergleich mit State-of-the-Art-Objekterkennungs-Modellen

Die Abbildung oben zeigt die Ergebnisse, wenn YOLOv7 mit State-of-the-Art-Objekterkennungs-Modellen für mobile und allgemeine GPUs verglichen wird. Es kann beobachtet werden, dass die vom YOLOv7-Algorithmus vorgeschlagene Methode den besten Geschwindigkeits-Genauigkeits-Trade-off-Score hat.

Ablations-Studie: Vorgeschlagene zusammengesetzte Skalierungsmethode

Die Abbildung oben vergleicht die Ergebnisse der Verwendung verschiedener Strategien zum Skalieren des Modells. Die Skalierungsstrategie im YOLOv7-Modell skaliert die Tiefe des Rechen-Blocks um 1,5 Mal und skaliert die Breite um 1,25 Mal.

Im Vergleich zu einem Modell, das nur die Tiefe skaliert, performt das YOLOv7-Modell besser um 0,5%, während es weniger Parameter und Berechnungen verwendet. Andererseits performt YOLOv7 bei einem Modell, das nur die Tiefe skaliert, um 0,2% besser, aber die Anzahl der Parameter muss um 2,9% und die Berechnung um 1,2% skaliert werden.

Vorgeschlagene geplante Re-Parameterisierungs-Modell

Um die Allgemeingültigkeit seines vorgeschlagenen Re-Parameterisierungs-Modells zu überprüfen, verwendet der YOLOv7-Algorithmus es auf residual-basierten und Konkatenations-basierten Modellen zur Überprüfung.

Für das Konkatenations-basierte Modell verwendet der YOLOv7-Algorithmus 3-gestapeltes ELAN für das Konkatenations-basierte Modell und CSPDarknet für das residual-basierte Modell.

Für das Konkatenations-basierte Modell ersetzt der YOLOv7-Algorithmus die 3×3-Konvolutions-Schichten im 3-gestapelten ELAN durch RepConv. Die Abbildung unten zeigt die detaillierte Konfiguration des geplanten RepConv und des 3-gestapelten ELAN.

Darüber hinaus verwendet der YOLOv7-Algorithmus bei der Behandlung des residual-basierten Modells einen umgekehrten dunklen Block, da der ursprüngliche dunkle Block keinen 3×3-Konvolutions-Block hat. Die Abbildung unten zeigt die Architektur des umgekehrten CSPDarknet, der die Positionen der 3×3- und 1×1-Konvolutions-Schichten umkehrt.

Vorgeschlagener Hilfs-Verlust für Hilfs-Kopf

Für den Hilfs-Verlust für den Hilfs-Kopf vergleicht das YOLOv7-Modell die unabhängige Label-Zuweisung für den Hilfs-Kopf und den Leit-Kopf-Methoden.

Die Abbildung oben enthält die Ergebnisse der Studie über den vorgeschlagenen Hilfs-Kopf. Es kann gesehen werden, dass die Gesamtleistung des Modells mit zunehmendem Hilfs-Verlust zunimmt. Darüber hinaus performt die vom YOLOv7-Algorithmus vorgeschlagene Leit-Kopf-gesteuerte Label-Zuweisung besser als unabhängige Leit-Kopf-Strategien.

YOLOv7-Ergebnisse

Basierend auf den oben genannten Experimenten sind hier die Ergebnisse der Leistung von YOLOv7 im Vergleich zu anderen Objekterkennungs-Algorithmen.

Die Abbildung oben vergleicht das YOLOv7-Modell mit anderen Objekterkennungs-Algorithmen, und es kann klar gesehen werden, dass das YOLOv7-Modell andere Objekterkennungs-Modelle in Bezug auf die durchschnittliche Präzision (AP) gegenüber der Batch-Interferenz übertrifft.

Darüber hinaus vergleicht die Abbildung unten die Leistung von YOLOv7 mit anderen Echtzeit-Objekterkennungs-Algorithmen. Erneut übertrifft YOLOv7 andere Modelle in Bezug auf die Gesamtleistung, Genauigkeit und Effizienz.

Hier sind einige zusätzliche Beobachtungen aus den YOLOv7-Ergebnissen und -Leistungen.

  1. Das YOLOv7-Tiny ist das kleinste Modell in der YOLO-Familie, mit über 6 Millionen Parametern. Das YOLOv7-Tiny hat eine durchschnittliche Präzision von 35,2% und übertrifft das YOLOv4-Tiny-Modell mit vergleichbaren Parametern.
  2. Das YOLOv7-Modell hat über 37 Millionen Parameter und übertrifft Modelle mit höheren Parametern wie YOLov4.
  3. Das YOLOv7-Modell hat die höchste mAP- und FPS-Rate im Bereich von 5 bis 160 FPS.

Schlussfolgerung

YOLO oder “You Only Look Once” ist der State-of-the-Art-Objekterkennungs-Modell in der modernen Computer-Vision. Der YOLO-Algorithmus ist bekannt für seine hohe Genauigkeit und Effizienz und findet daher umfassende Anwendung in der Echtzeit-Objekterkennungs-Industrie. Seit der Einführung des ersten YOLO-Algorithmus im Jahr 2016 haben Experimente es den Entwicklern ermöglicht, das Modell kontinuierlich zu verbessern.

Das YOLOv7-Modell ist die neueste Ergänzung der YOLO-Familie und ist der leistungsstärkste YOLO-Algorithmus bis heute. In diesem Artikel haben wir die Grundlagen von YOLOv7 diskutiert und versucht, zu erklären, was YOLOv7 so effizient macht.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.