Image storage and management in Azure IoT Edge Vision
Storage and management of the images involved in a computer vision application is a critical function.
Some of the key considerations for managing these images are:
- Ability to store all raw images during training with ease of retrieval for labeling.
- Faster storage medium to avoid pipeline bottlenecks and loss.
- Storage on the edge as well as in the cloud, as labeling activity can be performed at both places.
- Categorization of images for easy retrieval.
- Naming and tagging images to link them with inferred metadata.
The combination of Azure Blob Storage, Azure IoT Hub, and Azure IoT Edge allow several potential options for the storage of image data, such as:
- Use of the Azure IoT Edge Blob Storage module, which will automatically sync images to Azure Blob based on policy.
- Storing images to local host file system and uploading to Azure Blob service using a custom module.
- Use of a local database to store images, which then are synced to the cloud database.
Typical storage workflow
The IoT Edge Blob Storage module is one of the most powerful and straightforward solutions, and our preferred approach. A typical workflow using this module might be as follows:
- Raw messages after ingestion are stored locally on the Edge Blob module, with time stamping and sequence numbering to uniquely identify the image files.
- Policy is set on the Edge Blob module for automatic upload to Azure Blob with ordering.
- To conserve space on the Edge device, automatic deletion after certain time is configured along with retain while uploading option to ensure all images get synced to the cloud.
- Local categorization or domain and labeling is implemented using module that can read these images into the UX. The label data is associated to the image URI along with the coordinates and category.
- As label data needs to be saved, a local database is preferred to store this metadata, as it will allow easy lookup for the UX and can be synced to the cloud using telemetry messages.
- During scoring run, the model detects matching patterns and generates events of interest. This metadata is sent to cloud via telemetry referring to the image URI and optionally stored in local database for edge UX. The images continue to be stored to Edge Blob and synced with Azure Blob.
Next steps
How you respond to alerts generated by the AI model is crucial. Learn more about this in Alert persistence in Azure IoT Edge Vision.