EuclidStudio™
We are releasing a binary preview version of our EuclidStudio™ environment. Primarily targeted at computer vision research, EuclidStudio is an integration environment for the development of video processing algorithms. EuclidStudio is a by-product of the internal algorithmic development work at Euclid Discoveries. The release of the preview version and the source code release are in response to external requests for EuclidStudio that we feel are best satisfied by providing a free version rather than individual licensing of the environment.
EuclidStudio accepts video files or camera input and executes one or more video algorithms on the input. During the execution of the algorithms, visualizations of the algorithmic operation are displayed along with graphs of data. Other open source software offers some of these capabilities, yet falls short of the performance and features that EuclidStudio has that are focused on video processing.
The visualizations are buffered and synchronized so that the user can scroll through the visualizations using a slider control or by selecting data points on a graph. Selecting a data point automatically moves you to the frame associated with that data point. You can selectively capture and tile these visualizations into standard AVI files for later playback through any AVI compatible media player. This provides a convenient means of sharing and analyzing visualization results.
As a preview of the capabilities of EuclidStudio, Euclid Discoveries has made a Windows XP executable of EuclidStudio available with several algorithms preloaded. These algorithms include a version of the MPEG-4/H.264 AVC and a Viola/Jones face detector. You can input video from file or camera and produce a set of visualizations showing the macro-block partitioning and distortion information for the current AVC parameter settings. Additionally, you can specify that a face tracking algorithm extract a smaller video centered on the dominant face in the video - providing a video of only the frontal faces (dropping the other frames).
Built on open source multi-platform libraries, EuclidStudio. provides researchers with a more mature starting point from which to begin their development process. The studio itself is primarily built on Intel's OpenCV and the FLTK ("fulltick") GUI libraries, and the build environment is based on CMAKE. Our team primarily builds under Windows XP, but the libraries we use easily anticipate a Linux build within the year. Non-foundation libraries that we work with include: VTK, VXL, ITK, Intel IPP, FFTW, and CLAPACK.
The MPEG-4 AVC and Viola/Jones algorithms in the preview release of EuclidStudio. represent a simple example of the integration, visualization, and execution of algorithms possible in EuclidStudio. Future versions of EuclidStudio will be accompanied by a large number of computer vision algorithms and additional video codecs integrated in various "proofs-of-concept" showing some aspect of the practical integration of these algorithms. Additionally, we may release our libraries for integration with Matlab.
It is not our intent to provide an all inclusive algorithmic development environment such as those available in Matlab. The reality of our development has shown us that C++ development on top of processor optimized C/ASM libraries affords us the correct balance of performance and flexibility required for developing video processing algorithms. We also perform a great deal of Matlab prototyping and validation, but usually perform most of our integrated testing and development in C++. |