Publicidad de DeepAds

Inspiración

Debido a que los consumidores adoptan una proliferación de canales digitales nuevos, es muy difícil que las marcas actuales realicen campañas de marketing efectivas. Para llegar a los destinatarios correctos en el momento correcto donde quiera que estén, es necesario contar con datos completos y en tiempo real a fin de proporcionar anuncios relevantes, efectivos y mensurables. Esta es la era de la publicidad inteligente. Junto con un aumento en la cantidad de datos de los clientes disponibles para los profesionales de marketing, observamos un crecimiento sorprendente en la implementación del aprendizaje automático en muchas industrias. DeepLens representa una oportunidad perfecta para combinar estas dos tendencias, lo que permite que los profesionales de marketing segmenten los anuncios de manera más efectiva según los datos de fuentes de videos en tiempo real. El efecto inmediato de estos anuncios segmentados generará mayores beneficios para las marcas en muchas partes de su cadena de valor.

Creamos DeepAds para aprovechar esta oportunidad.

Cómo funciona

DeepAds es una plataforma publicitaria que permite dirigirse a los consumidores en tiempo real a partir de una serie de características distintivas y adquiridas. DeepAds proporcionará el anuncio más apropiado según quién se encuentre en el cuadro de DeepLens y cuáles de estas características muestre.

La implementación actual de DeepAds permite distinguir a los consumidores según su género, por lo que las variaciones en los anuncios de productos se realizan de manera diferente para hombres y mujeres. Puede obtener más información sobre cómo evitaremos los estereotipos de género lea la sección 7.

Cómo se desarrolló

Una vez que recibimos DeepLens, realizamos una prueba de picos técnica para comprender sus capacidades básicas. DeepLens nos permite ejecutar modelos de aprendizaje profundo de manera local y comprender lo que se ve en la cámara, todo esto con la realización de varios pasos sencillos. Posteriormente, el equipo propuso ideas para determinar qué problema podríamos resolver con la ayuda de la capacidad de aprendizaje profundo de DeepLens. Hay muchas aplicaciones posibles, pero estamos más interesados en la idea de utilizar las tecnologías de reconocimiento facial para impulsar mejores interacciones con la publicidad y mejorar la experiencia del cliente. A esta idea la llamamos DeepAds.

Al colocar DeepLens en el frente del cartel publicitario o de la pantalla y ejecutar la detección facial y los modelos de aprendizaje profundo personalizados para que puedan extraer las características faciales, DeepAds permite a los profesionales de marketing comprender mejor a sus destinatarios y entender cómo funcionan sus anuncios en segmentos de audiencia específicos. Hay una larga lista de características que ayudan a identificar los rasgos de los consumidores y pueden implementarse en el modelo de aprendizaje profundo. Para concluir el proyecto a tiempo y poder demostrar el objetivo de DeepAds, se decidió que el resultado de la clasificación será en función del género.

DeepAds cuenta con los siguientes componentes principales:

  1. Marco de implementación con Greengrass
  2. Módulo de aprendizaje profundo con Amazon SageMaker
  3. Controlador de anuncios con AWS Lambda

A continuación, se proporciona información detallada sobre cada uno de los componentes:

1. Marco de implementación: seguimos las instrucciones especificadas en la documentación de AWS DeepLens y utilizamos el servicio de AWS GreenGrass para implementar una función y un modelo de Lambda al dispositivo. Después, configuramos un entorno de desarrollo local para la función de Lambda a fin de acelerar el proceso de desarrollo.

2. Módulo de aprendizaje profundo: en primer lugar, preparamos los datos de entrenamiento con 2000 imágenes etiquetadas según el género y cargadas en AWS S3. Seguido de la determinación del formato con MXNet RecordIO, entrenamos el modelo de clasificación de género en SageMaker. Utilizamos un conjunto de datos pequeño con el fin de agilizar el tiempo de entrenamiento para el reconocimiento de género, lo que podría ocasionar una baja precisión. En función de los estudios, la precisión en el reconocimiento de género debería alcanzar el 90 %* con un conjunto de datos más grande y un modelo mejor adaptado. Utilizamos el módulo de Python “awscam” para cargar el modelo a DeepLens. Se instala una nueva versión del conjunto de herramientas de implementación de Intel DeepLearning en el dispositivo de DeepLens y se utiliza para optimizar el modelo de género de MXNet.

