Publicité via DeepAds
Inspiration
Face à l’adoption par les clients d’une multiplicité de nouveaux canaux numériques, les marques modernes peinent de plus en plus à organiser des campagnes marketing efficaces. Pour atteindre les bons publics au bon moment et où qu’ils se trouvent, ces marques doivent s’appuyer sur des données en temps réel riches en informations pour produire des publicités hautement pertinentes, efficaces et mesurables. Bienvenue à l’ère de la publicité intelligente ! La hausse du nombre de données clients disponibles pour les spécialistes du marketing se conjugue actuellement avec la croissance exponentielle de l’utilisation du Machine Learning dans un certain nombre de secteurs. DeepLens constitue la solution idéale pour concilier ces deux tendances, ce qui permet aux spécialistes du marketing de réaliser des publicités encore plus ciblées, sur la base de flux de données vidéo fournis en temps réel. Les retombées de ces publicités ciblées peuvent profiter largement aux marques dans plusieurs segments de leur chaîne de valeur.
Pour tirer pleinement parti de cette opportunité, nous avons créé DeepAds.
Fonctionnement
DeepAds est une plateforme de publicité permettant un ciblage en temps réel de clients en fonction d’un ensemble de caractéristiques particulières et acquises. DeepAds s’appuie sur la personne présente dans la trame DeepLens et sur ses caractéristiques pour générer la publicité la plus pertinente qui soit.
Dans son implémentation actuelle, DeepAds distingue les clients suivant leur sexe, ce qui permet de générer des variables de publicités de produits spécifiquement tournées vers les femmes ou les hommes. Pour en savoir plus, consultez la section 7 sur nos mesures de lutte contre les stéréotypes sexuels.
Créé par : Tristan Sternson, Qionghua Wang, Gunel Gulmammadova, Wei Sun et Joshua Kenzie
Création
Après avoir reçu DeepLens, nous avons réalisé un test technique rapide pour en connaître les fonctionnalités de base. DeepLens nous permet d’exécuter localement des modèles de Deep Learning et de comprendre les scènes que filme la caméra, et ce grâce à des étapes simples. Notre équipe a ensuite axé la réflexion sur les problèmes que nous pouvons résoudre à l’aide des fonctionnalités Deep Learning de DeepLens. Plusieurs applications possibles ont été identifiées. Cependant, celle qui a le plus retenu notre attention est le fait d’utiliser les technologies de reconnaissance faciale pour optimiser l’engagement publicitaire et les expériences clients : nous avons appelé ce concept DeepAds.
En plaçant DeepLens devant le panneau ou l’écran publicitaire et en exécutant les modèles de Deep Learning personnalisés et la détection faciale pour extraire des caractéristiques faciales, DeepAds aide les spécialistes du marketing à mieux comprendre leurs publics et à mieux évaluer les performances de leurs publicités au sein de segments de publics spécifiques. Il existe plusieurs caractéristiques susceptibles d’aider à identifier les caractéristiques de clients et d’alimenter un modèle de Deep Learning. Pour réaliser le projet à temps et pour permettre à DeepLens de démontrer l’objectif de DeepAds, nous avons choisi le sexe comme élément de classification.
Les composants clés de DeepAds sont :
- Framework de déploiement avec Greengrass
- Module de Deep Learning avec Amazon SageMaker
- Contrôleur de publicités avec AWS Lambda
Les explications détaillées de chaque composant sont fournies ci-dessous :
1. Framework de déploiement : nous nous sommes appuyés sur les instructions contenues dans la documentation d’AWS DeepLens et sur le service AWS Greengrass pour déployer une fonction et un modèle Lambda sur l’appareil. Nous avons ensuite configuré un environnement de développement local pour la fonction Lambda, afin d’accélérer le processus de développement.
2. Module Deep Learning : pour commencer, nous avons préparé les données de formation à partir de 2 000 photos, marquées du sexe de la personne photographiée, puis nous les avons chargées sur AWS S3. Après avoir procédé au traitement avec MXNet RecordIO, nous avons formé le modèle de classification par sexe sur SageMaker. Nous avons utilisé un petit ensemble de données pour accélérer le délai de formation pour la reconnaissance par sexe, ce qui aurait pu générer un faible niveau de précision. Selon les études, la reconnaissance par sexe doit pouvoir atteindre un niveau de précision de 90 %* avec des ensembles de données plus grands et des modèles mieux ajustés. Nous avons utilisé le module Python « awscam » pour charger le modèle sur DeepLens. Une dernière version de l’outil de déploiement Deep Learning d’Intel est installée sur l’appareil DeepLens et permet d’optimiser le modèle par sexe de MXNet.
3. Contrôleur de publicités : pour démontrer le concept et la fonctionnalité de publicités ciblées, nous avons défini deux types de flux de sortie vidéo pour le projet, dont l’un est l’« écran publicitaire » et l’autre l’« écran d’analyse » du flux en direct. L’écran d’analyse collecte les informations détectées dans la partie supérieure du flux vidéo d’entrée. Actuellement, il recueille le cadre de délimitation de la détection faciale, le décompte des personnes et la liste des caractéristiques potentielles. Il pourra ultérieurement générer un rapport d’analyse en temps réel. L’écran publicitaire affiche la publicité ciblée en fonction du public. Nous avons conçu trois images publicitaires différentes afin de cibler un public féminin, un public masculin et un groupe de publics, et ce de façon représentative. Lorsque le public devant DeepLens change, l’écran publicitaire affiche l’image correspondante. Actuellement, nous réutilisons le flux de sortie vidéo du projet. Toutefois, il convient de noter qu’il peut s’agir d’un autre appareil ou d’un autre écran connecté via AWS IoT.
Défis à relever
- Découvrir comment gérer des tâches plus complexes. Étant donné que DeepLens et SageMaker en sont encore à leurs débuts, l’un des principaux défis à relever est le manque de documentation et de didacticiels. Alors qu’il était relativement simple de configurer l’appareil et d’utiliser les modèles par défaut, nous avons eu de la peine à obtenir des informations détaillées sur la procédure à suivre pour utiliser des modèles personnalisés et pour modifier le flux vidéo.
- Découvrir comment résoudre un problème. Bien que parfois utile, le forum DeepLens ne compte que peu de spécialistes du contrôle de la qualité établis et une très petite communauté pour aider les utilisateurs à résoudre les problèmes qu’ils rencontrent. En conséquence, durant le projet, nous avons consacré un temps long et imprévisible pour résoudre les problèmes auxquels nous faisions face.
- Créer notre propre modèle à l’aide de l’outil de déploiement Deep Learning d’Intel. La conversion de modèles via l’outil de déploiement Deep Learning d’Intel avec le modèle formé SageMaker échoue en permanence, ce qui complique le test de notre propre modèle.
- Déboguer et déployer notre programme. Déboguer une fonction Lambda est une tâche difficile, car l’importante bibliothèque dénommée « awscam » n’est disponible que sur l’appareil. Nous devions configurer un environnement de déploiement local sur l’appareil ou attendre la fin de l’interminable processus de déploiement pour pouvoir démarrer le débogage.
Gestion de la capacité matérielle limitée de l’appareil DeepLens. DeepLens s’efforce de prendre en charge l’insertion de superpositions graphiques sur le flux du projet, ce qui nous a obligés à reconsidérer notre concept de départ en ce qui concerne la procédure d’affichage des images publicitaires dans la partie supérieure du flux vidéo.
Les réalisations qui font notre fierté
- Développement d’une idée géniale et réaliste utile pour le secteur
- Formation d’un modèle de Deep Learning personnalisé sur SageMaker
- Utilisation d’OpenCV pour modifier le flux de sortie vidéo du projet
Leçons apprises
- Fonctionnalités de DeepLens
- Comment utiliser SageMaker pour former un modèle personnalisé et l’utiliser sur DeepLens
- Comment développer un logiciel sur la plateforme DeepLens
Quelle est la prochaine étape ?
Un système publicitaire complètement nouveau
Nous pensons que le Machine Learning doit constituer un moteur essentiel pour les stratégies marketing de demain. Pour maintenir leur pertinence, les marques doivent extraire des informations à partir d’un ensemble toujours plus complexe de données. À ce stade, il existe deux principaux axes de développement pour DeepAds.
1. Maturité du classificateur : dans son implémentation actuelle, DeepAds distingue le sexe du client. Cependant, il existe plusieurs autres modes possibles de classification des clients pouvant nous permettre d’aller de l’avant. Outre le sexe, nous entendons créer notre classificateur suivant les facteurs ci-dessous :
- Lieu
- Habillement
- Caractéristiques du visage, par exemple la barbe, la coiffure, la couleur de peau, etc.
- Humeur
- Taille
- Mouvement
- Âge
- Activité
2. Mesures antistéréotypes : une partie essentielle de la prochaine phase de développement de DeepLens consistera à mettre en œuvre des mesures de lutte contre les stéréotypes. Cette étape est capitale pour la création d’une plateforme qui apporte de la valeur aux clients de manière sûre et saine.
À cet effet, nous comptons mettre en œuvre un certain nombre de mesures :
- Créer des règles plus solides contre le manquement en matière de neutralité des publicités lorsque le modèle n’a pas été en mesure d’effectuer une classification de haute précision ;
- Réaliser des tests A/B de publicités obligatoires à des moments précis, indépendamment de la classification ;
- Augmenter le coefficient de l’humeur comme caractéristique mesurable pour notre modèle, afin d’évaluer la réaction du public à la publicité diffusée et d’utiliser les résultats de cette évaluation pour adapter les prochaines publicités.
Créé avec
python
Amazon Web Services
deeplens
sagemaker
mxnet
opencv
sagemake
machine-learning
lambda