Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte

Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte

WBOY
WBOYnach vorne
2023-09-26 23:45:04916Durchsuche

Übersetzer |.

Chonglou |. Ich frage mich, ob Ihnen aufgefallen ist, dass der Datensatz möglicherweise der am meisten übersehene Teil des maschinellen Lernprojekts ist. Für die meisten Menschen ist ein Datensatz nichts anderes als eine Sammlung vorgefertigter Bilder, die schnell zusammengestellt oder heruntergeladen wurden. Tatsächlich sind Datensätze der Grundstein jedes bildbasierten Projekts zur künstlichen Intelligenz (KI). Für jedes Machine-Learning-Projekt, das eine hohe Genauigkeit anstrebt, ist die Erstellung und Verwaltung eines ausgewogenen und gut strukturierten Datensatzes von entscheidender Bedeutung.

Allerdings ist die Erstellung eines Datensatzes nicht so einfach wie das Sammeln von Hunderten von Bildern. Wenn wir versuchen, ein KI-Projekt zu starten, stoßen wir wahrscheinlich auf verschiedene versteckte Gefahren. Im Folgenden bespreche ich sieben typische Schritte, die Sie zum Erstellen Ihres eigenen Datensatzes unternehmen können, damit Sie einen Einblick in die Bedeutung der Datensatzgröße, mögliche Datenauslassungen und die Konvertierung eines Datensatzes in eine Datenbank erhalten.

Hinweis: Diese Schritte gelten hauptsächlich für Objekterkennungs- und -klassifizierungsprojekte, die Bilddatensätze enthalten. Andere Projekttypen wie NLP

oder Grafikprojekte erfordern eine andere Herangehensweise.

Schritt 1

: Bildgröße

Normalerweise können neuronale Netze nur Bilder einer bestimmten Größe verarbeiten, und Bilder, die einen Schwellenwert überschreiten, müssen verkleinert werden. Dies bedeutet, dass wir vor der Verwendung des Datensatzes ein geeignetes neuronales Netzwerk auswählen und die Größe des Bildes entsprechend ändern müssen

Wie Sie wissen, kann eine Reduzierung der Bildgröße zu einem enormen Genauigkeitsverlust führen, selbst wenn es klein ist Objekte auf dem Bild verschwinden, wodurch der gesamte Erkennungsprozess beeinträchtigt wird. Wie unten gezeigt, müssen Sie das Nummernschild im von der Überwachungskamera aufgenommenen Bild erkennen und das Nummernschild nimmt nur einen kleinen Teil des gesamten Bildes ein. Wenn das neuronale Netzwerk das Bild verkleinert, kann es daher sein, dass das Nummernschild sehr klein wird und nicht mehr erkannt wird. Wie in der folgenden Abbildung gezeigt, kann die Bildgröße, die das Netzwerk verwenden kann, verstanden werden , Hilft Ihnen, das entsprechende Datensatzbild zuzuschneiden.

Obwohl die meisten neuronalen Netze kleinere Bildgrößen verarbeiten können, sind die neuesten neuronalen Netze, wie z. B.

Yolo v5x6Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte

, in der Lage, Bilder mit größerer Auflösung zu verarbeiten. Beispielsweise ist

Yolo v5xs

6

Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte in der Lage, Bilder mit einer Breite von bis zu

1280 Pixeln zu verarbeiten. 🎙 Bei der Einstellung des Datensatzes müssen Sie auf folgende Faktoren achten: Die Art der Kamera, ob es sich um eine Smartphone-Kamera oder eine Überwachungskamera handelt Die Größe des Bildes

Der Standort der Kamera, ist sie drinnen oder draußen

Wetterbedingungen wie Licht, Regen, Nebel, Schnee usw. Mit einem klaren Verständnis der realen Bilder, die vom neuronalen Netzwerk verarbeitet werden sollen, können wir einen Datensatz erstellen, der die interessierenden Objekte und ihre Umgebung genau widerspiegelt.

