Title: Twodimensional Image Filter Design for Multiplierless Implementation Using Genetic Algorithms
1Two-dimensional Image Filter Design for
Multiplierless Implementation Using Genetic
Algorithms
- Senior Capstone Design Project
- Spring, 2003
- Douglas Lockett Christopher Roblee
- Advisor Professor Michael Rudko
2Objective Statement
- To devise an improved methodology for the
performance enhancement of hardware-based image
filters through the use of genetic optimization
techniques.
3Agenda
- Image Filtering, IIR Systems
- Multiplierless approach for performance
enhancement - Genetic optimization for multiplierless filter
design - Genetic Algorithm (GA) design process
- GA and filter output results
- Proposed hardware model
- Conclusion
4Image Filtering
- Inherently two-dimensional.
- Performed in spatial domain.
- Many real-world applications.
- Filters are either finite impulse response (FIR)
or infinite impulse response (IIR). - Defined by a series of filter coefficients.
5IIR Filters
- Motivations
- Require fewer coefficients (lower order) than FIR
filters for a given response. - Allow for more precise and sharper approximations
of the ideal frequency response. - Tradeoffs
- Issues in stability.
- Issues with phase response linearity.
6Multiplierless Approach
- Power-of-two coefficients (2n, where n is whole
number) - A single arithmetic shift left (ASL) corresponds
to a multiplication by two. Likewise, an n-bit
shift left or right (ASR) corresponds to a
multiplication or division by 2n, respectively. - Computationally intensive and logically complex
multiplication operations within a filtering
algorithm can be reduced to fast and efficient
binary shifts. - Highly beneficial for real-time image processing
systems. - Much more difficult to obtain suitable
coefficients, however.
13 x5 65
00001101 x 00000101 00001101 Add
00000000 Add 00001101 Add 00010000012
6510
13 x8 104
00001101 x 00001000 011010002 Shift
left 3 10410
7Genetic Algorithms (GAs)
- Used to optimize systems through evolutionary
breeding (crossover). - Based on Darwinian genetic theory of fittest
member (system) survival. - Random search, as opposed to exhaustive search
approach. - Many generations (iterations) to improve overall
population fitness. - Decided on GA to realize multiplierless
enhancement - Classical filter design techniques (Chebyshev,
Butterworth, Elliptical, Bilinear Transform) are
incapable of satisfying criteria imposed by
multiplierless systems. - Innovative application.
8Execution Flow of a Basic Genetic Algorithm
- Begin with random initial population of possible
outcomes. - Evaluate fitness of each member in the
population. - Probability of crossover assigned to each member
based upon fitness. - Members selected to crossover pseudo-randomly,
with fitter members having higher probabilities
of being chosen to crossover. Corresponds to an
exchange of genetic material between parents
such that subsequent generations become fitter
over time. - Offspring from the crossover process are subject
to a random mutation. - Above steps are repeated until population
converges to a single (ideal) outcome
representing the fittest solution.
9Characteristics of Designed Genetic Algorithm
- Population comprises possible sets of
multiplierless (power-of-two) filter
coefficients. - Filter (member) stability is initial criterion.
- Member fitness inversely proportional to the
squares of the differences between the member
magnitude frequency response and that of a
specified ideal filter. - Crossover procedure defined by randomly selected
crossover points, corresponding to ranges of
coefficients exchanged between crossover pairs
(breeding). - A specific number of fittest parent members are
set aside and inserted into the subsequent
generation to prevent regression. - Coefficients within each member have a random
chance of mutation based upon a pre-defined
mutation probability. - Process repeated for a specified number of
iterations. - Fittest member after evolution cycle determined
to be the optimal multiplierless filter
representation.
10Multiplierless GA For IIR Filters
11Crossover Example
Current Population
Member 1
Member 2
A coefficients
B coefficients
12Crossover Example
Current Population
Member 1
Member 2
A coefficients
B coefficients
Two coefficient sets (members) selected to cross
over
13Crossover Example
Member 1
Member 2
A coefficients
B coefficients
Random crossover points selected for A and B
coefficients
14Crossover Example
Member 1
Member 2
A coefficients
B coefficients
Range of coefficients to be exchanged between
members
15Crossover Example
Member 1
Member 2
A coefficients
B coefficients
Coefficients exchanged
16Crossover Example
Member 1
Member 2
A coefficients
B coefficients
Offspring as a result of crossover
17Crossover Example
Member 1
Member 2
A coefficients
B coefficients
New Population
Offspring join new population
18Major Differences in Designed GA
- Much more specific in order to accommodate
multiplierless criteria. - Members represented as power-of-two decimal
numbers as opposed to binary strings. - Pre-emptive removal of unstable members before
fitness evaluation pervasive stability checking
throughout. - Crossover of entire coefficient values as opposed
to fractions of binary strings. - Specified number of fittest members held over to
subsequent generation to prevent fitness
regression. - Subdivision of members into numerator and
denominator coefficient subsets (B and A
coefficients, respectively).
19GA Output - Generic
- Ideal High-pass filter
- 2000 Iterations
- 10th-Order
- Mutation Probability 0.001
20GA Output - Generic
- Ideal High-pass filter
- 15000 Iterations
- 50th-Order
- Mutation Probability 0.001
21GA Output- Blurring
Magnitude Frequency Response Analysis
Magnitude Frequency Response
Relative Error of Fittest Member vs. Iteration
- Blurring (Low-Pass) Filter Parameters
- 2000 Iterations
- 15th-Order
- Mutation Probability 0.001
- Cutoff frequency 0.66radians
22Image Analysis- Blurring
Input bitmap image
Filtered bitmap image
- Blurring (Low-Pass) Filter Parameters
- 15th-Order
- Cutoff frequency 0.66radians
23GA Output- Canny Edge Detection
Canny An established method for detecting edges
in images. Described by a high-pass filter,
Gaussian impulse response.
Magnitude Frequency Response Analysis
Magnitude Frequency Response, Derivative Gaussian
Magnitude Frequency Response, Gaussian
Relative Error of Fittest Member vs. Iteration
- Canny Edge Detection (Gaussian) Filter
Parameters - 1000 Iterations
- 10th-Order
- s 1
- Mutation Probability 0.001
24GA Output- Canny Edge Detection
Magnitude Frequency Response Analysis
Magnitude Frequency Response, Gaussian
Relative Error of Fittest Member vs. Iteration
- Canny Edge Detection (Gaussian) Filter
Parameters - 300 Iterations
- 10th-Order
- s 2
- Mutation Probability 0.001
25Image Analysis-Canny Edge Detection
Input bitmap image
Filtered bitmap image
- Canny Edge Detection Filter Characteristics
- 10th-Order
- s 1
26Image Analysis-Canny Edge Detection
Ideal Impulse Response, Gaussian
Input bitmap image
Filtered bitmap image
- Canny Edge Detection Filter Characteristics
- 10th-Order
- s 1
27Image Analysis- Canny Edge Detection
Ideal Impulse Response, Gaussian
Input bitmap image
Filtered bitmap image
- Canny Edge Detection Filter Characteristics
- 10th-Order
- s 1
28Proposed Multiplierless Model
- Block Diagram for functional block implementing
an IIR difference equation
29Hardware Implications FPGA
- Macro-cell oriented
- Hardware cost is function of word length (n)
Hardware costs (in macro cell counts) for
different implementations of 10th-order IIR
system.
30Hardware Implications ASIC
- Application specific design.
- Can optimize logic at the gate or transistor
level, as opposed to the macrocell level - Can hard-code the coefficients into circuitry to
completely eliminate the need for any gate logic
to perform multiplications. - Multiplier-based, fixed ASIC implementation
require a series of shifts and additions to
perform multiplications (equal to of 1s in
binary coefficient, J(i)).
10th Order ASIC Functional Block Cost
Costmultiplier adders (18
delay registers) Costmultiplierless 18 adders
18 delay registers
31Hardware Implications ASIC
- Multiplications are constant shifts, so the bit
signals of the multiplicand (input) can be
rerouted to effectively realize a wired shift by
the amount specified in the static coefficient. - Rerouted (shifted) input can be sent directly to
the output register without any shift logic or
additional clock cycles.
Wired shift in fixed coefficient ASIC
configuration.
32Conclusions
- Developed a genetic algorithm with several
unique, application-oriented attributes capable
of optimizing filter coefficients such that the
corresponding filters frequency response matches
that of an ideal system with the constraint that
all coefficients are powers-of-two and the
resulting filter is stable. - Genetically optimized multiplierless filters
consistently yield comparable image results as
their ideal counterparts. - In many cases the multiplierless systems have a
definite advantage in terms of their efficiency
while maintaining a desired response. - In all cases, the multiplierless approach allows
for substantial reductions in hardware cost and
computational intensity. - Multiplierless-based systems are a viable
alternative for implementing image filters.
33Acknowledgements
- Professor Michael Rudko
- Professor François Cabestaing
- Professor Cherrice Traver