You are on page 1of 54

An Image Fusion Approach Based on Markov Random Fields

ABSTRACT
Segmentation is an important aspect of medical image processing, where
Clustering approach is widely used in biomedical applications particularly for brain tumor
detection in abnormal Magnetic Resonance Images (MRI). Fuzzy clustering using Fuzzy CMeans (FCM) algorithm proved to be superior over the other clustering approaches in terms of
segmentation efficiency. But the major drawbackof the FCM algorithm is the
huge computational time required for convergence. The effectiveness of the FCM algorithm in
terms of computational rate is improved by modifying the cluster center and membership
value updation criterion. In this paper, convergence rate is compared between the conventional
FCM and the Improved FCM

An Image Fusion Approach Based on Markov Random Fields

CHAPTER-1
INTRODUCTION TO MATLAB
1.1 History of MATLAB
MATLAB is programming tool for technical computing. This

is

the

shortest

definition. More accurate definition is in the end of this section.


MATLAB has grown due to needs of technical computing in the year 1980, when the
university teacher of mathematics Cleve Moler from Stanford University wrote the basics
of MATLAB for linear algebra that is how to calculate with matrices (adding,
subtracting, multiplying, dividing ) and how to solve linear systems. The Figure 1.1
shows the example of magic matrix with dimensions 5 x 5, where the sum of rows,
columns and diagonals are equal. Check it, if it is true!
1
2
4
1
1

2
5
6
1
1

1
7
1
1
2

8
1
2
2
2

1
1
Figure 1.1 : Magic matrix with dimensions 5 x 5
2
3
Cleve Moler discovered that program languages are not user
9
friendly for his needs to teach mathematics, soon. If students

1
8
5
would use the program languages FORTRAN, Pascal, C, etc, they would loose a lot of time

programming and learning these languages. This is the reason, why he had started to
develop MATLAB, as interactive calculator, without possibility to program, just to calculate
matrices etc. The first version of MATLAB was written in FORTRAN and it used the
libraries LINPACK and EISPACK to calculate matrices. The next stage in the development
of MATLAB was the year 1983, when Jack Little and Steve Bangert joined Cleve Moler and
programmed the newer version of MATLAB in C language. They also added the
possibility of interpreter programming in so called M-code and some other characteristics.
They called this version of MATLAB MATLAB 1.0 and was published on the market in
the year 1984, when the company MATHWORKS was established. The company
MATHWORKS has developed several newer versions from year to year. They introduced first
version of SIMULINK, which offer also graphical programming in year 1990. The usability
of MATLAB and SIMULINK is even improved by so called Toolboxes and Blocksets,
which have been available and improved from year 1990. The newest version of
MATLAB on the market is version 7.2. It is also available cheaper version of MATLAB just
1

An Image Fusion Approach Based on Markov Random Fields

for students. We will present the basic of MATLAB trough the practical work during the
next sections. Here you will find a little more complicate definition, what is MATLAB?
MATLAB is:

higher program language oriented in solving technical problems with integrated


interactive developing environment. Programming language in MATLAB is called
M-code.

The characteristics of MATLAB are:

Program language MATLAB has dynamic memory management, therefore there


is no need to define in advance the names and types of variables, like in C.

MATLAB development environment allows users interactive experimenting with


the problem to be solved, as well as writing a longer program in M-code.

An interpreter of M-code is not a classical translator, as case of C-language.


The interpreter translates every single command (row) and executes it immediately
after was confirmed by type of Enter on a keyboard. In case of a classical
translator, the user has to write the complete program and after that the program
is translated and than in the second stage executed. Therefore the MATLAB
interpreter allows an interactive work.

The time needed for developing program in M-code is pretty lower than in case
of programming in Pascal, FORTRAN or in C-language.

Every program written in M-code is interpreted and not translated in classical


way, so the execution is slow.

Of course, the MATLAB developing environment supports not only interpreter


mode, but also a classical two stage translating. The classical translating is only
used in the case, when the development of the program in M-code is completely
finished. Then the execution of the program becomes faster.

The drawback of the classical translated M-code is that this translated code is
not transferrable to other microprocessors (PIC, ATMEL, etc), as it is possible in
case of translated C-code.

An Image Fusion Approach Based on Markov Random Fields

1.2The MATLAB developing environment and Help


As users of MATLAB, we always work in the windows (see subsection 2.1) of
MATLAB developing environment. Here, we do the experiments, calculations and
programming.
Whenever work stops, and we dont know how to continue, than we need some kind
of help. The MATLAB supports trough its Help window with the basic definitions and
examples, how to solve some problems MATLAB developing environment
The program MATLAB has to be installed on the PC computer, first. After it is
installed, you can find an icon (see Fig. 2.1) on the Desktop.

Figure 1.2: MATLAB version 6.5 icon on the desktop


The icon on the PC desktop may looks like as in Fig. 2.2.

Double click on
MATLAB
icon!

An Image Fusion Approach Based on Markov Random Fields

Figure 1.3: A desktop with a MATLAB icon


A MATLAB developing environment opens after a double click on the MATLAB icon, as
it presented in Fig. 2.3.

An Image Fusion Approach Based on Markov Random Fields

Menu

Tool line

MATLAB is
closed by clicking x

Work
space

Command
window
Command
history

Figure 1.4: MATLAB developing environment


Figure 1.3 shows MATLAB developing environment which has:
Menu line,
Tool line, which display current directory,
Command window,
Workspace window and
Command history window.
All windows are still empty on figure 2.3.
MATLAB window is closed like it is common in other Windows applications
double clicking on the sign x in upper right corner of MATLAB developing environment
window. The other possibilities to close the MATLAB developing environment window
is to write command exit or quit in Command Window and press Enter.

1.2.1HELP in MATLAB
The Help is called on several ways in MATLA developing environment (see Fig. 2.4):
2.1.1

The simpliest way is to click on button Help in Menu line.

2.1.2

Click to the blue question mark in the tool line.


5

An Image Fusion Approach Based on Markov Random Fields

Help in Menu

Help in tool line

Figure 2.4: Calling Help in MATLAB developing environment


If we use the HELP button from the Menu line, than next we have to choose between Full
Product Family Help and MATLAB Help (see Fig. 2.5).
Full Product Family Help
MATLAB Help

Figure 1.5: Two different types of Help


If we need some information about MATLAB, than we choose MATLAB Help. If we
need support for any other tool (Toolboxes), then we choose button Full product Family
Help.
The presented possibilities to run the Help options are very extensive with a lot of
information and examples. The other possibility of Help, which gives the user only short
and basic information is done in Command Window with the command help and the

An Image Fusion Approach Based on Markov Random Fields

name of function, which we would like to explore, like this: help name_of_function and
confirm with Enter.
Example:
With help of MATLAB command help in Command Window find the information for
function log and log10.
First, we type the command: help log, and than help log10 in Command Window.
Figure 2.6 shows the display of help command for the function log, while figure 2.7
presents the help information for function log10.

Figure 1.6: MATLABs help for function log

Figure 1.7: MATLABs help for function log10

An Image Fusion Approach Based on Markov Random Fields

We can see that the function log is logarithm naturalis, while the function log10 is
Briggs logarithm.

An Image Fusion Approach Based on Markov Random Fields

