Starter-Guide | Installation | Verwendung | Beispiele
Labelme ist ein grafisches Bildanmerkungstool, das von http://labelme.csail.mit.edu inspiriert wurde.
Es ist in Python geschrieben und verwendet Qt für seine grafische Oberfläche.
Beispiel für einen VOC-Datensatz für die Instanzsegmentierung.
Weitere Beispiele (semantische Segmentierung, Bbox-Erkennung und Klassifizierung).
Verschiedene Grundelemente (Polygon, Rechteck, Kreis, Linie und Punkt).
Bildanmerkung für Polygon, Rechteck, Kreis, Linie und Punkt. (Anleitung)
Anmerkung zur Bildmarkierung zur Klassifizierung und Bereinigung. (#166)
Videoanmerkung. (Videoanmerkung)
GUI-Anpassung (vordefinierte Labels/Flags, automatisches Speichern, Label-Validierung usw.). (#144)
Exportieren eines Datensatzes im VOC-Format zur Semantik-/Instanzsegmentierung. (semantische Segmentierung, Instanzsegmentierung)
Exportieren eines Datensatzes im COCO-Format zur Beispielsegmentierung. (Instanzsegmentierung)
Wenn Sie neu bei Labelme sind, können Sie mit Labelme Starter loslegen, das Folgendes enthält:
Installationsanleitungen für alle Plattformen: Windows, macOS und Linux?
Schritt-für-Schritt-Anleitungen : Erste Anmerkung zum Bearbeiten, Exportieren und Integrieren in andere Programme?
Eine Zusammenstellung wertvoller Ressourcen für die weitere Erkundung?
Es gibt Optionen:
Plattformunabhängige Installation: Anaconda
Plattformspezifische Installation: Ubuntu, macOS, Windows
Vorgefertigte Binärdateien aus dem Release-Bereich
Sie müssen Anaconda installieren und dann Folgendes ausführen:
# python3conda create --name=labelme python=3source activate labelme# conda install -c conda-forge pyside2# conda install pyqt# pip install pyqt5 # pyqt5 kann über pip auf python3pip install labelme# installiert werden, oder Sie können alles per Conda-Befehl installieren # conda install labelme -c conda-forge
sudo apt-get install labelme# orsudo pip3 install labelme# oder installiere die eigenständige ausführbare Datei von:# https://github.com/labelmeai/labelme/releases# oder installiere von sourcepip3 install git+https://github.com/labelmeai/ Beschrifte mich
brew install pyqt # vielleicht pyqt5pip install labelme# oder installiere eine eigenständige ausführbare Datei/App von:# https://github.com/labelmeai/labelme/releases# oder installiere von sourcepip3 install git+https://github.com/labelmeai/labelme
Installieren Sie Anaconda und führen Sie dann in einem Anaconda Prompt Folgendes aus:
conda create --name=labelme python=3 Conda aktiviert Labelme pip install labelme# oder installiere die eigenständige ausführbare Datei/App von:# https://github.com/labelmeai/labelme/releases# oder installiere von sourcepip3 install git+https://github.com/labelmeai/labelme
Führen Sie labelme --help
aus, um Einzelheiten zu erfahren.
Die Anmerkungen werden als JSON-Datei gespeichert.
labelme # öffne einfach GUI# Tutorial (Einzelbild-Beispiel)CD-Beispiele/Tutorial labelme apc2016_obj3.jpg # Bilddatei angebenlabelme apc2016_obj3.jpg -O apc2016_obj3.json # Fenster nach dem Speichern schließenlabelme apc2016_obj3.jpg --nodata # keine Bilddaten, sondern relativen Bildpfad in JSON einschließen filelabelme apc2016_obj3.jpg --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball # Labelliste angeben# Beispiel für semantische Segmentierungcd examples/semantic_segmentation labelme data_annotated/ # Verzeichnis öffnen, um alle darin enthaltenen Bilder mit Anmerkungen zu versehen. labelme data_annotated/ --labels labels.txt # Labelliste mit einer Datei angeben
--output
gibt den Speicherort an, an den Anmerkungen geschrieben werden. Wenn der Speicherort mit .json endet, wird eine einzelne Anmerkung in diese Datei geschrieben. Es kann nur ein Bild mit Anmerkungen versehen werden, wenn ein Standort mit .json angegeben wird. Wenn der Speicherort nicht mit .json endet, geht das Programm davon aus, dass es sich um ein Verzeichnis handelt. Anmerkungen werden in diesem Verzeichnis unter einem Namen gespeichert, der dem Bild entspricht, auf dem die Anmerkung erstellt wurde.
Wenn Sie labelme zum ersten Mal ausführen, wird eine Konfigurationsdatei in ~/.labelmerc
erstellt. Sie können diese Datei bearbeiten und die Änderungen werden übernommen, wenn Sie labelme das nächste Mal starten. Wenn Sie lieber eine Konfigurationsdatei von einem anderen Speicherort verwenden möchten, können Sie diese Datei mit dem Flag --config
angeben.
Ohne das Flag --nosortlabels
listet das Programm die Labels in alphabetischer Reihenfolge auf. Wenn das Programm mit diesem Flag ausgeführt wird, werden die Beschriftungen in der Reihenfolge angezeigt, in der sie bereitgestellt werden.
Flags werden einem gesamten Bild zugewiesen. Beispiel
Beschriftungen werden einem einzelnen Polygon zugewiesen. Beispiel
Wie konvertiert man eine JSON-Datei in ein Numpy-Array? Siehe Beispiele/Tutorial.
Wie lade ich eine Etiketten-PNG-Datei? Siehe Beispiele/Tutorial.
Wie erhalte ich Anmerkungen für die semantische Segmentierung? Siehe Beispiele/semantische_segmentierung.
Wie erhalte ich Anmerkungen zum Beispiel zur Segmentierung? Siehe Beispiele/instance_segmentation.
Bildklassifizierung
Begrenzungsrahmenerkennung
Semantische Segmentierung
Instanzsegmentierung
Videoanmerkung
Git-Klon https://github.com/labelmeai/labelme.gitcd labelme# Installieren Sie anaconda3 und labelmecurl -L https://github.com/wkentaro/dotfiles/raw/main/local/bin/install_anaconda3.sh | bash -s .source .anaconda3/bin/activate pip install -e .
Nachfolgend wird gezeigt, wie Sie die eigenständige ausführbare Datei unter macOS, Linux und Windows erstellen.
# Condaconda einrichten create --name labelme python=3.9 conda activate labelme# Erstellen Sie die eigenständige ausführbare Dateipip install .pip install 'matplotlib<3.3'pip install pyinstaller pyinstaller labelme.spec dist/labelme --version
Stellen Sie sicher, dass die folgenden Tests in Ihrer Umgebung erfolgreich sind.
Weitere Einzelheiten finden Sie unter .github/workflows/ci.yml
.
pip install -r Anforderungen-dev.txt ruff format --check # `ruff format` zur automatischen Korrekturruff check # `ruff check --fix` zur automatischen KorrekturMPLBACKEND='agg' pytest -vsx tests/
Dieses Repo ist der Fork von mpitid/pylabelme.