3. Controladores de anuncios: para probar el concepto y demostrar las capacidades de la publicidad segmentada, definimos dos tipos de transmisiones de salida de video del proyecto, uno es la “pantalla de publicidad” y el otro la “pantalla de análisis” de transmisión en directo. En la pantalla de análisis se muestra la información detectada en la parte superior de la transmisión de video de entrada. Actualmente, se muestran un cuadro delimitador de detección facial, el recuento de personas y una lista de posibles características. En el futuro, se podrá generar un informe analítico en tiempo real. En la pantalla de publicidad, se muestra la publicidad segmentada en función del público. Diseñamos tres imágenes publicitarias diferentes para apuntar a los públicos femeninos, masculinos y a los grupos de manera representativa. Cuando cambian los públicos que se ubican frente a DeepLens, en la pantalla publicitaria se mostrará la imagen pertinente. En la actualidad, reutiliza la transmisión de salida de video del proyecto, pero puede ser un dispositivo o pantalla diferente conectado mediante AWS IoT.

Desafíos

  1. Resolver cómo realizar tareas más complejas. Si se tiene en cuenta que DeepLens y SageMaker se encuentran en las etapas iniciales, uno de los principales desafíos es la falta de documentación y tutoriales. Configurar el dispositivo y utilizar los modelos de plantilla predeterminados fue bastante sencillo, pero cuando intentamos emplear modelos personalizados y modificar la transmisión de video, notamos que es difícil obtener información detallada sobre qué hacer.
  2. Definir cómo solucionar un problema. El foro de DeepLens puede ser útil, pero no hay suficientes controles de calidad establecidos y solo hay una comunidad muy pequeña en el foro que ayude en la resolución de problemas. Como resultado, se dedica una gran cantidad de tiempo en la resolución de problemas durante el proyecto.
  3. Crear nuestro propio modelo con el conjunto de herramientas de implementación de Intel DeepLearning. La conversión del modelo mediante el conjunto de herramientas de implementación de Intel DeepLearning con el modelo entrenado de SageMaker siempre falla, por lo que nos resulta difícil probar nuestro propio modelo.
  4. Depurar e implementar nuestro programa. Es complejo depurar una función de Lambda porque hay una biblioteca importante llamada “awscam” que solo está disponible en el dispositivo. Teníamos que configurar un entorno de desarrollo de forma local en el dispositivo o esperar que termine el extenso proceso de implementación para poder realizar la depuración.
    Ocuparse de la capacidad limitada de hardware del dispositivo DeepLens. DeepLens se esfuerza por controlar la inserción de superposiciones gráficas en el flujo de proyecto que llevó a que reconsideráramos el concepto original de cómo mostrar imágenes publicitarias en la parte superior de la transmisión de video.

Logros de los que estamos orgullosos

  • Desarrollar una idea buena y factible que sea útil para la industria
  • Entrenar un modelo de aprendizaje profundo personalizado en SageMaker
  • Utilizar OpenCV para modificar la transmisión de salida de video del proyecto

Lo que aprendimos

  • Capacidades de DeepLens
  • Cómo utilizar SageMaker para entrenar un modelo personalizado y emplearlo en DeepLens
  • Cómo desarrollar software en la plataforma de DeepLens 

Pasos siguientes

Un nuevo sistema publicitario
Creemos que el aprendizaje automático tendría que ser un impulsor fundamental en las futuras estrategias de marketing. Para conservar la relevancia, las marcas tienen que generar conocimientos a partir de un conjunto de datos cada vez más complejo. Hay dos áreas de desarrollo principales para DeepAds más allá de este punto.

1. Evolución del clasificador: en la implementación actual de DeepAds se distingue el género del consumidor; no obstante, hay muchas formas de clasificar los consumidores que consideraremos en adelante. Además del género, haremos que el clasificador abarque lo siguiente:

  • Ubicación
  • Vestimenta
  • Características faciales (p. ej.: barba, peinado, color de piel, etc.)
  • Estado de ánimo
  • Altura
  • Movimiento
  • Edad
  • Ocupación


2. Protección contra los estereotipos: una parte importante de la siguiente fase de desarrollo de DeepAds será implementar medidas de protección contra la perpetuación de estereotipos. Esto es fundamental para crear una plataforma en que se valore a los consumidores de una manera adecuada y segura.

Por ello, proponemos implementar varias características:

  • Creación de reglas más estrictas en cuanto a derivar de forma predeterminada a los anuncios neutros cuando no se logra una clasificación de alta precisión con el modelo
  • Implementación de pruebas A/B obligatorias de anuncios en puntos programados independientemente de la clasificación
  • Coloque una mayor importancia al estado de ánimo como una característica mensurable de nuestro modelo, de este modo se evalúan las reacciones de las personas a los anuncios mostrados y se utilizan estos datos para adaptar futuros anuncios.

Desarrollado con

python
amazon-web-services
deeplens
sagemaker
mxnet
opencv
sagemake
machine-learning
lambda

Probar