1.3MATLAB as a calculator
What you will learn in this section?
1.4 How to use MATLAB environment interactively.
1.5 How numbers are defined and displayed in MATLAB.
1.6 How to calculate with numbers.
1.7 How mathematical functions (sin, log, etc.) are called.
1.8 How to arrange numbers in MATLAB.
Interactivity of MATLAB development environment allows the exploration of
problems with trials; as well the MATLAB can be used as a calculator. The usage of the
calculators is well known, so we can start to explore MATLAB on the basis of this
knowledge.

1.3.1 Number, more numbers, even more numbers, a lot of numbers...


Let's start with the simplest exercise one number.
1.3.1.1

A number and display of the number in MATLAB

Choose a number 10and write down it in the MATLAB command window and see
what will happen!

Confirm with ENTER!

Figure 1.8: Typing the number 10 in MATLAB Command window


We can see in the Command Window that the MATLAB confirms the written data
(the number 10 with the variable ans, immediately after the confirmation with the
command ENTER. The variable ans is displayed in the window of Workspace.
7

An Image Fusion Approach Based on Markov Random Fields

What kind of numbers do we know in mathematics? Does the MATLAW know the
all sorts of numbers, known in mathematics?
Probably, you remember that we do know: natural numbers, integer numbers,
rational numbers, real numbers, and complex numbers.
The number 10, just typed in the Command Window is natural number. By the
way, every type of numbers has to be confirmed by the command Enter. Other types of
numbers are:
1.3.1.2

Integer number: -5

1.3.1.3

Rational number: 1/3

1.3.1.4

Real (irrational) number: (pi)

1.3.1.5

Complex number: 2 + 3i, where i is a complex operator.

Figure 1.9: Typing the different types of numbers in the MATLAB Command Window
We can see from Fig. 3.2, that rational and real number is rewritten by MATLAB
with 4 decimal places (digits). The rational number 1/3 is rewritten in the decimal shape
with the never ending queue of numbers 3, or with other words: 0.33333... Also, other types
of numbers, like number 2, can be represented by never ending queue of decimal digits.
Presented numbers in MATLAB developing environment can be set by command
format. This command allows us to write the number as a rational numbers, or a decimal
8

An Image Fusion Approach Based on Markov Random Fields

How do we present the rational number in MATLAB?


Rational number is quite often in the use. We can also calculate with rational numbers.
MATLAB uses special command for displaying the rational numbers, called: format. rat.
It provides easier and more transparent calculation with rational numbers in MATLAB.
Let's see the display of rational number 1/3 and test some simple calculations with the
command format rat.

Figure 1.9: Calculation with rational numbers


If you want to return from the format rat type of displaying to normal decimal
displaying, you can use the command format short.
We already mentioned the so called irrational numbers, like and 2. An
irrational number could be displayed with never ending queue of digits after the decimal
point and this is the reason to ask our self, how many digits after the decimal point could
be displayed in MATAB?
How many digits after the decimal point could be displayed in MATAB?
The command format does not only determine if the displayed number is rational or
decimal number, but also how many digits would be displayed after the decimal point:
9

An Image Fusion Approach Based on Markov Random Fields

1.3.1.6

format short determines the decimal shape with 4 digits after the decimal point and

1.3.1.7

format long determines the decimal shape with 14 digits after the decimal point.
The default type of a number displaying in MATLAB Command window is format

short, as you see in the Fig. 3.2. Therefore we will rewrite the same numbers of rational
number 1/3 and real number with the command format long.

Figure 1.10: Format long presentation of numbers in MATLAB


N exponential type of number presentation is useful for very small or very big numbers.
Can we present the numbers with exponential type in the MATLAB?
MATLAB automatically shows huge integer number in the exponent form with 4
digits after the decimal point (format short). This is valid only for this number. If we
would like to write all numbers in the exponential form than we have to use next two
format commands:

10

An Image Fusion Approach Based on Markov Random Fields

1.3.1.8

format short e for the exponent form with 4 decimal digits and

1.3.1.9

format long e for the exponent form with 14 decimal.

format short

Figure 1.11: Format short e and format long e commands


The numbers with 14 decimal digits after the decimal point are really huge or
really small. Therefore, we can ask the next question: How much big and how much small
numbers do we really need?
How much big and how much small numbers do we really need?
Let's see first, what kind of needs do we have with numbers in our personal life? Our
personal life is dominantly determined with money, we earn and spend. The most of the
EU use the money currency Euro (EUR). The Euro is divided to 1/100, or cent. That's mean
we need only two decimal digits after the decimal point. More difficult is the question how
many digits do we need before the decimal point in the everyday life? Let's see! The
four member family needs approximately 400 Euros per month for just a food. This is 3
decimal digits before the decimal point. You also don't need more than three to four
decimal digits before the decimal point for monthly salary. The car, which more or less
needed for the normal life costs several monthly salaries, let's say for the new Volkswagen
Golf you need about 20.000 Euros. And you need to live somewhere! The average 100
11

An Image Fusion Approach Based on Markov Random Fields

m2 flat costs about 150.000 Euros. Therefore, we do need numbers with 6 decimal digits
before the decimal point in the average person life. Of course, if you are the company
owner or businessmen than you operate with numbers which have more digits than 6
before the decimal point. More the wealth you have bigger number you need. Of course,
you, as future engineers or scientist, are probably not so much interested for the numbers
to calculate the wealth, but to calculate what kind of numbers we need in engineering
and science.
The next example is the example from electrical engineering. Let's see the simple
RC circuit, which is presented in the Fig. 3.6.

R
uin

uC = y

Figure 1.12: The simple RC circuit


The RC circuit is built by resistor and capacitor. The resistor manufacturers produce
resistors in the nominate value:
from 0.001 (1m) to 1 000 000 000 000 (1G).
The capacitor manufacturers produce capacitors in the nominate value:
from 0.000 000 000 001 (1pF) to 1000 F (supercapacitors).
So, we need just to write all possible values of resistors and capacitors number with at least
15 decimal digits.
The second example is the example from wider area of physics, which consist of
quantum physics to astronomy. Let's see what kind of number we need to present the mass
and size.
A particle with the smallest mass in physics is called the electron neutrino. Its mass is:
mN = 4.10-36 kg.

12

An Image Fusion Approach Based on Markov Random Fields

If the mass of electron neutrino means the smallest mass, the mass of the Universe
presents the biggest mass, needed. Astronomy estimates the mass of the Universe as:
mU = 1053 kg.
Mass in physics therefore has values which differs by 89 (36+53) decimal digits.
The quantum physicists don't talk about the size of electronic particles, but
according to classical theory there exists the electron size estimation:
-15

a diameter of an electron 10

m.

The greatest distances and sizes we can observe again in the Universe. Nowadays,
we can observe the flock of galaxies, which are billions of light years away and their size
is millions of light years. Therefore, we can estimate:
a size of the Universe > 1034 m.
So, we need numbers which differs for 49 (15+34) decimal digits in physics to present
the sizes and distances.
We can conclude that engineers and scientists need really huge or really small numbers.
So, there is the next question, what is the biggest and the smallest number to be written
and used in MATLAB?
How is the number written in MATLAB?
Numbers are written as binary code numbers in every computer. The size of the
number, which is used in the computer, is determined by numbers of bits or with number
of digits to write the binary value. Computers use 8, 16, 32 or 64 bits long binary
numbers...
The usual writing (with fixed point) can present the biggest value, which is written
with 64 bit word:

264 1 = 1.8447 .1019


So, 64 bit number does not cover the complete area of numbers in physics. Therefore,
computers use so called exponent presentation of numbers, known as floating point
13

An Image Fusion Approach Based on Markov Random Fields

binary values. It is very precisely described by IEEE standard 754 from 1985, or 2008,
when it was renewed. The mentioned standard you can find on the web page:
The sign of the number The
sign of the exponent

2 1

IEEE standard 754 exponent writing of the number with 64 bits is called double. With
this kind of format, we can write numbers: from 10-308 to 10+308 .
The command in MATLAB to write the biggest number is realmax, while the
smallest number is written by the command realmin.
It is used a format double this is 64 bit floating point format (se Fig. 3.7) for all
versions of MATLAB, except MATLAB Version 7, where it is possible to determine the
format and used it for the calculation by the user.
NOTE: It will not be presented the command Enter any further, but of course, it is
assumed that the user presses the key command Enter after the number is written in the
Command Window.

14

An Image Fusion Approach Based on Markov Random Fields

Figure 3.7: Double format number


MATLAB does not know format to display binary numbers, but the user can write and
display hexadecimal code numbers with the command: format hex. When using
hexadecimal code numbers, it is needed to use upper described definition of floating point
number.
Can we change a density of lines in the Command Window?
We can change the density of written lines in the MATLAB's Command Window with
commands:
1.3.1.10

format loose (there is one empty line between two written lines) and

1.3.1.11

format compact (there is no empty line between two written lines).

15

An Image Fusion Approach Based on Markov Random Fields

Figure 1.13: Format loose and format compact


Calculating with numbers in MATLAB
What kind of calculating operation can be used in MATLAB?
We just write numbers and operators in the Command Window, similar as we do in a
calculator. We have to confirm the written numbers and operators with the key Enter.
Than the MATLAB calculate the result.
The basic calculating operators in MATLAB are:
1.3.1.12

adding+ ,

1.3.1.13

subtracting - ,

1.3.1.14

multiplying * ,

1.3.1.15

dividing / and

1.3.1.16

power .

16

An Image Fusion Approach Based on Markov Random Fields

Figure 1.14: Basic mathematical calculations


The sign for power is called by next order key writing AltGr 3 3. Note: it is important to
press number 3 twice!
What is the order of mathematical operation execution for longer
mathematical expressions?
The order of mathematical longer operation execution is determined by priority of
operators, which can be changed by brackets.
Priority of mathematical operations in the MASTLAB is:
1.3.1.17

The round brackets ( and ) have the highest priority.

1.3.1.18

Operation power ^ have the second highest priority.

1.3.1.19

Next are operators multiplying (*) and dividing (/), which have the same
priority

1.3.1.20

Adding (+) and subtracting (-) have the same and the lowest priority.

17

Let's calculate a little more complicate exercise:

Figure 1.14: Priority of calculating execution


Because of the above written priority, we can see that first was executed the power operator
(^2), than multiplying (*) and in the end operator adding (+):
3 2*2+1 = 9*2+1 = 18 +1 = 19.
As we had said, the priority of operator execution can be changed by :

Figure 1.15: Changing the operator execution priority by round brackets


The first operation, which was executed was adding (+), then multiplying (*) and in
the end operation power (^). As we see, we completely turned around the priority of
operator execution with round brackets:

Maybe, someone should think that it is unusual, but the majority of errors, when
using the rules of priority, have happened because of the order of operators with the same
priority, like multiplying and dividing.
What is the order of mathematical operators execution with the same priority?
The same priority mathematical operators are executed one after another from left to
right, as they are written in the expression.

Figure 1.16: The execution priority of the operators with the same priority
First, we calculate (5/2), than we multiply (5/2)*3, than we divide again with 3 ((5/2)*3)/3
and in the end everything multiply by 2: (((5/2)*3)/3)*2.
Lets write the above mathematical expression with rational numbers:
The typical error happened, when we change the mathematical expression written by
rational numbers to the MATLAB expression. Let's see the typical example. If we would
like to calculate the rational number: 1200/(40.30), then the expected result is 1.
If we would do the error, then we might write the last expression like that:

19

Figure 1.17: The error writing the above expression


Let's see the result, calculated by MATLAB. The result is much different from the
expected value 1. Are you surprised? MATLAB uses the rule: calculate the result by the
same priority operators which are executed one after another from left to right:
1200/40*30 = 30*30 = 900.
If we would like to get the right result, we have to write the above example in MATLAB:

Figure 1.18: Correctly written example


This time, we got the expected result.
We use very often the mathematical operators (sin, cos, log, ln, etc.) in mathematical
expressions in electrical engineering, mechanics, physics, etc. Does MATLAB know
these functions?
Does the MATLAB know the functions: sin, cos, log, ?
MATLAB knows all mathematical function as a calculator. It is also possible to
define the user's own functions, as we will learn in the next sections...

20

The short list of basic mathematical functions, which are the most often used in the
MATLAB:
1.3.1.21

Square root

1.3.1.22

Exponent function ex

exp()

1.3.1.23

Logarithm naturalis

log()

1.3.1.24

Briggs logarithm log10()

1.3.1.25

Absolute value

1.3.1.26

The angle of complex number angle()

1.3.1.27

Sinus function

1.3.1.28

Arcos sinus function

1.3.1.29

Sinus hiperbolicus sinh()

1.3.1.30

Arcos sinus hiperbolicus asinh()

1.3.1.31

Co sinus function cos()

1.3.1.32

Arcos co sinus function acos()

1.3.1.33

Co sinus hiperbolicus

1.3.1.34

Arcos co sinus hiperbolicus

1.3.1.35

Tangents function tan()

1.3.1.36

Arcos tangents

1.3.1.37

Tangents hiperbolicus

1.3.1.38

Arcos tangents hiperbolicus

1.3.1.39

Cotangents function

1.3.1.40

Arcos cotangents

1.3.1.41

Cotangents hiperbolicus coth()

1.3.1.42

Arcos cotangents hiperbolicus acoth()

sqrt()

abs()
sin()
asin()

cosh()
acosh()

atan()
tanh()
atanh()

cot()
acot()

The calculation of above mentioned mathematical functions is executed on such a way,


that we call the chosen function with argument in the round brackets, like in next
examples: sin(pi/2), exp(4)

21

Figure 1.19: Calculating mathematical functions in MATLAB


NOTE: The values of trigonometric functions are calculated in radians, not in degrees!
There exists an often error, when we would like to write the mathematical expression
in MATLAB's Command Window. One of the most often mistakes is, when we would like
to calculate the next expression:
sin2(x),
which is built by power operator and sin function.
NOTE: The MATLAB's expression of the above written expression is: sin(x)^2 !!
Explanation: First, we have to execute the function sin() and then the power operator,
because the priority of sin() function is higher than the priority of the power operator.

sin2(/2)

sin(/2)2

22

Figure 1.20: The priority of sin function is higher than priority of power operator
1.3.2

More numbers, even more numbers, a lot of numbers...

Only one number is not enough, because in our everyday life exist a lot of numbers and
data. So nowadays, there is important to arrange a mass of numbers, or with other words
data.
The next enigma will present how important is the number (data) putting in the order.
ENIGMA: Calculate the number 25 with only with help of number 10 and all
possible operators!
Upper enigma can be solved only with proper order of numbers and operators.
Let's see some other examples of the number arrangement, which is often in use.
Example 1: vector
We

f(x)

0
0.5
1.0
1.5

2.0
2.5

0
5.62

0
2.62
3.00
1.87
0
-

Table 3.1: Polynomial values x and f(x)


All eleven pairs of numbers in the Table 3.1 can be collected into two vectors x
(variables x) and f (function f(x)), both with the length eleven. The length of both vectors
x and f are the same, because we have calculated dependent value f(x) for every single
independent variable x. The length of both vectors is dependent from number of rows in the
Table 3.1. Sometimes, we put in the table 100 or more dependent values and independent
variables. In this case, the length of vectors x and f have the length 100 or more.

23

The vectors x and f are next:


xT = [-2.5, -2, -1.5, -1.0, -0.5, 0, 0.5, 1.0, 1.5, 2.0, 2.5] and
f T= [-5.625, 0, 2.625, 3.000, 1.875, 0, -1.875, -3.000,-2.625, 0, 5.625] .
The signs T in above expressions mean, that both vectors are row vectors, or with
other words: the vectors are transposed column vectors (see the Table 3.1).
Every single number in the vector can be recalled on such a way that we call the
arranged place in the vector, or index of the vector. The vector x with the length eleven can
be written:
x = [ x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11 ]
For example: The variable x7 means, that it is a number on the seventh place inside
the vector x.

CHAPTER-2
OVER VIEW OF PROJECT
2.1 Introduction to Image Processing:
Image Processing is a technique to enhance raw images received from
cameras/sensors placed on space probes, aircrafts and satellites or pictures taken in normal daytoday life for various applications. An Image is rectangular graphical object. Image processing
involves issues related to image representation, compression techniques and various complex
operations, which can be carried out on the image data. The operations that come under image
processing are image enhancement operations such as sharpening, blurring, brightening, edge
enhancement etc. Image processing is any form of signal processing for which the input is an
image, such as photographs or frames of video; the output of image processing can be either an
image or a set of characteristics or parameters related to the image. Most image-processing
techniques involve treating the image as a two-dimensional signal and applying standard signalprocessing techniques to it. Image processing usually refers to digital image processing, but
optical and analog image processing are also possible.
24

2.1.1 Image Acquisition:


Generally an image is a two-dimensional function f(x,y)(here x and y are plane
coordinates).The amplitude of image at any point say f is called intensity of the image. It is
also called the gray level of image at that point. We need to convert these x and y values to
finite discrete values to form a digital image. The input image is a fundus taken from stare data
base and drive data base. The image of the retina is taken for processing and to check the
condition of the person. We need to convert the analog image to digital image to process it
through digital computer. Each digital image composed of a finite elements and each finite
element is called a pixel.
2.1.2 Formation of Image:
We have some conditions for forming an image f(x,y) as values of image are proportional
to energy radiated by a physical source. So f(x,y) must be nonzero and finite. i.e.0<f(x,y)<
2.1.3_Image_Pre-Processing:
2.1.3.1 Image Resizing/Scaling:
Image scaling occurs in all digital photos at some stage whether this be in Bayer
demosaicing or in photo enlargement. It happens anytime you resize your image from one
pixel grid to another. Image resizing is necessary when you need to increase or decrease the
total number of pixels. Even if the same image resize is performed, the result can vary
significantly depending on the algorithm.
Images are resized because of number of reasons but one of them is very
important in our project. Every camera has its resolution, so when a system is designed for
some camera specifications it will not run correctly for any other camera depending on
specification similarities. so it is necessary to make the resolution constant for the
applicationng.
2.1.3.2 RGB to GRAY Conversion:
Humans perceive colour through wavelength-sensitive sensory cells called cones.
There are three different varieties of cones, each has a different sensitivity to electromagnetic
radiation (light) of different wavelength. One cone is mainly sensitive to green light, one to red
light, and one to blue light. By emitting a restricted combination of these three colours (red,
25

green and blue), and hence stimulate the three types of cones at will, we are able to generate
almost any detectable colour. This is the reason behind why colour images are often stored as
three separate image matrices; one storing the amount of red (R) in each pixel, one the amount
of green (G) and one the amount of blue (B). We call such colour images as stored in an RGB
format. In grayscale images, however, we do not differentiate how much we emit of different
colours, we emit the same amount in every channel. We will be able to differentiate the total
amount of emitted light for each pixel; little light gives dark pixels and much light is perceived
as bright pixels. When converting an RGB image to grayscale, we have to consider the RGB
values for each pixel and make as output a single value reflecting the brightness of that pixel.
One of the approaches is to take the average of the contribution from each channel:
(R+B+C)/3. However, since the perceived brightness is often dominated by the green
component, a different, more "human-oriented", method is to consider a weighted average,
e.g.: 0.3R + 0.59G + 0.11B
2.1.4 Image Enhancement:
Image enhancement is the process of adjusting digital images so that the results
are more suitable for display or further analysis. For example, we can eliminate noise, which
will make it more easier to identify the key characteristics. In poor contrast images, the
adjacent characters merge during binarization. We have to reduce the spread of the
characters before applying a threshold to the word image. Hence, we introduce POWERLAW TRANSFORMATION which increases the contrast of the characters and helps in
better

segmentation.

The

basic

form

of

power-law

transformation

is

s = cr , where r and s are the input and output intensities, respectively; c and are positive
constants. A variety of devices used for image capture, printing, and display respond
according to a powerlaw. By convention, the exponent in the power-law equation is referred
to as gamma. Hence, the process used to correct these power-law response phenomena is
called gamma correction. Gamma correction is important, if displaying an image accurately
on a computer screen is of concern. In our experimentation, is varied in the range of 1 to 5.
If c is not equal to 1, then the dynamic range of the pixel values will be significantly
affected by scaling. Thus, to avoid another stage of rescaling after power-law transformation,
we fix the value of c = 1.With = 1, if the power-law transformed image is passed through
26

binarization, there will be no change in the result compared to simple binarization. When >
1, there will be a change in the histogram plot, since there is an increase of samples in the
bins towards the gray value of zero. Gamma correction is important if displaying an image
accurately on_computer_screen_is_of_concern.
2.1.5 Edge Detection:
Edge detection is the name for a set of mathematical methods which aim at
identifying points in a digital image at which the image brightness changes sharply or, more
technically, has discontinuities or noise. The points at which image brightness alters sharply
are

typically

organized

into

set

of

curved

line

segments

termed

edges.

2.1.5.1 Edge detection techniques:


Different colours has different brightness values of particular colour. Green image
has more bright than red and blue image or blue image is blurred image and red image is the
high

noise

image.

Following

are

list

of

various

edge-detection

methods:-

Sobel_Edge_Detection_Technique
Perwitt_Edge_Detection
Roberts_Edge_Detection_Technique
Zerocross_Threshold_Edge_Detection_Technique
Canny Edge Detection Technique In our project we use CANNY EDGE DETECTION
TECHNIQUE
2.1.5.2 Canny Edge Detection:
The Canny Edge Detector is one of the most commonly used image processing
tools detecting edges in a very robust manner. It is a multi-step process, which can be
implemented on the GPU as a sequence of filters. Canny edge detection technique is based
on three basic objectives.
The edges located must be as close as possible to the true edges. That is , the
distance between a point marked as an edge by the detector and the centre of the true edge
should be minimum.
27

Single edge point response:- The detector should return only one point for each
true edge point. That is, the number of local maxima around the true edge should be
minimum. This means that the detector should not identify multiple edge pixels where only a
single edge point exist. The essence of Cannys work was in eressing the preceding three
criteria mathematically and then attempting to find optimal solution to these formulations, in
general, it is difficult to find a close form solution that satisfies all the preceding objectives.
However, using numerical optimization with 1-D step edges corrupted by additive while
Gaussian noise led to the conclusion that a good approximation to the optimal step edge .

Because the direction of the normal is unknown beforehand, this would require
applying the 1-D edge detector in all possible directions. This task can be approximated by
first smoothing the image with circular 2-D Gaussian function, computing the gradient of the
result, and then using the gradient magnitude and direction to estimate edge strength and
direction at every point. Let f(x,y) denote the input image and G(x,y) denote .
2.1.6 Image Matching:
Recognition techniques based on matching represent each class by a prototype
pattern vector. An unknown pattern is assigned to the class to which is closest in terms of
predefined metric. The simplest approach is the minimum distance classifier, which, as its
name implies, computes the (Euclidean) distance between the unknown and each of the
prototype vectors. It chooses the smallest distance to make decision. There is another
approach based on correlation, which can be formulated directly in terms of images and is
quite intuitive. We have used a totally different approach for image matching. Comparing a
reference image with the real time image pixel by pixel. Though there are some
disadvantages related to pixel based matching but it is one of the best techniques for the
algorithm which is used in the project for decision making. Real image is stored in matric in
memory and the real time image is also converted in the desired matric. For images to be
same their pixel values in matrix must be same. This is the simplest fact used in pixel
matching. If there is any mismatch in pixel value it adds on to the counter used to calculate
number of pixel mismatches. .
28

CHAPTER-3
IMAGE FILTERING TECHNIQUES
3.1 Introduction to filtering techniques:
ANY applications

in

the

fields

of

computational photography and image

processing require smoothing techniques that can preserve edge well. Typical examples
include image de-noising , fusion of differently exposed images , tone mapping of high
dynamic range (HDR) images, detail enhancement via multi-lighting images, texture transfer
from a source image to a destination image, single image haze removal, and etc. The smoothing
process usually decomposes an image to be filtered into two layers: a base layer formed by
homogeneous regions with sharp edges and a detail layer which can be either noise, e.g., a
random pattern with zero mean, or texture, such as a repeated pattern with regular structure.
There are two types of edge-preserving image smoothing techniques. One type is
global optimization based filters. The optimized performance criterion consists of a data term
and a regularization term.
29

Particle filter technique is used for positioning, navigation & tracking. Particle Filter is
concerned with the problem of tracking single and multiple objects. Particle Filter is a
hypothesis tracker, that approximates the filtered posterior distribution by a set of
weighted particles. It weights particles based on a likelihood score and then propagates these
particles according to a motion model. . The particle filter-based trackers have the
theoretical possibility of tracking multiple hypotheses, and kalman filter based on single
object tracking. We show that KPF performs robust multiple object tracking. . Particle
filtering is a promising technique because it allows fusion of different sensor data, to
incorporate constraints and to account for different uncertainties. The algorithm based on
likelihood factor as a product of the likelihoods of different object. We show the Benefit of
using multiple object compared to color-based tracking only and texture-based tracking only.

3.2 Types of filtering


Various types of filtering involve kalman filter, kernel particle filter , Monte Carlo
method ,accelerating particle filter ,filtering for stochastic particle, ,determinatively particle
filter.
3.2.1 Kernel Particle Filter-multiple object tracking
The idea of kernel-based tracking was originally published in where kernels are used
for object representation and localization. Recently, mean shift is used with a particle filter to
find the likelihood modes. We have used mean shift as a mode-seeking procedure to locate
the posterior modes .
Kernel-based Posterior Estimation
Denote the target state and the observation at (discrete) time
Posterior Gradient Estimation
Given the posterior estimation, we now estimate its gradient and move particles along
the gradient direction toward the modes of the posterior. This can be achieved using the
mean shift procedure . In this procedure, each particle is moved to its sample mean.
Particle Re-weighting
The mean shift can be applied repeatedly to a particle set. A problem arises when
particles change their positions: the new particles do not follow the posterior distribution
anymore. This is compensated in KPF by re-weighting the particles. Denote the particle set
30

after the mean shift procedure at time .After each mean shift procedure, the weight is recomputed as the posterior density evaluated, at the new particle positions augmented with a
particle density balancing factor.
Kalman(KPF) filter for single object tracking
KPF is applied to head tracking to test its ability in tracking with a weak
dynamic model. The test videos involve various motions such as sudden acceleration,
rotation, abrupt changes of direction, jump, and out-of-plane rotation. The first test video
sequence, 1FACE, consists of 797 frames of a human face moving in a typical laborat or
environment. The face is modeled as an ellipse with a vertical major axis and a fixed aspect
ratio of 1.4. Trackers are initialized manually. A few frames of the tracking results using
PF and KPF are shown in Fig. 4. The PF tracker with the same dynamic model tends to lag
behind the object and eventually loses the head at the #373rd frame. A PF tracker is able to
succeed after doubling the dynamic noise and uses 250 particles to saturate the search region.
On the other hand, KPF with 30 particles and 3 iterations, despite being occasionally distracted
by the background clutter, is able to track the face throughout

the

sequence.

The

intermediate samples of KPF in processing frame#27.Starting from a poor prediction, the


KPF is able to move particles toward the correct direction through mean shift filteration
and gives a better estimate. In the FIGURE SKATE sequence shown,the KPF
successfully tracks the female skaters head as she performs out-of-plane rotation followed
by a sudden acceleration.
Monte Carlo Method
They are sequential Monte Carlo methods based on point mass representations of
probability densities, which are applied to any state model. Over the past fifteen years, particle
methods for filtering and smoothing have been the most common examples of SMC
ALGORITHMS. INDEED, IT HAS BECOME TRADITIONAL TO present particle filtering
and SMC the same thing in much of the literature. Here, we wish to emphasis that SMC
actually encompasses a broader range of algorithms and by doing so we are able to show that
many more advanced techniques for approximate filtering and smoothing can be described
using precisely the same framework and terminology as the basic algorithm.

31

SMC methods are a general class of Monte Carlo methods that sample sequentially
from a sequence of target probability densities f(n) (x1:n)g of increasing dimension where
each distribution f(n) (x1:n) is defined on the product space Xn.

3.3 Benefits of filtering


Particle filtering is a technique that is very suitable for object tracking in video
sequences while we are tracking multiple object . Tracking of aircraft positions from radar.
Estimating communications signals from noisy measurements .Predicting economic data.
Tracking of people or cars in surveillance videos.Track car position in given road map.Track
car position from radio frequency measurements.Track aircraft position from estimated
terrain elevation.Collision Avoidance (Prediction). Replacement for GPS .Recovery of
signal from noisy measurements even if signal may be absent (e.g. synaptic currents) &
mixture model of several hypotheses.
3.4 Comparative study on kalman and particle filter
The Extended Kalman Filter (EKF) and the Particle Filter (PF) are two widely used
tools for solving non-linear state estimation problems. The EKF is a sub-optimal
approach, which implements a Kalman filter. For a system dynamics that result from the
linearization of the original non-linear filter dynamics around the previous state estimates.
But it has been defined on the assumption that both, the process and sensor noises, are
Gaussian distributed. The particle filter is a more generalized scheme and does not require
either of the noises to be Gaussian, as the posterior probabilities are represented by a set of
randomly chosen weighted samples. This work aims to compare the use of the particle filter
and the EKF for a two dimensional state estimation problem, that is, estimating the
position and velocity of an autonomous surface craft, from measurements of the velocity
corrupted by Gaussian noise.
Comparative study on both types of particle filter technique
NATURE
Type of object tracker
Method type

Kalman filter
Single object tracker
Recursive system based
on non linear.

Kernel particle filter


Multiple object tracker
Recursive
implementation
of monte carlo

32

Mean sqaure error

MSE obtain through this


is almost the same.
Based on

Processing

Decreases.
Based on

Gaussian
Takes
less time
distributed.
on executing the

Computation time

probability
Takes
more time.
distribution
.

state.

3.5 Edge-Preserving Smoothing Techniques


In this

section,

existing

edge-preserving

smoothing techniques

are

summarized with the emphasis on the GIF . The task of edge-preserving smoothing is
to decompose .
X ( p) = Z ( p) + e( p),
this type of edge-preserving smoothing techniques is based on local filtering. The BF

is

widely used due to its simplicity. However, the BF could suffer from gradient reversal
artifacts despite its popularity, and the results may exhibit undesired profiles around edges,
usually observed in detail enhancement of conventional LDR images or tone mapping of
HDR images. The GIF was introduced into overcome this problem. In the GIF, a guidance
image G is used which could be identical to the image X to be filtered.
It is assumed that Z is a linear transform of G in the window

Z ( p) = a p G( p) +1 b p , p ( p ), (2) where

( p) is a square window

centered at the pixel p


of a radius 1. ap and b p are two constants in the window
1 ( p ).

To determine the linear coefficients (ap , b p ), a constraint is added to X and Z as in


Equation (1). The values of a p and b p.
The Purpose of smoothing is to reduce noise and improve the visual quality of the
image. A variety of algorithms i.e. [linear] and [nonlinear]-algorithms are used for filtering the
33

images. Image filtering makes possible several useful tasks in image processing. A filter can be
applied to reduce the amount of unwanted noise in a particular image as shown in fig. Another
type of filter can be used to reverse the effects of blurring on a particular picture. Nonlinear
filters have quite different behavior compared to linear filters. For nonlinear filters, the filter
output or response of the filter does not obey the principles outlined earlier, particularly scaling
and shift invariance. Moreover, a nonlinear filter can produce results that vary in a nonintuitive manner.

Defected image

Real image

Figure 2.1- A Defected image and real image after applying filtering
This paper mainly contains the five sections which describes the different algorithms and
techniques. Section 1 describes the simple introduction about image filtering .
3.6 WORKING EXAMPLE:-The mean filter
The simplest filter to implement is known as the [mean filter] 3. The mean filter performs
average smoothing on an image
.The name perfectly describes the function of this filter. Each pixel in I (image) is
replaced with the mean of the pixels that surround it. Especially, noise is blended into the rest of
the picture. A filter that performs average smoothing must use a kernel with all entries being
non-negative. For example if a kernel A was used with m( size)=3:
A avg = 1/3 [1 1 1]
Let I be an image of size N, m an odd number smaller than N, and A the kernel of a
linear filter, that is a mask of size m. Additionally,it is absolutely necessary for all the entries in
the kernel to have a sum of one. If the sum is not equal to one ,then the kernel must be divided
by the sum of the entries( hence the multiplication of the 1/3).If the requirement is not met, then
34

the filtered image will become brighter than the original image, along with undergoing the
specified filtering effect. This limitation on the mean filter fulfills the seconded portion of the
image filtering goal A. This filter is effective at attenuating noise because averaging removes
small variations. The effect is identical to that of averaging a set of data to help reduce the effect
of outliers. In a two-dimensional mean filter, the effect of averaging m^2 noisy values around
pixel divides the standard derivation of the noise by m2=m(size).
3.7 ALGORITHMS FOR IMAGE FILTERING
A.Linear Smoothing :-The most common, simplest and fastest kind of filtering is achieved by
linear filters. The linear filter replaces each pixel with a linear combination of its neighbors and
convolution kernel is used in prescription for the linear combination.4
Linear filtering of a signal can be expressed as
the convolution . y(t)= ( . )
of the input signal x(n) with the impulse response h(n) of the given filter, i.e. the filter output
arising from the input of an ideal Dirac impulse .Now from fig. it is clear that image filtering is
done by applying function and when we apply linear filtering then each pixel is replaced by
linear combination of its neighbor.
Box blur:
A box blur, also known as moving average, is a simple linear filter with a square kernel
and it contains all the kernel coefficients equal. It is the quickest blur algorithm, but it has a
drawback i.e.it lacks smoothness of a Gaussian blur.
A box blur can be with a complexity independent of a filter radius. The algorithm is
based on a fact that sum S of elements in the rectangular window can be decomposed into sums
C of columns of this window: S[I, J] =

C(I, j + k)

(column)with FET ,do the same with a zero-padded Gaussian kernel, then multiply complex
spectra and do the inverse transform.
Hann Window
Hann window is a smooth function defined as
35

H(t)=1+COS(t), - t
The algorithm that we propose in ID Hann smoothing is based on modulation of the input signal
with a complex exponent .Lets consider a discrete filtering with a Hann kernel:
This can be rewritten as sum of a box filter and a cosine modulated input signal. .Now
we will solve the update formula for fast calculation of a cosine modulated real-valued signal.By
calculating above equation we find out the solution as-:
0.52.5
A relative accuracy of this approximation increases as filter radius increases, but even with
small Gaussian Blur:
[Gaussian blur] is considered a perfect blur for many applications, provided that kernel
support is large enough to fit the essential part of the Gaussian. Gaussian filter on a square
support is separable, i.e. In case of 2D filtering it can be decomposed into a series of 1D filtering
for rows and columns. When the filter radius is relatively small (less than few dozen), the fastest
way to calculate the filtering result is direct 1D convolution.First of all, it is considered that the
result of convolution has a length N+M1, where N is the signal size and M is a filter kernel size
(equal to 2r+1), i.e. the output signal is longer than the input signal.
Secondly, calculating FFT of the complete image row is not optimal, since the
complexity of FFT is O(N log N). The complexity of FFT (fast Fourier transform)can be
reduced by breaking the kernel into sections with an approximate length M and performing
overlap-add convolution section-wise. The FFT size should be selected so that circular
convolution is not included. Usually optimal performance is achieved when FFT size F is
selected as the smallest power of 2 larger than 2M, and signal section size is selected as FM+1
for full utilization of FFT block. This reduces the overall complexity of 1D convolution to
O(Norm).So, the per-pixel complexity of Gaussian blur becomes O(log r). However, the value of
constant is quite large.So for many practical purposes Gaussian blur can be successfully
implemented with simpler filters.
B.Nonlinear Smoothing:
Median filtering:
36

In

signal processing, it is often desirable to be able to perform some kind of

noisereduction on an image or signal. The median filter is a nonlinear digital filtering


technique, often used to remove noise. Such noise reduction is a typical preprocessing step to
improve the results of later processing (for example, edge on an image). Median filtering is
very widely used in digital image processing because, under certain conditions, it preserves
edges of the images while removing noise.
Median is a non-linear local filter whose output value is the middle element of a sorted
array of pixel values from the filter window. Since median value is robust to outliers, the filter is
used for reducing the impulse noise. Now we will describe median filtering with the help of
example in which we will placed some values for pixels.
Example:To demonstrate, using a window size of three with one entry immediately preceding
and following each entry, a median filter will be applied to the following simple 1D signal:
x = [2 80 6 3]
So, the median filtered output
signal will be: y[1] = Median[2 2
80] = 2
y[2] = Median[2 80 6] = Median[2 6 80] = 6
y[3] = Median[80 6 3] = Median[3 6 80] = 6
y[4] = Median[6 3 3] = Median[3 3 6] = 3 i.e. y = [2 6 6 3].
In the above example, because there is no entry preceding the first value, the first value
is repeated, with the last value, to handle the missing window entries at the boundaries of the
signal, but there are other schemes that have different properties that might be preferred in
particular circumstances.
Avoid processing the boundaries, with or without cropping the signal or image boundary
afterwards, fetching entries from other places in the signal. With images for example, entries
from the far horizontal or vertical boundary might be selected.
Some of the properties of median filters are-:
Processes one color channel only.
Takes the "not processing boundaries" approach

37

Fig:-2.2.Use of a median filter to improve an image severely corrupted by defective pixels


ince large computational time and effort is spent on calculating the median of any
window. Because filter consider every entry in the signal and then median of that values is
calculated. Some types of signal contain the whole number representation. In that case the
images can be easily described by histograms and median can be easily calculated in that
case. Lets take an image to explain this concept by constructing the histogram of that
image as shown in fig 4.which is very helpful in calculating the median of the pixels.

Figure:2.3 Image of sunflower

Histogram of sunflower image

Since image histogram is a type of histogram that acts as a graphical representation of


the tonal distribution in a digital image. Image histograms are present on many modern digital
cameras. Photographers can use them as an aid to show the distribution of tones captured, and
whether image detail has been lost to blown-out highlights or blacked-out shadows.

[6]

Image

enhancement is one of the most important concepts in image processing. Its purpose is to
improve the quality of low contrast images, i.e., to enlarge the intensity difference among objects
and background. And histograms are very important in case of image enhancement and image
processing.
The straightforward implementation of median filter requires O (r2logr) operations per
pixel to sort the array of (2r+1) (2r+1) pixels in a window. However an optimization is possible
when image data takes a limited range of discrete values, e.g. 8-bit pixel values. It is based on a
fact that median value can be easily calculated from a histogram of pixel values in a window.
For 8-bit pixel values such a histogram contains 256 bins and can be searched for a constant
38

time (8 comparisons) independently of a filter radius. When a filter window shifts, thishistogram
can be effectively updated. If the filter window shifts one pixel down, the pixels of upper
window row are removed from the histogram (2r+1 operations), and pixels of a new lower
window row are added to the histogram (2r+1 operations).
To optimize the histogram search, a previously calculated median value can be used as a
starting point in a search for a new median value. A further optimization of median filtering is
possible by maintaining several histograms as combining them in a certain way.
Binary morphological operations
A basic morphological operation is dilation. When a structuring element is defined inside
a square window with a radius r, the dilation operation sets to 1 all the pixels from which the
structuring element overlaps at least one non-zero pixel of the source image. A straightforward
implementation of dilation requires O( r2) operations per pixel to check all the points of
structuring elements.
If we keep the number of non-zero pixels that are overlapped by a structuring element,
an efficient update rule can be used for this number. When a structuring element window shifts
one pixel to the right, some image pixels that can become overlapped are shifting in from the
right border of a structuring element, and some image pixels can be shifting out of overlapping
area through the left border of a structuring element. So, instead of counting a total number of
overlapping pixels, we can increment the previous count by a number of pixels covered by the
right border of the structuring element and decrement by the number of pixels that are lying to
the left of the left border of a structuring element. The complexity of this optimized dilation is
O(r).A similar optimization is possible for erosion operation. For erosion we will count the
number of zero image pixels overlaid by a structuring element.
Min/Max filters:
A max filter outputs a maximal pixel value from its rectangular window. A
straightforward implementation requires O(r2) operations per pixel.
In case of small data bit depth, a histogram approach can be used. But when the bit depth
is large, another approach based on a 1D running max filter appears more practical. A simple
and fast algorithm called MAXLINE2 is using a circular buffer of delayed input elements.
39

The[ anchor points]9 to the current maximal value. When the window is shifted, a new element
is added to the delay line and compares against anchor element. If the new element is smaller,
the maximum stays at the anchor. Otherwise anchor moves to a new element. When the anchor
shifts out of the delay line, the whole delay line is scanned for a new anchor.
This algorithm works very fast on IID (independent identically distributed) data, but has
a worst-case complexity of O(r) for a monotonically decreasing data. An algorithm with a better
worst-case complexity (although with a worse complexity on IID data) is also intr. It has a
complexity of Oleg).This running max algorithm can be used for adding pixels to a 2D window
of a 2D min/max filter with a worst-case complexity of O(log) operations per pixel.
Grayscale morphological operations:Grayscale morphology is simply a generalization from 1 bop (bits per pixel) images to
images with multiple bits/pixel, where the Max and Min operations are used in place of the OR
and operations, respectively, of binary morphology. Grayscale morphological operations are
based on min/max filters. When structuring element is rectangular, they can be optimized by
using min/max filter.
The purpose of smoothing is to reduce noise and improve the visual quality of the image.
Often, smoothing is referred to as filtering. There are two types of filters that have been found
useful in nuclear medicine:A. Spatial filter
B. Temporal filter
Spatial filters:
These applied to both static and dynamic images, whereas temporal filters are applied
only to dynamic images.The simplest smoothing technique is the nine-point smooth. The ninepoint smooth will take a 3-x-3 square of pixels (total of nine) and determine the number of
counts in each pixel. The counts per pixel are then averaged, and that value is assigned to the
central pixel (Figure 5). This same operation can be repeated for the entire computer screen or
restricted to a designated area. Similar operations can be performed with 5-x-5 or 7-x-7 squares.
Spatial filters:
40

