Two-dimensional Image Filter Design for Multiplierless Implementation Using Genetic Algorithms

libyantawdryAI and Robotics

Oct 23, 2013 (4 years and 2 months ago)

80 views

Two
-
dimensional Image Filter
Design for Multiplierless
Implementation Using Genetic
Algorithms

Senior Capstone Design Project

Spring, 2003:

Douglas Lockett & Christopher Roblee

Advisor: Professor Michael Rudko


Objective Statement


To devise an improved methodology for
the performance enhancement of
hardware
-
based image filters through the
use of genetic optimization techniques.




Agenda


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



Image 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.

IIR 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.


Multiplierless Approach


Power
-
of
-
two coefficients (
2
n
, 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 2
n
,
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

0001000001
2

=
65
10


13

x8

104

00001101 x 00001000



01101000
2

Shift left 3





=
104
10


Example: Real multiplication


Example: Power
-
of
-
two multiplication


Genetic 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.


Execution 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.



n


y

Fitness Evaluation

Initial
Population
of Members

Crossover Selection

Crossover of selected
members

Mutation inserted into
population

Random
Mutation

Converge
d
?

Fittest
Member

New
Population

Desired

Output

Characteristics 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.


























Y




N

More
Iterations?

Fittest
Member

New Population

Initial Population of
power
-
of
-
2
coefficients.

Desired
Response

Remove Unstable
Coefficient Sets

Parameters:

-
Number of Iterations

-
Filter Order

-
Mutation probability

-
Word length

-
Sampling frequency

Fitness Evaluation

-
Crossover Member Selection

-
Crossover Point Selection

Crossover of selected
coefficients

Mutation inserted into
population

Random
Mutation

Selected
Fittest
Members

Remove Unstable
Coefficient Sets

Newly
-
generated
power
-
of
-
2
coefficients.

Population replenished with
new members to maintain
original size

Multiplierless GA

For IIR Filters

Crossover Example

A coefficients

B coefficients

Member 1

Member 2

Current Population

Crossover Example

Two coefficient sets (members) selected to cross over

A coefficients

B coefficients

Member 1

Member 2

Current Population

Crossover Example

Random crossover points selected for A and B coefficients

A coefficients

B coefficients

Member 1

Member 2

Crossover Example

Range of coefficients to be exchanged between members

A coefficients

B coefficients

Member 1

Member 2

Crossover Example

Coefficients exchanged

A coefficients

B coefficients

Member 1

Member 2

Crossover Example

Offspring as a result of crossover

A coefficients

B coefficients

Member 1’

Member 2’

Crossover Example

Offspring join new population

New Population

A coefficients

B coefficients

Member 1’

Member 2’

Major 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).







GA Output
-

Generic

Ideal High
-
pass filter:


2000 Iterations


10
th
-
Order


Mutation Probability = 0.001



Magnitude Frequency Response



Relative Error of Fittest
Member vs. Iteration

GA Output
-

Generic

Ideal High
-
pass filter:


15000 Iterations


50
th
-
Order


Mutation Probability = 0.001



GA Output
-

Blurring

Blurring (Low
-
Pass) Filter Parameters:


2000 Iterations


15
th
-
Order


Mutation Probability = 0.001


Cutoff frequency = 0.66radians


Magnitude Frequency Response

Relative Error of Fittest
Member vs. Iteration

Magnitude Frequency Response Analysis


Image Analysis
-

Blurring

Blurring (Low
-
Pass) Filter Parameters:


15
th
-
Order


Cutoff frequency = 0.66radians

Input bitmap image

Filtered bitmap image

GA Output
-

Canny Edge Detection

Canny Edge Detection (Gaussian) Filter Parameters:


1000 Iterations


10
th
-
Order


σ = 1



Mutation Probability = 0.001



Magnitude Frequency Response,
Gaussian

Relative Error of Fittest
Member vs. Iteration

Magnitude Frequency Response,
Derivative Gaussian

Canny:

An established method for detecting edges in images. Described
by a high
-
pass filter, Gaussian impulse response.

Magnitude Frequency Response Analysis


GA Output
-

Canny Edge Detection

Canny Edge Detection (Gaussian) Filter Parameters:


300 Iterations


10
th
-
Order


σ = 2



Mutation Probability = 0.001



Magnitude Frequency Response, Gaussian

Relative Error of Fittest
Member vs. Iteration

Magnitude Frequency Response Analysis


Image Analysis
-
Canny Edge
Detection

Canny Edge Detection Filter Characteristics:


10
th
-
Order


σ = 1

Input bitmap image

Filtered bitmap image

Image Analysis
-
Canny Edge
Detection

Canny Edge Detection Filter Characteristics:


10
th
-
Order


σ = 1

Ideal Impulse Response, Gaussian

Input bitmap image

Filtered bitmap image

Image Analysis
-

Canny Edge
Detection

Canny Edge Detection Filter Characteristics:


10
th
-
Order


σ = 1

Ideal Impulse Response, Gaussian

Input bitmap image

Filtered bitmap image

Proposed Multiplierless Model


Block Diagram for functional block implementing an IIR difference equation
:


Hardware Implications:
FPGA


Macro
-
cell oriented


Hardware cost is function of word length (n)



Hardware costs (in macro cell counts) for different implementations of 10
th
-
order IIR system.

Word
Length


Multiplier
-
based


Multiplierless


Total Multiplier Cost


Total Cost


Total Shifter Cost


Total Cost


3
rd

Order


10
th

Order


3
rd

Order


10
th

Order


10
th

Order


n = 8


640


2,432


708


2,738


152


458


n = 16


2,560


9,728


2,689


10,322


304


898


n = 24


5,760


21,888


5,892


22,770


456


1,338


Operator


Required Number of Macro Cells


Shifter


n


Multiplier


2n
2


Adder


2n


Unit Delay


n


Hardware 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)
).



Cost
multiplier
=


adders

+ (18
delay registers
)


Cost
multiplierless
= 18
adders

+ 18
delay registers


10
th

Order ASIC Functional Block Cost:

Hardware Implications: ASIC

Power of 2 coefficient = 0.125

Shift Right 3

.

0

0

1

0

0

0

0

0

1

1

1

0

1

1

0

0

Multiplicand = 234

x(n), 8 bits

.

0

1

0

0

0

0

0

0

0

0

0

1

1

1

0

1

Product/output register: product = 29.25


y(n),16 bits



Wired shift
-
by
-
3 logic.



Wired shift in fixed coefficient ASIC configuration.



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.

Conclusions


Developed a genetic algorithm with several unique,
application
-
oriented attributes capable of optimizing filter
coefficients such that the corresponding filter

s 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.

Acknowledgements


Professor Michael Rudko


Professor Fran
ç
ois Cabestaing


Professor Cherrice Traver