Exporter des annotations LabelMe vers YOLO et Ultralytics Platform#
LabelMe est un outil d'annotation d'images hors ligne avec une application Python open-source. Aucune connexion LabelMe en direct ni aucune clé API n'est à configurer dans Ultralytics Platform. L'intégration complète est un flux de travail local : annote, convertis les annotations JSON LabelMe au format YOLO avec le LabelMe Toolkit, puis importe le fichier ZIP obtenu en tant que jeu de données sur la Platform.
1. Annote les images dans LabelMe#
Installe LabelMe à l'aide de l'application de bureau ou du paquet Python open-source, puis ouvre le répertoire contenant tes images. LabelMe enregistre les annotations de chaque image dans un fichier JSON correspondant.
Pour le flux de travail de détection YOLO dans ce guide, trace des rectangles autour de chaque objet et attribue un nom de classe. Le guide de démarrage LabelMe couvre l'ouverture des images, le tracé des formes et l'enregistrement des annotations, tandis que le guide des jeux de données LabelMe couvre l'examen et la préparation d'un jeu de données annoté complet.
Ton répertoire source doit contenir les images et les fichiers JSON de LabelMe :
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Installe le LabelMe Toolkit#
Installe le LabelMe Toolkit en suivant le guide d'installation du kit d'outils de LabelMe. Le kit d'outils et ses exportations s'exécutent localement.
export-to-yolo fait partie du LabelMe Pro Toolkit, et le téléchargement de son programme d'installation nécessite une connexion à LabelMe. Il s'agit d'une exigence du produit LabelMe ; le fichier ZIP obtenu peut être importé sur n'importe quel forfait Platform.
Vérifie l'installation, puis liste toutes les étiquettes trouvées dans le jeu de données source :
labelmetk --version
labelmetk list-labels your_dataset/Examine la sortie avant d'exporter. Les étiquettes omises de --class-names sont ignorées, et l'ordre que tu fournis devient l'ordre des ID de classe YOLO.
3. Exporte au format YOLO#
Exécute export-to-yolo avec le répertoire source et une liste de noms de classes séparés par des virgules :
labelmetk export-to-yolo your_dataset/ --class-names crack,normalRemplace crack,normal par les étiquettes renvoyées par list-labels. LabelMe écrit le résultat dans your_dataset.export/ :
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt conserve les noms de classes dans le même ordre que celui utilisé par les fichiers d'étiquettes YOLO. Garde-le à la racine de l'exportation.
Le LabelMe Toolkit exporte les rectangles sous forme de boîtes englobantes YOLO. Il réduit également les polygones et les masques à leurs boîtes englobantes alignées sur les axes, de sorte que export-to-yolo ne conserve pas la géométrie de segmentation. Dessine des rectangles lors de la préparation d'un jeu de données de détection avec ce flux de travail.
4. Crée l'archive ZIP#
Compresse le contenu de your_dataset.export/, et non le répertoire qui l'entoure. Sur macOS ou Linux :
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsSur Windows PowerShell :
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipOuvre le fichier ZIP avant de l'importer et confirme que classes.txt, images/ et labels/ se trouvent à sa racine. Un emballage supplémentaire your_dataset.export/ empêche la Platform de trouver la liste des classes racines.
5. Importe sur Ultralytics Platform#
- Ouvre Settings > Integrations > LabelMe.
- Clique sur Upload export.
- Importe
your_dataset.zipet termine la création du jeu de données. - Attends que le traitement soit terminé, puis examine les images, les classes et les annotations.
- Modifie les annotations, entraîne un modèle et déploie-le depuis le même espace de travail.

LabelMe et l'exportation YOLO restent entièrement hors ligne. Seul le fichier ZIP que tu sélectionnes dans la boîte de dialogue d'importation est envoyé à la plateforme.
Dépannage#
- Les classes sont nommées
class0,class1, etc. : confirme queclasses.txtest présent à la racine du fichier ZIP. - Certaines annotations sont manquantes : exécute à nouveau
labelmetk list-labels your_dataset/et inclus chaque étiquette requise dans--class-names. - Les polygones sont devenus des boîtes : c'est le comportement documenté de
export-to-yolode LabelMe ; il convertit les formes autres que des rectangles en boîtes englobantes. - Le jeu de données ne contient aucune image : confirme que le répertoire exporté
images/est inclus dans le fichier ZIP. - La Platform ne trouve pas les classes : supprime tout répertoire externe de l'archive afin que
classes.txt,images/etlabels/soient les éléments de premier niveau.
Pour le flux de travail local complet, consulte le guide d'entraînement YOLO de LabelMe et la référence export-to-yolo.