Siemens Industrial Edge¶
Siemens Industrial Edge is an edge computing platform aimed at improving factory operations by bringing data processing and software management directly to the shop floor. It integrates hardware, software and connectivity solutions from both Siemens and its partners, enabling scalable and secure industrial workflows.
The AI Inference Server is one of the core applications in the Industrial Edge ecosystem. It hosts and runs AI models locally on the edge device, producing predictions from raw input data like images. By running inference on the edge, it avoids the latency and bandwidth costs of sending data to the cloud.
ML cube Platform works in tandem with Siemens AI Inference Server and other applications in the Industrial Edge ecosystem. It receives data from the same acquisition channels that AI Inference Server uses, it receives predictions from it and provides outputs on the desired destination.
Technical Integration Details¶
The base flow of ML cube Platform can be divided into three steps:
- Data acquisition
- Data processing
- Output messaging
As shown in Figure 1, the ML cube Platform is integrated with both MQTT and ZMQ, simplifying communication with other IE applications. ML cube Platform expects Input data (i.e. images) and Model Prediction data (i.e. bounding boxes). Input data can be provided both through MQTT and ZMQ, while Model Prediction data is expected from MQTT. The application works in conjunction with Siemens AI Inference Server, which hosts the AI Model and produces predictions. Flow Creator can be leveraged to create a flow that propagates those data to specific ZMQ / MQTT Topics for the ML cube Platform. After data are acquired from input channels, they are processed internally by ML cube Platform with retention limited to a few days avoiding storage saturation.
ML cube Platform outputs, such as monitoring alerts, are published to other MQTT Topics so that they can be received and processed by other applications.
Data Payloads¶
ML cube Platform follows payload formats guidelines of Siemens Industrial Edge. After the application is up it sends two MQTT message:
- Metadata for Notifications:
- Channel status:
When data drift occurs then a notification message is sent to the notification channel:
The content of val field is an object that contains the drift information.
Input¶
Input payloads of MQTT need to be properly configured before sending them to ML cube Platform. Flow Creator can be used to manipulate raw data before sending them to MQTT. Here the expected payloads:
| Message | Fields |
|---|---|
| MQTT Input Message | Fields: - sample_id: str - timestamp: float - arrival_timestamp: float | null - image_base64: str |
| ZMQ Metadata | Fields: - version: str - timestamp: float - detail: Detail[] - linepadding: int Detail fields: - id: str - seq: int - height: int - width: int - format_ns: str = 'Genicam' - format: str - image: bytes |
| MQTT Prediction Message | Fields: - sample_id: str - timestamp: float - arrival_timestamp: float - embedding_vector: float[][] | null - prediction: PredictionDict - prediction_prob: float[] | null PredictionDict (Binary Classification): - prediction: str PredictionDict (Object Detection): - prediction: BoundingBox[] - prediction_label: str[] > BoundingBox is a vector of four floats |
| MQTT Reset Message | Fields: - new_model_version: str |
Configuration¶
A JSON configuration file containing all the information about data connectors and monitored tasks is required to install and use the ML cube Platform. The ML cube Platform uses this configuration file to create all the internal entities and set up the application to acquire data and start monitoring.
You can see an example Here.
License and Product Key¶
The ML cube Platform works with Siemens licence system, so the application is ready to use after the installation is completed.
Requirements¶
The ML cube Platform requires at least 6.5 GB of RAM to run on Edge Device, while the application weighs 3.2 GB. We are working on reducing these quantities, which will lead to a lighter application.