3 REAL-TIME SPIKES-BASED
MATCHING ALGORITHM
We have seen two major lines of research about
image matching algorithms for digital systems.
Area-based matching algorithms: very focused
on speed, without using pre-processing and with
low efficient results.
Features-based matching algorithms: more
focused on getting good results at the expense of
a pre-processing and inference phases, resulting
in a higher latency.
As a first approximation, we could consider
making an adaptation of the features-based
algorithms to obtain a consistent algorithm with
good results. However, in this case we have a lot of
problems mainly derived from the early stages of
pre-processing and inference. In order to define an
algorithm that is feasible in our system we have to
take into account its features and the goals we want
to achieve.
In the introduction we mentioned AER systems,
motivations, current development and research lines
related to them. Our main goal is to design and build
an autonomous and independent system that works
in real time basis, with no need to use a computer to
run high-level algorithms. The efficiency of our
system is not as important as real-time processing.
Although we sacrifice quality in the results, we
cannot afford to perform pre-processing and
inference stages, which slow down our system
making the real-time processing impossible.
Moreover, due to the independence requirement, a
computer cannot be used to run high level
algorithms.
The information in an AER system is a
continuous flow that cannot be stopped: the
information can only be processed or discarded.
Each spike is transmitted by a number of
communication lines, and contains information from
a single pixel. Moreover, the intensity of a pixel
dimension is encoded in the spike frequency
received from that particular pixel. The AER retinas
used by research groups are up to 128x128 tmpdiff
resolution, which means that measure brightness
changes over time. Thus, taking a load of 10% in the
intensity of the pixels, we would be in the range of
more than four hundred thousand pulses to describe
the current state of the scene with a single retina.
This is too much information to be pre-processed.
We want our system to be independent and based
on an FPGA connected to the outputs of two AER
retinas. The FPGA processes the information using
the proposed algorithm and transmits the resulting
information using a parallel AER bus to an
USBAERmini2 PCB (R. Berner, 2007). This is
responsible for monitoring AER traffic received and
transmitted by USB from and to a computer. Should
be noted that we just use the computer to verify the
algorithm running on the FPGA works as required,
the computer itself is not used to process any
information.
Taking into account the digital algorithms, the
second option is to use a variant of the area-based
matching algorithms (T. Tuytelaars, 2000). In this
case, the topic to consider would be the results
because, as discussed above, these algorithms do not
require preprocessing but not ensure result
reliability.
Among the problems related to the area-based
matching algorithms, AER retinas include failures
caused by variations in the brightness and contrast.
This involved the properties of AER retinas we use,
which do not show us all the visual information it
covers, but the information they send is the spatial
derivative in time. This means that we appreciate the
information only for moving objects, while the rest
of non-mobile environment is not "seen". In
addition, these retinas have very peculiar
characteristics related to information processing.
These characteristics make them immune to
variations in brightness and contrast (lightness and
darkness does not interfere with transmitted
information). With this retina property managed to
avoid the major drawback of area-based algorithms.
Our proposed algorithm is linked to the information
received from the AER bus. It also inherits similar
properties from area-based algorithms, but adapted
to the received information. We propose an
algorithm able to run in a standalone environment in
a FPGA, which receives traffic from two AER
retinas through a parallel bus.
We will count the received spikes for each pixel
of the image and store this information in a table. So
that, we have pixel intensity measures derived from
the moving objects detected by each retina at every
moment. The algorithm will mainly find
correspondences between the two tables of spike
counters. Given that, there are two problems
involving the algorithm and the properties of AER
retinas.
A major issue about the retinas is their unique
properties (AER output frequency, firing intensity
threshold of the pixels, etc) of each retina and its
BIAS setting. Thus, the information of the same
pixel in both retinas is not sent at the same time and
there could be a frequency variation between both of
them. To prevent this, we propose a fuzzy matching
algorithm which will not seek exactly the same
levels of intensity, but would admit an error in the
IMAGE MATCHING ALGORITHMS IN STEREO VISION USING ADDRESS-EVENT-REPRESENTATION - A
Theoretical Study and Evaluation of the Different Algorithms
83