Détecter plusieurs objets

L'API Cloud Vision peut détecter et extraire plusieurs objets d'une image grâce à la localisation d'objets.

La localisation d'objets identifie plusieurs objets dans une image et fournit une annotation LocalizedObjectAnnotation pour chaque objet de l'image. Chaque LocalizedObjectAnnotation identifie des informations sur l'objet, la position de l'objet et des limites rectangulaires pour la partie de l'image qui contient l'objet.

Cela concerne à 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 libellés en anglais dans plusieurs autres langues.

Exemple d'image

Par exemple, l'API pourrait renvoyer les informations et données de délimitation d'emplacement suivantes pour les objets de l'image ci-dessus :

Nom mid Score Limites
Bicycle wheel (roue de vélo) /m/01bqk0 0,89648587 (0,32076266, 0,78941387), (0,43812272, 0,78941387), (0,43812272, 0,97331065), (0,32076266, 0,97331065)
Bicycle (vélo) /m/0199g 0,886761 (0,312, 0,6616471), (0,638353, 0,6616471), (0,638353, 0,9705882), (0,312, 0,9705882)
Bicycle wheel (roue de vélo) /m/01bqk0 0,6345275 (0,5125398, 0,760708), (0,6256646, 0,760708), (0,6256646, 0,94601655), (0,5125398, 0,94601655)
Picture frame (cadre photo) /m/06z37_ 0,6207608 (0,79177403, 0,16160682), (0,97047985, 0,16160682), (0,97047985, 0,31348917), (0,79177403, 0,31348917)
Tire (pneu) /m/0h9mv 0,55886006 (0,32076266, 0,78941387), (0,43812272, 0,78941387), (0,43812272, 0,97331065), (0,32076266, 0,97331065)
Door (porte) /m/02dgv 0,5160098 (0,77569866, 0,37104446), (0,9412425, 0,37104446), (0,9412425, 0,81507325), (0,77569866, 0,81507325)

mid contient un identifiant généré automatiquement correspondant à l'entrée d'un libellé sur Google Knowledge Graph. Pour plus d'informations sur l'inspection des valeurs mid, consultez la documentation de l'API Google Knowledge Graph Search.

Exemples de code

Pour des exemples dans plusieurs langages de programmation, reportez-vous aux exemples suivants :

Requêtes de localisation d'objets

Configurer votre authentification et votre projet GCP

Localisation d'objets

PowerShell

Pour exécuter une requête de détection et de localisation d'objets à l'aide de Windows PowerShell, envoyez une requête POST au point de terminaison https://vision.googleapis.com/v1/images:annotate et spécifiez OBJECT_LOCALIZATION comme valeur de features.type.

Les images peuvent être transmises de deux manières différentes : en tant qu'URI Google Cloud Storage ou en tant qu'URL HTTPS ou HTTP accessible au public. Consultez la section relative à l'envoi de requêtes pour plus d'informations.

Pour en savoir plus sur la configuration du corps de la requête, consultez la documentation de référence sur AnnotateImageRequest.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
      'requests': [
        {
          'image': {
            'source': {
              'imageUri': 'https://cloud.google.com/vision/docs/images/bicycle_example.png'
            }
          },
          'features': [
            {
              'type': 'OBJECT_LOCALIZATION'
            }
          ]
        }
      ]
    }" `
  -Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content

Commande curl

Pour exécuter une requête de détection et de localisation d'objets, envoyez une requête POST au point de terminaison suivant :

POST https://vision.googleapis.com/v1/images:annotate

Spécifiez OBJECT_LOCALIZATION comme valeur du champ features.type.

Les images peuvent être transmises de deux manières différentes : en tant qu'URI Google Cloud Storage ou en tant qu'URL HTTPS ou HTTP accessible au public. Consultez la section relative à l'envoi de requêtes pour plus d'informations.

Pour en savoir plus sur la configuration du corps de la requête, consultez la documentation de référence sur AnnotateImageRequest.

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)  \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
      'requests': [
        {
          'image': {
            'source': {
              'imageUri': 'https://cloud.google.com/vision/docs/images/bicycle_example.png'
            }
          },
          'features': [
            {
              'type': 'OBJECT_LOCALIZATION'
            }
          ]
        }
      ]
    }" "https://vision.googleapis.com/v1/images:annotate"

Réponse de localisation d'objets

Si la requête de localisation d'objets aboutit, le serveur renvoie un code d'état HTTP 200 OK et la réponse au format JSON.

Réponse :

{
  "responses": [
    {
      "localizedObjectAnnotations": [
        {
          "mid": "/m/01bqk0",
          "name": "Bicycle wheel",
          "score": 0.89648587,
          "boundingPoly": {
            "normalizedVertices": [
              {
                "x": 0.32076266,
                "y": 0.78941387
              },
              {
                "x": 0.43812272,
                "y": 0.78941387
              },
              {
                "x": 0.43812272,
                "y": 0.97331065
              },
              {
                "x": 0.32076266,
                "y": 0.97331065
              }
            ]
          }
        },
        {
          "mid": "/m/0199g",
          "name": "Bicycle",
          "score": 0.886761,
          "boundingPoly": {
            "normalizedVertices": [
              {
                "x": 0.312,
                "y": 0.6616471
              },
              {
                "x": 0.638353,
                "y": 0.6616471
              },
              {
                "x": 0.638353,
                "y": 0.9705882
              },
              {
                "x": 0.312,
                "y": 0.9705882
              }
            ]
          }
        },
        {
          "mid": "/m/01bqk0",
          "name": "Bicycle wheel",
          "score": 0.6345275,
          "boundingPoly": {
            "normalizedVertices": [
              {
                "x": 0.5125398,
                "y": 0.760708
              },
              {
                "x": 0.6256646,
                "y": 0.760708
              },
              {
                "x": 0.6256646,
                "y": 0.94601655
              },
              {
                "x": 0.5125398,
                "y": 0.94601655
              }
            ]
          }
        },
        {
          "mid": "/m/06z37_",
          "name": "Picture frame",
          "score": 0.6207608,
          "boundingPoly": {
            "normalizedVertices": [
              {
                "x": 0.79177403,
                "y": 0.16160682
              },
              {
                "x": 0.97047985,
                "y": 0.16160682
              },
              {
                "x": 0.97047985,
                "y": 0.31348917
              },
              {
                "x": 0.79177403,
                "y": 0.31348917
              }
            ]
          }
        },
        {
          "mid": "/m/0h9mv",
          "name": "Tire",
          "score": 0.55886006,
          "boundingPoly": {
            "normalizedVertices": [
              {
                "x": 0.32076266,
                "y": 0.78941387
              },
              {
                "x": 0.43812272,
                "y": 0.78941387
              },
              {
                "x": 0.43812272,
                "y": 0.97331065
              },
              {
                "x": 0.32076266,
                "y": 0.97331065
              }
            ]
          }
        },
        {
          "mid": "/m/02dgv",
          "name": "Door",
          "score": 0.5160098,
          "boundingPoly": {
            "normalizedVertices": [
              {
                "x": 0.77569866,
                "y": 0.37104446
              },
              {
                "x": 0.9412425,
                "y": 0.37104446
              },
              {
                "x": 0.9412425,
                "y": 0.81507325
              },
              {
                "x": 0.77569866,
                "y": 0.81507325
              }
            ]
          }
        }
      ]
    }
  ]
}
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation de l'API Cloud Vision
Besoin d'aide ? Consultez notre page d'assistance.