Broox Vision Node
The Broox Vision Node is a general-purpose vision pipeline building kit. It is built with Intel Openvino.

Architecture
A VideoCapture device (webcam, file, IP camera) generates a starting Snap(shot) object.
Snaps hold the picture(s) and metadata from the different Processors.
Each Processor analyzes and/or transforms the Snap contents, either modifying the images or adding extra data.
The main property of every Snap is the boxes list. Contains Box objects that represent a rectangular section over the image. That might be
faces, bodies, blobs or any item detected.

Boxes hold extra features of the detection (data pairs).
The output of this processing can be delivered by any custom output Processor to the network, via OSC, MQTT, REST or whatever.
Video Sources
Video sources can be webcams, RTSP or HTTP video streams, 3D cameras...
Video Source Format explains the video source definition.
Processors
Processor are separate threads that receive a Snap and operate upon it, and return it.
Each Processor has a list of tunable Parameters.
Some Processors generate output Events. Those can be emitted as MQTT messages, trigger messages, or via OSC/TUIO UDP messages.
See Processors for details, and an API list of available processors.
Pipelines
A pipeline is a concatenation of processors, executing sequentially over the input image.
Pipelines are defined as .yml files inside the pipelines/ directory.
Standard pipelines included are:
-
Analytics oriented pipelines, of different processing power needs:
audience-analytics-high: Detect people, faces, age, gender, accessories, attention and dwell time.audience-analytics-medium: Detect people, faces, age, gender, attention and dwell time.audience-analytics-low: Detect people, faces age and gender.
-
Application oriented pipelines:
photobooth: Presence detection and interaction triggering.interactive-world: Presence, skeleton tracking and gestural interaction.
Inside the installation folder there is an extra custom folder containing more pipeline examples for other scenarios.
Features
Attributes (features) depend on the processors in the pipeline.
- AgeGenderProcessor:
age: integer 0-99gender: string either "M" (male) or "F" (female)
- FaceAttentionProcessor:
attention: integer percent 0-100.attention_time: float, in seconds (only onaction: outmessages).
- FaceEmotionProcessor:
dominant: string, One ofcalm,happy,sad,angerorsurprise.
- StageProcessor:
dwell: integer, only onaction:out, seconds the box has been present.
- AreaHitProcesor:
tags: list of strings, only onaction:out, of areas entered.