Benutzergenerierte Inhalte mit den Cloud Video Intelligence und Cloud Vision APIs bearbeiten

In dieser Anleitung werden die Dienste der Google Cloud Platform (GCP) zum Bereitstellen eines skalierbaren Systems beschrieben, um mit der Cloud Video Intelligence API und der Cloud Vision API Bild- und Video-Einreichungen zu filtern.

Bei Marketingkampagnen in sozialen Medien werden Nutzer häufig aufgefordert, nutzergenerierte Bilder und Videos einzureichen. Die in diesen Kampagnen eingereichten Videos und Bilder werden oft für Wettbewerbe, Erfahrungsberichte zu Produkten oder als nutzergenerierte Inhalte für öffentliche Kampagnen-Websites verwendet. Um große Mengen dieser Einreichungen verarbeiten zu können, sind umfassende Ressourcen erforderlich. Die Cloud Video Intelligence und Cloud Vision APIs bieten eine skalierbare und serverlose Möglichkeit zur Implementierung intelligenter Bild- und Videofilter, um die Verarbeitung von Einreichungen zu beschleunigen. Wenn Sie in der API-Lösung Vision die Funktion zur sicheren Suche und die Funktion zur Erkennung expliziter (explicit) Inhalte in der Video Intelligence API verwenden, können Sie Bilder und Videos, die als unsicher oder unerwünscht identifiziert wurden, vor der weiteren Verarbeitung entfernen.

Weitere Informationen zur Implementierung dieser Lösung erhalten Sie, wenn Sie den Code mithilfe dieser Anleitung bereitstellen.

Konzepte

Das Erstellen einer Anwendung für die Verarbeitung nutzergenerierter Bilder und Videos ist mit speziellen Herausforderungen verbunden:

  • Skalierbarkeit

    Zu Beginn einer Kampagne nimmt die Anzahl der Einreichungen schnell zu, während die Zahl zum Ende der Kampagne hin nahezu auf null sinkt. Wenn dieses Verfahren in einen Dienst integriert ist, muss dieser entsprechend der Nutzeraktivität skalierbar sein.

  • Leistung

    Für die Verarbeitung der einzelnen Bilder und Videos ist ein effizienter, intelligenter Arbeitsablauf erforderlich. Die Anwendung muss jedes eingereichte Video und Bild ungeachtet der Anzahl der Einreichungen effizient speichern und verarbeiten können.

  • Intelligenz

    Sie erhöhen die Effizienz erheblich, indem Sie die Anzahl der Bilder oder Videos reduzieren, die vor der Verarbeitung ausgewertet oder überprüft werden müssen. Die Anwendung muss jede Einreichung klassifizieren und die Verarbeitung bei unangemessenen Ergebnisse sofort stoppen.

Architektur

Skalierbare und intelligente Verarbeitung mit GCP

GCP bietet eine skalierbare Plattform mit vorab geschulten maschinellen Lernmodellen (ML), die über einfache API-Aufrufe verfügbar sind. Die folgende Abbildung zeigt die Architektur eines Systems, das Bilder und Videos auf intelligente Weise klassifiziert und unangemessene Ergebnisse herausfiltert.

Architektur für die Bild- und Videoverarbeitung

Cloud Storage

In dieser Architektur speichern Sie alle Inhalte in Cloud Storage und profitieren dadurch von einem langlebigen und skalierbaren Objektspeicher. Eine nützliche Funktion von Cloud Storage ist die Möglichkeit, Benachrichtigungen basierend auf Ereignissen in einem Cloud Storage-Bucket zu generieren. Sie können mit dieser Funktion für jede hochgeladene Datei eine Aktion festlegen. Während von Ihrer Anwendung Dateien in Cloud Storage hochgeladen werden, wird durch Benachrichtigungen die Verarbeitung ausgelöst.

Das folgende Bild zeigt die JSON-Nutzlast einer Cloud Storage-Benachrichtigung.

JSON-Nutzlast einer Cloud Storage-Benachrichtigung

