DeepAds Advertising
Inspiration
Während sich Verbraucher immer mehr neuen digitalen Kanälen zuwenden, tun sich die Marken von heute zunehmend schwer damit, effektive Marketing-Kampagnen durchzuführen. Um das richtige Publikum zur richtigen Zeit und an jedem Ort zu erreichen, müssen Unternehmen Echtzeit-“Rich Data“ verwenden, um hoch relevante, effektive und messbare Werbung zu liefern. Das Zeitalter der intelligenten Werbung ist angebrochen. Neben der größeren Menge an Kundendaten, die Vermarktern zur Verfügung stehen, sehen wir in vielen Branchen auch einen erstaunlichen Anstieg beim Einsatz von Machine Learning. DeepLens stellt eine perfekte Überschneidungschance für diese beiden Trends dar und ermöglicht es Vermarktern, auf Basis von Echtzeit-Videodaten Werbung noch gezielter zu schalten. Der Follow-On-Effekt dieser zielgerichteten Werbung kann für Marken in vielen Bereichen ihrer Wertschöpfungskette Vorteile liefern.
Um diese Chance zu nutzen, erschufen wir DeepAds.
Was die Lösung kann
DeepAds ist eine Werbeplattform, die Echtzeit-Targeting von Verbrauchern basierend auf einer Reihe von eindeutigen und erlernten Merkmalen ermöglicht. Abhängig davon, welche Person sich im DeepLens-Frame befindet und welche Merkmale sie aufweist, zeigt DeepAds dann die relevanteste Werbung an.
Unsere aktuelle Implementierung von DeepAds unterscheidet Verbraucher auf Basis ihres Geschlechts. Daher werden unterschiedliche Variationen von Produktwerbung für Frauen und Männer angezeigt. In Abschnitt 7 erfahren Sie mehr darüber, wie wir Geschlechterstereotypen verhindern würden.
Entwickelt von: Tristan Sternson, Qionghua Wang, Gunel Gulmammadova, Wei Sun und Joshua Kenzie
Vorgehensweise
Nach Erhalt der DeepLens führten wir einen kurze Untersuchung durch, um die Grundfunktionen der DeepLens nachzuvollziehen. Mit DeepLens können wir in nur wenigen, einfachen Schritten Deep-Learning-Modelle lokal ausführen und verstehen, was die Kamera sieht. Das Team führte dann Brainstorming-Sitzungen zu möglichen Problemen durch, die mithilfe der Deep-Learning-Fähigkeiten von DeepLens gelöst werden können. Es gibt viele mögliche Einsatzfelder. Wir waren jedoch an der Idee interessiert, die Gesichtserkennungstechnologien für besser ansprechende Werbung und Verbrauchererfahrungen zu nutzen. Diesem Konzept verliehen wir den Namen „DeepAds“.
Indem die DeepLens vor Werbeflächen oder -bildschirmen positioniert wird und mithilfe von Gesichtserkennung und maßgeschneiderten Deep-Learning-Modellen Gesichtsmerkmale extrahiert, können Vermarkter ihr Publikum besser verstehen und den Werbeerfolg bei bestimmten Zielgruppen messen. Eine lange Liste von Merkmalen kann in das Deep-Learning-Modell eingespeist werden und dabei helfen, die Merkmale eines Verbrauchers zu ermitteln. Um das Projekt rechtzeitig abzuschließen und den Zweck von DeepAds demonstrieren zu können, entschieden wir uns für das Geschlecht als Klassifizierungsausgabe.
DeepAds enthält die folgenden Hauptkomponenten:
- Bereitstellungs-Framework mit Greengrass
- Deep-Learning-Modul mit Amazon SageMaker
- Ads Controller mit AWS Lambda
Es folgt eine detaillierte Erläuterung jeder Komponente:
1. Bereitstellungs-Framework: Wir befolgten die Anweisungen der AWS DeepLens-Dokumentation und nutzten den Service AWS GreenGrass zur Bereitstellung einer Lambda-Funktion und eines Modells auf dem Gerät. Wir richteten dann eine lokale Entwicklungsumgebung für die Lambda-Funktion ein, um den Entwicklungsprozess zu beschleunigen.
2. Deep-Learning-Modul: Wir bereiteten zunächst die Trainingsdaten mit 2000 Fotos vor, die wir mit dem Geschlecht der gezeigten Person kategorisierten und auf AWS S3 hochluden. Nach einer Formatierung mit MXNet RecordIO trainierten wir dann das Geschlechtsklassifizierungsmodell auf SageMaker. Wir nutzten einen kleinen Datensatz, um die Trainingszeit für die Geschlechtserkennung zu verkürzen. Dies kann zu niedriger Genauigkeit führen. Basierend auf unseren Studien sollte die Genauigkeit der Geschlechtserkennung mit einem größeren Datensatz und besser abgestimmten Modell 90 %* erreichen können. Wir nutzten das Python-Modul „awscam“, um das Modell in DeepLens zu laden. Die neueste Version des Intel DeepLearning Deployment Toolkit ist auf dem DeepLens-Gerät installiert und wurde zur Optimierung des MXNet-Geschlechtsmodells verwendet.
3. Ads Controller: Um das Konzept und die Möglichkeiten der zielgerichteten Werbung zu veranschaulichen, definierten zwei Arten von Videoausgabestreams für das Projekt. Einer davon ist der „Werbebildschirm“ und der andere ist der Livestream-“Analysebildschirm“. Auf dem Analysebildschirm werden die erkannten Informationen auf dem Eingabe-Videostream gezeichnet. Aktuell werden ein Begrenzungsrahmen für die Gesichtserkennung, die Anzahl der Personen und eine Liste möglicher Merkmale gezeichnet. In Zukunft kann auch ein Echtzeit-Analysebericht generiert werden. Der Werbebildschirm zeigt die zielgerichtete Werbung basierend auf der Zielgruppe. Wir gestalteten drei unterschiedliche Werbebilder, um jeweils weibliche, männliche und Gruppen von Personen anzusprechen. Wenn sich die Personen vor der DeepLens ändern, wechselt auch der Werbebildschirm zum relevanten Bild. Aktuell wird der Videoausgabe-Stream des Projekts wiederverwendet. Es kann sich aber auch um ein anderes Gerät oder einen anderen Bildschirm mit einer AWS IoT-Verbindung handeln.
Herausforderungen
- Konzipierung komplexerer Aufgaben Da DeepLens und SageMaker noch im Anfangsstadium sind, stellen fehlende Dokumentation und Tutorials eine der größten Herausforderungen dar. Die Einrichtung des Geräts und die Verwendung der Standardvorlagenmodelle gestaltete sich relativ einfach. Als wir jedoch versuchten, eigene Modelle zu verwenden und den Videostream zu modifizieren, stellten wir fest, dass es nur wenige detaillierte Informationen zu diesen Schritten gibt.
- Ansätze für die Fehlerbehebung Das DeepLens-Forum kann hilfreich sein, aber es gibt nicht genügend etablierte Qualitätstester und man muss sich bei der Fehlerbehebung auf die sehr kleine Community im Forum verlassen. Das führt dazu, dass man während des Projekts viel Zeit für die Problembehandlung aufbringen muss.
- Entwicklung unseres eigenen Modells mit dem IntelDeepLearning Deployment Toolkit Die Modellumwandlung des trainierten SageMaker-Modells über das Intel DeepLearning Deployment Toolkit schlägt stets fehl und macht es für uns schwierig, unser eigenes Modell zu testen.
- Debugging und Programmbereitstellung Das Debugging einer Lambda-Funktion ist schwierig, da die wichtige Bibliothek „awscam“ nur auf dem Gerät verfügbar ist. Um debuggen zu können, musste wir entweder eine Entwicklungsumgebung lokal auf dem Gerät einrichten oder auf den Abschluss des langwierigen Entwicklungsprozesses warten.
Umgang mit der eingeschränkten Hardwareleistung des DeepLens-Geräts Die DeepLens tut sich schwer damit, grafische Overlays auf dem Projektstream einzufügen. Daher mussten wir unser ursprüngliches Konzept zur Darstellung von Werbebildern auf dem Videostream überdenken.
Erfolge, die uns stolz machen
- Entwicklung einer umsetzbaren, coolen Idee, die der Branche hilft
- Training eines eigenen Deep-Learning-Modells auf SageMaker
- Nutzung von OpenCV zur Veränderung des Projekt-Videoausgabestreams
Was wir gelernt haben
- Welche Fähigkeiten DeepLens hat
- Wie wir SageMaker zum Training eines eigenen Modells verwenden und auf DeepLens einsetzen können
- Wie Software auf der DeepLens-Plattform entwickelt werden kann
Die Zukunft
Ein brandneues Werbesystem
Wir glauben, dass Machine Learning ein wichtiger Motor für die Marketingstrategien der Zukunft sein sollte. Damit Marken relevant bleiben, müssen sie Erkenntnisse aus einem immer komplexeren Datensatz generieren. An diesem Punkt gibt es für DeepAds zwei hauptsächliche Entwicklungsbereiche.
1. Klassifizierungsreife: Unsere aktuelle DeepAds-Implementierung unterscheidet auf Basis des Verbrauchergeschlechts. Es gibt jedoch noch viele andere Wege, auf denen in Zukunft Verbraucher klassifiziert werden könnten. Neben dem Geschlecht könnten wir unsere Klassifizierung auch für folgende Merkmale weiterentwickeln:
- Ort
- Bekleidung
- Gesichtsmerkmale, z. B. Bart, Frisur, Hautfarbe usw.
- Gemütszustand
- Größe
- Bewegung
- Alter
- Aktivität
2. Schutzmechanismus für Stereotypen: Ein wichtiger Teil der nächsten Entwicklungsphase für DeepAds würde darin bestehen, Schutzmechanismen für anhaltende Stereotypen zu implementieren. Das ist wichtig für eine Plattform, die Verbrauchern auf sichere und angemessene Art und Weise Mehrwert liefern soll.
Dafür würden wir eine Reihe von Funktionen planen:
- Erstellung robusterer Regeln für den Rückfall auf neutrale Werbung, wenn dem Modell die Klassifizierung nicht mit hoher Genauigkeit gelingt
- Implementierung obligatorischer A/B-Tests für Werbung in regelmäßigen Abständen, unabhängig von der Klassifizierung
- Erhöhte Gewichtung des Gemütszustands als messbares Merkmal für unser Modell und Auswertung, wie Menschen auf die gezeigte Werbung reagieren. Diese Daten können wir dann zur Grundlage nehmen, um zukünftige Werbung anzupassen.
Entwickelt mit
Python
amazon-web-services
deeplens
sagemaker
mxnet
opencv
sagemake
machine-learning
lambda