Integration of AI Connect for Scientific Devices (AiCSD)
Decision
Context
This feature would:
- provide the ability to integrate pipelines using Intel Geti, BentoML or OpenVino
- provide the ability to run the entire AiCSD framework including sending images from another machine
- extend the capability of AiCSD to process still images to include video streams
- integrate EdgeX
Proposed Design
Crawl: Integration of the Pipeline
In the initial phases, the solution can be pulled in as just the pieces surrounding the pipeline validation. In order to do this, the Pipeline Validator service can be pulled in. This service provides the appropriate endpoints and components necessary to call any pipeline built for this system. In the simplest case, the Pipeline Validator service could be used with the Pipeline Simulator service without the need to add additional models. The Pipeline Simulator will be modified to use go gRPC to call an OVMS inferencing pipeline. In order to send information to the services, it would be necessary to add a script that calls the endpoint to launch the pipeline. When integrating with the benchmarking script, the AiCSD services will be started using the necessary docker compose files. This will ensure that all the services are started under the same Docker network.
Necessary Components:
- Pipeline Validator Service
- EdgeX Services
- Pipeline from the options below:
- Pipeline Simulator (standalone)
- Intel Geti
- OVMS
- BentoML
- Script to call launch pipeline for each image in a directory (or a script that sends the same image for a fixed period of time)
- Integrate the ability to launch the appropriate target from the profile launcher
Walk: Integrate the file dropping capability
Integrate the entire AiCSD solution to add the ability to use two machines - one for generating image and the other for performing the processing. In integration of this feature, it would also be possible to run AiCSD all on one system. The integration will allow for benchmarking to run alongside this solution.
Necessary components:
- Desired pipeline
- AiCSD Gateway Services
- Integration of launching services with the profile launcher
Run: Add Video Streaming Capability
This feature would allow for the use of video streaming with models supported by Intel Geti or BentoML. In this solution, it could be necessary to update the AiCSD solution in order to support the use of video streams.