Das Sammeln gängiger Bilder von Google gilt möglicherweise als die einfachste und schnellste Möglichkeit, einen großen Datensatz zusammenzustellen. Allerdings ist es mit dieser Methode tatsächlich schwierig, hohe Genauigkeitsanforderungen zu erfüllen. Wie in der Abbildung unten gezeigt, werden Bilder in Google oder Fotodatenbanken im Vergleich zu Bildern, die mit echten Kameras aufgenommen wurden, normalerweise „schön“ verarbeitet

  1. Und ein Datensatz, der zu „hübsch“ ist, führt wahrscheinlich dazu höhere Testgenauigkeit. Dies bedeutet, dass das neuronale Netzwerk nur bei Testdaten (einer Sammlung von aus dem Datensatz bereinigten Bildern) eine gute Leistung erbringt, unter realen Bedingungen jedoch eine schlechte Leistung erbringt und zu einer schlechten Genauigkeit führt.
  2. Schritt 3:
  3. Formatierung und Anmerkung

Ein weiterer wichtiger Aspekt, auf den wir achten müssen, ist: das Format des Bildes. Prüfen Sie vor Beginn Ihres Projekts, welche Formate Ihr gewähltes Framework unterstützt und ob Ihre Bilder diese Anforderungen erfüllen können. Obwohl das aktuelle Framework mehrere Bildformate unterstützen kann, gibt es immer noch Probleme mit Formaten wie .jfif

.

Anmerkungsdaten können verwendet werden, um Begrenzungsrahmen, Dateinamen und verschiedene Strukturen anzugeben, die übernommen werden können. Im Allgemeinen erfordern unterschiedliche neuronale Netze und Frameworks unterschiedliche Annotationsmethoden. Einige erfordern absolute Koordinaten, die die Position des Begrenzungsrahmens enthalten, andere erfordern relative Koordinaten, andere erfordern, dass jedem Bild eine separate .txt-Datei mit den Anmerkungen beigefügt ist, während andere nur eine einzige .txt-Datei mit den Anmerkungen erfordern Alle Anmerkungen-Datei. Wie Sie sehen, ist es selbst dann nicht hilfreich, wenn Ihr Datensatz über gute Bilder verfügt, wenn Ihr Framework die Anmerkungen nicht verarbeiten kann. Schritt

4训: Trainings- und Verifizierungsteilmengen

Für Trainingszwecke wird der Datensatz normalerweise in zwei Teilmengen unterteilt:

Trainingsteilmenge -

    Das ist es eine Reihe von Bildern. Das neuronale Netzwerk wird anhand dieses Bildsatzes trainiert. Sein Anteil reicht von
  1. 70 % bis 80 % der Gesamtzahl der Bilder. Validierungsteilmenge
  2. ist eine kleinere Reihe von Bildern, mit denen überprüft wird, wie gut das neuronale Netzwerk während des Trainings lernt. Sein Anteil liegt zwischen
  3. 20 % und 30 % der Gesamtzahl der Bilder.
  4. Typischerweise verwendet ein neuronales Netzwerk Objektmerkmale, die aus einer Trainingsteilmenge extrahiert wurden, um das Aussehen eines Objekts zu „lernen“. Das heißt, nach einer Trainingsperiode (Epoche) betrachtet das neuronale Netzwerk die Validierungsteilmenge der Daten und versucht zu erraten, welche Objekte es „sehen“ kann. Unabhängig davon, ob es sich um eine richtige oder falsche Vermutung handelt, ermöglicht seine Struktur dem neuronalen Netzwerk, noch tiefer zu lernen.

Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte

Obwohl dieser Ansatz weit verbreitet ist und nachweislich gute Ergebnisse erzielt, bevorzugen wir einen anderen Ansatz, indem wir den Datensatz wie folgt in Teilmengen aufteilen: Trainingsteilmenge -