A wide array of methods, as well as several dedicated spatial econometric procedures


for the statistical analysis of geo referenced data is available in the literature. These techniques
are useful when analyzing regional unemployment data, as in our case study, and, particularly,
when the final aim is to develop forecasting models for some regional scale.
Among conventional spatial econometric methods, spatial auto regression is a powerful method
commonly employed. Spatial autoregressive techniques take into account spatial effects by
means of geographic weights matrices that provide measures of the spatial linkages
(dependence) between values of geo referenced variables.
B. Temporal Filtering:- Temporal filtering allows reducing signals that are not correlated from
frame to frame. It can very effectively reduce noise when combined with motion compensation,
as motion compensation correlates the image content from frame to frame. This makes this
processing suitable to improve the efficiency of subsequent encoders . It is implemented using a
recursive filter since it provides a better selectivity at lower costs.
The overall goal of temporal filtering is to increase the signal-to-noise ratio. Due
to the relatively poor temporal resolution off MRI (Functional magnetic resonance imaging) ,
time series data contain little high-frequency noise. They do, however, often contain very slow
frequency fluctuations that may be unrelated to the signal of interest. Slow changes in magnetic
field strength may be responsible for part of the low-frequency signal observed in fMRI time
series.
3.8 Advantages /Disadvanges of Partcle filter:
Advantages:
1. Non-Gaussian distributions e.g. multi-modal
2. Estimation of full PDFs
3. Non-linear state and observation model
4. Parallelizable
Disadvantages
1. Degeneracy problem
2. High number of particles needed
3. Computationally expensive
41

