Einfach KI: Klassifizierung von Bildern mit KI-Modellen

Einfach KI: Klassifizierung von Bildern mit KI-Modellen

Angenommen, Sie haben Tausende von Bildern aus einer Telegram-Gruppe oder einer Social-Media-Website gescraped, von denen einige für die Untersuchung eines laufenden Konflikts entscheidend sein könnten. Sie suchen speziell nach Fotos und Videos von Waffen, die jedoch mit Memes, Screenshots und anderem nicht verwandtem Material gemischt sind, und das manuelle Durchsehen und Kategorisieren der Bilder würde mehr Zeit in Anspruch nehmen, als Sie haben. Was tun Sie?

In diesem Leitfaden zeigen wir Ihnen, wie Sie künstliche Intelligenz (KI)-Modelle nutzen können, um solche Aufgaben zu beschleunigen – auch wenn Sie nicht wissen, wie man programmieren soll – mit Hilfe des Smart Image Sorter, einem von uns erstellten Open-Source-Tool.

KI-Bildklassifizierung hat sich bereits in früheren Untersuchungen als nützlich erwiesen, beispielsweise bei Untersuchungen zu Kriegsverbrechen im Jemen oder illegaler Bergbau im Amazonas-Regenwald.

Traditionell erfordert dies einige technische Expertise – angefangen bei der Kenntnis, wie man überhaupt auf KI-Modelle zugreift, bis hin zur Schulung dieser Modelle, um bestimmte Kategorien von Objekten zu erkennen.

Der Smart Image Sorter verwendet jedoch eine spezifische Familie von Modellen – bekannt als Zero-Shot-Modelle -, die sofort einsatzbereit sind, was es jedem leicht macht, mit der Klassifizierung von Bildern mit KI zu beginnen.

Was ist die Zero-Shot-Bildklassifizierung? AI-Bildklassifizierungsmodelle erfordern traditionell eine Schulung mit spezifischen Labels, die mit Bildern verknüpft sind. Benutzer sind auf die von den Labels vordefinierten Kategorien beschränkt, was die Fähigkeit des Modells, Dinge außerhalb der festgelegten Labels zu identifizieren, einschränkt.

Zero-Shot-Modelle, eine relativ neue Innovation auf dem Gebiet des maschinellen Lernens und der KI, helfen, diese Beschränkungen zu überwinden. Sie werden auf einer Vielzahl von Daten trainiert und haben ein breites Verständnis von Sprache und Bildern, was es möglich macht, Bilder zu klassifizieren, die nie in ihrem Training enthalten waren. Zum Beispiel könnte ein Zero-Shot-Modell einen Pinguin erkennen, indem es seine schwarz-weißen Farben und die vogelähnliche Form mit ähnlichen Bildern, die es gesehen hat, in Beziehung setzt, auch wenn es nie speziell auf Pinguine trainiert wurde.

Eingeführt im Jahr 2021, hat OpenAI’s CLIP (Contrastive Language-Image Pre-training)-Modell aufgrund seiner Flexibilität und seiner robusten Leistung die Verbreitung dieser Methode der Bildklassifizierung maßgeblich beeinflusst.

CLIP und ähnliche KI-Modelle lernen, Bilder mit Beschreibungen in Übereinstimmung zu bringen, indem sie sowohl Texte als auch Bilder in numerische Repräsentationen umwandeln, die ein Computer verstehen kann. Wenn man ihnen ein neues Bild oder einen neuen Text gibt, überprüfen sie, wie gut es zu den Dingen passt, die sie zuvor gelernt haben, indem sie diese Zahlen vergleichen, was als gemeinsamer Einbettungsraum bekannt ist.

Ähnliche Wörter und Bilder sind in einem gemeinsamen Einbettungsraum gruppiert. Auf der linken Seite ist ein Eingabebild eines Pinguins korrekt mit dem Label “Pinguin” abgestimmt. Auf der rechten Seite wird ein Bild eines Tigers im Meer aufgrund seiner Nähe zu Labels, die mit Meeresbewohnern zu tun haben, fälschlicherweise mit dem Label “Robbe” abgeglichen. Grafik: Galen Reich.

Die einfachste Möglichkeit, den Smart Image Sorter auszuführen, besteht darin, unser Programm direkt in Ihrem Webbrowser auf Google Colab auszuführen und alle Bilder, die Sie verwenden möchten, auf Google Drive hochzuladen.

Google Colab ist ein kostenloses, cloudbasiertes Tool, das es Benutzern ermöglicht, Python-Code aus Webbrowsern heraus zu schreiben und auszuführen, indem sie eine interaktive Umgebung namens “Notebook” verwenden. Bellingcat hat bereits eine detaillierte Anleitung und ein Erklärungsvideo veröffentlicht, wie Notebooks für Open-Source-Forschung nützlich sein können.