Cloud Pub/Sub

Cloud Pub/Sub bietet einen skalierbaren und zuverlässigen Benachrichtigungsdienst. Wenn in dieser Architektur der Inhalt in einen Cloud Storage-Bucket hochgeladen wird, generiert das System eine Cloud Pub/Sub-Benachrichtigung und sendet diese an das konfigurierte Cloud Pub/Sub-Thema. Cloud Pub/Sub übermittelt daraufhin die Cloud Storage-Benachrichtigung. Indem in Cloud Pub/Sub der Upload von der Verarbeitung getrennt ist, wird die Anwendung effektiv in eine auf Mikrodiensten basierende Back-End-Architektur unterteilt.

Cloud Functions

Cloud Functions bietet eine schlanke und serverlose Anwendungsumgebung, die in eine Reihe fortschrittlicher APIs wie der Cloud Vision API und der Video Intelligence API eingebunden ist. Darüber hinaus ermöglichen in Cloud Functions integrierte Speicherdienste wie BigQuery, Cloud Storage, Cloud Spanner und Cloud Datastore eine effiziente Verarbeitung von On-Demand-Ereignissen.

Die folgende Abbildung zeigt das Cloud Pub/Sub-Thema, das die Cloud Functions-Funktion GCStoPubSub für jede an das intelligentcontentfileupload-Thema gesendete Nachricht auslöst.

Ein die Cloud Functions-Funktion auslösendes Cloud Pub/Sub-Thema

Back-End

Eine Reihe von Cloud-Funktionen, die Cloud Pub/Sub-Themen abhören, ermöglichen eine Back-End-Verarbeitung.

  1. Bei jedem Upload einer Datei in den Cloud Storage-Bucket erhält ein Cloud Pub/Sub-Thema eine Nachricht.
  2. Die Back-End-Anwendung analysiert den Cloud Storage-Speicherort jeder Benachrichtigung und bestimmt, ob der Inhalt ein Bild oder ein Video ist.
  3. Die Back-End-Anwendung sendet anschließend eine Cloud Pub/Sub-Nachricht an ein Cloud Functions-Paar und ruft dabei für ein Bild die Cloud Vision API oder für ein Video die Cloud Video Intelligence API auf.
  4. Die Back-End-Anwendung klassifiziert den Inhalt mithilfe der API-Aufrufergebnisse anhand von Logos, Labels, Text und sicheren Suchergebnissen.

In der folgenden Abbildung sehen Sie die mit jeder Cloud-Funktion durchgeführten Verarbeitungsschritte. In diesem Beispiel werden die Ergebnisse in BigQuery gespeichert. Sie können die Ergebnisse aber auch in einem beliebigen GCP-Datenspeicherdienst aufbewahren.

Verarbeitungsschritte der Cloud Functions-Funktionen

Front-End

In dieser Architektur speichern Sie die Ergebnisse der Bild- und Videoverarbeitung in BigQuery. Als skalierbare Analyse-Engine für GCP ermöglicht BigQuery den einfachen SQL-basierten Zugriff auf eine Datenbank im Petabyte-Format. BigQuery bietet eine einfache und skalierbare Methode zum Analysieren der Labels der eingereichten Inhalte in Ihrer Anwendung.

Data Studio bietet ein visuelles Dashboard, in dem Sie eingereichte Inhalte mit Tags filtern können, die von Machine Learning APIs generiert wurden. Die Tags erleichtern die dynamische Inhaltsfilterung in den Data Studio-Dashboards.

Das folgende Bild zeigt ein einfaches Data Studio-Dashboard, das mit Echtzeitdaten von BigQuery gefüllt wird.

Einfaches Data Studio-Dashboard

Zusätzlich in BigQuery verarbeitete und gespeicherte Inhalte werden im Dashboard widergespiegelt. Sie können das Dashboard nach Inhalten, Labels oder der Zahl der unangemessenen Inhalte filtern.

Weitere Informationen