BioTracker - an extensible computer vision framework
Video tracking aids users in various domains. In medicine, it plays an increasingly important role in assisting clinicians in diagnosis while in arts image processing helps Special Effects technicians in applying visual effects to movies. Another area of application is surveillance where real-time video tracking enables security personnel to monitor a large set of video collectors. The Biorobotics Lab profits greatly from computer vision and realized that many parts of vision applications can be reused for future projects to reduce programming overhead. Functions, that are useful, regardless of the computer vision task, include loading and decoding videos, the interaction with image and video data, like pausing, panning and zooming, and means to serialize trajectory data. This motivated the BioTracker, a modular open source c++ framework for computer vision applications. However, the application still experiences a number of issues and inconveniences. For example, it cannot be embedded into other programs or used in automated environments like servers and super computers. Furthermore, extending the application with new computer vision algorithms is unintuitive and error-prone. This thesis restructures the BioTracker to tackle the aforementioned problems and furthermore introduces a novel technique to bring scriptability to the application using 0mq, a high performance messaging queue, to greatly simplify the creation of new tracking modules. The new BioTracker framework enables users to apply general purpose computer vision and image processing techniques to any type of domain, not limited to Biology.