Software System

Built in C++ in a very modular, extendable and configurable fashion. Each module is responsible for a specific domain of the system. The architecture of the system is that of a pipeline of algorithms, where data pertaining to the latest few frames is piped through each pipeline step by the main program. The order is specified in a configuration file and set in place during program initialization. The frame data consists of both raw sensor data and computed data from the different pipeline steps.

Algorithms have a very clear general interface to the rest of the pipeline. Multiple algorithms of the same type were developed in parallel, with minimal effort on interface compliance. The software system allowed the entire computer vision approach to be switched near the end of the project with minimal effort.

The entire pipeline can be reconfigured from file. This includes addition, removal and rearrangement of algorithms, and parameter values. It is possible to automate tests of hundreds of configurations, changing both algorithms and algorithm parameters without re-compiling. See instructions on how to reconfigure the pipeline in our GitHub readme file.

Continue to the Dense Debugger >>