4. Linear-Gaussian assumption is often sufficient


5. Non-linear Models
6. Non-Gaussian Noise or Posterior

CHAPTER-4
OVERVIEW OF PROJECT
4.1 Introduction :
Image segmentation is the process of partitioning an image into homogenous regions
using its attributes such as pixel intensity, spectral values or textural properties. This
step is a primordial task in image analysis and pattern recognition especially in remote
sensing images.
Remote sensing imagery needs to be converted into tangible information which
can be utilized in conjunction with other data sets [1]. This kind of images has been
signicantly increased in recent years. The obtained images provide a lot of details
about surface, which are useful for mapping, environmental monitoring, resource investigation,
disaster management, and military intelligence [2].
42

In this context, Alistair and al.[3] give a review on studies that have applied remote
sensing imagery to characterize vegetation vulnerability in both retrospective and
prospective modes , in natural terrestrial ecosystems including temperate forests,
tropical forests, boreal forests, semi-arid lands, coastal areas, and the arctic. Abkar
and al. [4] describe a likelihood-based segmentation and classication method for
remotely sensed images. It is based on optimization of a utility function that can be
described as a cost-weighted likelihood for a collection of objects and their parameters.
In their paper, Zhijian and al. [5] propose a Dynamic Statistical Region Merging to
improve segmentation accuracy and the correctness of remote sensing images.
In addition, Remote Sensing Image is more seriously disturbed by luminance, noise
and so on [6]. Thus, any single segmentation method can barely produce satisfying
results in urban regions, roads, vegetation and water areas.

