Points de contrôle
Create an API Key
/ 25
Upload an Image to a Cloud Storage bucket
/ 25
Upload an image for Face Detection to your bucket
/ 25
Upload an image for Landmark Annotation to your bucket
/ 25
Détecter des thèmes, des visages et des points de repère dans des images grâce à l'API Cloud Vision
- GSP037
- Présentation
- Avant de commencer l'atelier
- Tâche 1 : Créer une clé API
- Tâche 2 : Importer une image dans un bucket Cloud Storage
- Tâche 3 : Créer votre requête
- Tâche 4 : Détecter les thèmes
- Tâche 5 : Détecter sur le Web
- Tâche 6 : Détecter des visages
- Tâche 7 : Annoter des points de repère
- Tâche 8 : Localiser des objets
- Tâche 9 : Découvrir les autres méthodes de l'API Vision
- Félicitations !
GSP037
Présentation
L'API Cloud Vision est un service cloud qui permet d'analyser des images et d'en extraire des informations. Il peut servir à détecter des objets, des visages et du texte dans des images. L'API Cloud Vision encapsule des modèles de machine learning performants dans une API REST facile à utiliser pour vous permettre de comprendre le contenu d'une image.
Dans cet atelier, vous allez envoyer des images à l'API Cloud Vision afin qu'elle y détecte des objets, des visages et des points de repère.
Points abordés
- Créer une requête API Cloud Vision et appeler l'API avec
curl
- Utiliser les méthodes de détection de thèmes, de visages et de points de repère de l'API
Avant de commencer l'atelier
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :
- Le bouton Ouvrir la console Google Cloud
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte. -
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}} Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}} Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés. -
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
- Cliquez sur Activer Cloud Shell en haut de la console Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
-
Cliquez sur Autoriser.
-
Vous devez à présent obtenir le résultat suivant :
Résultat :
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Créer une clé API
Étant donné que vous utiliserez curl
pour envoyer une requête à l'API Vision, vous devrez générer une clé API pour transmettre l'URL de votre requête.
-
Pour créer une clé API, dans la console Cloud, accédez au menu de navigation, puis cliquez sur API et services > Identifiants.
-
Cliquez sur Créer des identifiants et sélectionnez Clé API.
- Ensuite, copiez la clé que vous venez de générer, puis cliquez sur Fermer.
Cliquez sur Vérifier ma progression ci-dessous pour valider votre progression dans l'atelier.
Enregistrez la clé API dans une variable d'environnement pour éviter d'avoir à insérer sa valeur dans chaque requête.
- Dans Cloud Shell, exécutez la commande suivante pour définir l'ID de votre projet en tant que variable d'environnement :
Tâche 2 : Importer une image dans un bucket Cloud Storage
Vous disposez de deux méthodes pour envoyer à l'API Cloud Vision une image à analyser : envoyer une chaîne d'image encodée en base64 ou transmettre l'URL d'un fichier stocké dans Cloud Storage.
Vous allez utiliser une URL Cloud Storage. La première étape consiste à créer un bucket Cloud Storage pour stocker les images.
-
Dans le menu de navigation, sélectionnez Cloud Storage > Buckets. À côté de Buckets, cliquez sur Créer.
-
Attribuez un nom unique au bucket :
-bucket. -
Cliquez ensuite sur Choisissez comment contrôler l'accès aux objets.
-
Décochez la case Appliquer la protection contre l'accès public sur ce bucket et sélectionnez Ultraprécis.
Vous pouvez conserver les autres paramètres par défaut du bucket.
- Cliquez sur Créer.
Importer une image dans votre bucket
- Effectuez un clic droit sur l'image suivante représentant des beignets, puis cliquez sur Enregistrer l'image sous pour l'enregistrer sur votre ordinateur sous le nom beignets.png.
- Accédez au bucket que vous venez de créer, cliquez sur IMPORTER DES FICHIERS, puis sélectionnez beignets.png.
Le fichier devrait apparaître dans votre bucket.
À présent, vous devez rendre l'image accessible au public.
- Cliquez sur le menu à trois points associé à l'image, puis sélectionnez Modifier l'accès.
-
Cliquez sur Ajouter une entrée, puis renseignez les champs comme suit :
- Entité : Publique
- Nom : allUsers
- Access: Reader
-
Cliquez sur Enregistrer.
Maintenant que le fichier est dans votre bucket, vous pouvez créer une requête API Cloud Vision afin de transmettre l'URL de cette image de beignets à l'API.
Cliquez sur Vérifier ma progression ci-dessous pour valider votre progression dans l'atelier.
Tâche 3 : Créer votre requête
Créez un fichier request.json
dans Cloud Shell.
- Ouvrez l'éditeur de code Cloud Shell en cliquant sur l'icône en forme de crayon dans le ruban Cloud Shell
ou l'éditeur de ligne de commande de votre choix (nano
, vim
ou emacs
), puis créez un fichier request.json
.
- Saisissez ou collez le code suivant dans le fichier :
my-bucket-name
par le nom de votre bucket de stockage.
- Enregistrez le fichier.
Tâche 4 : Détecter les thèmes
La première fonctionnalité de l'API Cloud Vision que vous allez utiliser est la détection de thèmes. Cette méthode renverra une liste de thèmes (mots) décrivant le contenu de votre image.
- Appelez l'API Cloud Vision avec
curl
:
La réponse doit en principe ressembler à ceci :
L'API a réussi à identifier le type de beignet représenté, à savoir des beignets au sucre. C'est parfait ! Pour chaque thème identifié, l'API Vision renvoie les informations suivantes :
-
description
: nom de l'élément. -
score
: nombre compris entre 0 et 1 représentant l'indice de confiance de la correspondance entre la description et ce qui est représenté sur l'image. -
mid
: valeur associée à la clémid
de l'élément dans le service Knowledge Graph de Google. Pour obtenir davantage d'informations sur l'élément, vous pouvez utiliser la clémid
lorsque vous appelez l'API Knowledge Graph.
Tâche 5 : Détecter sur le Web
L'API Cloud Vision peut rechercher d'autres détails concernant l'image sur Internet, en plus des thèmes qui y sont représentés. Ainsi, la méthode WebDetection de l'API vous permet d'obtenir de nombreuses informations intéressantes :
- Liste des entités identifiées dans l'image à partir du contenu de pages montrant des images semblables
- URL d'images trouvées sur le Web qui correspondent exactement ou partiellement à la vôtre, accompagnées des URL de ces pages
- URL d'images semblables (comme dans le cas d'une recherche effectuée à l'aide d'une image)
Pour essayer la détection sur le Web, utilisez la même image de beignets que précédemment en modifiant une ligne du fichier request.json
(vous pouvez également vous aventurer dans l'inconnu en utilisant une image totalement différente).
- Modifiez le fichier
request.json
en remplaçant la valeur de l'attribut type (LABEL_DETECTION
) parWEB_DETECTION
dans la liste des fonctionnalités. Le fichierrequest.json
doit ressembler à ceci :
-
Enregistrez le fichier.
-
Pour l'envoyer à l'API Cloud Vision, exécutez la même commande
curl
que précédemment, en appuyant sur la flèche vers le haut dans Cloud Shell :
- Examinons à présent la réponse, à commencer par
webEntities
. Voici quelques-unes des entités renvoyées par cette image :
Cette image a été utilisée dans de nombreuses présentations relatives aux API Cloud ML. C'est la raison pour laquelle l'API a trouvé les entités "Machine learning" et "Google Cloud Platform".
Si vous examinez les URL sous fullMatchingImages
, partialMatchingImages
et pagesWithMatchingImages
, vous noterez que nombre d'entre elles pointent vers le site de cet atelier (CQFD !).
Supposons que vous souhaitiez trouver d'autres images de beignets, mais pas exactement les mêmes. C'est là que la partie visuallySimilarImages
de la réponse de l'API s'avère pratique. Voici quelques-unes des images visuellement semblables à la vôtre qu'elle a trouvées :
Vous pouvez accéder à ces URL pour afficher les images semblables à la vôtre :
À présent, vous avez probablement très envie d'un beignet au sucre (désolé). Cette méthode revient à effectuer une recherche à l'aide d'une image sur Google Images.
Avec Cloud Vision, vous pouvez accéder à cette fonction via une API REST simple à utiliser, et l'intégrer dans vos applications.
Tâche 6 : Détecter des visages
Nous allons maintenant découvrir les méthodes de détection de visages de l'API Vision.
Cette méthode renvoie des données sur les visages détectés dans une image, y compris les émotions et où ils se trouvent sur l'image.
Importer une nouvelle image
Pour utiliser cette méthode, vous allez importer une nouvelle image comportant des visages dans le bucket Cloud Storage.
- Effectuez un clic droit sur l'image suivante, cliquez sur Enregistrer l'image sous, puis enregistrez-la sur votre ordinateur sous le nom selfie.png.
- Importez maintenant cette image dans votre bucket Cloud Storage comme expliqué précédemment, puis rendez-la publique.
Cliquez sur Vérifier ma progression ci-dessous pour valider votre progression dans l'atelier.
Modifier le fichier de requête
- Ensuite, modifiez le fichier
request.json
avec le code ci-dessous qui inclut l'URL de la nouvelle image et utilise la détection de visages et de points de repère, au lieu de la détection de thèmes. Veillez à remplacer my-bucket-name par le nom de votre bucket Cloud Storage :
- Enregistrez le fichier.
Appeler l'API Vision et analyser la réponse
- Vous pouvez maintenant appeler l'API Vision avec la même commande
curl
que précédemment :
- Examinez l'objet
faceAnnotations
dans la réponse. Vous remarquerez que l'API renvoie un objet pour chaque visage trouvé dans l'image, trois dans le cas présent. Voici une version abrégée de la réponse :
-
boundingPoly
donne les coordonnées x et y autour du visage figurant sur l'image. -
fdBoundingPoly
est une zone plus petite queboundingPoly
, qui représente la partie du visage couverte de peau. -
landmarks
est un tableau d'objets représentant différentes caractéristiques du visage, dont certaines que vous ne connaissiez même pas. Cela nous indique le type de point de repère et la position en trois dimensions de cette caractéristique (coordonnées x, y et z), z correspondant à la profondeur. Les autres valeurs donnent des indications supplémentaires sur le visage, comme la probabilité d'exprimer la joie, la tristesse, la colère et la surprise.
La réponse que vous lisez correspond à la personne située au troisième plan de l'image, qui fait une sorte de grimace, ce qui explique la valeur LIKELY
attribuée à la probabilité d'exprimer la joie (joyLikelihood
).
Tâche 7 : Annoter des points de repère
Cette fonctionnalité permet d'identifier des points de repère plus ou moins connus. Elle renvoie le nom du point de repère, sa latitude et sa longitude, ainsi que son emplacement dans une image.
Importer une nouvelle image
Pour utiliser cette méthode, vous allez importer une nouvelle image dans le bucket Cloud Storage.
- Effectuez un clic droit sur l'image suivante, cliquez sur Enregistrer l'image sous, puis enregistrez-la sur votre ordinateur sous le nom ville.png.
Citation : cathédrale Saint-Basile, Moscou, Russie (15 décembre 2017) par Nikolay Vorobyev sur la médiathèque Unsplash libre de droits. Image tirée de https://unsplash.com/photos/jaH3QF46gAY. Fichier sous licence Unsplash.
- Importez maintenant cette image dans votre bucket Cloud Storage comme expliqué précédemment, puis rendez-la publique.
Cliquez sur Vérifier ma progression ci-dessous pour valider votre progression dans l'atelier.
Modifier le fichier de requête
- Modifiez ensuite le fichier
request.json
avec le code ci-dessous qui inclut l'URL de la nouvelle image et utilise la détection de points de repère. Veillez à remplacer my-bucket-name par le nom de votre bucket Cloud Storage :
Appeler l'API Vision et analyser la réponse
- Vous pouvez maintenant appeler l'API Vision avec la même commande
curl
que précédemment :
- Examinez la partie
landmarkAnnotations
de la réponse :
L'API Cloud Vision a pu identifier l'endroit où la photo a été prise et indique les coordonnées géographiques de ce lieu (cathédrale Saint-Basile sur la Place Rouge, Moscou, Russie).
Les valeurs fournies dans cette réponse devraient être semblables à celles de la réponse labelAnnotations
ci-dessus :
- La clé
mid
du point de repère - Son nom (
description
) - Un indice de confiance
score
-
boundingPoly
désigne la zone de l'image dans laquelle le point de repère a été identifié. - La clé
locations
indique les coordonnées (latitude et longitude) du lieu où la photo a été prise.
Tâche 8 : Localiser des objets
L'API Vision peut détecter et extraire plusieurs objets d'une image grâce à la localisation d'objets. Cette fonctionnalité identifie plusieurs objets dans une image et fournit une valeur LocalizedObjectAnnotation pour chacun d'eux. Chaque valeur LocalizedObjectAnnotation
indique des informations sur l'objet, sa position et les limites rectangulaires de la zone de l'image qui le contient.
La localisation d'objets identifie à la fois les objets importants et ceux qui le sont moins.
Les informations sur les objets ne sont renvoyées qu'en anglais. Cloud Translation peut traduire les thèmes en anglais dans plusieurs autres langues.
Pour mettre en application cette méthode, vous allez utiliser une image disponible sur Internet et modifier le fichier request.json
.
Modifier le fichier de requête
- Modifiez le fichier
request.json
avec le code ci-dessous qui inclut l'URL de la nouvelle image et utilise la localisation d'objets.
Appeler l'API Vision et analyser la réponse
- Vous pouvez maintenant appeler l'API Vision avec la même commande
curl
que précédemment :
- Examinez ensuite la partie
localizedObjectAnnotations
de la réponse :
Comme vous pouvez le voir, l'API Vision a pu déterminer que cette image contient une bicyclette et une roue de bicyclette. Les valeurs fournies dans cette réponse doivent être semblables à celles de la réponse labelAnnotations
ci-dessus. Il s'agit de la clé mid
et du nom (name
) de l'objet, du score
de confiance et de l'attribut boundingPoly
qui indique la zone de l'image où l'objet a été identifié.
En outre, boundingPoly
est associé à une clé normalizedVertices
, qui indique les coordonnées de l'objet dans l'image. Ces coordonnées sont normalisées dans une plage de 0 à 1, où 0 représente la partie supérieure gauche de l'image et 1 la partie inférieure droite.
Parfait. Vous avez utilisé l'API Vision pour analyser une image et extraire des informations sur les objets qu'elle contient.
Tâche 9 : Découvrir les autres méthodes de l'API Vision
Vous connaissez maintenant les méthodes de détection de thèmes, de visages et de points de repère de l'API Vision, ainsi que sa méthode de localisation d'objets. Il en reste trois autres à découvrir. Consultez la documentation sur la méthode "images.annotate" pour en savoir plus sur les trois méthodes suivantes :
- Détection de logos : identifiez des logos courants et déterminez leur emplacement dans une image.
- Détection pour les recherches sécurisées : déterminez si une image présente un contenu explicite. Cette méthode est utile dans les applications autorisant les utilisateurs à générer du contenu. Vous pouvez filtrer les images selon quatre critères : contenus destinés aux adultes, médicaux, violents et parodiques.
- Détection de texte : extrayez du texte à partir d'images par reconnaissance optique des caractères. Cette méthode permet même d'identifier la langue du texte présent dans une image.
Félicitations !
Vous avez appris à analyser des images avec l'API Vision. Dans cet atelier, vous avez transmis à l'API l'URL Cloud Storage de différentes images. Elle a ensuite renvoyé les thèmes, visages, points de repère et objets qu'elle a trouvés dans l'image. Vous pouvez également transmettre à l'API une chaîne d'image encodée en base64, ce qui est utile si vous souhaitez analyser une image stockée dans une base de données ou en mémoire.
Terminer votre quête
Cet atelier d'auto-formation fait partie des quêtes Integrate with Machine Learning APIs et Intro to ML: Image Processing. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez une quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à une quête contenant cet atelier pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.
Atelier suivant
Essayez un autre atelier sur les API de machine learning, comme les suivants :
- Analyse des entités et des sentiments avec l'API Natural Language
- Awwvision : API Cloud Vision dans un cluster Kubernetes
Étapes suivantes et informations supplémentaires
- Consultez les tutoriels de l'API Cloud Vision dans la documentation.
- Trouvez un échantillon de l'API Cloud Vision dans votre langage favori sur GitHub.
- Suivez l'atelier Analyse des entités et des sentiments avec l'API Natural Language.
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière modification du manuel : 6 octobre 2023
Dernier test de l'atelier : 13 octobre 2023
Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.