Create a Digital Kiosk Display for 4K Ads

Determine the demographics of an audience using the Intel® Distribution of OpenVINO™ toolkit, and then adjust the ads to match the audience.

Target Operating System Ubuntu* 16.04 LTS
Time to Complete 45 minutes

GitHub* (C++)

What You Will Learn

Using a video camera as part of a digital kiosk system, this application identifies the age and gender of the audience standing in front of a digital sign. Based on the identification, the application selects a suitable 4K advertisement. Real-time data visualization occurs on Grafana*, which enables developers to monitor trends over time.

Gain insight into the following solutions:

  • Computer vision applications for IoT
  • Inference to analyze datasets
  • Retail market IoT

Use the skills learned in this reference implementation to develop similar IoT solutions.

Learn to build and run an application with these capabilities:

Determine age, gender, and head pose with deep neural network (DNN) models.
Play a 4K ad based on audience identification.
Visualize analytics using a combination of InfluxDB* and Grafana.

How It Works

This application works as follows:

  1. Detects faces in the frame of interest using a DNN model.
  2. Uses two other DNN models to determine the age, gender, and head pose position for each face.
  3. The model output provides audience demographics, and based on a predetermined table included in the JSON file, determines the appropriate ad to be displayed.
  4. The ad is decoded and played using the high-efficiency video coding (HEVC) plugin included in the Intel® Media SDK.
  5. The number of viewers, unique visitors, and gender of visitors is stored in the InfluxDB and displayed using Grafana.

The DNN models are optimized for Intel® architecture and are included with Intel Distribution of OpenVINO toolkit.

flow chart graphic of how the 4K ad display on digital kiosks works

Tools We Used