Localisation d’objets dans les fichiers manifestes - Rekognition

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Localisation d’objets dans les fichiers manifestes

Vous pouvez importer des images étiquetées avec des informations de localisation d'objets en ajoutant des lignes JSON au format JSON SageMaker Ground Truth Bounding Box Job Output à un fichier manifeste.

Les informations de localisation représentent l’emplacement d’un objet sur une image. L’emplacement est représenté par un cadre de délimitation qui entoure l’objet en question. La structure du cadre de délimitation contient les coordonnées en haut à gauche du cadre de délimitation ainsi que la largeur et la hauteur de ce dernier. Une ligne JSON au format de cadre de délimitation comprend des cadres de délimitation indiquant les emplacements d’un ou de plusieurs objets sur une image et la classe de chaque objet sur l’image.

Un fichier manifeste est composé d’une ou de plusieurs lignes JSON, chaque ligne contenant les informations relatives à une seule image.

Pour créer un fichier manifeste pour la localisation d’objets
  1. Créez un fichier texte vide.

  2. Ajoutez une ligne JSON pour chaque image que vous souhaitez importer. Chaque ligne JSON doit ressembler à ce qui suit.

    {"source-ref": "s3://bucket/images/IMG_1186.png", "bounding-box": {"image_size": [{"width": 640, "height": 480, "depth": 3}], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101}, {"class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334}]}, "bounding-box-metadata": {"objects": [{ "confidence": 1}, {"confidence": 1}], "class-map": {"0": "Echo", "1": "Echo Dot"}, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2013-11-18T02:53:27", "job-name": "my job"}}
  3. Enregistrez le fichier. Vous pouvez utiliser l’extension .manifest, mais cela n’est pas obligatoire.

  4. Créez un jeu de données à l’aide du fichier que vous venez de créer. Pour plus d’informations, consultez Pour créer un ensemble de données à l'aide d'un fichier manifeste au format SageMaker Ground Truth (console).

Lignes JSON du cadre de délimitation des objets

Dans cette section, nous vous expliquons comment créer une ligne JSON pour une image unique. L’image suivante affiche des cadres de délimitation autour des appareils Amazon Echo et Amazon Echo Dot.

Voici la ligne JSON des cadres de délimitation correspondant à l’image précédente.

{ "source-ref": "s3://custom-labels-bucket/images/IMG_1186.png", "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] }, "bounding-box-metadata": { "objects": [{ "confidence": 1 }, { "confidence": 1 }], "class-map": { "0": "Echo", "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2013-11-18T02:53:27", "job-name": "my job" } }

Notez les informations suivantes.

source-ref

(Obligatoire) Emplacement Amazon S3 de l’image. Le format est "s3://BUCKET/OBJECT_PATH". Les images d’un jeu de données importé doivent être stockées dans le même compartiment Amazon S3.

bounding-box

(Obligatoire) Attribut de l’étiquette. Vous choisissez le nom du champ. Contient la taille de l’image et des cadres de délimitation pour chaque objet détecté dans l’image. Les métadonnées correspondantes doivent être identifiées par le nom du champ, nom auquel vous devez ajouter -metadata. Par exemple, "bounding-box-metadata".

image_size

(Obligatoire) Tableau à élément unique contenant la taille de l’image en pixels.

  • height : (obligatoire) hauteur de l’image, en pixels.

  • width : (obligatoire) profondeur de l’image en pixels.

  • depth : (obligatoire) nombre de canaux dans l’image. Pour les images RVB, la valeur est 3. Pas utilisé actuellement par Étiquettes personnalisées Amazon Rekognition, mais une valeur doit être fournie.

annotations

(Obligatoire) Tableau d’informations relatives au cadre de délimitation pour chaque objet détecté dans l’image.

  • class_id : (obligatoire) correspond à l’étiquette dans class-map. Dans l’exemple précédent, l’objet avec la valeur 1 comme class_id est l’appareil Echo Dot sur l’image.

  • top : (obligatoire) distance entre le haut de l’image et le haut du cadre de délimitation, en pixels.

  • left : (obligatoire) distance entre la gauche de l’image et la gauche du cadre de délimitation, en pixels.

  • width : (obligatoire) largeur du cadre de délimitation, en pixels.

  • height : (obligatoire) hauteur du cadre de délimitation, en pixels.

bounding-box-metadata

(Obligatoire) Métadonnées relatives à l’attribut de l’étiquette. Le nom du champ doit être identique à celui de l’attribut de l’étiquette. La mention -metadata doit être ajoutée à la fin du nom. Tableau d’informations relatives au cadre de délimitation pour chaque objet détecté dans l’image.

Objets

(Obligatoire) Tableau d’objets qui se trouvent dans l’image. Correspond au tableau annotations par index. L’attribut de confiance n’est pas utilisé par Étiquettes personnalisées Amazon Rekognition.

class-map

(Obligatoire) Mappage des classes qui s’appliquent aux objets détectés dans l’image.

type

(Obligatoire) Type de tâche de classification. "groundtruth/object-detection" identifie la tâche en tant que détection d’objets.

creation-date

(Obligatoire) Date et heure UTC (Coordinated Universal Time) de création de l’étiquette.

human-annotated

(Obligatoire) Spécifiez "yes" si l’annotation a été complétée par un humain. Sinon, spécifiez "no".

job-name

(Facultatif) Nom de la tâche qui traitera l’image.