4.2. The Proposed Filter


Fuzzy c-means (FCM) clustering algorithm is a classical clustering algorithm for image
segmentation [11]. Its advantage is that it can retain more information in the image because of
introducing the fuzziness for the belongingness of each image pixel. Let X = fx1 ; x2 ; ::; x ng
Rs
denote a dataset with
n data points. The standard FCM algorithm is an iterative algorithm of clustering
technique that aims to partitioning X into c clusters. The objective function of FCM
is dened as follows

43

It is dicult to avoid uncertainty


when attempting to make models of the real world. Uncertainty is inherent to natural
phenomena, and it is impossible to create a perfect representation of reality [12].
To represent and handle uncertainties in available information, Dempster-Shafer's
theory o
ers a powerful tool as it helps to overcome the limitations of classical methods
[13]. That means that in the Dempster-Shafer's theory of evidence , the knowledge
about the problem induces a basic belief assignment modeled by a distribution of
evidence mass m on the subsets A of the classes set [14].
The fusion process does not start from one single frame of discernment [15], as it was
described in previous works, but does start from rst dening two independent frames
of discernment associated with the two images to be fused, and then combining them
for forming a new frame of discernment Dempster Shafer uses belief rather than probability,
inherently increasing the
exibility. The measure of belief allows vague states to exist whereas Bayesian probability
grants weight to both a single event and its compliment[16]. There are three functions
related to Dempster-Shafer's Theory of evidence, the Basic Probability Assignment
function (bpa), the Belief function (Bel), and the Plausibility function (Pl).
In the context of theory of evidence belief mass or simply mass refers to Basic
Probability Assignment function (bpa),

