Release Notes: Digital Signage#
Version 2026.2.0#
Sep 2026
This release introduces multi-object detection with priority-based ad selection, WCL integration for improved product matching, and CI/CD GitHub Actions workflows, along with a repository reorganization and various dependency upgrades and bug fixes.
New
Multi-Object Detection: the web UI now tracks detected objects across a configurable number of recent frames and selects the highest-value item for ad generation, with configurable ad display duration, confidence threshold, and a new portrait-mode template.
WCL Integration: web UI label normalization maps detected labels to CSV product keys using a first-time high-price priority strategy followed by rotation with anti-repeat logic; HTTP connections to AIG and ASe are now reused for improved throughput.
CI/CD Workflows: added a GitHub Actions PR workflow that builds images, downloads models, and deploys and undeploys the stack, alongside a reusable scans workflow running Trivy, Bandit, ClamAV, Docker Bench Security, CodeQL, and Pylint.
Improved
Repository Structure: PID configuration, models, and videos moved under
configs/pid/; Makefile, Docker Compose mounts, and documentation updated to reflect the new layout.Nginx: the nginx reverse proxy service is now active in the Docker Compose deployment.
AIG Container: AIG base image updated to Ubuntu 24.04 with aligned container and dependency versions.
PTL Platform Support: added Intel PTL platform drivers for the AIG module.
Configurable AIG Inference Steps: AIG inference steps are now configurable via the environment.
Security: fixed a vulnerability in web UI request handling; upgraded urllib3, diffusers, pillow, requests, and flask to latest available versions.
Fixed
ChromaDB Startup: fixed a connectivity issue that prevented the ASe service from starting correctly.
Version 1.0.0#
Jan 2026
This is the initial pre-production release of the Context-Aware, Cross-Selling Digital Signage application, introducing the full end-to-end containerized stack, AIG memory optimizations, container security hardening, and comprehensive documentation.
New
Product Identification (PID): DL Streamer Pipeline Server with YOLO11s object detection publishing results via MQTT, with support for file-based simulation video and RTSP live camera input including hardware-optimized decoding for Axis cameras.
Advertise Image Generator (AIG): dynamic advertisement generation using Stable Diffusion XL Turbo (OpenVINO™ int8) and all-MiniLM-L12-v2 sentence embeddings, with logo, slogan, and price overlays; lazy-loaded initialization and post-inference model unloading reduce runtime memory from ~10 GB to ~2 GB.
Advertise Searcher (ASe): ChromaDB-backed vector search for predefined advertisements via REST API endpoints.
Business Offer Recommendations (BOR): server and scripts for product association rules, weekly and hourly product probability models, transaction database, and MQTT-based integration.
Product Category Association (PCA): association rules engine with product and transaction APIs, weekly and weekly-hh24 probability processing, and MQTT topic management.
Web UI: browser-based interface serving a live WebRTC video stream alongside dynamically generated or predefined advertisements, with Intel One Mono Bold font for price and label overlays.
Supporting Services: MediaMTX for WebRTC relay, Mosquitto MQTT broker, ChromaDB vector database, COTURN TURN server, and nginx reverse proxy.
iGPU/NPU Device Detection: Docker Compose device mounts for DRI and ACCEL are conditional, falling back gracefully on systems without GPU or NPU.
Improved
Security: all services run as non-root users with dedicated accounts, no-new-privileges option enforced, read-only filesystems applied to ChromaDB and other containers, public ports bound to localhost, broad device mounts replaced with specific mappings, and Trivy, Bandit, and Docker Bench Security findings resolved.
Documentation: comprehensive README with quick-start, system requirements, architecture overview, and advanced configuration; RTSP camera enablement steps added; legacy install scripts removed in favour of unified Makefile-based workflows; third-party license documentation added.