Ambianic High Level Architecture
- Pipe Elements
- Connecting Pipelines
Ambianic's main goal is to observe the environment and provide helpful suggestions in the context of home and business automation. The user has complete ownership and control of Ambianic's input sensors, AI inference flows and processed data storage. All logic executes on user's own edge devices and data is stored only on these devices with optional backup on a user designated server.
The main unit of work is the Ambianic pipeline which executes in the runtime of Ambianic Edge devices. The following diagram illustrates an example pipeline which takes as input a video stream URI source such as a surveillance camera and outputs object detections to a local directory.
Here is the corresponding configuration section for the pipeline above
(normally located in
pipelines: daytime_front_door_watch: - source: rtsp://user:firstname.lastname@example.org:554/Streaming/Channels/101 - detect_objects: # run ai inference on the input data model: tflite: ai_models/mobilenet_ssd_v2_coco_quant_postprocess.tflite edgetpu: ai_models/mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite labels: ai_models/coco_labels.txt confidence_threshold: 0.8 - save_detections: # save samples from the inference results output_directory: ./data/detections/front-door/objects positive_interval: 2 # how often (in seconds) to save samples with ANY results above the confidence threshold idle_interval: 6000 # how often (in seconds) to save samples with NO results above the confidence threshold - detect_faces: # run ai inference on the samples from the previous element output model: tflite: ai_models/mobilenet_ssd_v2_coco_quant_postprocess.tflite edgetpu: ai_models/mobilenet_ssd_v2_face_quant_postprocess_edgetpu.tflite labels: ai_models/coco_labels.txt confidence_threshold: 0.8 - save_detections: # save samples from the inference results output_directory: ./data/detections/front-door/faces positive_interval: 2 idle_interval: 600