42
vehicles giving two stereo images of a sequence as inputs. The output results for various
different image processing tasks are also presented.
5.2.1
General background
The problem of obstacle detection for the vehicles driving
with or without driver
assistance is one of the major challenges in the field of robotics and machine vision. A
robust mechanism inspired by the most complicated and accurate vision system, i.e., that
of human beings, needs to be sorted out properly. The problem of identifying the changing
environment of the roads, detecting the potential obstacles and avoiding them are
tremendous tasks in the field of machine vision. The basic aim of obstacle detection is to
extract/identify feature points/parts in images and removing all the other image contents.
The most important factor which is always needed to be fine-tuned is the speed. This
process needs to be accurate and should be carried out with a very fast speed. The
common approaches in this context use analytical and statistical methods like motion
estimation or the generation of maps. One of these methods involves features extraction,
subsequent displacement vector estimation and a robust
estimation of the motion
parameters. Since this procedure is composed of several processing steps, the error
propagation of the successive steps often leads to inaccurate results [100]. Through using
CNN a direct obstacle detection can be performed which eliminates the above mentioned
problems. The parallel computation paradigm of CNN provides a fast processing
mechanism. Presenting two stereo
images of a sequence to CNN, to highlight the 3D
objects as potential obstacles in the image, provides a fast and robust mechanism for
obstacle detection.
For obstacle detection using CNN, there is a need of training CNN for highlighting the 3D
objects in the image. The training process includes parameter optimization for CNN. This
approach has also been used in [100] which uses the so-called iterative annealing [101]
method for parameters optimization. For carrying out this task, a CNN with 5-by-5
neighborhood and a polynomial cell coupling of degree 3 is used in this work. One of the
drawbacks in iterative annealing is the possibility of trapping into local minima and ending
with an incorrect solution. The approach presented above
is adapted in this work by
43
carrying out the same task by using a 3-by-3 CNN processor matrix. For
template/parameter optimization, we do use a genetic algorithm. A genetic algorithm is a
learning algorithm based on the mechanism of natural selection and genetics, which has
proven to be effective in a number of applications [102]. Suitable selections of its operators
enable the algorithm not to fall into local minima. The common approach of genetic
algorithm involves creating an initial population of binary
numbers that represent the
possible solutions. The search evolves with these initial population members (called
chromosomes) and manipulates them in order to achieve an accurate or optimal solution.
The population of binary numbers needs repeated encoding and decoding process. Also the
sizes of chromosomes are very large and vary proportionally to the problem variables. We
do use a ‘real coded’ approach of genetic algorithm that exploits an initial population of
real numbers rather than binary numbers. This eliminates the need of repeated encoding
and decoding of chromosomes and improves both efficiency and speed of the algorithm.
The approach was not only used for finding obstacles in the images but also for other
image processing tasks: e.g. thresholding,
noise removal, filling etc. Even in the lastly
mentioned cases the concept was found to produce good results.
The next section discusses a brief introduction of CNN and genetic algorithm as a good
candidate for CNN parameter optimization. The obstacle detection using CNN based on the
real coded approach of a genetic algorithm is considered as well. Various output results for
different image processing tasks are also presented.