Um zu beginnen, stellen Sie sicher, dass Sie in Ihrem Google-Konto angemeldet sind. Öffnen Sie das Tool in Ihrem Browser und klicken Sie auf “▶”, um es zu laden. Sie sehen eine Warnung, dass das Notebook nicht von Google erstellt wurde. Dies ist eine Standardwarnung für jedes Notebook, das von einer externen Quelle geladen wurde. Keine Sorge: Kein Code, der in diesem Tool verwendet wird, ist böswillig, und er gewährt Bellingcat oder anderen Benutzern keinen Zugriff auf Ihre Daten. Klicken Sie auf “Trotzdem ausführen”, um fortzufahren. Um den Smart Image Sorter zu starten, klicken Sie einfach auf “▶” und dann auf “Trotzdem ausführen”.

Sie sollten fünf Formularfelder sehen, die standardmäßig mit Standardwerten gefüllt wurden. Wenn Sie nur eine schnelle Vorstellung von den Ausgaben erhalten möchten, die dieses Tool generiert, können Sie zum Schritt 7 gehen und es sofort ausführen. Andernfalls lesen Sie weiter.

Fügen Sie Ihre eigenen Bilder hinzu (oder verwenden Sie unsere). Das erste Feld, das Sie ausfüllen müssen, ist das Quellverzeichnis, in dem die Bilder, die Sie klassifizieren möchten, gespeichert sind.
Für dieses Tutorial haben wir ein Beispielset von 32 Bildern aus einer früheren Bellingcat-Untersuchung zu QAnon-Gruppen in Telegram als Standard-Quellverzeichnis bereitgestellt.
Wenn Sie jedoch Ihre eigene Bildersammlung verwenden möchten, laden Sie die Bilder in einen Ordner in Ihrem eigenen Google Drive hoch und klicken Sie auf die Schaltfläche “Google Drive einbinden”, um Google Colab Zugriff auf Ihren Google Drive zu geben. (Dies gewährt Bellingcat oder anderen Benutzern keinen Zugriff auf Ihre Dateien oder Daten.)
Erhalten Sie den Pfad Ihres Bildordners, indem Sie mit der rechten Maustaste auf den entsprechenden Ordner im Dateimanager klicken und “Pfad kopieren” auswählen, und fügen Sie ihn dann in das “Quell”-Feld ein.
Hinweis: Das Einbinden Ihres Google Drive funktioniert nicht, wenn Ihr Google-Konto Teil des Advanced Protection Program ist, da dies den meisten nicht von Google stammenden Apps und Diensten den Zugriff auf Daten wie Ihren Google Drive verweigert. Wenn Sie Ihr Drive nicht einbinden können, aber die Ergebnisse über Ihre Google Colab-Sitzung hinaus speichern möchten, sollten Sie das Tool möglicherweise lokal ausführen.

Sagen Sie dem Tool, wohin es die sortierten Bilder speichern soll. Nachdem Sie dem Programm mitgeteilt haben, wo die Bilder zu finden sind, müssen Sie auch angeben, wohin die Bilder kopiert oder verschoben werden sollen, nachdem sie sortiert sind.
Wenn Sie die sortierten Bilder speichern möchten, ist es wichtig, dass Sie Ihr Google Drive wie im vorherigen Schritt beschrieben einbinden. Andernfalls können Sie das Programm trotzdem ausführen und sehen, wie das Modell die Bilder sortiert, aber die Ausgabe verschwindet am Ende Ihrer Google Colab-Sitzung.
Nachdem Sie Ihr Google Drive eingebunden haben, können Sie den Pfad eines vorhandenen Ordners aus dem Dateimanager kopieren und einfügen oder einen neuen Ordner erstellen, indem Sie seinen Namen am Ende eines vorhandenen Pfads eingeben.
Stellen Sie sicher, dass Sie einen Google Drive-Speicherort (beginnend mit “/content/drive/”) als Zielverzeichnis verwenden, wenn Sie möchten, dass die Ergebnisse über Ihre aktuelle Google-Colab-Sitzung hinaus zugänglich sind.

Wählen Sie ein Modell. Der Smart Image Sorter verwendet das am häufigsten heruntergeladene Zero-Shot-Bildklassifizierungsmodell auf Hugging Face als Standardmodell. Zum Zeitpunkt der Veröffentlichung ist dies “clip-vit-large-patch14”, ein auf CLIP basierendes Modell von OpenAI. Sie können dies auf ein anderes auf Hugging Face verfügbares Modell ändern.
Hier sind einige Tipps zur Auswahl eines Modells später in diesem Leitfaden zu finden.

Fügen Sie Labels hinzu. Labels sind die Kategorien, die das Modell für die Klassifizierung verwenden wird. Dies ist ein sehr wichtiger Schritt, da das Modell jedem Bild in Ihrem Datensatz immer ein Label zuweisen wird.

