RekognitionConnector
Accède au service de vision par ordinateur Amazon Rekognition Service AI pour détecter des objets, visages et textes dans des images et pour décrire le contenu et les visages de l'image.
Utilisations typiques
- Soumettre des images au service Amazon AWS Rekognition pour :
- Décrire des objets individuels
- décrire le contenu général
- extraire de petites quantités de texte
- détecter des visages et descriptions faciales dans une image
- détecter un contenu adulte explicite ou suggestif dans une image
- détecter les EPI (Equipements de Protection Individuelle, ou PPE - Personal Protective Equipment) dans une image
Comment fonctionne-t-il ?
RekognitionConnector utilise vos identifiants de compte Amazon AWS (soit via une connexion web précédemment définie soit en paramétrant une nouvelle connexion web directement depuis le Transformer) pour accéder au service de vision par ordinateur.
Il soumet des images au service et renvoie des entités avec des attributs qui décrivent le contenu de l'image. La détection d'objets, la détection de texte et la détection de visages peuvent être effectuées.
- Pour la détection d'objet, si le service est capable d'identifier l'emplacement exact de l'objet de l'image, une géométrie de rectangle englobant sera aussi renvoyée.
- Les détections de texte et de visage renverront toujours un rectangle englobant autour du texte ou du visage détecté.
- La modération d'image renverra l'entité en entrée avec des étiquettes de modération ajoutées lorsqu'un contenu non-sécurisé est détecté.
Chaque image en entrée peut générer plusieurs entités en sortie.
Notes
- Pour une meilleure performance, les demandes au service Rekognition sont faites en parallèle, et sont retournées dès qu'elles sont terminées. Par conséquent, les résultats de la détection ne seront pas renvoyés dans le même ordre que les demandes qui leur sont associées.
-
RekognitionConnector est capable d'extraire jusqu'à 50 mots par image lors de la détection de texte. Il n'est donc pas adapté à la détection de pages entières de texte, comme dans un document numérisé.
- Bien que puissante, l'utilisation de l'IA a d'importantes implications juridiques et éthiques. Consultez votre législation locale en matière d'IA et les directives éthiques avant d'appliquer le RekognitionConnector dans un environnement de production.
- Pour un aperçu global des capacités et limites de Rekognition, veuillez vous référer à la FAQ d'Amazon : https://aws.amazon.com/rekognition/the-facts-on-facial-recognition-with-artificial-intelligence
Configuration
Ports en entrée
Ce Transformer accepte n'importe quelle entité. Les géométries rasters peuvent être utilisées comme entrée si "Géométrie raster" est sélectionné comme source d'image. L'image raster sera téléchargée vers le service au format JPEG si possible, sinon le format PNG sera utilisé. Le service ne supporte pas directement d'autres formats rasters. Notez que le RekognitionConnector ne supporte pas les systèmes de coordonnées.
Ports de sortie
Les résultats dépendront de l'analyse choisie. Chaque entité d'entrée peut donner lieu à plusieurs entités de sortie. Par exemple, une seule image est susceptible de contenir plusieurs objets détectables.
Détection d'objets
Les objets identifiés avec succès donneront lieu à des entités de sortie avec des attributs décrivant les objets. Une géométrie de la boîte de délimitation sera également renvoyée, avec une valeur de confiance distincte. Chaque image d'entrée peut donner lieu à plusieurs entités de détection.
Si vous utilisez un fichier local ou une géométrie raster en entrée, la boîte englobante est exprimée en pixels et s'aligne sur l'entrée. Lors de l'utilisation d'un fichier sur S3, la taille de l'image n'étant pas connue, le rectangle de délimitation de sortie sera exprimé en termes de ratio de l'image d'origine. Par exemple, si un objet occupe un quart de l'image, la boîte englobante aura une taille de 0,5 par 0,5.
Attributs
_detection_label |
Un mot ou une courte phrase décrivant le contenu de l'image. Les étiquettes peuvent être des descripteurs généraux de l'image ou faire référence à des instances identifiables dans l'image. Par exemple, une étiquette "Végétation" sans boîte englobante indique qu'il y a des plantes quelque part dans l'image. Une étiquette "Abies" avec une boîte englobante peut indiquer qu'il y a un sapin dans le coin supérieur gauche. |
_confidence | Un nombre entre 0 et 1 qui indique la probabilité qu'une prédiction donnée soit correcte. Pour plus d'informations sur la confiance, consultez les FAQ d'Amazon Rekognition : https://aws.amazon.com/rekognition/faqs. |
_bounding_box_confidence | Une valeur entre 0 et 1 qui indique la probabilité que le rectangle englobant spécifique pour un objet détecté est correct. |
_parent_label{} | Une liste d'étiquettes hiérarchiquement supérieures. Par exemple, si "Helicopter" est détecté, les étiquettes parentes peuvent être "Aircraft", "Vehicle" et "Transportation". |
Détection de texte
Un texte identifié avec succès donnera lieu à des entités de sortie avec des attributs décrivant le texte. Les entités seront produites pour les lignes de texte, et pour les mots individuels de chaque ligne. Chaque entité aura une boîte de délimitation pour la ligne ou le mot.
Si vous utilisez un fichier local ou une géométrie raster en entrée, la boîte englobante est exprimée en pixels et s'aligne sur l'entrée. Lorsque vous utilisez un fichier sur S3, la taille de l'image n'est pas connue. Le rectangle de délimitation de sortie sera donc exprimé en termes de ratio de l'image d'origine. Par exemple, si une ligne de texte occupe 80 % de la largeur de l'image, la boîte englobante aura une largeur de 0,8.
Attributs
_text | Le texte détecté dans la ligne ou le mot. |
_confidence | Un nombre entre 0 et 1 qui indique la probabilité qu'une chaîne de texte donnée soit correcte. Pour plus d'informations sur la confiance, consultez les FAQ d'Amazon Rekognition : https://aws.amazon.com/rekognition/faqs |
_type |
Le type de texte détecté. Les lignes sont des sections de texte qui sont alignées sur le même axe horizontal. Les phrases peuvent être réparties sur plusieurs lignes. Les mots sont des sections de texte séparées par des espaces, et sont associés à des lignes parentes. Options : LINE, WORD |
_id | Le numéro identifiant l'entité. Si l'entité représente une ligne de texte, l'identifiant est unique dans l'image. Si l'entité représente un mot, l'identifiant est unique dans la ligne mère. |
_parent_id | La valeur _id de la ligne où est le mot. La valeur est nulle pour les lignes. |
Détection de visage
Les visages identifiés avec succès donneront lieu à des entités de sortie avec des attributs décrivant le visage. Chaque entité aura une boîte de délimitation pour le visage. En option, les "points de repère" du visage, tels que le "nez", le "menton" ou la "ligne médiane de la mâchoire" seront également ajoutés en tant que géométries de points supplémentaires sur l'entité.
Si vous utilisez un fichier local ou une géométrie raster en entrée, la boîte englobante est exprimée en pixels et s'aligne sur l'entrée. Lors de l'utilisation d'un fichier sur S3, la taille de l'image n'étant pas connue, le rectangle de délimitation de sortie sera exprimé en termes de ratio de l'image d'origine. Par exemple, si un objet occupe un quart de l'image, la boîte englobante aura une taille de 0,5 par 0,5.
Attributs
De nombreux attributs pour la détection des visages ont une valeur et une confiance associée. Ceci est indiqué par deux attributs, sous la forme _characteristic.value et _characteristic.confidence. La confiance est comprise entre 0 et 1. Sauf indication contraire, toutes les caractéristiques détectées prennent cette forme.
_age_range |
L'âge estimé du sujet. Il n'y a pas de valeur de confiance explicite pour la fourchette d'âge. Une fourchette plus petite indique une plus grande confiance dans l'estimation.
|
_beard | Si le sujet a ou non une barbe. |
_confidence | La confiance globale que l'entité détectée est un visage humain. |
_eyeglasses | Si le sujet porte ou non des lunettes. |
_eyes_open | Si les yeux du sujet sont ouverts. |
_gender | Si le sujet est un homme ou une femme. |
_mouth_open | Si la bouche du sujet est ouverte. |
_mustache | Si le sujet a une moustache. |
_pose |
Il n'y a pas de valeurs de confiance associées avec cette caractéristique. |
_quality |
Il n'y a pas de valeurs de confiance associées avec cette caractéristique. |
_smile | Si le sujet sourit. |
_sunglasses | Si le sujet porte des lunettes de soleil. |
Modération d'image
Aucune entité ne sera renvoyé via le port Output lors d'une modération d'image.
Détection des EPI
Les objets identifiés avec succès donneront lieu à des entités de sortie avec des attributs décrivant les objets. Une géométrie de la boîte de délimitation sera également renvoyée, avec une valeur de confiance distincte. Chaque image d'entrée peut donner lieu à plusieurs entités de détection.
Attributs
_confidence |
Le score de confiance entre 0 et 1 que l'objet EPI est détecté. |
_detection_type |
Le type d'EPI détecté, tel que FACE_COVER. |
_covers_body_part |
Une valeur booléenne indiquant si l'EPI couvre une partie du corps. |
_covers_body_part_confidence |
Le score de confiance entre 0 et 1 que l'objet EPI couvre la partie du corps. |
_bouding_box_confidence |
Le score de confiance entre 0 et 1 que le rectangle de délimitation de l'EPI est exact. |
La sortie dépendra de l'analyse choisie. Une seule entité de résumé de sortie sera produite par entité d'entrée.
Détection d'objets
Une entité de résumé avec la géométrie et les attributs d'origine préservés sera toujours produite par le port Résumé. Des attributs seront ajoutés pour indiquer les étiquettes qui s'appliquent à l'image en général, et non à une zone spécifique.
Attributs
_detection_labels{}.confidence | Un nombre entre 0 et 1 qui indique la probabilité qu'une étiquette donnée soit correcte. Pour plus d'informations sur la confiance, consultez les FAQ d'Amazon Rekognition : https://aws.amazon.com/rekognition/faqs. |
_detection_labels{}.name | Un mot ou une phrase décrivant le contenu de l'image. |
_detection_labels{}.parent | Pour le descripteur dans _labels{n}.name, _labels{n}.parent contiendra une liste de descripteurs parent séparés par des virgules. |
Détection de texte
Une entité de résumé avec la géométrie et les attributs originaux préservés sera toujours produite par le port Résumé. Des attributs seront ajoutés pour indiquer le nombre de lignes et de mots détectés.
Attributs
_detected_words | Le nombre de mots qui sont détectés dans l'image. |
_detected_lines | Le nombre de lignes de texte qui sont détectées dans l'image. |
Détection de visage
Une entité de résumé avec la géométrie et les attributs originaux préservés sera toujours produite par le port Résumé. Des attributs seront ajoutés pour indiquer le nombre de faces détectées.
Attributs
_detected_faces | Le nombre de visages qui sont détectés dans l'image. |
Modération d'image
Une entité de résumé avec la géométrie et les attributs originaux préservés sera toujours produite par le port Résumé. Si un contenu dangereux est détecté, des attributs de liste seront ajoutés pour indiquer quel type de contenu à risque a été trouvé.
Attributs
_safe_image |
Une valeur booléenne (oui/non) indique si l'image est sûre, dans la valeur de confiance spécifiée. Par exemple, si le niveau de confiance a été fixé à 0,95 et que l'image est jugée sûre, cela signifie qu'aucune étiquette de modération n'a pu être détectée avec un score de confiance d'au moins 0,95. |
_moderation_labels{}.confidence | Un nombre entre 0 et 1 qui indique la probabilité qu'une étiquette de modération donnée soit correcte. Pour plus d'informations sur la confiance, consultez les FAQ d'Amazon Rekognition : https://aws.amazon.com/rekognition/faqs. |
_moderation_labels{}.name |
Une phrase indiquant le type de contenu à risque. Il existe plusieurs catégories de premier niveau que le service détecte. Au sein de chaque catégorie, il existe des sous-catégories qui peuvent également apparaître dans cette liste.
|
_moderation_labels{}.parent | Si la liste d'objets pour _labels{n}.name est une sous-catégorie, _labels{n}.parent contiendra sa catégorie parente. |
Détection des EPI
Une entité de résumé avec la géométrie et les attributs d'origine préservés sera toujours produite par le port Résumé. Des attributs seront ajoutés pour indiquer les étiquettes qui s'appliquent à l'image en général, et non à une zone spécifique.
Attributs
_person_count |
Le nombre total de personnes |
_ppe_count |
Le nombre total d'équipements EPI |
L'entité entrante ressort par ce port.
Les entités qui provoquent l'échec de l'opération ressortent par ce port. Un attribut fme_rejection_code, ayant la valeur ERROR_DURING_PROCESSING, sera ajouté, ainsi qu'un attribut fme_rejection_message plus descriptif qui contient des détails plus spécifiques sur la raison de l'échec.
Note: Si une entité arrive dans RekognitionConnector en ayant déjà une valeur pour fme_rejection_code, cette valeur sera supprimée.
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
Paramètres
Source des identifiants |
RekognitionConnector peut utiliser des informations d'identification provenant de différentes sources. L'utilisation d'une connexion web s'intègre mieux avec FME, mais dans certains cas, vous pouvez souhaiter utiliser l'une des autres sources.
|
Compte |
Disponible lorsque la source d'accréditation est une connexion Web. Pour créer une connexion Rekognition, cliquez sur le menu déroulant "Compte" et sélectionnez "Ajouter une connexion Web...". La connexion pourra ensuite être gérée via Outils -> Options FME... -> Connexions Web. |
Région | La région AWS par laquelle vous souhaitez accéder à Rekognition. Pour optimiser la latence, la meilleure pratique consiste à spécifier la région correcte. |
Clé d'accès et Clé d'accès secrète | Disponible lorsque la source d'accréditation est Intégrée. Un ID de clé d'accès et une clé d'accès secrète peuvent être spécifiés directement dans le Transformer au lieu d'une connexion web. |
Image Source |
Où obtenir l'image d'entrée pour la détection. Les options sont les suivantes :
|
Nom du fichier en entrée | Si Fichier est sélectionné pour l'image source, le chemin du fichier JPEG ou PNG à utiliser |
Compartiment/clé | Si Fichier sur S3 est sélectionné pour l'image source, le chemin sur S3 à utiliser |
Action |
Le type d'opération à effectuer. Les choix possibles sont :
|
Les autres paramètres disponibles dépendent de la valeur du paramètre Requête > Action. Les paramètres de chaque action sont détaillés ci-dessous.
Confiance minimum (0.0-1.0) |
Le plus bas niveau de confiance de détection à inclure dans les résultats. |
Nombre maximum d'objets |
Le nombre maximum d'objets (étiquettes) à détecter par image fournie. |
La détection ne texte ne requiert aucun paramètre additionnel.
Générer les points de repères faciaux |
Oui : les entités en sortie auront une géométrie agrégée consistant en polygones de rectangles englobants et de points indiquant les "points de repère" faciaux. Pour plus d'informations sur les points de repère, voir https://docs.aws.amazon.com/rekognition/latest/dg/faces-detect-images.html pour une illustration des points de repère disponibles. Le nom géométrique de ces points sera un descripteur du point de repère, tel que "nose" ou "chinBottom". Non : les entités en sortie auront une géométrie polygonale uniquement pour le rectangle englobant. |
Confiance minimum (0.0-1.0) |
Le plus bas niveau de confiance de détection à inclure dans les résultats. |
La détection EPI ne nécessite pas de paramètres supplémentaires.
Éditer les paramètres des Transformers
À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments du traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.
Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres d'espace de travail. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au projet peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
Références
Comportement |
|
Stockage des entités |
Non |
Dépendances | Compte Amazon AWS avec accès à Rekognition |
Alias | AmazonAWSRekognitionConnector |
Historique | Implémenté dans FME 2019.2 |
FME Community
FME Community iest l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.
Rechercher tous les résultats sur ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.