Erstellen Sie ein Tool zum manuellen Klassifizieren von Trainingsdatenbildern


7

Ich habe eine große Anzahl von Bildern, die ich zum Trainieren eines Clustering-Algorithmus klassifizieren muss, und ich möchte dies offline tun (die Daten sind proprietär). Grundsätzlich möchte ich ein Desktop-Umfragetool erstellen, mit dem ich jedes Bild schnell in eine oder zwei Kategorien einteilen kann. Im Idealfall würde das Tool:

  1. Suchen Sie in einem vordefinierten Desktop-Ordner nach einem Bild.
  2. Zeigen Sie das Bild und eine statische Liste von Kategorien an, sodass ich auf eine klicken kann.
  3. Notieren Sie beim Klicken die dem Bild zugeordnete Kategorie.
  4. Speichern Sie den Bilddateinamen und die zugehörige Kategorie irgendwo in einem Datensatz.
  5. Zeigen Sie das nächste Bild ohne Tags im Ordner an und wiederholen Sie den Vorgang.

Gibt es eine einfache Möglichkeit, diese Art von Tool in Python oder einem anderen vorgefertigten Dienstprogramm zu erstellen, das ich kostenlos offline verwenden kann?


Haben Sie am Ende ein Tool geschrieben, das Sie gerne teilen würden? oder hast du noch etwas gefunden?
Jlarsch

1
Es gibt ein paar Tools für Bildanmerkungen, das beliebteste und
benutzerfreundlichste

Eine andere Option, die die Leute empfohlen haben, ist Pybossa ... Ich habe ein Tool mit Flask geschrieben, aber es war sehr umständlich einzurichten und ist nicht großartig. Irgendwann werde ich den Code bereinigen und das Repo veröffentlichen, aber ich empfehle es derzeit nicht.
Atkat12

Antworten:


2

Ich habe einen Code erstellt, der die 5 Anforderungen erfüllt, die Sie haben. Er ist auf GitHub als image-sorter2 verfügbar . Im Vergleich zu den anderen hier vorgeschlagenen Skripten ist image-sorter2 zu 100% kostenlos und Sie müssen keine Zeit mit dem Zeichnen von Begrenzungsrahmen verbringen. Das Skript öffnet einfach eine GUI für Sie, Sie klicken auf eine von mehreren Schaltflächen und entsprechend auf jedes Bild wird in den gewünschten Klassenordner sortiert, zB "Katzen", "Hunde", "Lastwagen"

Geben Sie hier die Bildbeschreibung ein


Ich ändere die Bestätigung auf diese Antwort, da es sich um eine kostenlose, einfache App handelt, die schnell einsatzbereit und einfach anpassbar ist. Auf der Github-Readme gibt es auch eine schöne Liste alternativer Optionen. Ich habe diese Aufgabe heute noch einmal besucht und festgestellt, dass diese Option gut funktioniert. Wenn Sie etwas Anspruchsvolleres tun (z. B. Teile des Bildes mit Anmerkungen versehen), funktionieren andere Antworten möglicherweise besser.
Atkat12

1
@ atkat12 Ich freue mich, dass Sie den Code hilfreich finden, obwohl er Jahre nach Ihrem Beitrag veröffentlicht wurde. Ich hoffe, es wird auch anderen Benutzern helfen, also danke für die Unterstützung!
NeStack

2

Ich würde empfehlen, eine eigene datenbankgestützte Webanwendung zu erstellen, da Sie über proprietäre Daten und wenige (nur zwei?) Klassen verfügen. Ich würde Tabellen für die Bilder, Benutzer und Beschriftungen erstellen.

Benutzer: (ID, Name)
Bild: (ID, URL)
Bezeichnung: (Benutzer.ID, Bild.ID, Zeit, Klasse)

Die Label-Klasse kann eine Aufzählung sein. Wenn Sie nicht möchten, dass Benutzer dasselbe Bild mehrmals bewerten, können Sie die Zeitspalte löschen und die ersten beiden ID-Spalten als zusammengesetzten Primärschlüssel festlegen.

Wenn Sie sich noch nie mit Webanwendungen und Datenbanken befasst haben, wird dies kompliziert erscheinen, aber es ist einfach, sobald Sie den Dreh raus haben. Hier ist ein Tutorial. Der Vorteil dieses Ansatzes ist die Beharrlichkeit. Dank der Datenbank können Sie Ihren Computer und den Start dort ausschalten, wo Sie aufgehört haben.

Eine einfachere Alternative besteht darin, alle Ihre Daten in einer Sitzung mithilfe von GUI-Komponenten wie ipywidgets für jupyter zu erfassen und die Beschriftungen in eine Datei zu schreiben. Mit diesem Ansatz erhalten Sie keine Ausdauer.


Das Tutorial sieht gut aus und ich wusste nichts über iPyWidgets. Vielen Dank für die Bereitstellung mehrerer Optionen!
Atkat12

2

Ein großartiger Online-Service ist Dataturks . Super optimierte UX und einfach zu bedienen. Unterstützt auch Ihre privaten Daten in unserer internen Cloud.

Geben Sie hier die Bildbeschreibung ein

Unterstützt auch Polygone, Segmentierung usw.

Geben Sie hier die Bildbeschreibung ein

Hier ist eine Demo, die Sie ausprobieren können (ohne Anmeldung):

Demo-Bildklassifizierung

PS: Da Browser nicht direkt auf Dateien auf Ihrer lokalen Festplatte zugreifen dürfen, müssen Sie möglicherweise einen Dummy-Webserver ausführen, um lokale URLs zu Dateien abzurufen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.