Xai is an extensible framework for prototyping and developing real time video analysis algorithms by allowing execution and composition of such algorithms in the form of data flows between algorithm blocks.
The blocks can be written in C++ by extending special interfaces, and they can be compiled to dynamically linked libraries. The algorithms can be composed using a GUI or written directly in XML.
The approach taken here was to develop a universal framework for prototyping video analysis algorithms by building them from previously prepared blocks. Each block is in fact a dynamically linked library, with well defined interface, that can be attached to a workflow of blocks and executed by the framework.
The core of the Xai is called XaiEngine and contains all functionality needed to load, run and save algorithms. Additionaly, each block is a separately developed, dynamicaly-linked C++ class, that can be loaded during run-time. Also, any number of GUI's for Xai can be developed as XaiEngine provides a universal interface for accessing the functionality. Currently Xai contains a GUI developed in Gtk and based on DiaCanvas.
What's New in This Release:
· Added handling of multiple blocks directories
· Added execution properties such as limiting iteration count
· Added handling of multiple algorithms through tabs
· Major refactoring of type system
· Several new macros added for easier use in blocks development