Application: Audience Analytics, Heatmap, Trackmap
Optimized for OpenNESS 20.12
A Helm chart for Audience Analytics, real-time heatmap and trackmap for OpenNESS 20.12
Overview of Kibernetika Inc.
Kibernetika Inc. is a leading AI software provider for accelerating digital transformation. Kibernetika Inc. delivers Kibernetika.AI Suite for developing, deploying, and operating cloud , mobile, and IoT AI applications in addition to the broad portfolio of AI technologies and turn-key software products
Kibernetika.AI Audience Analytics solution is using imaging technology in combination with POS system transaction data to provide complete and in-depth analysis of customer behavior. Heat-map and track-map technology defines the popular and unpopular zones in retail stores and give retailers valuable insight in store layout. Retailers can learn about the rush hours and manage their staff accordingly to prevent a decrease in customer interest due to long waiting time. They can analyze the effectiveness of their pricing and marketing strategy.
OpenNESS Building Blocks
EPA, HDDL, VCAC, Consumer – Producer API
Prerequisites
Additional software or hardware requirements to successfully deploy and run application should be listed here. Please include any version or licenses needed. You can hyperlink to external sources as needed. Bullet or table format is preferred.
Usage
Repository
The Audience Analytics is available in the open-ness/edgeapps repository. To obtain it, just clone the repo.
$ git clone https://github.com/open-ness/edgeapps
Then, into applications/realtime-heatmap folder there is helm chart folder for installing it.
Install the Chart
Install the Realtime heatmap
The installation process leverage on helm chart. Go to the helm folder of the repository, and edit values.yaml:
Notice environment variables:
• STREAM_COUNT=16 (default 16): Specify the needed number of supported streams.
• TRACKHEATMAP=no/yes (default no): Enable the track heatmap only.
• RUNTIME_HEATMAP=yes/no (default yes): Enable the general heatmap only.
• KSERVING=id (default ''): Specify serving-id for audience analytics integration.
Notice chart variables:
•openness.heatmapId: Specify the producer application id. Needed in case of existing multiple heatmap applications integrated with audience
•useHDDL=false/true: Load and run model on HDDL device (or not)
•useIntelGPU=false/true: Use Intel GPU for decoding or not
•runOnVCANode=false/true: Runs workload strictly on VCA card (node).
Run the installation:
helm install realtime-heatmap ./
If the installation succeeds, you will see the additional instructions from helm output on how to test it.
Test Output
NAME: heatmap
LAST DEPLOYED: Wed Mar 31 08:20:41 2021
NAMESPACE: default
STATUS: DEPLOYED
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing realtime-heatmap.
Your release is named heatmap.
To forward RTMP port to the service, please use
nodeport_rtmp=$(kubectl -n kib get svc trackheatmap -o template --template '{{ (index .spec.ports 1).nodePort }}')
nodeport_http=$(kubectl -n kib get svc trackheatmap -o template --template '{{ (index .spec.ports 0).nodePort }}')
Then, forward rtmp port:
ssh -NL 1935:kube-master-ip:$nodeport_rtmp
To stream the video in the channel:
ffmpeg -re -i <video.mp4> -acodec aac -vcodec libx264 -f flv rtmp://localhost/live/stream1
If a video already encoded using H.264 (libx264) and AAC, then it could save the CPU resources:
ffmpeg -re -i <video.mp4> -acodec copy -vcodec copy -f flv rtmp://localhost/live/stream1
To view the resulting video, first forward http port:
ssh -NL 8000:kube-master-ip:$nodeport_http
Then open browser:
http://localhost:8000
Uninstall Chart
helm uninstall realtime-heatmap
Test Output
release "realtime-heatmap" uninstalled
Additional Information
The Application is a Heatmap computing registered in OpenNESS as a producer application. It uses a streaming pipeline (either server reading from a stream or user pushing the stream to server) and RTMP server. It utilizes OpenVINO person-detection and person-re identification models. The application supports heatmap area computing (general real time heatmap) and track-heatmap (personal heatmap track connected to a corresponding person, uses identity anchors).
Where to Purchase
Optimized for Intel® Smart Edge
Install
Audience Analytics
Retrieve Container Images and Helm Charts
Containers:
Helm Charts: https://github.com/open-ness/edgeapps/tree/master/applications/sample-app
Pre-load Docker Images on Nodes
docker pull kuberlab/realtimeheatmap:1.0.4
docker pull kuberlab/audience:latest
docker pull kuberlab/audience-ui:latest
Deploy Service
helm install realtime-heatmap ./
helm install audience-analytics ./