proposed algorithm:
The improved FCM algorithm is based on the concept of
data compression where the dimensionality of the input is
highly reduced. The data compression includes two steps:
quantization and aggregation [3].
44

The quantization of the feature space is performed by


masking the lower 'm' bits of the feature value. The quantized
output will result in the common intensity values for more
than one feature vector. In the process of aggregation, feature
vectors which share common intensity values are grouped
together. A representative feature vector is chosen from each
group and they are given as input for the conventional FCM
algorithm. Once the clustering is complete, the representative
feature vector membership values are distributed identically to
all members of the quantization level. Since the modified
FCM algorithm uses a reduced dataset, the convergence rate is
highly improved when compared with the conventional FCM.
The improved FCM algorithm uses the same steps of
conventional FCM except for the change in the cluster
updation and membership value updation criterions. The
modified criterions are showed below

In this work, a comparative analysis is performed on the


techniques based on the performance measures.The clustered
output reveals the same detection of the tumor for both
techniques.
Convergence rate is the time period required for the system
to reach the stabilized condition.Significant improvement is
45

achieved in Improved FCM over FCM in terms of


convergence rate.Better results may achieved if more than two
bits are changed in the bit mask.

CHAPTER-5
EXPERIMENTAL RESULTS

46

In this work, a comparative analysis is performed on the


