Despite the fact that computer vision systems place an important role in
our society, its structure does not follow any standard. The implementation
of computer vision application require high performance platforms,
such as GPUs or FPGAs, and very specialized image sensors. Nowadays,
each manufacturer and research lab develops their own vision platform
independently without considering any inter-compatibility. This Thesis
introduces a new computer vision platform that can be used in a wide
spectrum of applications. The characteristics of the platform has been
defined after the implementation of three different computer vision applications,
based on: SOC, FPGA and GPU respectively. As a result, a
new modular platform has been defined with the following interchangeably
elements: Sensor, Image Processing Pipeline, Processing Unit, Acceleration
unit and Computer Vision Stack. This thesis also presents
an FPGA synthetizable algorithm for performing geometric transformations
on the fly, with a latency under 90 horizontal lines. All the software
elements of this platform have an Open Source licence; over the course
of this thesis, more than 200 patches have been contributed and accepted
into different Open Source projects like the Linux Kernel, Yocto Project
and U-boot, among others, promoting the required ecosystem for the
creation of a community around this novel system. The platform has
been validated in an industrial product, Qtechnology QT5022, used on
diverse industrial applications; demonstrating the great advantages of a
generic computer vision system as a platform for reusing elements and
comparing results objectively
|