Entscheiden Sie, ob Sie Bilder kopieren oder verschieben möchten. Standardmäßig kopiert das Tool die Dateien in den Zielordner. Wir empfehlen diese Einstellung, damit Sie die Ergebnisse mit den Originalbildern vergleichen können. Sie können jedoch auch die Einstellung “Operation” ändern, um die Bilder vom Quell- in den Zielordner zu verschieben, was Ihnen etwas Speicherplatz sparen kann.
Wenn Sie alle Felder ausgefüllt haben, klicken Sie auf die grüne Schaltfläche “Klassifizierung starten”, um das Programm auszuführen.

Sie sollten fünf Formularfelder sehen, die standardmäßig mit Standardwerten gefüllt wurden. Wenn Sie nur eine schnelle Vorstellung von den Ausgaben erhalten möchten, die dieses Tool generiert, können Sie zum Schritt 7 gehen und es sofort ausführen. Andernfalls lesen Sie weiter.

Fügen Sie Ihre eigenen Bilder hinzu (oder verwenden Sie unsere). Das erste Feld, das Sie ausfüllen müssen, ist das Quellverzeichnis, in dem die Bilder, die Sie klassifizieren möchten, gespeichert sind. Für dieses Tutorial haben wir ein Beispielset von 32 Bildern aus einer früheren Bellingcat-Untersuchung zu QAnon-Gruppen in Telegram als Standard-Quellverzeichnis bereitgestellt. Wenn Sie jedoch Ihre eigene Bildersammlung verwenden möchten, laden Sie die Bilder in einen Ordner in Ihrem eigenen Google Drive hoch und klicken Sie auf die Schaltfläche “Google Drive einbinden”, um Google Colab Zugriff auf Ihren Google Drive zu geben. (Dies gewährt Bellingcat oder anderen Benutzern keinen Zugriff auf Ihre Dateien oder Daten.) Erhalten Sie den Pfad Ihres Bildordners, indem Sie mit der rechten Maustaste auf den entsprechenden Ordner im Dateimanager klicken und “Pfad kopieren” auswählen, und fügen Sie ihn dann in das “Quell”-Feld ein. Hinweis: Das Einbinden Ihres Google Drive funktioniert nicht, wenn Ihr Google-Konto Teil des Advanced Protection Program ist, da dies den meisten nicht von Google stammenden Apps und Diensten den Zugriff auf Daten wie Ihren Google Drive verweigert. Wenn Sie Ihr Drive nicht einbinden können, aber die Ergebnisse über Ihre Google Colab-Sitzung hinaus speichern möchten, sollten Sie das Tool möglicherweise lokal ausführen.

Sagen Sie dem Tool, wohin es die sortierten Bilder speichern soll. Nachdem Sie dem Programm mitgeteilt haben, wo die Bilder zu finden sind, müssen Sie auch angeben, wohin die Bilder kopiert oder verschoben werden sollen, nachdem sie sortiert sind. Wenn Sie die sortierten Bilder speichern möchten, ist es wichtig, dass Sie Ihr Google Drive wie im vorherigen Schritt beschrieben einbinden. Andernfalls können Sie das Programm trotzdem ausführen und sehen, wie das Modell die Bilder sortiert, aber die Ausgabe verschwindet am Ende Ihrer Google Colab-Sitzung. Nachdem Sie Ihr Google Drive eingebunden haben, können Sie den Pfad eines vorhandenen Ordners aus dem Dateimanager kopieren und einfügen oder einen neuen Ordner erstellen, indem Sie seinen Namen am Ende eines vorhandenen Pfads eingeben.
Stellen Sie sicher, dass Sie einen Google Drive-Speicherort (beginnend mit “/content/drive/”) als Zielverzeichnis verwenden, wenn Sie möchten, dass die Ergebnisse über Ihre aktuelle Google-Colab-Sitzung hinaus zugänglich sind.

Wählen Sie ein Modell. Der Smart Image Sorter verwendet das am häufigsten heruntergeladene Zero-Shot-Bildklassifizierungsmodell auf Hugging Face als Standardmodell. Zum Zeitpunkt der Veröffentlichung ist dies “clip-vit-large-patch14”, ein auf CLIP basierendes Modell von OpenAI. Sie können dies auf ein anderes auf Hugging Face verfügbares Modell ändern.

Fügen Sie Labels hinzu. Labels sind die Kategorien, die das Modell für die Klassifizierung verwenden wird. Dies ist ein sehr wichtiger Schritt, da das Modell jedem Bild in Ihrem Datensatz immer ein Label zuweisen wird. Beispiel: Wenn Sie nur Labels für “Menschen” und “Tiere” angeben, aber ihm ein Bild eines Hauses geben, wird es dieses Bild unter dem Label einordnen, das seiner Meinung nach am besten passt. Daher sollten die Labels umfassend sein und praktisch alle möglichen Bilder im Datensatz abdecken und nicht überlappen.