70% der Gesamtzahl der Bilder

  1. Testdatensatz - ungefähr 10%
  2. Da die Testteilmenge Bilder aus dem Datensatz enthält, der Das neuronale Netzwerk hat die Entwickler noch nie gesehen. Sie können das Modell anhand dieser Teilmenge testen, um zu sehen, wie gut es bei manueller Ausführung funktioniert und mit welchen Bildern es Schwierigkeiten hat. Mit anderen Worten: Diese Teilmenge hilft herauszufinden, wo das neuronale Netzwerk möglicherweise Fehler macht, bevor das Projekt beginnt, und vermeidet so ein übermäßiges erneutes Training nach dem Projektstart. Schritt 5: Daten fehlen Wenn die Daten, die Sie zum Trainieren eines Algorithmus für maschinelles Lernen verwenden, zufällig die Informationen enthalten, die Sie vorhersagen möchten, kann es zu einem Datenleck kommen. Wie in der folgenden Abbildung dargestellt, kommt es aus Sicht der Bilderkennung zu Datenlecks, wenn Fotos desselben Objekts in den Trainings- und Validierungsteilmengen sehr ähnlich sind. Offensichtlich beeinträchtigen fehlende Daten die Qualität neuronaler Netze äußerst.
  3. Im Wesentlichen sieht das Modell ein Bild im Trainingsdatensatz, extrahiert seine Merkmale, geht dann zum Validierungsdatensatz und stellt fest, dass das, was es gesehen hat, genau dasselbe (oder ein sehr ähnliches) Bild ist. Anstatt zu sagen, dass das Modell tatsächlich lernt, ist es daher besser zu sagen, dass es sich lediglich verschiedene Informationen merkt. Manchmal führt dies zu einer lächerlich hohen Genauigkeit des Validierungsdatensatzes (z. B. bis zu 98 %), aber zu einer sehr geringen Genauigkeit in der Produktion.

Eine der am häufigsten verwendeten Methoden zur Segmentierung von Datensätzen besteht darin, die Daten zufällig zu mischen, dann die ersten Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte

70 %

der Bilder auszuwählen und sie in die Trainingsteilmenge einzufügen, und die restlichen 30 %

Fügen Sie es dann in die Verifizierungsteilmenge ein. Diese Methode kann leicht zu Datenauslassungen führen. Wie in der folgenden Abbildung dargestellt, besteht unsere unmittelbare Priorität darin, alle „doppelten“ Fotos aus dem Datensatz zu entfernen und zu prüfen, ob in beiden Teilmengen ähnliche Fotos vorhanden sind.

Dazu können wir ein einfaches Skript verwenden, um die Duplikatentfernung automatisch durchzuführen. Natürlich können Sie den Duplikatschwellenwert anpassen, zum Beispiel: Löschen Sie nur vollständig doppelte Bilder oder Bilder mit einer Ähnlichkeit von bis zu 90 % usw. Im Allgemeinen gilt: Je mehr doppelte Inhalte entfernt werden, desto genauer wird das neuronale Netzwerk produzieren.

Schritt 6: Große Datensatzdatenbank

Wenn Ihr Datensatz ziemlich groß ist, zum Beispiel: mehr als 10 Millionen Bilder und wie viele für Für zehn Objektklassen und Unterklassen empfehlen wir die Erstellung einer einfachen Datenbank zum Speichern von Datensatzinformationen. Der Grund dafür ist eigentlich ganz einfach: Bei großen Datenmengen ist es schwierig, den Überblick über alle Daten zu behalten. Daher können wir die Daten ohne eine strukturierte Verarbeitung nicht genau analysieren.

Über die Datenbank können Sie den Datensatz schnell diagnostizieren und Folgendes herausfinden: Zu wenige Bilder in einer bestimmten Kategorie erschweren das Erkennen von Objekten durch das neuronale Netzwerk; die Verteilung der Bilder zwischen den Kategorien ist nicht gleichmäßig genug; in einer bestimmten Kategorie gibt es zu viele Google-Bilder, was zu einer niedrigen Genauigkeitsbewertung für diese Kategorie führt.

Mit einer einfachen Datenbank können wir die folgenden Informationen einschließen:

  1. Dateiname
  2. Dateipfad
  3. Anmerkungsdaten
  4. Typ Daten
  5. Datenquelle (aus der Produktionsumgebung, Google usw.)
  6. Objekttyp, Name und andere objektbezogene Informationen

Die Datenbank ist für das Sammeln von Datensätzen unverzichtbar und statistische Datentools. Dadurch können wir schnell und einfach erkennen, wie ausgewogen der Datensatz ist und wie viele qualitativ hochwertige Bilder in jeder Kategorie enthalten sind (aus Sicht eines neuronalen Netzwerks). Mit Daten wie den unten visuell dargestellten können wir sie schneller analysieren und mit den Erkennungsergebnissen vergleichen, um die Grundursache für die geringe Genauigkeit herauszufinden

Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte

