Guide de démarrage | Installation | Utilisation | Exemples
Labelme est un outil d'annotation d'images graphique inspiré de http://labelme.csail.mit.edu.
Il est écrit en Python et utilise Qt pour son interface graphique.
Exemple d'ensemble de données VOC de segmentation d'instance.
Autres exemples (segmentation sémantique, détection de bbox et classification).
Diverses primitives (polygone, rectangle, cercle, ligne et point).
Annotation d'image pour polygone, rectangle, cercle, ligne et point. (tutoriel)
Annotation du drapeau d'image pour la classification et le nettoyage. (#166)
Annotation vidéo. (annotation vidéo)
Personnalisation de l'interface graphique (étiquettes/drapeaux prédéfinis, sauvegarde automatique, validation des étiquettes, etc.). (#144)
Exportation d'un ensemble de données au format VOC pour la segmentation sémantique/instance. (segmentation sémantique, segmentation d'instance)
Exportation d'un ensemble de données au format COCO pour la segmentation des instances. (segmentation des instances)
Si vous êtes nouveau sur Labelme, vous pouvez commencer avec Labelme Starter, qui contient :
Guides d'installation pour toutes les plateformes : Windows, macOS et Linux ?
Tutoriels pas à pas : première annotation pour l'édition, l'exportation et l'intégration avec d'autres programmes ?
Une compilation de ressources précieuses pour une exploration plus approfondie ?.
Il existe des options :
Installation indépendante de la plate-forme : Anaconda
Installation spécifique à la plateforme : Ubuntu, macOS, Windows
Fichiers binaires pré-construits à partir de la section des versions
Vous devez installer Anaconda, puis exécuter ci-dessous :
# python3conda create --name=labelme python=3source activate labelme# conda install -c conda-forge pyside2# conda install pyqt# pip install pyqt5 # pyqt5 peut être installé via pip sur python3pip install labelme# ou vous pouvez tout installer par commande conda # conda install labelme -c conda-forge
sudo apt-get install labelme# ou sudo pip3 install labelme# ou installez l'exécutable autonome à partir de :# https://github.com/labelmeai/labelme/releases# ou installez à partir de sourcepip3 installez git+https://github.com/labelmeai/ labelme
Brew install pyqt # peut-être pyqt5pip install labelme# ou installe un exécutable/une application autonome à partir de :# https://github.com/labelmeai/labelme/releases# ou installe à partir de sourcepip3 install git+https://github.com/labelmeai/labelme
Installez Anaconda, puis dans une invite Anaconda, exécutez :
conda create --name=labelme python=3 conda activer labelme pip install labelme# ou installez l'exécutable/l'application autonome à partir de :# https://github.com/labelmeai/labelme/releases# ou installez à partir de la sourcepip3 installez git+https://github.com/labelmeai/labelme
Exécutez labelme --help
pour plus de détails.
Les annotations sont enregistrées sous forme de fichier JSON.
labelme # il suffit d'ouvrir le tutoriel gui# (exemple d'image unique)exemples/tutoriel cd labelme apc2016_obj3.jpg # spécifie le fichier imagelabelme apc2016_obj3.jpg -O apc2016_obj3.json # ferme la fenêtre après le savelabelme apc2016_obj3.jpg --nodata # n'inclut pas les données d'image mais le chemin relatif de l'image dans JSON filelabelme apc2016_obj3.jpg --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball # spécifier la liste d'étiquettes# exemple de segmentation sémantiquecd exemples/semantic_segmentation labelme data_annotated/ # Ouvrir le répertoire pour annoter toutes les images qu'il contient labelme data_annotated/ --labels labels.txt # spécifier la liste des étiquettes avec un fichier
--output
spécifie l'emplacement dans lequel les annotations seront écrites. Si l'emplacement se termine par .json, une seule annotation sera écrite dans ce fichier. Une seule image peut être annotée si un emplacement est spécifié avec .json. Si l'emplacement ne se termine pas par .json, le programme supposera qu'il s'agit d'un répertoire. Les annotations seront stockées dans ce répertoire avec un nom qui correspond à l'image sur laquelle l'annotation a été faite.
La première fois que vous exécuterez labelme, cela créera un fichier de configuration dans ~/.labelmerc
. Vous pouvez modifier ce fichier et les modifications seront appliquées la prochaine fois que vous lancerez labelme. Si vous préférez utiliser un fichier de configuration provenant d'un autre emplacement, vous pouvez spécifier ce fichier avec l'indicateur --config
.
Sans l'indicateur --nosortlabels
, le programme listera les étiquettes par ordre alphabétique. Lorsque le programme est exécuté avec cet indicateur, il affichera les étiquettes dans l'ordre dans lequel elles sont fournies.
Les drapeaux sont attribués à une image entière. Exemple
Les étiquettes sont attribuées à un seul polygone. Exemple
Comment convertir un fichier JSON en tableau numpy ? Voir exemples/tutoriel.
Comment charger le fichier PNG d’étiquette ? Voir exemples/tutoriel.
Comment obtenir des annotations pour la segmentation sémantique ? Voir exemples/segmentation_sémantique.
Comment obtenir des annotations pour la segmentation d'instance ? Voir exemples/instance_segmentation.
Classement des images
Détection de la boîte englobante
Segmentation sémantique
Segmentation des instances
Annotations vidéo
git clone https://github.com/labelmeai/labelme.gitcd labelme# Installez anaconda3 et labelmecurl -L https://github.com/wkentaro/dotfiles/raw/main/local/bin/install_anaconda3.sh | bash -s .source .anaconda3/bin/activate pip install -e .
Vous trouverez ci-dessous comment créer l'exécutable autonome sur macOS, Linux et Windows.
# Configuration de condaconda create --name labelme python=3.9 conda activate labelme# Construire l'exécutable autonomepip install .pip install 'matplotlib<3.3'pip install pyinstaller pyinstaller labelme.spec dist/labelme --version
Assurez-vous que le test ci-dessous réussit sur votre environnement.
Voir .github/workflows/ci.yml
pour plus de détails.
pip install -r exigences-dev.txt ruff format --check # `ruff format` pour corriger automatiquementruff check # `ruff check --fix` pour auto-fixMPLBACKEND='agg' pytest -vsx tests/
Ce dépôt est le fork de mpitid/pylabelme.