Guide du détecteur d'objets

Fiche de modèle de floutage des personnes dans la console

Le modèle de détection d'objets peut identifier et localiser plus de 500 types d'objets dans une vidéo. Le modèle accepte un flux vidéo en entrée et génère un tampon de protocole avec les résultats de la détection dans BigQuery. Le modèle s'exécute à un FPS. Lorsque vous créez une application qui utilise le modèle de détection d'objets, vous devez rediriger la sortie du modèle vers un connecteur BigQuery pour afficher le résultat de la prédiction.

Spécifications de l'application du modèle de détecteur d'objets

Suivez les instructions ci-dessous pour créer un modèle de détection d'objets dans la consoleGoogle Cloud .

Console

Créer une application dans la console Google Cloud

  1. Pour créer une application de détection d'objets, suivez les instructions de la section Créer une application.

    Accéder à l'onglet "Applications"

Ajouter un modèle de détecteur d'objets

  1. Lorsque vous ajoutez des nœuds de modèle, sélectionnez Détecteur d'objets dans la liste des modèles pré-entraînés.

Ajouter un connecteur BigQuery

  1. Pour utiliser la sortie, connectez l'application à un connecteur BigQuery.

    Pour en savoir plus sur l'utilisation du connecteur BigQuery, consultez Connecter et stocker des données dans BigQuery. Pour en savoir plus sur les tarifs de BigQuery, consultez la page Tarifs de BigQuery.

Afficher les résultats de sortie dans BigQuery

Une fois que le modèle a généré des données dans BigQuery, affichez les annotations de sortie dans le tableau de bord BigQuery.

Si vous n'avez pas spécifié de chemin BigQuery, vous pouvez afficher le chemin créé par le système sur la page Studio de la plate-forme Agent Platform Vision.

  1. Dans la console Google Cloud , ouvrez la page "BigQuery".

    Accéder à BigQuery

  2. Sélectionnez Développer  à côté du projet cible, du nom de l'ensemble de données et du nom de l'application.

    Sélectionner la table d'application dans BigQuery

  3. Dans la vue détaillée du tableau, cliquez sur Aperçu. Consultez les résultats dans la colonne annotation. Pour obtenir une description du format de sortie, consultez Sortie du modèle.

L'application stocke les résultats par ordre chronologique. Les résultats les plus anciens se trouvent au début du tableau, tandis que les plus récents sont ajoutés à la fin. Pour consulter les derniers résultats, cliquez sur le numéro de page pour accéder à la dernière page du tableau.

Sortie du modèle

Le modèle génère des cadres de délimitation, leurs étiquettes d'objet et des scores de confiance pour chaque frame vidéo. Le résultat contient également un code temporel. Le débit du flux de sortie est d'une image par seconde.

Dans l'exemple de sortie protocol buffer ci-dessous, notez les points suivants :

  • Code temporel : le code temporel correspond à l'heure de ce résultat d'inférence.
  • Boîtes identifiées : principal résultat de la détection, qui inclut l'identité de la boîte, des informations sur le cadre de délimitation, un score de confiance et la prédiction de l'objet.

Exemple d'objet JSON de sortie d'annotation

{
  "currentTime": "2022-11-09T02:18:54.777154048Z",
  "identifiedBoxes": [
    {
      "boxId":"0",
      "normalizedBoundingBox": {
        "xmin": 0.6963465,
        "ymin": 0.23144785,
        "width": 0.23944569,
        "height": 0.3544306
      },
      "confidenceScore": 0.49874997,
      "entity": {
        "labelId": "0",
        "labelString": "Houseplant"
      }
    }
  ]
}

Définition du tampon de protocole

// The prediction result protocol buffer for object detection
message ObjectDetectionPredictionResult {
  // Current timestamp
  protobuf.Timestamp timestamp = 1;

  // The entity information for annotations from object detection prediction
  // results
  message Entity {
    // Label id
    int64 label_id = 1;

    // The human-readable label string
    string label_string = 2;
  }

  // The identified box contains the location and the entity of the object
  message IdentifiedBox {
    // An unique id for this box
    int64 box_id = 1;

    // Bounding Box in normalized coordinates [0,1]
    message NormalizedBoundingBox {
      // Min in x coordinate
      float xmin = 1;
      // Min in y coordinate
      float ymin = 2;
      // Width of the bounding box
      float width = 3;
      // Height of the bounding box
      float height = 4;
    }
    // Bounding Box in the normalized coordinates
    NormalizedBoundingBox normalized_bounding_box = 2;

    // Confidence score associated with this bounding box
    float confidence_score = 3;

    // Entity of this box
    Entity entity = 4;
  }
  // A list of identified boxes
  repeated IdentifiedBox identified_boxes = 2;
}

Bonnes pratiques et limites

Pour obtenir les meilleurs résultats lorsque vous utilisez le détecteur d'objets, tenez compte des points suivants lorsque vous obtenez des données et utilisez le modèle.

Recommandations concernant les données sources

Recommandation : Assurez-vous que les objets sur la photo sont clairs et qu'ils ne sont pas couverts ni largement masqués par d'autres objets.

Exemples de données d'image que le détecteur d'objets peut traiter correctement :

Exemple d'image avec des objets clairement visibles
Source de l'image : Spacejoy sur Unsplash.

L'envoi de ces données d'image au modèle renvoie les informations de détection d'objets suivantes* :

* Les annotations de l'image suivante sont fournies à titre d'illustration uniquement. Les cadres de sélection, les libellés et les scores de confiance sont dessinés manuellement et ne sont pas ajoutés par le modèle ni par aucun outil de la console Google Cloud .

Exemple d'image avec des objets clairement visibles
Source de l'image : Spacejoy sur Unsplash (annotations ajoutées manuellement).

Non recommandé : évitez les données d'image où les éléments clés de l'objet sont trop petits dans le cadre.

Exemples de données d'image que le détecteur d'objets ne peut pas traiter correctement :

Exemple d'image d'objets trop petits pour être détectés
Source de l'image : Bernard Hermant sur Unsplash (image recadrée).

Déconseillé : évitez les données d'image qui montrent les éléments clés de l'objet partiellement ou entièrement couverts par d'autres objets.

Exemples de données d'image que le détecteur d'objets ne peut pas traiter correctement :

Exemple d'image d'éléments d'objet partiellement recouverts par d'autres objets
Source de l'image : Şahin Sezer Dinçer sur Unsplash.

Limites

  • Résolution vidéo : la résolution vidéo d'entrée maximale recommandée est de 1 920 x 1 080, et la résolution minimale recommandée est de 160 x 120.
  • Éclairage : les performances du modèle sont sensibles aux conditions d'éclairage. Une luminosité ou une obscurité extrêmes peuvent entraîner une qualité de détection inférieure.
  • Taille de l'objet : le détecteur d'objets a une taille d'objet détectable minimale. Assurez-vous que les objets cibles sont suffisamment grands et visibles dans les données de votre vidéo.