This article describes the components that make up the high-level architecture for Axsy Smart Vision 2D and how those components interact as part of the Axsy Smart Vision 2D model training process.



High-Level Architecture

The Axsy Smart Vision 2D architecture comprises of 4 main components, listed below and depicted in the accompanying architecture diagram:


Axsy Mobile App with Smart VisionThe Axsy Mobile App with Smart Vision runs on each end user's mobile device (iOS, Android or Windows). Trained Axsy Smart Vision 2D models are downloaded to the app for use with in-app, on-device image recognition. The Axsy mobile app is publicly available on the various per-platform app stores.
Customer Salesforce OrgCustomer-specific instance of the Salesforce Platform with Axsy installed. Handles orchestration of Axsy Smart Vision 2D model training, which is unique per customer.
Axsy Smart Vision 2D Training App on Google Cloud Vertex AIModel training is executed by the Axsy Smart Vision 2D Training App hosted on Google Cloud Vertex AI.
Customer-Managed Google Cloud StorageTraining images and the resulting models are securely stored in the customer-managed Google Cloud Storage bucket. It is crucial to note that these images and models are never stored at rest by the Axsy Smart Vision 2D Training App.



Axsy can specify the geographic hosting location of the Axsy Smart Vision 2D Training App within Google Cloud, ensuring alignment with any region-specific requirements of its customers.



High-Level Architecture for Axsy Smart Vision 2D



Model Training Process

Storage of Training Data

The sequence for storing training images is as follows:


Training images originate from the customer's Salesforce Org and may include both idealised sample images and image corrections made by users of the Axsy Mobile App.
All training images are initially routed to the Axsy Smart Vision 2D Training App, which serves as an intermediary to facilitate their seamless upload to the specified Google Cloud Storage bucket. This transfer employs a transient storage protocol, ensuring that images are maintained only for the minimal duration necessary to achieve secure and efficient transfer to the designated Google Cloud Storage repository.
Training images are stored securely at rest in the customer's Google Cloud Storage bucket.


How images are stored for future model training



Initiating A Model Training Run

The following steps and accompanying diagram illustrate the process for initiating a model training run by the Axsy Smart Vision 2D Training App:


Initiation of a model training run is triggered from the customer's Salesforce org. This is triggered either from a Salesforce admin manually starting a training run via the Salesforce Web UI or because certain thresholds configured in the Salesforce org are met (e.g. number of end user corrections) to automatically initiate training.
When training is initiated, the Axsy Smart Vision 2D Training App instantiates a Virtual Machine to run the Axsy training code stored in the Axsy repository.
The Axsy training code retrieves the image dataset from the customer's Google Cloud Storage.
Using the retrieved training images, a new model version is trained.
Once training is complete, the newly trained model is securely stored in the customer's Google Cloud Storage bucket.
The Virtual Machine running the training code is deleted and all temporary data including training images and models are securely erased.


   

Initiation of a model training run



Delivering A Trained Model to the Mobile App

The following steps and accompanying diagram illustrate how a version of a trained model is delivered to the Axsy Mobile App:


The Axsy Mobile App with Smart Vision 2D requests a model from the Salesforce Org.
The Axsy Smart Vision 2D package running in the customer's Salesforce Org requests a secure, short-lived download URL from the Axsy Smart Vision 2D Training App and returns it to the Axsy Mobile App. 
The Axsy Mobile App uses the secure URL to retrieve the Smart Vision 2D model from the customer's Google Storage bucket.



   

Delivery of a trained model version to the Axsy Mobile App for use with on-device image recognition