techniques based on the performance measures.The clustered
output reveals the same detection of the tumor for both
techniques.
Convergence rate is the time period required for the system
to reach the stabilized condition.Significant improvement is
47

achieved in Improved FCM over FCM in terms of


convergence rate.Better results may achieved if more than two
bits are changed in the bit mask.

CHAPTER-6
CONCLUSION AND FUTURE SCOPE
conclussion
The results show that FCM and MFCM method can
48

successively segment a tumor provided the parameters are


chosen properly. The visualization and detective valuations of
the results of the segmentation show the success of the
approaches.The modified FCM algorithm yields superior
convergence rate.The tumor identification and the
investigation are carried out for the potential use of MRI data
for improving the tumor shape and 2D visualization of the
surgical planning.

Future scope:
Future research in MRI segmentation should strive toward
improving the accuracy, precision, and computation speed of
the segmentation algorithms, while reducing the amount of
manual interactions needed. This is particularly important as
MR imaging is becoming a routine diagnostic procedure in
clinical practice. It is alsoimportant that any practical
segmentation algorithm should deal with 3D volume
segmentation instead of 2D slice by slice segmentation, since
MRI data is 3D in nature. Volume segmentation ensures
continuity of the 3D boundaries of the segmented images
whereas slice by slice segmentation does not guarantee
continuation of the boundaries of the tissue regions between
slices.

