Dieses Repository wurde archiviert und in das Label Studio SDK integriert: https://github.com/HumanSignal/label-studio-sdk/tree/master/src/label_studio_sdk/converter
Website • Dokumente • Twitter • Treten Sie der Slack-Community bei
Einführung
Beispiele
JSON
CSV
CoNLL 2003
COCO
Pascal VOC XML
YOLO-zu-Label-Studio-Konverter
Verwendung
Tutorial: Importieren von vorkommentierten YOLO-Bildern in Label Studio mithilfe des lokalen Speichers
Mitwirken
Lizenz
Mit dem Label Studio Format Converter können Sie Etiketten in das Format Ihrer bevorzugten Bibliothek für maschinelles Lernen kodieren.
Von der Befehlszeile aus ausführen:
pip install -U label-studio-converter python label-studio-converter export -i exported_tasks.json -c examples/sentiment_analysis/config.xml -o output_dir -f CSV
Ausführen von Python:
from label_studio_converter import Converterc = Converter('examples/sentiment_analysis/config.xml')c.convert_to_json('examples/sentiment_analysis/completions/', 'tmp/output.json')
Ausgabedatei abrufen: tmp/output.json
[ {"reviewText": "Guter Fall, ausgezeichnetes Preis-Leistungs-Verhältnis.","sentiment": "Positiv" }, {"reviewText": „Was für eine Geld- und Zeitverschwendung!“, „sentiment“: „Negativ“ }, {"reviewText": „Der Schwanenhals braucht ein wenig Überredung“, „sentiment“: „Neutral“ } ]
Anwendungsfälle: beliebige Aufgaben
Von der Befehlszeile aus ausführen:
python label_studio_converter/cli.py --input examples/sentiment_analysis/completions/ --config examples/sentiment_analysis/config.xml --output ausgabeverzeichnis --format CSV --csv-separator $'t'
Ausführen von Python:
from label_studio_converter import Converterc = Converter('examples/sentiment_analysis/config.xml')c.convert_to_csv('examples/sentiment_analysis/completions/', 'output_dir', sep='t', header=True)
Ausgabedatei tmp/output.tsv
abrufen:
RezensionTexteStimmungGute Hülle, ausgezeichnetes Preis-Leistungs-Verhältnis.PositivWas für eine Geld- und Zeitverschwendung!NegativDer Schwanenhals muss etwas überredet werdenNeutral
Anwendungsfälle: beliebige Aufgaben
Von der Befehlszeile aus ausführen:
python label_studio_converter/cli.py --input examples/named_entity/completions/ --config examples/named_entity/config.xml --output tmp/output.conll --format CONLL2003
Ausführen von Python:
from label_studio_converter import Converterc = Converter('examples/named_entity/config.xml')c.convert_to_conll2003('examples/named_entity/completions/', 'tmp/output.conll')
Ausgabedatei tmp/output.conll
abrufen
-DOCSTART- -X- O
Showers -X- _ O
continued -X- _ O
throughout -X- _ O
the -X- _ O
week -X- _ O
in -X- _ O
the -X- _ O
Bahia -X- _ B-Location
cocoa -X- _ O
zone, -X- _ O
...
Anwendungsfälle: Text-Tagging
Von der Befehlszeile aus ausführen:
python label_studio_converter/cli.py --input examples/image_bbox/completions/ --config examples/image_bbox/config.xml --output tmp/output.json --format COCO --image-dir tmp/images
Ausführen von Python:
from label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_coco('examples/image_bbox/completions/', 'tmp/output.conll', output_image_dir='tmp/images')
Ausgabebilder finden Sie in tmp/images
Ausgabedatei tmp/output.json
abrufen
{ "Bilder": [ { „width“: 800, „height“: 501, „id“: 0, „file_name“: „tmp/images/62a623a0d3cef27a51d3689865e7b08a“} ], „Kategorien“: [ { „id“: 0, „name“: „Planet“}, { „id“: 1, „name“: „Moonwalker“} ], „Anmerkungen“: [ { „id“: 0, „image_id“: 0, „category_id“: 0, „segmentation“: [], „bbox“: [299,6,377,260 ], „ignore“: 0, „iscrowd“: 0, „area ": 98020}, { „id“: 1, „image_id“: 0, „category_id“: 1, „segmentation“: [], „bbox“: [288,300,132,90 ], „ignore“: 0, „iscrowd“: 0, „area ": 11880} ], „info“: {“year“: 2019, „version“: „1.0“, „contributor“: „Label Studio“ } }
Anwendungsfälle: Bildobjekterkennung
Von der Befehlszeile aus ausführen:
python label_studio_converter/cli.py --input examples/image_bbox/completions/ --config examples/image_bbox/config.xml --output tmp/voc-annotations --format VOC --image-dir tmp/images
Ausführen von Python:
from label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_voc('examples/image_bbox/completions/', 'tmp/output.conll', output_image_dir='tmp/images')
Ausgabebilder finden Sie in tmp/images
Entsprechende Anmerkungen finden sich in tmp/voc-annotations/*.xml
:
tmp/images 62a623a0d3cef27a51d3689865e7b08a MyDatabase COCO2017 flickr NULL NULL Label Studio 800 501 3 0 Planet Nicht spezifiziert 0 0 299 6 676 266 Mondwanderer Nicht spezifiziert 0 0 288 300 420 390
Anwendungsfälle: Bildobjekterkennung
Überprüfen Sie zunächst die Struktur des YOLO-Ordners. Beachten Sie, dass das Stammverzeichnis /yolo/datasets/one
ist.
/yolo/datasets/one images - 1.jpg - 2.jpg - ... labels - 1.txt - 2.txt classes.txt
„classes.txt“-Beispiel
Airplane Car
label-studio-converter import yolo -i /yolo/datasets/one -o ls-tasks.json --image-root-url "/data/local-files/?d=one/images"
Dabei ist der URL-Pfad von ?d=
relativ zu dem Pfad, den Sie in LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
festgelegt haben.
Hinweis für lokale Speicher
Es ist sehr wichtig LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
( nicht auf /yolo/datasets/one
, sondern /yolo/datasets
) festzulegen, damit Label Studio ausgeführt werden kann.
Fügen Sie in den Projekteinstellungen einen neuen lokalen Speicher hinzu und legen Sie den absoluten lokalen Pfad auf /yolo/datasets/one/images
(oder c:yolodatasetsoneimages
für Windows) fest.
Hinweis für Cloud-Speicher
Verwenden Sie --image-root-url
um korrekte Präfixe für Aufgaben-URLs zu erstellen, z. B. --image-root-url s3://my-bucket/yolo/datasets/one
.
Fügen Sie in den Projekteinstellungen einen neuen Cloud-Speicher mit dem entsprechenden Bucket und Präfix hinzu.
Hilfebefehl
label-studio-converter import yolo -h usage: label-studio-converter import yolo [-h] -i INPUT [-o OUTPUT] [--to-name TO_NAME] [--from-name FROM_NAME] [--out-type OUT_TYPE] [--image-root-url IMAGE_ROOT_URL] [--image-ext IMAGE_EXT] optional arguments: -h, --help show this help message and exit -i INPUT, --input INPUT directory with YOLO where images, labels, notes.json are located -o OUTPUT, --output OUTPUT output file with Label Studio JSON tasks --to-name TO_NAME object name from Label Studio labeling config --from-name FROM_NAME control tag name from Label Studio labeling config --out-type OUT_TYPE annotation type - "annotations" or "predictions" --image-root-url IMAGE_ROOT_URL root URL path where images will be hosted, e.g.: http://example.com/images or s3://my-bucket --image-ext IMAGE_EXT image extension to search: .jpg, .png
Dieses Tutorial führt Sie durch den Prozess des Importierens eines Ordners mit YOLO-Anmerkungen in Label Studio für weitere Anmerkungen. Wir behandeln die Einrichtung Ihrer Umgebung, die Konvertierung von YOLO-Anmerkungen in das Label Studio-Format und deren Import in Ihr Projekt.
Label Studio lokal installiert
Mit YOLO kommentierte Bilder und entsprechende TXT-Labeldateien im Verzeichnis /yolo/datasets/one
.
label-studio-converter installiert (verfügbar über pip install label-studio-converter
)
Bevor Sie Label Studio starten, legen Sie die folgenden Umgebungsvariablen fest, um die Dateibereitstellung im lokalen Speicher zu ermöglichen:
Unix-Systeme:
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets label-studio
Windows:
set LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true set LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=C:yolodatasets label-studio
Ersetzen Sie /yolo/datasets
durch den tatsächlichen Pfad zu Ihrem YOLO-Datasets-Verzeichnis.
Erstellen Sie ein neues Projekt.
Gehen Sie zu den Projekteinstellungen und wählen Sie Cloud Storage aus.
Klicken Sie auf Quellspeicher hinzufügen und wählen Sie Lokale Dateien aus den Optionen für den Speichertyp aus.
Legen Sie den absoluten lokalen Pfad auf /yolo/datasets/one/images
oder c:yolodatasetsoneimages
unter Windows fest.
Klicken Sie auf Add storage
.
Weitere Details zu lokalen Speichern finden Sie in der Dokumentation.
Bevor Sie die konvertierten Anmerkungen aus YOLO importieren, stellen Sie sicher, dass Sie über Label Studio auf ein Bild aus Ihrem lokalen Speicher zugreifen können. Öffnen Sie einen neuen Browser-Tab und geben Sie die folgende URL ein:
http://localhost:8080/data/local-files/?d=one/images/.jpg
Ersetzen Sie one/images/
durch den Pfad zu einem Ihrer Bilder. Das Bild sollte im neuen Tab des Browsers angezeigt werden. Wenn Sie ein Bild nicht öffnen können, ist die Konfiguration des lokalen Speichers falsch. Der wahrscheinlichste Grund ist, dass Sie bei der Angabe Ihres Path
in den lokalen Speichereinstellungen oder in LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
einen Fehler gemacht haben.
Hinweis: Der URL-Pfad von ?d=
sollte relativ zu LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
sein. Das bedeutet, dass der tatsächliche Pfad /yolo/datasets/one/images/
sein wird und dieses Bild auf Ihrer Festplatte vorhanden sein sollte fahren.
Verwenden Sie den label-studio-converter, um Ihre YOLO-Anmerkungen in ein Format zu konvertieren, das Label Studio verstehen kann:
label-studio-converter import yolo -i /yolo/datasets/one -o output.json --image-root-url "/data/local-files/?d=one/images"
Importieren Sie nun die Datei output.json
in Label Studio:
Gehen Sie zu Ihrem Label Studio-Projekt.
Klicken Sie im Datenmanager auf „Importieren“ .
Wählen Sie die Datei output.json
aus und importieren Sie sie.
Nach dem Import sollten Ihre Bilder mit den vorab kommentierten Begrenzungsrahmen in Label Studio angezeigt werden. Überprüfen Sie, ob die Anmerkungen korrekt sind, und nehmen Sie gegebenenfalls Anpassungen vor.
Wenn Sie Probleme mit Pfaden oder Bildzugriff haben, stellen Sie sicher, dass:
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT ist korrekt eingestellt.
Die --image-root-url
im Konvertierungsbefehl entspricht dem relativen Pfad:
`Absolute local path from Local Storage Settings` - `LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT` = `path for --image_root_url`
z.B:
/yolo/datasets/one/images - /yolo/datasets/ = one/images
Der lokale Speicher in Label Studio ist mit dem absoluten lokalen Pfad zu Ihren Bildern ( /yolo/datasets/one/images
) korrekt eingerichtet.
Weitere Einzelheiten finden Sie in der Dokumentation zum Importieren vorkommentierter Daten und zum Einrichten von Cloud-Speichern.
Wir würden uns freuen, Ihre Hilfe bei der Erstellung von Konvertern für andere Modelle zu erhalten. Gerne können Sie Pull-Requests erstellen.
Mitwirkende Richtlinie
Verhaltenskodex