Der Inhalt, der neu geschrieben werden muss, ist: Eins Bemerkenswert ist, dass der Grund für die geringe Genauigkeit möglicherweise in einer geringeren Anzahl von Bildern oder einem höheren Anteil von Google Fotos in einer bestimmten Kategorie liegt. Durch die Erstellung einer solchen Datenbank kann die Zeit für Produktion, Tests und Modellumschulung erheblich reduziert werden Bildertechnologie, Datenerweiterung ist der Prozess der Durchführung einfacher oder komplexer Transformationen an Daten, z. B. durch Umdrehen oder Stiltransformation, können wir die Gültigkeit der Daten verbessern. Der auf dieser Grundlage erhaltene effektive Datensatz erfordert kein übermäßiges Training. Wie im Bild unten gezeigt, kann diese Art der Datentransformation so einfach sein wie das einfache Drehen des Bildes um 90

Grad oder so komplex wie das Hinzufügen von Sonneneruptionen zum Bild, um ein Foto mit Hintergrundbeleuchtung oder Linsenreflexionen zu simulieren.

Normalerweise werden solche erweiterten Konvertierungen automatisch durchgeführt. Beispielsweise können wir eine Python

-Bibliothek speziell für die Datenerweiterung vorbereiten. Derzeit gibt es zwei Arten der Datenerweiterung: Erweiterung vor dem Training

-

Sieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte Bevor der Trainingsprozess beginnt, werden die Daten erweitert und der Trainingsteilmenge hinzugefügt. Natürlich können wir solche Ergänzungen erst vornehmen, nachdem der Datensatz in Trainings- und Validierungsteilmengen unterteilt wurde, um die zuvor erwähnten Datenauslassungen zu vermeiden.

In-Training-Verbesserung- verwendet ein Framework ähnlich der integrierten Bildtransformationstechnologie von

    PyTorch
  1. . Es ist erwähnenswert, dass eine zehnfache Vergrößerung des Datensatzes das neuronale Netzwerk nicht zehnmal effizienter macht. Tatsächlich kann dies dazu führen, dass die Leistung des Netzwerks schlechter wird als zuvor. Daher sollten wir nur Erweiterungen verwenden, die für Produktionsumgebungen relevant sind. Beispielsweise ist eine in einem Gebäude installierte Kamera im normalen Betrieb keinem Regen ausgesetzt. Es besteht also absolut keine Notwendigkeit, dem Bild eine „Regen“-Verbesserung hinzuzufügen.
  2. KleinerKnoten

    Obwohl für diejenigen, die KI auf Unternehmen anwenden möchten, der Datensatz der am wenigsten aufregende Teil ist. Es ist jedoch unbestreitbar, dass Datensätze ein wichtiger Bestandteil jedes Bilderkennungsprojekts sind. Darüber hinaus nimmt die Verwaltung und Organisation von Datensätzen in den meisten Bilderkennungsprojekten oft viel Zeit vom Team in Anspruch. Lassen Sie uns abschließend zusammenfassen, wie Sie die besten Ergebnisse aus Ihren KI-Projekten erzielen können, indem Sie Ihre Datensätze ordnungsgemäß entsorgen:

    1. Bilder zuschneiden oder in der Größe ändern, um den Anforderungen Ihres neuronalen Netzwerks gerecht zu werden
    2. Erfassen Sie echte Bilder basierend auf Wetter- und Lichtverhältnissen
    3. Erstellen Sie Anmerkungen basierend auf den Anforderungen des neuronalen Netzwerks
    4. Vermeiden Sie die Verwendung aller Bilder zum Trainieren des Netzwerks. Ein Teil muss zum Testen reserviert werden
    5. Entfernen Sie doppelte Bilder im Validierungsdatensatz, um Datenauslassungen zu vermeiden.
    6. Erstellen Sie eine Datenbank, um den Datensatz schnell zu diagnostizieren.
    7. Verwenden Sie die Datenerweiterung So wenig wie möglich, um die Anzahl der Bilder zu erhöhen sowie externe Ressourcen und Risiken. Management und Kontrolle, wobei der Schwerpunkt auf der Verbreitung von Wissen und Erfahrungen im Bereich Netzwerk- und Informationssicherheit liegt.
    Originaltitel:

    7 Schritte zur Vorbereitung eines Datensatzes für ein bildbasiertes KI-Projekt

    , Autor: Oleg Kokorin

Das obige ist der detaillierte Inhalt vonSieben Schritte zur Vorbereitung von Datensätzen für Bild-KI-Projekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen