Ultralytics YOLO27 :

Exporter les annotations LabelMe vers YOLO et Ultralytics Platform#

LabelMe est un outil hors ligne d’annotation d’images doté d’une application Python open source. Il n’existe aucune connexion LabelMe en direct ni aucune clé API à configurer dans Ultralytics Platform. L’intégration complète est un flux de travail local : annote dans LabelMe, convertis les annotations JSON de LabelMe au format YOLO avec le LabelMe Toolkit, puis importe le fichier ZIP obtenu comme jeu de données Platform.

1. Annoter les images dans LabelMe#

Installe LabelMe à l’aide de l’application de bureau ou du package Python open source, puis ouvre le répertoire qui contient tes images. LabelMe enregistre les annotations de chaque image dans un fichier JSON correspondant.

Pour le flux de travail de détection YOLO présenté dans ce guide, dessine des rectangles autour de chaque objet et attribue-lui un nom de classe. Le guide de démarrage de LabelMe explique comment ouvrir des images, dessiner des formes et enregistrer les annotations, tandis que le guide des jeux de données LabelMe explique comment examiner et préparer un jeu de données annoté complet.

Ton répertoire source doit contenir les images et les fichiers JSON LabelMe :

your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json

2. Installer le LabelMe Toolkit#

Installe le LabelMe Toolkit en suivant le guide d’installation du toolkit de LabelMe. Le toolkit et ses exports fonctionnent localement.

LabelMe Pro est requis pour l’export

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é avec n’importe quel forfait Platform.

Vérifie l’installation, puis liste toutes les étiquettes présentes dans le jeu de données source :

labelmetk --version
labelmetk list-labels your_dataset/

Vérifie le résultat avant l’export. Les étiquettes omises de --class-names sont ignorées, et l’ordre que tu indiques détermine l’ordre des ID de classe YOLO.

3. Exporter au format YOLO#

Exécute export-to-yolo en indiquant 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,normal

Remplace 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.txt

classes.txt conserve les noms de classe dans le même ordre que celui utilisé par les fichiers d’étiquettes YOLO. Garde-le à la racine de l’export.

Ce flux de travail crée un jeu de données de détection

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 ; export-to-yolo ne conserve donc 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éer l’archive ZIP#

Compresse le contenu de your_dataset.export/, et non le répertoire qui le contient. Sur macOS ou Linux :

cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labels

Sous Windows PowerShell :

Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zip

Ouvre le fichier ZIP avant de l’importer et vérifie que classes.txt, images/ et labels/ se trouvent à sa racine. Un répertoire enveloppe supplémentaire your_dataset.export/ empêche Platform de trouver la liste des classes à la racine.

5. Importer dans Ultralytics Platform#

  1. Ouvre Paramètres > Intégrations > LabelMe.
  2. Clique sur Importer l’export.
  3. Importe your_dataset.zip et termine la création du jeu de données.
  4. Attends la fin du traitement, puis vérifie les images, les classes et les annotations.
  5. Modifie les annotations, entraîne un modèle et déploie-le depuis le même espace de travail.

Importation d’un jeu de données LabelMe dans Ultralytics Platform

LabelMe et l’export YOLO restent entièrement hors ligne. Seul le fichier ZIP que tu sélectionnes dans la boîte de dialogue d’importation est envoyé à Platform.

Dépannage#

  • Les classes portent les noms class0, class1, etc. : vérifie que classes.txt est présent à la racine du ZIP.
  • Certaines annotations sont manquantes : exécute de nouveau labelmetk list-labels your_dataset/ et inclue chaque étiquette requise dans --class-names.
  • Les polygones sont devenus des boîtes : c’est le comportement documenté de export-to-yolo de LabelMe ; il convertit les formes qui ne sont pas des rectangles en boîtes englobantes.
  • Le jeu de données ne contient aucune image : vérifie que le répertoire exporté images/ est inclus dans le ZIP.
  • Platform ne trouve pas les classes : supprime tout répertoire externe de l’archive afin que classes.txt, images/ et labels/ soient les entrées de premier niveau.

Pour découvrir le flux de travail local complet, consulte le guide d’entraînement YOLO de LabelMe et la référence export-to-yolo.

FAQ#

  • Non. LabelMe et l’export s’exécutent localement, et seul le fichier ZIP que tu importes est envoyé à Platform. La commande export-to-yolo fait partie du LabelMe Pro Toolkit, requis par LabelMe, mais le fichier ZIP obtenu peut être importé avec n’importe quel forfait Platform.

  • Pas avec ce flux de travail. Le LabelMe Toolkit réduit les polygones et les masques à leurs boîtes englobantes alignées sur les axes ; le résultat est donc toujours un jeu de données de détection. Dessine des rectangles lors de la préparation des données pour cet export.

  • Platform lit les noms de classe dans classes.txt à la racine du ZIP. Compresse le contenu du dossier d’export, et non le dossier lui-même, afin que classes.txt, images/ et labels/ soient les entrées de premier niveau.

  • Seules les étiquettes transmises à --class-names, dans l’ordre où tu les listes. Exécute d’abord labelmetk list-labels et inclue toutes les étiquettes que tu veux conserver.

Contributeurs

Commentaires