CVEDIA-RT relies on a layered architecture, a core layer implements a system framework and provides all the basic functionality, this layer is based on modules, which are responsible for the interface with the hardware layer. On a top-level resides the application layer, this corresponds to the extensibility provided by allowing external scripts (in C++ or LUA) to control the workflow of the application and implement extra logic.
For a more in depth explanation of the interfaces, see Interfaces
CVEDIA-RT is designed to work by providing base building blocks that can be arranged to create any kind of application around an input/output processing pipeline. Beside the multiple modules provided by the base installation, the platform also allows integrators to develop their own modules and application scripts, that can be adapted to any kind of user case.
Sample application pipeline¶
As a demonstration, a simple intruder detection system is presented, here, the RTSP input module was used to provide the data to be processed, this data is feed into the Motion processing module that outputs regions where motion is detected, this regions are then feed to the Classifier module, that can identify the captured object in motion and consequently fed to the Tracker module, that is capable of maintaining an object identification throughout the various input iterations. The tracked object can then be processed, with custom heuristics and/or predefined event and zone triggers. All the processed data is then send to the defined output modules, in this case an RTSP video stream output indicating the captured object, and a json file with all the collected metadata.