49

REFERENCES
Anton Bardera, Jaume Rigau, ImmaBoada, Miquel Feixas, and Mateu
Sbert, Image Segmentation Using Information Bottleneck
Method,Page Number 1601-1612, IEEE Transactions on Image
Processing, Vol. 18, No. 7, July 2009.
[2] J.Jaya and K.Thanushkodi, Segmentation of MR Brain tumor using
Parallel ACO,Page Number 150-153, (IJCNS) International Journal of
Computer and Network Security,Vol. 2, No. 6, June 2010.
[3] Jude hemanth.D, D.Selvathi and J.Anitha,Effective Fuzzy Clustering
Algorithm for Abnormal MR Brain Image Segmentation,Page Number
609-614, International/Advance Computing Conference (IACC
2009),IEEE,2009.
[4] Jian Wu, Feng Ye, Jian-Lin Ma, Xiao-Ping Sun, Jing Xu, Zhi-Ming, The
Segmentation and Visualization of Human Organs Based on Adaptive
Region Growing Method ,Page Number-439-443, IEEE 8th
International Conference on Computer and Information Technology
Workshops978-0-7695-3242-4/08,IEEE,2008.
[5] Marcus karnan and T.logeswari, An Improved Implementation of Brain
Tumor Detection using Soft Computing,Page Number 6-10, (IJCNS)
International Journal of Computer and Network Security,Vol. 2, No. 1,
50

January 2010

51

You might also like