Entscheiden Sie, ob Sie Bilder kopieren oder verschieben möchten. Standardmäßig kopiert das Tool die Dateien in den Zielordner. Wir empfehlen diese Einstellung, damit Sie die Ergebnisse mit den Originalbildern vergleichen können. Sie können jedoch auch die Einstellung “Operation” ändern, um die Bilder vom Quell- in den Zielordner zu verschieben, was Ihnen etwas Speicherplatz sparen kann.

Erhalten Sie Ihren sortierten Bilder! Wenn Sie alle Felder ausgefüllt haben, klicken Sie auf die grüne Schaltfläche “Klassifizierung starten”, um das Programm auszuführen. Das Tool gibt einige Systemmeldungen aus, während es das Modell lädt und Prognosen erstellt. Am Ende sollte es die Meldung “Klassifizierung abgeschlossen” anzeigen.

Sobald dies erledigt ist, finden Sie Ihre sortierten Bilder im Zielordner, den Sie angegeben haben. Wenn das Tool fertig ist, sollten die Bilder ordentlich im angegebenen Zielordner sortiert sein.

Das Tool lokal ausführen. In einigen Fällen möchten Sie den Smart Image Sorter möglicherweise lokal und nicht in Ihrem Browser ausführen – zum Beispiel, wenn Sie mit sensiblen oder vertraulichen Bildern arbeiten, die Sie nicht online hochladen möchten, oder wenn Sie Ihren Google Drive nicht einbinden können.

Um dies zu tun, können Sie das Notebook aus dem GitHub-Repository herunterladen und auf Ihrem Rechner ausführen, wobei Sie Ihre lokalen Verzeichnisse als Quell- und Zielordner verwenden. Anleitungen zur Verwendung des Tools entweder direkt über die Befehlszeile oder mit Jupyter Notebook – einem Open-Source-Tool, das es ermöglicht, Notebooks lokal auszuführen – finden Sie in der README-Datei des Repositorys.

Auswertung der Ergebnisse. Nun, da Sie Ihre sortierten Bilder haben, möchten Sie die Ergebnisse bewerten. Für kleine Bildersammlungen ist es wahrscheinlich einfach, die Ergebnisse zu überprüfen, indem Sie die Bilder in jedem Unterverzeichnis überprüfen. Für einen größeren Datensatz möchten Sie möglicherweise eine zufällige Stichprobe von Bildern auswählen und manuell kategorisieren, dann den Smart Image Sorter ausführen, um die Gesamtleistung und die Genauigkeit des Modells für jede Klasse zu überprüfen.

Hoffentlich klassifiziert der Smart Image Sorter Ihre Bilddateien so, wie Sie es erwarten. Wenn nicht, möchten Sie vielleicht mit unterschiedlichen Labels und Modellen experimentieren. Die Hugging Face-Bibliothek ist ein guter Ausgangspunkt, um andere Open-Source-KI-Modelle zu erkunden. Ab August 2024 verfügt sie über mehr als 530 Modelle für die Zero-Shot-Bildklassifizierung, wobei kontinuierlich weitere hinzugefügt werden. Sie können diese filtern, um die neuesten oder trendigen Modelle zu sehen. Die Modellnamen geben uns in der Regel Hinweise auf ihre spezifischen Merkmale. Zum Beispiel bezieht sich ViT-Base-Patch16-224 auf die “Basis”-Version eines Vision-Transformer (ViT)-Modells. Dies deutet darauf hin, dass es weniger Parameter hat und rechnerisch effizienter, aber weniger komplex als eine “große” Version desselben Modells ist. Dieses Modell verarbeitet Bilder mit einer Auflösung von 224×224 Pixel, die in kleinere Segmente oder Patches von 16×16 Pixel unterteilt sind. Im Allgemeinen führt eine kleinere “Patchgröße” zu einer genaueren Analyse des Modells, da es feinere Details im Bild erfasst.

Sie möchten möglicherweise auch Aufgaben-spezifische Modelle erkunden. Wie bereits erwähnt, können visuelle Untersuchungen, die die Bildgeolokation betreffen, von StreetCLIP profitieren, das trainiert wurde, um Länder, Regionen und Städte vorherzusagen. Andere Modelle sind nützlich für Untersuchungen in bestimmten Sprachen: AViLaMa konzentriert sich auf afrikanische Sprachen, und es gibt mehrere Optionen für chinesische Texte, die leicht auf Hugging Face zu finden sind.

Die Qualität Ihrer Labels ist ein weiterer wichtiger Faktor.