Traiter le contenu généré par l'utilisateur avec les API Cloud Video Intelligence et Cloud Vision

Cette solution décrit les services Google Cloud Platform (GCP) permettant de déployer un système évolutif pour filtrer les envois d'images et de vidéos à l'aide des API Cloud Video Intelligence et Cloud Vision.

Les campagnes de marketing sur les réseaux sociaux invitent souvent les consommateurs à soumettre des images et des vidéos générées par l'utilisateur. Les campagnes qui sollicitent des vidéos et des images les utilisent souvent pour des réponses à des concours, des témoignages sur des produits ou en tant que contenu généré par l'utilisateur pour des sites Web publics sur la campagne. Le traitement à grande échelle de ces contenus envoyés nécessite des ressources considérables. Les API Cloud Video Intelligence et Cloud Vision vous offrent un moyen évolutif et sans serveur de mettre en œuvre un filtrage intelligent des images et des vidéos, et permettent ainsi d'accélérer le traitement des contenus envoyés. Si vous utilisez la fonctionnalité de recherche sécurisée dans l'API Vision et la fonctionnalité de détection de contenu explicite dans l'API Video Intelligence, vous pouvez éliminer les images et les vidéos identifiées comme étant non sécurisées ou indésirables avant tout traitement.

Pour en savoir plus sur la mise en œuvre de cette solution, vous pouvez déployer le code en suivant ce tutoriel.

Concepts

La création d'une application permettant de traiter des images et des vidéos générées par l'utilisateur pose plusieurs problèmes uniques :

  • Évolutivité

    Au début d'une campagne, le volume de contenus envoyés augmente rapidement, mais à mesure que la campagne se termine, le volume chute et passe à une valeur proche de zéro. Si ce processus est intégré à un service, il doit évoluer en fonction de l'activité de l'utilisateur.

  • Performances

    Le traitement de chaque image et de chaque vidéo nécessite un flux efficace et intelligent. À grande échelle, l'application doit stocker et traiter efficacement chaque vidéo et chaque image envoyées.

  • Intelligence

    Réduire le nombre d'images ou de vidéos à évaluer ou à examiner avant le traitement augmente considérablement l'efficacité du processus. L'application doit classer chaque contenu envoyé et arrêter immédiatement le traitement de tous les résultats jugés inappropriés.

Architecture

Traitement évolutif et intelligent à l'aide de GCP

GCP fournit une plate-forme évolutive avec les avantages des modèles de machine learning (apprentissage automatique) pré-entraînés disponibles en utilisant des appels d'API simples. La figure suivante illustre l'architecture d'un système qui classe intelligemment les images et les vidéos et élimine les résultats inappropriés.

Architecture de traitement d'images et de vidéos

Cloud Storage

Dans cette architecture, vous stockez tout le contenu dans Cloud Storage. Ce service fournit un stockage d'objets durable et évolutif. Une fonctionnalité utile de Cloud Storage est la possibilité de générer des messages de notification basés sur des événements dans un bucket Cloud Storage. Cette fonctionnalité vous permet de spécifier une action pour chaque fichier importé. Lorsque l'application importe des fichiers dans Cloud Storage, les messages de notification déclenchent le traitement.

L'image suivante montre la charge utile JSON d'un message de notification Cloud Storage.

Charge utile JSON d'un message de notification Cloud Storage

Cloud Pub/Sub

Cloud Pub/Sub propose un service de messagerie évolutif et fiable. Dans cette architecture, lorsque le contenu est importé dans un bucket Cloud Storage, le système génère un message de notification Cloud Pub/Sub et l'envoie au sujet Cloud Pub/Sub configuré. Cloud Pub/Sub envoie ensuite le message de notification Cloud Storage. En séparant la fonctionnalité d'importation de la fonctionnalité de traitement, Cloud Pub/Sub sépare efficacement l'application dans une architecture backend basée sur des microservices.

Cloud Functions

Cloud Functions fournit un environnement applicatif léger et sans serveur, intégré à différentes API avancées, telles que les API Cloud Vision et Video Intelligence. De plus, des fonctionnalités de stockages telles que BigQuery, Cloud Storage, Cloud Spanner et Cloud Datastore, sont intégrées à Cloud Functions, ce qui en fait une solution utile pour traiter les événements à la demande.

La figure suivante montre le sujet Cloud Pub/Sub qui déclenche la commande GCStoPubSub de Cloud Functions pour chaque message envoyé au sujet intelligentcontentfileupload.

Sujet Cloud Pub/Sub déclenchant l'environnement Cloud Functions

Backend

Un ensemble d'environnements Cloud Functions qui écoute les sujets Cloud Pub/Sub assure le traitement au niveau du backend.

  1. Chaque fois qu'un fichier est importé dans le bucket Cloud Storage, un sujet Cloud Pub/Sub reçoit un message.
  2. L'application backend analyse l'emplacement Cloud Storage à partir de chaque message de notification et détermine si le contenu est une image ou une vidéo.
  3. L'application backend envoie ensuite un message Cloud Pub/Sub à une paire d'environnements Cloud Functions, appelant les API Cloud Vision ou Cloud Video Intelligence, selon que le fichier est une image ou une vidéo.
  4. À l'aide des résultats de l'appel API, l'application backend classifie le contenu en fonction des logos, étiquettes, textes et résultats de recherche sécurisée.

La figure suivante montre les étapes de traitement effectuées par chaque environnement Cloud Functions. Dans cet exemple, les résultats sont stockés dans BigQuery, mais vous pouvez les stocker dans n'importe quel service de stockage de données GCP.

Étapes de traitement Cloud Functions

Interface

Dans cette architecture, vous stockez les résultats du traitement des images et des vidéos dans BigQuery. En tant que moteur d'analyse évolutif pour GCP, BigQuery fournit un accès simple, basé sur SQL, à une base de données à l'échelle du pétaoctet. BigQuery fournit à l'application une solution simple et évolutive pour analyser les libellés du contenu envoyé.

Data Studio fournit un tableau de bord visuel dans lequel vous pouvez filtrer le contenu envoyé à l'aide de tags générés par des API Machine Learning. Les tags facilitent le filtrage dynamique du contenu dans l'ensemble des tableaux de bord Data Studio.

L'image suivante montre un tableau de bord Data Studio simple, basé sur des données en temps réel de BigQuery.

Tableau de bord simple Data Studio

Lorsqu'un contenu supplémentaire est traité et stocké dans BigQuery, le tableau de bord reflète les modifications. Vous pouvez filtrer le tableau de bord par contenu, libellés ou nombre de contenus inappropriés.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…