Research question 4: What are the major template calculation schemes of relevance
for CNN based image processing? How can these calculations be
performed in a real-time high performance computing context?
Cellular neural networks technology provides a very powerful analog computing
architecture for a variety of array computation and image processing. From a theoretical
point of view the CNN concept offers the capability of modeling various image processing
filters and operators on a CNN processors’ based “Universal Machine”. A CNN processors
array used in image processing has a feedback template, a feed-forward template and a
bias. These three templates are matrices that can be used to reconfigure the CNN
processors system without any hardware changes. The most challenging issue is however
to find the appropriate and optimized templates for each application (filter, operator, etc.).
Generally, there are three ways to calculate both feed-forward and feedback templates.
One approach consists in the direct mapping of the mathematical model expressing the
11
required processing to CNN templates; the mathematical models are often in the form of
either
Ordinary Differential Equations
(ODEs) or
Partial Differential Equations
(PDE). The
other approach consists in using heuristic search methods (i.e., genetic algorithm, iterative
annealing, and etc). Most image processing operators are working around a central pixel
such as calculating intensity gradient, finding edging or performing median or Gaussian on
a pixel by involving the neighboring pixels in the processing of a central pixel. For each
image processing operator there is a mathematical model and an approximation [29].
Using the central difference method we can approximate the original mathematical method
and apply it on a digital image by using a convolution function. This enabled by the main
characteristic of the central difference method, which is that we can easily clone/realize it
by a 2D convolution operator. The forward template is a simple convolution that performs
only one time in CNN. Therefore, a mathematical model can be used to extract the related
forward templates of CNN. In case of multiple iterations we can also use the feedback
templates in CNN. This template should perform on the output of all neighbor cells which
are around the center cell. After the transient phase, all the values will converge to a stable
level. Another template calculating approach is using heuristic search algorithm such as
genetic algorithm and iterative annealing. The genetic algorithm does use a fitness function
for evaluating the quality of partial results and minimizing the error gradient function.
During the learning phase the partial training results of CNN will converge to a minimum
error then one can store both feedback and feed-forward templates.
Template calculation is a time consuming process. Depending on a given problem we have
to calculate the appropriate templates. Using genetic algorithms is very time consuming;
therefore we have to calculate different templates for different scenarios and keep it them
in a template bank. There are many static templates that we can pre-calculate such as
image noise removing, laplacian operator/find edges, corner detection, skeleton of regions,
morphological operators, etc. Another way is using direct mathematical mapping with
dynamic parameters. This form of CNN template determination can also perform in real
time. Image enhancement, local thresholding, active contours, etc are some form of
‘dynamic mathematical mapping’ based templates.
|