31
Figure 4-1 shows a simple feed-forward neural network with four inputs and four cells as a
hidden layer and one output. Information can flows from input layer to hidden layer and
then to output layer through the connection which are generally called links or synapses.
Each layer except the input layer has an activation function. Flow of information from
input to output called feedforward. After training, the operation
mode is feedforward
mode. Means loading information in input layer and system calculate the proper output
according to weight and topology of the network [75]. The most common learning method
for teaching and tr
aining the MLP networks is backpropagation. It’s a supervised learing
method and it is derivation of delta rule method. For training
we need to perform
propagation phase and then updating weight. In propagation phase, we need to perform
forward propagation of training pattern and get the result from output layer activation
functions. After that, performing backpropagation of these output data by considering
target in order to generate the delta of output and hidden neurons. For updating the
weights we need to multiply output delts of each layer and input activation to calculate the
gradient of the weight and then updating the direction of gradient by subtracting the ratio
of synapse from the weight. This ratio is corresponding to the speed and quality of
learning.
There are many applications in image processing and machine vision for which one can use
this type of neural networks for processing. Traffic signs
recognition could be a good
example. Hereby, the main problem for traffic sign recognition is the design of an algorithm
that is scale-variant and rotation-variant for recognition and classification of different
traffic signs. This means system is not sensitive to the scale and angle of signs. During
driving camera can see the sign from different angle of view and different scale. Therefore
this is feature of ANN is important.
This type of neural network has potential to learn multi-scale and multi-variant traffic
signs [76]. This means we can train ANN for different size and different traffic sign. The use
of artificial neural networks with their remarkable potential to derive meaning data from
complicated/complex data and information is getting more popular
in the field of image
processing [76]. Detecting complex pattern, classification, and prediction are only few
examples illustrating the huge potential of neural networks for image processing.
32
The main advantages of using ANN in ADAS technology is flexibility, robustness, adaptivity
in learning, real time operation after the learning phase and fault tolerance [77] [78]. It is
known that many conventional algorithms for image processing and machine vision are
not at all sufficiently fast in view the complexity of the tasks. It is furthermore relatively
very difficult to define an appropriate mathematical model for solving those problems.
ANNs however, can process the information in a similar way to the human brain. This
means that a predefined model for solving the problems and extracting meaningful data is
not necessary [79]. Artificial neural networks do offer many advantages. For example it
requires less formal statistical training; another advantage is the ability of detecting highly
complex and nonlinear relationships among independent and dependent variables. Finally,
it has also the potential for multiple training algorithms [79].
Due to the massive
parallelism, neural network are much faster than conventional methods.
If the modeling of a system is not trivial and thus complex and if it is hard to formulate an
explicit algorithm as a solution/model one should use artificial neural networks[80]. There
is a main difference between von Neumann models for computing which are based on
memory/processors and artificial neural networks. In an artificial neural network we are
using a parallel architecture similar the biological brains. We do not know details of the
complex mechanisms within the human brain; but we do know the main principles of
neurons operations either individually or globally [81]. Another main factor of artificial
neural networks is scalability and adaptivity in the learning phase. The system can change
its structure based on training information. We can model
very complex models and
relation between input and output.
Basically ANNs are appropriate for processing images [81]. However, they do have some
weak points such as over-fitting during the training phase, their black-box nature and the
complexity of a related hardware implementation [82].
Designing and implementing a computing system based on artificial neural networks in
software for a high resolution image is very complex but can thereby even not be fast
enough with regard to the real-time requirements of ADAS [80]. Therefore, we are
interested in implementing it in hardware. There are two
main problems faced by the
hardware implementation of artificial neural networks. A first problem is the huge
33
complexity of the network due to too many connections between cells. Another challenge
is how to design a reconfigurable architecture that can be reconfigured to execute
different tasks [80]. To find a general purpose hardware platform and architecture concept
capable of solving/computing different types of problems of image processing is not a
trivial.