## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

)

About the Organization (IRDE)

IRDE (Instrument Research & development Establishment):

Instruments Research & Development Establishment (IRDE), Dehradun, is an institution devoted

to research, design, development and technology transfer in the fields of sophisticated optical

and electro-optical instrumentation of vital interest to the Defence Services.

The origin of IRDE dates back to the establishment of Inspectorate of Scientific Stores in 1939 at

Rawalpindi (now in Pakistan) with responsibility to inspect telecommunication equipment used

by the Army.

VISION

To achieve excellence in the field of optics & electro-optical

Instrumentation with a commitment to provide world class

equipment

MISSION

i. To design and develop state-of-art night vision devices.

ii. To design and develop compact laser based instruments.

iii. To design and develop integrated optical and electro-

optical surveillance and fire control systems.

iv. To carry out research in the area of photonics

2 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

About the Training (Duration & Specification)

I did my training from Instrument Research & Devlopment Organization , Dehradun Uttrakhand

. It continued for about 29 days, starting from 17

th

of June 2011, till 15

th

of August 2011, under

the guidance of Mr. Amit Aran, Scientist ‘C’.

During this period I have understood the functioning and working principles of numerous

software development tools. This has developed a sense of confidence in me. And a lot of credit

goes to my guide who helped me all the way from the very beginning. My work was basically

concerned with the development of a code which could be used for the recognition of various

face images using MATLAB..

The Summer Training was divided into following modules:

1. Matlab Basics

2. Iris Recognition using JTC.

In this time period we explored the knowledge of Matlab software like Basic Matrix concepts,

plotting of functions , user interfaces, Simulink, JTC correlator, gray level images . This Training

report contains the introduction and practical implementation of the related concepts. Basically,

this Training report contains all the aspects of the things that happened during the Training

period.

3 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(Day 1)

Photonics Division

The science of photonics includes the generation, emission, transmission, modulation ,signal

processing, switching, amplification, detection , sensing of light. The term photonics thereby

emphasizes that photons are neither particles nor waves — they are different in that they have

both particle and wave nature. It covers all technical applications of light over the

whole spectrum from ultraviolet over the visible to the near-, mid- and far-infrared. Most

applications, however, are in the range of the visible and near infrared light. The term photonics

developed as an outgrowth of the first practical semiconductor light emitters invented in the early

1960s and optical fibers developed in the 1970s.

The Photonics division of IRDE is busy in achieving excellence in the field of optics & electro-

optical Instrumentation with a commitment to provide world class equipment for defense related

purposes.

The vision of the division is to;

I. To design and develop state-of-art night vision devices.

II. To design and develop compact laser based instruments.

III. To design and develop integrated optical and electro-optical surveillance and fire control

systems.

IV. To carry out research in the area of photonics.

4 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(Day 2)

MATLAB:

MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation

programming language. Developed by MathWorks, MATLAB allows matrix manipulations,

plotting of functions and data, implementation of algorithms, creation of interfaces, and

interfacing with programs written in other languages, including C, C++, Java, and Fortran.

Matlab was originally a package for matrix algebra. It has evolved to include strong graphics

abilities and an extensive programming language. It is available, in various versions, for various

types of hardware: PCs, Macintoshes, SUN workstations, Vax‘s etc. On most of these systems

Matlab will be started by entering the command at the command prompt. This can however

diﬀer, depending on the whims of your system administrator.You can interrupt, or abort,

execution of Matlab commands by entering a control C. To do this hold down the control key

and, before releasing it, press the C key.

5 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY3)

BASIC MATRIX OPERATIONS

This is a demonstration of some aspects of the MATLAB® language.

First, let's create a simple vector with 9 elements called a.

a = [1 2 3 4 6 4 3 4 5]

a =

1 2 3 4 6 4 3 4 5

Now let's add 2 to each element of our vector, a, and store the result in a new vector.

Notice how MATLAB requires no special handling of vector or matrix math.

b = a + 2

b =

3 4 5 6 8 6 5 6 7

Creating graphs in MATLAB is as easy as one command. Let's plot the result of our vector

addition with grid lines.

plot(b)

grid on

6 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

MATLAB can make other graph types as well, with axis labels.

bar(b)

xlabel('Sample #')

ylabel('Pounds')

7 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

MATLAB can use symbols in plots as well. Here is an example using stars to mark the points.

MATLAB offers a variety of other symbols and line types.

plot(b,'*')

axis([0 10 0 10])

8 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

One area in which MATLAB excels is matrix computation.

Creating a matrix is as easy as making a vector, using semicolons (;) to separate the rows of a

matrix.

A = [1 2 0; 2 5 -1; 4 10 -1]

A =

1 2 0

2 5 -1

4 10 -1

We can easily find the transpose of the matrix A.

B = A'

9 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

B =

1 2 4

2 5 10

0 -1 -1

Now let's multiply these two matrices together.

Note again that MATLAB doesn't require you to deal with matrices as a collection of numbers.

MATLAB knows when you are dealing with matrices and adjusts your calculations accordingly.

C = A * B

C =

5 12 24

12 30 59

24 59 117

Instead of doing a matrix multiply, we can multiply the corresponding elements of two matrices

or vectors using the .* operator.

C = A .* B

C =

1 4 0

4 25 -10

0 -10 1

10 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Let's find the inverse of a matrix ...

X = inv(A)

X =

5 2 -2

-2 -1 1

0 -2 1

... and then illustrate the fact that a matrix times its inverse is the identity matrix.

I = inv(A) * A

I =

1 0 0

0 1 0

0 0 1

MATLAB has functions for nearly every type of common matrix calculation.

There are functions to obtain eigenvalues ...

eig(A)

ans =

3.7321

0.2679

1.0000

11 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

... as well as the singular values.

svd(A)

ans =

12.3171

0.5149

0.1577

The "poly" function generates a vector containing the coefficients of the characteristic

polynomial.

The characteristic polynomial of a matrix A is

p = round(poly(A))

p =

1 -5 5 -1

We can easily find the roots of a polynomial using the roots function.

These are actually the eigenvalues of the original matrix.

roots(p)

ans =

3.7321

12 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

1.0000

0.2679

MATLAB has many applications beyond just matrix computation.

To convolve two vectors ...

q = conv(p,p)

q =

1 -10 35 -52 35 -10 1

... or convolve again and plot the result.

r = conv(p,q)

plot(r);

r =

1 -15 90 -278 480 -480 278 -90 15 -1

13 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

.

14 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(Day 4)

MATLAB FUNCTIONS

Built-in functions

There are numerous built-in functions (i.e. commands) in MATLAB. We will mention a few

of

them in this section by separating them into categories.

Scalar Functions

Certain MATLAB functions are essentially used on scalars, but operate element-wise when

applied to a matrix (or vector). They are summarized in the table below.

sin trigonometric sine

cos trigonometric cosine

tan trigonometric tangent

asin trigonometric inverse sine (arcsine)

acos trigonometric inverse cosine (arccosine)

atan trigonometric inverse tangent (arctangent)

exp exponential

log natural logarithm

abs absolute value

sqrt square root

rem remainder

round round towards nearest integer

floor round towards negative infinity

ceil round towards positive infinity 14

The trigonometric functions take as input radians. Since MATLAB uses pi for the number

π = 3.1415…

» sin(pi/2)

ans =

1

» cos(pi/2)

ans =

6.1230e-017

15 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The sine of π/2 is indeed 1 but we expected the cosine of π/2 to be 0. Well, remember that

MATLAB is a numerical package and the answer we got (in scientific notation) is very close

to

0 ( 6.1230e-017 = 6.1230×10

–17

≈ 0).

Since the exp and log commands are straight forward to use, let us illustrate some of the

other commands. The rem command gives the remainder of a division. So the remainder of

12

divided by 4 is zero

» rem(12,4)

ans =

0

and the remainder of 12 divided by 5 is 2.

» rem(12,5)

ans =

2

The floor, ceil and round commands are illustrated below.

» floor(1.4)

ans =

1

» ceil(1.4)

ans =

2 15

» round(1.4)

ans =

1

16 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

.(DAY 5)

MATRIX FUNCTIONS

Much of MATLAB‘s power comes from its matrix functions. These can be further separated

into two sub-categories. The first one consists of convenient matrix building functions, some of

which are given in the table below.

eye identity matrix

zeros matrix of zeros

ones matrix of ones

diag extract diagonal of a matrix or create diagonal matrices

triu upper triangular part of a matrix

tril lower triangular part of a matrix

To create the identity matrix of size 4 (i.e. a square 4-by-4 matrix with ones on the main diagonal

and zeros everywhere else) we use the command eye.

» eye(4,4)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

The numbers in parenthesis indicates the size of the matrix. When creating square matrices, we

can specify only one input referring to size of the matrix. For example, we could have obtained

the above identity matrix by simply typing eye(4). The same is true for the matrix building

functions below.

Similarly, the command zeros creates a matrix of zeros and the command ones creates a

matrix of ones.

» zeros(2,3)

ans =

0 0 0

0 0 0

» ones(2)

17 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

ans =

1 1

1 1

We can create a randomly generated matrix using the rand command. (The entries will be

uniformly distributed between 0 and 1.)

» C = rand(5,4)

C =

0.2190 0.3835 0.5297 0.4175

0.0470 0.5194 0.6711 0.6868

0.6789 0.8310 0.0077 0.5890

0.6793 0.0346 0.3834 0.9304

0.9347 0.0535 0.0668 0.8462

The commands triu and tril, extract the upper and lower part of a matrix, respectively. Let

us try them on the matrix C defined above. 19

» triu(C)

ans =

0.2190 0.3835 0.5297 0.4175

0 0.5194 0.6711 0.6868

0 0 0.0077 0.5890

0 0 0 0.9304

0 0 0 0

» tril(C)

ans =

0.2190 0 0 0

0.0470 0.5194 0 0

0.6789 0.8310 0.0077 0

0.6793 0.0346 0.3834 0.9304

0.9347 0.0535 0.0668 0.8462

Once the extraction took place, the ―empty‖ positions in the new matrices are automatically.

18 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY6)

PROGRAMMING IN MATLAB

M-files: Scripts and functions

To take advantage of MATLAB‘s full capabilities, we need to know how to construct long (and

sometimes complex) sequences of statements. This can be done by writing the commands in a

file and calling it from within MATLAB. Such files are called ―m-files‖ because they must have

the filename extension ―.m‖. This extension is required in order for these files to be interpreted

by MATLAB.

There are two types of m-files: script files and function files. Script files contain a sequence of

usual MATLAB commands, that are executed (in order) once the script is called within

MATLAB. For example, if such a file has the name compute.m , then typing the command

compute at the MATLAB prompt will cause the statements in that file to be executed. Script

files can be very useful when entering data into a matrix.

Function files, on the other hand, play the role of user defined commands that often have input

and output. You can create your own commands for specific problems this way, which will have

the same status as other MATLAB commands. Let us give a simple example. The text below is

saved in a file called log3.m and it is used to calculate the base 3 logarithm of a positive number.

The text file can be created in a variety of ways, for example using the built-in

MATLAB editor through the command edit (that is available with MATLAB 5.0 and above), or

your favorite (external) text editor (e.g. Notepad or Wordpad in Microsoft Windows). You must

make sure that the filename has the extension ―.m‖ !

function [a] = log3(x)

% [a] = log3(x) - Calculates the base 3 logarithm of x.

a = log(abs(x))./log(3);

% End of function

Using this function within MATLAB to compute log 3(5), we get

» log3(5)

ans =

1.4650 28

19 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Let us explain a few things related to the syntax of a function file. Every MATLAB function

begins with a header, which consists of the following :

(a) the word function,

(b) the output(s) in brackets, (the variable a in the above example)

(c) the equal sign,

(d) the name of the function, which must match the function filename (log3 in the above

example) and

(e) the input(s) (the variable x in the above example).

Any statement that appears after a ―%‖ sign on a line is ignored by MATLAB and play ny

statement that appears after a ―%‖ sign on a line is ignored by MATLAB and plays the role of

comments in the subroutine. Comments are essential when writing long functions or programs,

for clarity. In addition, the first set of comments after the header in a function serve as on-line

help. For example, see what happens when we type

» help log3

[a] = log3(x) - Calculates the base 3 logarithm of x.

MATLAB gave us as ―help‖ on the function we defined, the text that we included after the

header in the file.

Finally, the algorithm used to calculate the base 3 logarithm of a given number, is based on the

formula

log 3(x) = ln(|x|) / ln(3).

Since the logarithm of a negative number is undefined, we use the absolute value for ―safety‖.

LOOPS:

We will now cover some commands for creating loops, which are not only used in writing

mfiles, but in regular MATLAB sessions as well. The examples that we will give will include

both situations. The two types of loops that we will discuss are ―for‖ and ―while‖ loops. Both

loop structures in MATLAB start with a keyword such as for, or while and they end with the

word end.

20 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The ―for‖ loop allows us to repeat certain commands. If you want to repeat some action in a

predetermined way, you can use the ―for‖ loop. The ―for‖ loop will loop around some statement,

and you must tell MATLAB where to start and where to end. For example,

>> for j=1:4

j+2

end

j =

3

j =

4

j =

5

j =

6

looped through the numbers 1, …, 4 and every time printed the current number plus 2.

Nested loops can also be created. In the following example, we calculate the square of the

entries in a matrix. (This again is not efficient but it is used for illustration purposes only.)

» A = [1,5,-3;2,4,0;-1,6,9]

A =

1 5 -3

2 4 0

-1 6 9

» for i=1:3

for j=1:3

A2(i,j) = A(i,j)^2;

end

end

» A2

A2 =

1 25 9

4 16 0

1 36 81

21 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The second type of loop is the ―while‖ loop. The ―while‖ loop repeats a sequence of commands

as long as some condition is met. For example, given a number n, the following m-file

(exple.m) will display the smallest non-negative integer a such that 2

a

≥ n.

function [a] = exple(n)

% [a] = exple(n)

%

a = 0;

while 2^a < n

a = a + 1;

end

% End of function

» a = exple(4)

a =

2

The conditional statement in the ―while‖ loop is what makes it differ from the ―for‖ loop. In the

above example we used the conditional statement

while 2^a < n

which meant that MATLAB would check to see if this condition is met, and if so proceed with

the statement that followed. Such conditional statements are also used in ―if‖ statements. To

form a conditional statement we use relational operators.

22 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY7)

IMAGES & MATRICES

For any matrix X, IMAGE(X) displays a graphical image with brightness or color chosen from

the elements of X used as indices into a colormap. This demo illustrates this idea of representing

a matrix as an image and in general displaying images stored as matrices.

- The Simple Spiral Matrix

- Color map

The Simple Spiral Matrix

SPIRAL stores a simple spiral pattern into a matrix. You can see the spiral pattern of the matrix

elements in the figure. The elements of the matrix spiral away from the center, growing in

magnitude linearly. Small numbers (center values) are mapped to black and dark gray, while the

larger values (around the edge of the matrix) are mapped to light gray and white. The assignment

of small values of the matrix to black, large values of the matrix to white and intermediate values

to shades of gray determines a color map.

colormap(gray);

X = spiral(8);

image(X);

23 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Colormaps

COLORMAP function is used to change the color mapping. The map had been set with

colormap(gray) in the previous screen. Here we change the colormap to hue-saturation-value

(hsv) color map. The colors begin with red, pass through yellow, green, cyan, blue, magenta, and

return to red.

colormap(hsv);

A completely different feature of our spiral example is revealed by the 'flag' color map. The

'flag' colormap is simply m/4 copies of the matrix flag(4), shown below, stacked on top of each

other. The colors red, white, blue and black are used cyclically as the elements of X vary and so

finer details of the image data become apparent. In this example, we can see the diagonal

patterns in the matrix

colormap(flag);

24 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

flag(4)

ans =

1 0 0

1 1 1

0 0 1

0 0 0

25 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

FUNCTIONS TO READ AND SHOW (IMAGES)

IMREAD:

Read image from graphics file

Syntax

A = imread(filename, fmt)

[X, map] = imread(...)

[...] = imread(filename)

[...] = imread(URL,...)

[...] = imread(...,Param1,Val1,Param2,Val2...)

Description

A = imread(filename, fmt) reads a grayscale or color image from the file specified by the

string filename. If the file is not in the current folder, or in a folder on the MATLAB path,

specify the full pathname.

The text string fmt specifies the format of the file by its standard file extension. For example,

specify 'gif' for Graphics Interchange Format files. To see a list of supported formats, with their

file extensions, use the imformats function. If imread cannot find a file named filename, it looks

for a file named filename.fmt.

The return value A is an array containing the image data. If the file contains a grayscale

image, A is an M-by-N array. If the file contains a truecolor image, A is an M-by-N-by-3 array.

For TIFF files containing color images that use the CMYK color space, A is an M-by-N-by-4

array. See TIFF in the Format-Specific Information section for more information.

The class of A depends on the bits-per-sample of the image data, rounded to the next byte

boundary. For example, imread returns 24-bit color data as an array ofuint8 data because the

sample size for each color component is 8 bits. See Tips for a discussion of bitdepths, and

see Format-Specific Information for more detail about supported bitdepths and sample sizes for a

particular format.

[X, map] = imread(...) reads the indexed image in filename into X and its associated colormap

into map. Colormap values in the image file are automatically rescaled into the range [0,1].

[...] = imread(filename) attempts to infer the format of the file from its content.

[...] = imread(URL,...) reads the image from an Internet URL. The URL must include the

protocol type (e.g., http://).

[...] = imread(...,Param1,Val1,Param2,Val2...) specifies parameters that control various

characteristics of the operations for specific formats.

IMSHOW:

26 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Syntax

imshow(I)

imshow(I,[lowhigh])

imshow(RGB)

imshow(BW)

imshow(X,map)

imshow(filename)

imshow(..., param1, val1, param2, val2,...)

Description

imshow(I) displays the grayscale image I.

imshow(I,[low high]) displays the grayscale image I, specifying the display range for I in [low

high]. The value low (and any value less than low) displays as black; the value high (and any

value greater than high) displays as white. Values in between are displayed as intermediate

shades of gray, using the default number of gray levels. If you use an empty matrix ([]) for [low

high], imshow uses [min(I(:)) max(I(:))]; that is, the minimum value in I is displayed as black,

and the maximum value is displayed as white.

imshow(RGB) displays the truecolor image RGB.

imshow(BW) displays the binary image BW. imshow displays pixels with the value 0 (zero) as

black and pixels with the value 1 as white.

imshow(X,map) displays the indexed image X with the colormap map. A color map matrix may

have any number of rows, but it must have exactly 3 columns. Each row is interpreted as a color,

with the first element specifying the intensity of red light, the second green, and the third blue.

Color intensity can be specified on the interval 0.0 to 1.0.

imshow(filename) displays the image stored in the graphics file filename. The file must contain

an image that can be read by imread or dicomread. imshowcalls imread or dicomread to read the

image from the file, but does not store the image data in the MATLAB workspace. If the file

contains multiple images,imshow displays the first image in the file. The file must be in the

current directory or on the MATLAB path.

.

imshow(..., param1, val1, param2, val2,...) displays the image, specifying parameters and

corresponding values that control various aspects of the image display. The following table lists

all imshow parameters in alphabetical order. Parameter names can be abbreviated, and case does

not matter.

27 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY8)

MATLAB FFT

The fundamental tool of signal processing is the FFT, or fast Finite Fourier Transform. To take

the FFT of the sunspot data type the following.The first component of Y, Y(1), is simply the sum

of the data, and can be removed.

Y = fft(relNums);

Y(1)=[];

A graph of the distribution of the Fourier coefficients (given by Y) in the complex plane is

pretty, but difficult to interpret. We need a more useful way of examining the data in Y.

plot(Y,'ro')

title('Fourier Coefficients in the Complex Plane');

xlabel('Real Axis');

ylabel('Imaginary Axis');

28 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The complex magnitude squared of Y is called the power, and a plot of power versus frequency

is a "periodogram".

n=length(Y);

power = abs(Y(1:floor(n/2))).^2;

nyquist = 1/2;

freq = (1:n/2)/(n/2)*nyquist;

plot(freq,power)

xlabel('cycles/year')

title('Periodogram')

29 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(Day 11)

IRIS RECOGNITION

INTRODUCTION

This project consists of the generation of the code for the recognition of faces using various

methods of Joint Transform Correlation techniques.

Various codes were written in MATLAB for the correlation and recognition of various images.

Image Correlation

Recent technologies used for optical pattern recognition may be broadly classified into the

VanderLugt-type filter based correlation and joint transform correlation.

A VanderLugt-type correlator requires a priori fabrication of the filter used in the

correlation process, thereby prohibiting real-time operation. In addition the filter must be

accurately aligned along the optical axis in the Fourier Plane and requires close positioning

between the filter and the Fourier Transform of the input. On the other hand, a joint transform

correlator (JTC) can be operated at video frame rates and does not require the reference image to

be known substantially in advance of performing the correlation process.

One of the main problems associated with classical JTC is the presence of a strong zero-

order peak in the output plane that corresponds to the sum of autocorrelation of the reference and

the input signals and almost overshadows the desired correlation peaks.

For a single noise-free target for eg. The zero-order peak is at least four times stronger

than the crossed correlation peaks. This situation becomes more bizarre in the presence of noise

in the input scene. In a real implementation, such a zero-order peak may over saturate the output

detector and cause strong spurious reflections. In specific situations where the zero-order term is

confined to a narrow region, however, an optical stop can be effectively used at the center of the

output plane to overcome this problem.

Recently a binary JTC was proposed where the joint power spectrum (JPS) is binarized

based on a hard clipping non-linearity in the Fourier plane, only two values (+1 and -1) before

applying an inverse Fourier transform operation. When compared with the classical JTC a binary

JTC is found to yield superior correlation peak intensity correlation width and discrimination

sensitivity. The main problem with a binary JTC is the computation time required for the

determination of the threshold value used for binarizing the JPS, which acts as a constraint on

system processing speed. Also the binarization process introduces harmonic correlation peaks,

30 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

and a portion of the correlation plane energy is distributed among these higher order harmonic

terms. In addition, the higher order harmonic terms may yield false alarms or may result in

misses, thereby complicating the target detection process.

Most recently a JTC based on an amplitude modulated filter *(AMF) was reported. In

this technique, the JPS is multiplied by the AMF before the inverse Fourier transform is applied

to yield the correlation output. For single noise-free targets, the AMF based JTC is found to yield

better correlation performance than the classical and binary JTCs . However the proposed AMF

may produce high optical gain for smaller values of the reference signal power spectrum, which

may actually degrade the noise performance of the JTC. A JTC was reported that uses Fourier

plane JPS apodization.

In this technique, one uses an expensive phase-only spatial light modulator (SLM) at

the Fourier plane and the analysis results are applicable to only those reference image

JPS‘s that do not contain any zeros. To alleviate the problems and at the same time to

increase the auto correlation peak intensity accordingly, we propose a fringe adjusted JTC in

which a real valued filter called a fringe adjusted filter FAF is used. The performance of the

fringe adjusted JTC is investigated with computer simulation. The proposed scheme has been

found to yield better results than the classical and binary JTC‘s while avoiding the computation

intensive Fourier plane processing of a binary JTC.

(DAY 12)

Joint Transform Corrrelation

JTC-Brief introduction:

The joint transform correlation technique is one of the most frequently applied methods in

the field of optical classification and identification. It is used to quantify the similarity between

several input images. When realized in optics these comparisons can be effected in parallel.

Many modifications to the standard joint transform correlator (JTC) have been proposed and

verified in recent years. This project deals with an implementation of the JTC in which two types

of thresholding in the spectral domain are investigated in order to improve the performance of

the overall system.

- The JTC is an image processing technique which can be used to compare several images

in parallel. Its operation may be visualized below:

31 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

- Images for comparison are placed side by side in the input plane.

- The height of the cross-correlation peaks in the output plane represent the degree of

similarity between inputs.

Optical implementation:

- Joint transform correlation is based on two successive Fourier transforms, with some

intermediary nonlinear processing (usually a squaring operation.)

- The technique can be most efficiently effected using optical hardware.

- The Fourier transform lens (FT lens 1) will form a joint Fourier spectrum of the

input images when the input plane (a transparency) is illuminated with coherent (e.g.

laser) light.

32 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

JTC Stimulation:

- The tolerance of the JTC was investigated for rotated and dilated inputs. Two input sets

with fundamentally different image characteristics were used: fingerprints and faces.

- This example plot shows the JTC=92s sensitivity to rotated inputs for a selected element

of the fingerprint set.

- For comparison purposes the other images in the set have been correlated with the featured

image and the results plotted in the centre.

33 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY 14)

ANALYSIS OF VARIOUS TYPES OF JTC’s

JOINT TRANSFORM CORRELATION:

The proposed real-time JTC used is an arrangement where the reference and the input scene are

introduced in the input plane by the use of an SLM such as a liquid crystal television. Assume

that r(x, y+y’) represents the reference image and that t(x, y-y’) represents the input scene in the

input plane separated by a distance 2y along the y axis. The input joint image f(x, y) can be

expressed as

f(x, y)= r(x, y+y’)+ t(x, y-y’) (1)

the Fourier transform of f(x, y) is computed which is given as

F(u, v)=|R(u, v)|exp[|

r

(u, v)]exp(jvy’) + |T(u, v)exp[|

t

(u, v)]exp(-jvy’)

(2)

Where|R(u, v)| and |T(u, v) are the amplitudes and [|

r

(u, v)] and [|

t

(u, v)] are the phases of the

Fourier transforms of r(x, y) and t(x, y), respectively, u and v are mutually independent

frequency domain variables scaled by a factor 2π/λ, λ is the wavelength of the collimating light,

and f is the focal length of the Fourier transforming lenses.

The intensity of the complex light distribution produced in the back focal plane of lens1 is

called the JPS, is then detected by square law detector like a CCD array or a liquid crystal light

wave valve(LCLV), is given by

|F(u, v)|

2

=|R(u, v)|

2

+ |T(u, v)|

2

+ 2|R(u, v)| |T(u, v)| × cos[|

r

(u, v) - |

t

(u, v) + 2vy’]

(3)

Joint transform correlation can further be divided in three parts:-

- CLASSICAL JOINT TRANSFORM CORRELATION

- FRINGE-ADJUSTED JOINT TRANSFORM CORRELATION

- BINARY JOINT TRANSFER CORRELATION

34 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

CLASSICAL JOINT TRANSFORM CORRELATION:

In classical JTC, the JPS is Fourier transformed to yield the correlation output.

To evaluate the concept of classical JTC let us consider an example.

Here MATLAB is used to generate the base of correlation of images and to obtain their outputs.

Using one reference image and one target image of 112×92 pixel we can compute the correlation

of the images and generate an output using MATLAB. These images were combined and zero

padded to form an image of 256×256 pixels. The output for the two cases (same images and

different images) will be discussed ahead.

The programs generated for different faces as well as same faces are compiled in MATLAB as

shown ahead.

35 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY15)

CODE FOR SAME IMAGES:

This time the two images used are exactly the same as shown below in Figure 4(a) and (b).

Figure4 (a) Figure4 (b)

These two images are again joined in the same way as explained above to form an image as

shown in figure5.

36 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The program for the classical joint transform correlation is shown below.

im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.pgm');

figure;imshow(im_1,[]);%%%%displaying the read image

q1(1:256,1:256)=0;

q1(17:128,37:128)=im_1;

q1(129:240,129:220)=im_1;

figure;imshow(q1,[]);%%%%%%displaying the joint image

q2=fftshift(ifft2(q1));%%%%%fourier transform to obtain JPS

jps=abs(q2);

%-----------Classical JTC--------

correlation=fftshift(ifft2(jps));%%%%%fourier transform to obtain peaks

figure;mesh(abs(correlation));

view(10,10);

The output of the above program is shown in Figure 6.

Figure 6

37 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

As we can see here, the output has one zero component and two correlation peaks.

These correlation peaks show that the two images compared are similar.

CODE FOR DIFFERENT IMAGES:

Figure1 (a) Figure1 (b)

Figure1(a) is used as the reference image whereas Figure1(b) is used as the test image. The

dimensions of these images are of 112×92 pixels. Both of these images are joined and zero

padded to form an image of 256×256 pixels as shown in figure2

Figure 2

.

The above image is correlated according to the program shown ahead.

38 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.pgm');

figure;imshow(im_1,[])%%%%displaying the read image

im_2=imread('C:\Documents and Settings\Guest\My Documents\face\s1\1.pgm');

figure;imshow(im_2,[]);%%%%%%displaying the read image

q1(1:256,1:256)=0;

q1(17:128,37:128)=im_1;

q1(129:240,129:220)=im_2;

figure;imshow(q1,[]);%%%%%displaying the joint image

q2=fftshift(ifft2(q1)); %%%%%fourier transform to obtain JPS

jps=abs(q2);

%-----------Classical JTC--------

correlation=fftshift(ifft2(jps)); %%%%%fourier transform to obtain peaks

figure;mesh(abs(correlation));

view(10,10);

The output of the above program is obtained by a 3-D plot as shown in figure 3.

Figure 3

39 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

As we can see only one peak is obtained in the output. This peak represents the zero component.

Since there are no side peaks or Correlation peaks in the above output thus we conclude that the

input and the reference images are different.

Even though the correlation peaks are visible, another type of correlation is used instead

of Classical JTC that gives better results (sharper peaks).

This technique is known as Fringe Adjusted JTC. Which is explained ahead.

(DAY 16)

FRINGE ADJUSTED JTC (FAF JTC):

In FAF JTC the JPS is multiplied by H

faf

(u, v) before the inverse Fourier transform operation is

applied to produce the correlation output. This scheme is found to yield better results than

classical JTC. Here the fringe adjusted filter (FAF) is defined as

H

faf

(u, v) = _____B(u, v)____ (5)

A(u, v) + |R(u, v)|

2

Where A(u, v) and B(u, v) are either constants or functions. When B(u, v) is properly selected,

one can avoid having an optical gain greater than unity. With a very small value of A(u, v), the

pole problem is overcome, while at the same time it is possible to achieve a very high

autocorrelation peak. The function A(u, v) , may be used to suppress noise or band limit the

signal or both. For example, if the noise power spectrum is known, the A(u, v) factor may be

chosen to suppress the noise spectrum at the Fourier plan. Therefore, in a fringe adjusted JTC,

the amplitude matching is used more effectively to produce sharper and larger correlation peak

intensity.

Notice that the filters used in VanderLugt type correlators involve both magnitude and phase,

thus complicating the filter fabrication process. On the other hand, the FAF is a real valued

function because it involves only the intensity (i.e., the JPS) and has no phase terms. Therefore a

40 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

FAF is more suitable for optical implementation. Also, the computations involving the FAF may

be completed long before the input scene is introduced in the input plane of the JTC. Thus the

inclusion of the filter does not have any significant detrimental effect on the processing speed of

the system. However, an additional spatial light modulator is necessary to display the FAF

function.

The fringe adjusted JPS is obtained by multiplying the filter function with the JPS. This

multiplication is achieved by displaying the JPS and the FAF in two separate SLM‘s placed side

by side and then illuminating the SLM‘s with the same laser, using a beam splitter and mirror

combination. Thus the Fringe adjusted filter may be expressed as

G(u, v) = H

faf

(u, v) |F(u, v)|

2

[B(u, v)/{A(u, v) + |R(u, v)|

2

] {|R(u, v)|

2

+ |T(u, v)|

2

+ 2|R(u, v)| |T(u, v)| × cos[|

r

(u, v)

- |

t

(u, v) + 2vy’]} (6)

When B(u, v) = 1 and |R(u, v)|2 >> A(u, v), the FAF approaches a perfect real-valued inverse

filter, and eq.(5) is given by

G(u, v) ~ 2{1 + cos[|

r

(u, v) - |

t

(u, v) + 2vy’]} (7)

The program for correlation same as well as different images using FAF JTC is discussed ahead.

CODE FOR SAME IMAGES:

im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.pgm');

figure;imshow(im_1,[]);%%%%%displaying the read image

im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.pgm');

figure;imshow(im_1,[]);

q1(1:256,1:256)=0;

q11(1:256,1:256)=0;

q1(17:128,37:128)=im_1;

q1(129:240,129:220)=im_1;

q11(17:128,37:128)=im_1;

figure;imshow(q1,[]);

figure;imshow(q11,[]);

q2=fftshift(ifft2(q1)); %%%%%fourier transform to obtain JPS

q22=fftshift(ifft2(q11)); %%%%%fourier transform to obtain JPS

41 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

for ic=1:256;%%%%%multiplying with the FAF function

for jc=1:256

q23(ic,jc)=1/(.000001+abs(q22(ic,jc)));

end

end

jps=abs(q2);

jps22=jps.*q23;

%----------FAF JTC---------

correlation22=fftshift(ifft2(jps22)); %%%%%fourier transform to obtain peaks

figure;mesh(abs(correlation22));

view(10,10);

Figure5(a) Figure5(b)

The above images are exactly same and of the same size (112×92 pixels).

These are combined to form an image of 256×256 pixels as shown in figure 6

42 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Figure 6.

The corresponding output is obtained on a 3-D graph as shown in figure 7.

Figure 7.

From the output graph we can comprehend that the two images are same, due to the presence of

the correlation peaks. As we can see, the peaks obtained in FAF JTC are sharper and larger than

those obtained in Classical JTC.

CODE FOR DIFFERENT IMAGES:

im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.pgm');

figure;imshow(im_1,[]);

im_2=imread('C:\Documents and Settings\Guest\My Documents\face\s1\1.pgm');

figure;imshow(im_2,[]);

q1(1:256,1:256)=0;

q11(1:256,1:256)=0;

43 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

q1(17:128,37:128)=im_1;

q1(129:240,129:220)=im_2;

q11(17:128,37:128)=im_1;

figure;imshow(q1,[]);

figure;imshow(q11,[]);

q2=fftshift(ifft2(q1));

q22=fftshift(ifft2(q11));

for ic=1:256;

for jc=1:256

q23(ic,jc)=1/(.000001+abs(q22(ic,jc)));

end

end

jps=abs(q2);

jps22=jps.*q23;

%----------FAF JTC---------

correlation22=fftshift(ifft2(jps22));

figure;mesh(abs(correlation22));

view(10,10);

The input and the reference images used here are shown in figure 8(a) and (b)

Figure8(a) Figure8(b)

44 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The images are combined similarly as done above to form an image of 256×256 pixels as shown

in figure 9.

Figure 9

The output of the correlation of the above images is shown in figure 10.

Figure 10.

45 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

As we can see from the output that the correlation peaks are absent. This shows that the images

are different.

46 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY 18)

BINARY JTC

In a binary JTC the JPS is first binarized according to a threshold value before taking the

inverse Fourier transform of the JPS.

+1 if ,F (u, v),

2

> T

f

,F (u, v),

2

=

0 otherwise. (9)

Where T

f

is the JPS binarization threshold, defined by

T

f

= mean ,F (u, v),

2

(10)

CODE FOR BINARY JTC:

clear all

clc

im_1=imread('C:\Documents and Settings\Guest\My

Documents\face\s8\1.pgm');

figure;imshow(im_1,[]);

im_1=imread('C:\Documents and Settings\Guest\My

Documents\face\s8\1.pgm');

figure;imshow(im_1,[]);

q1(1:256,1:256)=0;

q11(1:256,1:256)=0;

q1(17:128,37:128)=im_1;

q1(129:240,129:220)=im_1;

q11(17:128,37:128)=im_1;

figure;imshow(q1,[]);

figure;imshow(q11,[]);

q2=fftshift(ifft2(q1));

q22=fftshift(ifft2(q11));

for ic=1:256;

for jc=1:256

q23(ic,jc)=1/(.000001+abs(q22(ic,jc)));

end

47 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

end

jps=abs(q2);

jps22=jps.*q23;

%----------FAF JTC---------

correlation22=fftshift(ifft2(jps22));

figure;mesh(abs(correlation22));

view(0,0);

%%%%-----BINARIZATION PROCESS------

bjps(1:256,1:256)=0;

s=sum(sum(jps22));

avg=s/(256*256);

for ic=1:256;

for jc=1:256

if jps22(ic,jc)>avg

bjps(ic,jc)=1;

else

bjps(ic,jc)=0;

end

end

end

correlation23=fftshift(ifft2(bjps));% DISPLAY THE RESULTS

figure;mesh(abs(correlation23));

view(0,0);

Figure 11 Figure 12

Figure 11 and figure 12 show the input ant reference image respectively.

48 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Figure 13

Figure 14

As it can be observed that the two correlation peaks are here intensified with respect to the

average component. This is done by taking the mean of the pixels and binarizing them with

respect to the mean value of the pixels as explained by equation (9) and (10).

49 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY14)

BINARY DIFFERENTIATED JTC -BDJTC:

Optical information-processing techniques for pattern recognition have generated

considerable interest in the optics community in the last few decades. These are two widely used

architectures to implement correlation-based optical pattern recognition systems, known as the

VanderLugt correlator (VLC) and the joint transform correlator

(JTC). The VLC requires a priori fabrication of the filter, while for the JTC one does not need to

know the reference image beforehand. It is possible to have real-time operation at video frame

rates with a JTC.

Although the list of advantages associated with a JTC configuration is very long, there are

some problems also attached to it. One of its major drawbacks is the presence of a broad zero-

order (dc) peak in the output plane. There have been many attempts to overcome this

shortcoming. Implementation of an adaptive real-time JTC architecture using liquid-crystal TVs

was done. In such a system, optical or electronic techniques could be employed to subtract the dc

pattern from the correlation plane. Demonstration of an incoherent image subtraction technique

using electron-trapping materials was done. An electron-trapping film could be coupled directly

with a CCD chip to perform parallel real-time image subtraction between two simultaneous

scenes or subsequent frames. A widely used technique for dc removal is the subtraction of the

power spectrum of the input scene only and the power spectrum of the reference image only

from the joint power spectrum (JPS).

Later a binary JTC (BJTC)was presented, in which the JPS is binarized by using nonlinearity

at the Fourier plane before applying the final inverse Fourier transformation. In comparison with

the classical JTC (CJTC) a BJTC produces a higher correlation intensity, higher discrimination

ability, and narrower correlation width. The main bottleneck of a BJTC is the computation of the

threshold value used to binarize the JPS, hindering it from real-time operation.

The use of differential (or gradient) correlation is much simpler alternative idea which has

been introduced to attain high discrimination. A preprocessed JTC was introduced whose input

image is preprocessed by differential-like operators. Later a differential JTC (BJTC) was

proposed in which finite difference operation is applied to the JPS. The differencing, being a

high-pass operation, eliminates the unwanted autocorrelation dc spot formed at the center of the

correlation peaks, and thus enhances the peaks. They also showed that the binary version of the

DJTC offers higher discrimination ability and lower computation cost than the BJTC presented

by earlier proposals. Differential and binary differential JTC‘s are found to be associated with

high tolerance for illumination variation of the reference and target. This makes them suitable for

illumination-independent pattern recognition applications.

Most of the existing configurations of the JTC use two input images- one target and one

reference. They utilize only 50% of the space-bandwidth product in the correlation plane. The

50 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

use of multiple input images may enable additional functions to be performed by using a larger

space-bandwidth product. JTC‘s using multiple input images encoded in the spatial domain has

been reported by many researchers. In all these studies, removal of dc remains a major problem,

and again various techniques have been applied for this purpose.

In this section a binary differential JTC is demonstrated. In real-time situations the input scene

is captured with a CCD or thermal camera. Thermal cameras are widely used for night vision

imaging; hence images of reduced contrast considerably degraded by background noise are

obtained. The joint input images are optically Fourier-transformed to obtain JPS. The JPS is the

first differentiated and then binarized before inverse Fourier

Transformation. Differential processing of the JPS removes the dc and hence improves the

detection efficiency. There is also a study done on the effect of Gaussian noise on the correlation

output in both the CJTC and BDJTC and with single and multiple targets.

(DAY 19)

Binary Differential Joint Transform Correlator:

Let f(x, y) be the input images to a JTC, consisting of the reference image r(x-a, y) and the

target image r(x+a, y) separated by a distance 2a.

f(x, y) = r(x+a, y) + r(x-a, y). (1)

The Fourier transform of f(x, y) is captured by an intensity-sensing device, a CCD camera:

I (u, v) =|F (u, v) |

2

= T

2

(u, v) + R

2

(u, v) + R(u, v)T

*

(u, v)exp(-j2au) +

R

*

(u, v)T(u, v)exp(j2au) (2)

Where (u, v) are the frequency-domain coordinates and F(u, v), T(u, v) and R(u, v) are the

Fourier transforms of the f(x, y), t(x, y) and r(x, y) respectively. The asterisk denotes the

complex conjugate. Taking one more Fourier transform of eq. (2) gives the output of the JTC.

C(x, y) = t(x, y) © t(x, y) + r(x, y) © r(x, y) + r(x-2a, y) © t(x-2a, y) + r(x+2a, y) © r(x+2a,

y) (3)

Where the symbol © denotes the correlation operator.

51 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

The first two terms of eq. (3) give rise to dc, whereas the thirds and fourth terms are the

correlation terms. The first and second in eq. (2) the main sources of dc, are the slowly changing

parts of the JPS. The third and fourth terms, being the interference terms, mainly carry the

correlation information. Thus by removing the dc, i.e., the first and second terms of eq(2) the

detection efficiency of the system will be improved. Various techniques for the dc removal have

been reported ahead, such as dc blocking, binarizing the JPS, and subtraction.

Although the differential operation is difficult to realize optically, it can be implemented

digitally with less computation than in the case of a BJTC based on adaptive, median, or logical

median thresholding. The DJTC will have a bipolar JPS. A binarized version of the DJTC can be

easily generated by observing the sign changes in the JPS. Being lighter efficient, it is found to

yield higher correlation peak intensity. Since the differential operation can depress slow

variations, it is introduced to the JPS to improve the contrast. In discretely sampled systems, a

partial differential can be approximated by first order forward difference. Since the derivative

always assumes a maximum in the direction of an edge (i.e., the direction perpendicular to the

fringes), the derivative along the u direction (line joining the reference and target objects) has

been taken. A partially differentiated JPS along the u axis is given by

t

-1

{oI(u ,v)/ou } = (-jx) t

-1

{ I(u, v) }, (4)

Where x id the coordinate of the output plane t

-1

denoted the inverse Fourier transformation,

and the differential property of the Fourier transform has been used. The output of the JTC after

square law is given as

|(-jx) t

-1

{I(u,v)}|

2

= x

2

| C(x,y)|

2

(5)

Where C(x, y) given in eq(3), is the output of the conventional JTC. From eq(5) we infer that

differential operation of the JPS is equivalent to the operation of putting a mask on the output

plane whose transmittance is proportional to x

2

For binary JTCs, a threshold value is needed to binarize the JPS of the reference signal and the

input scene. The subset median threshold method has been used for the threshold binarization of

the differential JPS. The threshold value has to be updated for every new input scene. In subset

median thresholding, the JPS is segmented spatially in the Fourier plane. The median of each

subset is computed, and then each subset is binarized according to its subsets of n X m pixels,

where n ≤ N and m ≤ M. the threshold value for each subset is defined as the median of that

segment:

T

nm

= median [C

nm

(u, v)] (6)

52 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Where C

nm

(u, v) is the segmented JPS. Compared with median thresholding, the subset median

threshold method is computationally less intensive; the complexity of median computation is

reduced as the segmentation size is decreased. A binary version of a DJTC, viz. BDJTC which is

more efficient, can be obtained after binarizing the bipolar differential JPS retaining its sign, as

follows,

I (u, v) = ( +1 ,C

u

(u, v)> T

nm

, (7)

-1 ,C

u

(u, v) ≤ T

nm

,

A BDJTC inherits all the characteristics of a DJTC, but provides sharper and more intense

correlation, but provides sharper and more intense correlation peaks.

(DAY22)

CODE FOR BDJTC(Single object):

A program in MATLAB is written for implementing the Single object binary differential joint

transform correlator and the following results are obtained, notice the peak intensity that is

being sharpened by the binarization and the average component disappears due to differentiation

process.

im_1=imread('C:\matlab7\work\face\s8\1.pgm');

figure;imshow(im_1,[]);%%%%%%%%%%%% displaying the read image

im_2=imread('C:\matlab7\work\face\s8\1.pgm');

figure;imshow(im_2,[]);%%%%%% displaying the read image

q1(1:256,1:256)=0;

q1(17:128,37:128)=im_1;

q1(129:240,129:220)=im_2;

figure;imshow(q1,[]);%%%%%%%%%%%%%%% displaying the joint image

q2=fftshift(fft2(q1));%%%%%%%%%%%%%%%5taking Fourier transform%

jps=abs(q2);

djps=diff(jps);%%%%%%%%%%%%%STEP 1:DIFFRENTIATE

53 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

med=median(median(djps));A

bdjps(1:256,1:256)=0;%%%%%%%%%%%%%%%%STEP 2:BINARIZE

for ic=1:112

for jc=1:92

if djps(ic, jc)> med

bdjps(ic, jc)=1;

else

bdjps(ic, jc)=-1;

end

end

end

correlation3=fftshift(ifft2(bdjps));

figure;mesh(abs(correlation3));

view(10,10);

Figure 15 and 16 represent the reference image and the joint image respectively.

Figure 15:Single image Figure 16: Joint image

54 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Figure 17: Single Object BDJTC

From the above image we can see that the Zero component(dc value) is reduced to zero and the

correlation peaks are obtained which are higher and better in intensity than the peaks obtained in

the Classical JTC.

55 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY23)

CODE FOR BDJTC(Multiple objects):

A program in MATLAB is written for implementing the Multiple object binary

differential joint transform correlator and the following results are obtained, notice the peak

intensity that is being sharpened by the binarization and the average component disappears due

to differentiation process. Notice the six peaks obtained as two object images are taken.

im_1=imread('C:\matlab7\work\face\s8\1.pgm');

figure;imshow(im_1,[]);%%%%%%%%%%%% displaying the read image

im_2=imread('C:\matlab7\work\face\s8\1.pgm');

figure;imshow(im_2,[]);%%%%%%%%%%%% displaying the read image

q1(1:256,1:256)=0;

q1(17:128,37:128)=im_1;

q1(76:187,129:220)=im_2;

q1(129:240,37:128)=im_1;

figure;imshow(q1,[]);%%%%%%%%%%%%%%% displaying the joint

multiple image

q2=fftshift(fft2(q1));%%%%%%%%%%%%%%%taking fourier transform%

jps=abs(q2);

djps=diff(jps);%%%%%%%%%%%%%STEP 1:DIFFRENTIATE

med=median(median(djps));

bdjps(1:256,1:256)=0;%%%%%%%%%%%%%%%%STEP 2:BINARIZE

for ic=1:112

for jc=1:92

if djps(ic, jc)> med

bdjps(ic, jc)=1;

else

bdjps(ic, jc)=-1;

end

end

end

correlation3=fftshift(ifft2(bdjps));%%%%%%%%%obtaining peaks

figure;mesh(abs(correlation3));

view(10,10);

Figure 18 shows the image that is to be recognized and Figure 19 shows the correlation of the

multiple input images that are joined and zero padded to form an image of 256×256 pixels.

56 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Figure 18: Single image Figure 19: Joint image

Figure 20:3-D Output

From the output graph we can see the various correlation peaks that are obtained.

57 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

(DAY25)

CONCLUSION

In this project we have implemented the CJTC,FAF JTC ,BJTC and BDJTC with input synthetic

images. The idea of differential processing and binarization as proposed was employed. The

subset median threshold method was used as the threshold value for binarization of the

differential JPS. Differential processing of the JPS removes the zero-order spectra and hence

improves the detection efficiency. The differential and binary differential operations are

performed digitally. It is found that BDJTC performs better than the CJTC. Also, binary and

binary differential JTC‘s are found to be associated with high tolerance for illumination variation

of the reference and target. Experiments with different reference objects and single and multiple

target objects have been presented.

We have presented a fringe-adjusted filter based JTC for target detection. This technique is

found to yield substantially better correlation output than the classical and binary JTC‘s for input

scenes involving single as well as multiple objects. The FAF is designed such that it avoids the

problems associated with and inverse filter, while producing a high autocorrelation peak

intensity. It may also be used to attenuate the noise that is present in the input scene provided

that the factor A(u, v) is selected properly. Computer simulation results show that the Fringe

adjusted JTC yields better correlation peak intensity. For input scenes involving multiple objects

where two or more objects are identical, false autocorrelation peaks may be produced at the

output plane. This problem may be alleviated by subtracting the input- only JPS from the JPS at

the expense of an additional processing step. The input only JPS may be obtained by displaying

only input scene in the input plane SLM in the absence of reference image then recording the

JPS. By using the proposed technique, we are able to avoid the computation intensive JPS

binarization process associated with binary JTC and the false alarms and misses often associated

with the multi object binary JTC because of JPS binarization. The fringe adjusted JTC, however,

requires an extra SLM to display the FAF filter. Liquid crystal televisions may be used for this

purpose. Note that the computation associated with the FAF can be completed long before the

input scene is introduced into the input plane. Therefore the use of this additional filter may not

have any detrimental effect on the system-processing speed.

58 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

59 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Motivating Factors

The reason for my selecting IMAGE RECOGNITION for the Summer Training is my keen

interest in BIOMETRICS. It all started in the 6

th

semester when we had to study a subject named

‗INFORMATION SECURITY‘.

When I studied that subject thoroughly during the preparation of the semester exams, it all

started fascinating me.HOW we can authenticate a user to access the data without any security

breaches and how iris is used as a biometrics etc etc . As I went deeper and deeper, I came to

know about various biometrics, which was the turning point. By then I‘s sure that I need to

utilize my summer vacations and get deeper into this fascinating world of Biometrics.

Also I had a chance to discuss with some of my friends faculty and family about my Summer

Training, and I coincidently went through a conversation with one of my senior who actually did

his Summer Trainingfrom DRDO. After discussing with him about the details of the course & its

benefits, I became sure about my Summer Training at DRDO and eventually I succeeded in

doing so.

Since IRDE,DRDO is under Ministry Of Defense so it‘s a great opportunity to work with such

an organisation .

60 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

What’s new?

It was really a totally different experience doing my training there at the IRDE DRDO ,

dehradun. The environment was completely different. We also studied the things here at the

college, , but there, it was a bit different experience.

Here at college, we studied about the basic concepts of biometrics , bt there I actually come to

know how iris is used as biometric .The thing at college is we r only doing the theory thing but in

ma training period at IRDE i come to know how things go practically. How a software ie

MAtlab works and how using that software we can write coding for the iris scanning, various

computational works are the best part of the training.

Also the level of the training was very good. It all went in a very efficient and lucid manner, so

that each and everybody were able to understand and grasp the things very easily. The level of

the study material and the presentation was also up to the mark. They provided a good

environment for enhancing our skills.

61 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Journey & Environment

I got a chance to do my training from IRDE DRDO, DEHRADUN, just because of the presence

of myuncle there. He knows some scientist at IRDE bcause of that only I got the opportunity to

do training there , and I am very thankful to him.Because of this, I got a chance to be there this

summer, and also join a good organization for my training.

When I went there, the environment I found was totally different from the environment we find

here in our college. It was a combination of that of an educational institution as well as the

corporate environment. We were provided much of the practical knowledge than the theory part.

In this training period, I also learnt how to manage ourselves in a corporate environment. I came

to know about the quality a professional should have.

62 | T r a i n i n g R e p o r t ( I R I S R E C O G N I T I O N )

Conclusion

It‘s a really great experience to do my trainingat IRDE. It‘s also very useful to do the training

under the guidance of a person having a good experience as well as good knowledge. The

training with the HCL should also be very useful in the perspective of both knowledge, and the

career. In the case of career, it would be an important one because it has the tag of a organization

like IRDE, and in the case of knowledge, it is important because in this training I studied the

concepts of Photonics(IMAGE PROCESSING) , which is the most important part of any

organization.

About the Training (Duration & Specification)

I did my training from Instrument Research & Devlopment Organization , Dehradun Uttrakhand . It continued for about 29 days, starting from 17th of June 2011, till 15th of August 2011, under the guidance of Mr. Amit Aran, Scientist ‘C’.

During this period I have understood the functioning and working principles of numerous software development tools. This has developed a sense of confidence in me. And a lot of credit goes to my guide who helped me all the way from the very beginning. My work was basically concerned with the development of a code which could be used for the recognition of various face images using MATLAB..

**The Summer Training was divided into following modules: 1.
**

2.

Matlab Basics Iris Recognition using JTC.

In this time period we explored the knowledge of Matlab software like Basic Matrix concepts, plotting of functions , user interfaces, Simulink, JTC correlator, gray level images . This Training report contains the introduction and practical implementation of the related concepts. Basically, this Training report contains all the aspects of the things that happened during the Training period.

2|Training Report

(IRIS RECOGNITION)

**(Day 1) Photonics Division
**

The science of photonics includes the generation, emission, transmission, modulation ,signal processing, switching, amplification, detection , sensing of light. The term photonics thereby emphasizes that photons are neither particles nor waves — they are different in that they have both particle and wave nature. It covers all technical applications of light over the whole spectrum from ultraviolet over the visible to the near-, mid- and far-infrared. Most applications, however, are in the range of the visible and near infrared light. The term photonics developed as an outgrowth of the first practical semiconductor light emitters invented in the early 1960s and optical fibers developed in the 1970s. The Photonics division of IRDE is busy in achieving excellence in the field of optics & electrooptical Instrumentation with a commitment to provide world class equipment for defense related purposes. The vision of the division is to; I. To design and develop state-of-art night vision devices. II. To design and develop compact laser based instruments. III. To design and develop integrated optical and electro-optical surveillance and fire control systems. IV. To carry out research in the area of photonics.

3|Training Report

(IRIS RECOGNITION)

including C. Matlab was originally a package for matrix algebra. Macintoshes. and Fortran. SUN workstations. plotting of functions and data. execution of Matlab commands by entering a control C. MATLAB allows matrix manipulations.(Day 2) MATLAB: MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. This can however diﬀer. Java. in various versions. It has evolved to include strong graphics abilities and an extensive programming language.You can interrupt. To do this hold down the control key and. implementation of algorithms. Vax‘s etc. depending on the whims of your system administrator. 4|Training Report (IRIS RECOGNITION) . creation of interfaces. or abort. Developed by MathWorks. press the C key. and interfacing with programs written in other languages. C++. for various types of hardware: PCs. On most of these systems Matlab will be started by entering the command at the command prompt. It is available. before releasing it.

plot(b) grid on 5|Training Report (IRIS RECOGNITION) . b=a+2 b= 3 4 5 6 8 6 5 6 7 Creating graphs in MATLAB is as easy as one command.(DAY3) BASIC MATRIX OPERATIONS This is a demonstration of some aspects of the MATLAB® language. Let's plot the result of our vector addition with grid lines. and store the result in a new vector. let's create a simple vector with 9 elements called a. Notice how MATLAB requires no special handling of vector or matrix math. a. First. a = [1 2 3 4 6 4 3 4 5] a= 1 2 3 4 6 4 3 4 5 Now let's add 2 to each element of our vector.

bar(b) xlabel('Sample #') ylabel('Pounds') 6|Training Report (IRIS RECOGNITION) .MATLAB can make other graph types as well. with axis labels.

MATLAB offers a variety of other symbols and line types.'*') axis([0 10 0 10]) 7|Training Report (IRIS RECOGNITION) . plot(b.MATLAB can use symbols in plots as well. Here is an example using stars to mark the points.

A = [1 2 0. 2 5 -1. B = A' 8|Training Report (IRIS RECOGNITION) .One area in which MATLAB excels is matrix computation.) to separate the rows of a matrix. using semicolons (. Creating a matrix is as easy as making a vector. 4 10 -1] A= 1 2 4 2 0 5 -1 10 -1 We can easily find the transpose of the matrix A.

C=A*B C= 5 12 24 12 30 24 59 59 117 Instead of doing a matrix multiply. Note again that MATLAB doesn't require you to deal with matrices as a collection of numbers.* B C= 1 4 4 0 25 -10 1 0 -10 9|Training Report (IRIS RECOGNITION) . MATLAB knows when you are dealing with matrices and adjusts your calculations accordingly.* operator. C = A .B= 1 2 2 5 4 10 -1 0 -1 Now let's multiply these two matrices together. we can multiply the corresponding elements of two matrices or vectors using the .

...7321 0. X = inv(A) X= 5 2 -2 1 1 -2 -1 0 -2 .0000 10 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .. I = inv(A) * A I= 1 0 0 0 1 0 0 0 1 MATLAB has functions for nearly every type of common matrix calculation.. eig(A) ans = 3. There are functions to obtain eigenvalues .2679 1.Let's find the inverse of a matrix .. and then illustrate the fact that a matrix times its inverse is the identity matrix.

3171 0.. svd(A) ans = 12. as well as the singular values..7321 11 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . roots(p) ans = 3. These are actually the eigenvalues of the original matrix..1577 The "poly" function generates a vector containing the coefficients of the characteristic polynomial.5149 0. The characteristic polynomial of a matrix A is p = round(poly(A)) p= 1 -5 5 -1 We can easily find the roots of a polynomial using the roots function.

.p) q= 1 -10 35 -52 35 -10 1 .q) plot(r).. To convolve two vectors . r = conv(p. or convolve again and plot the result.1. q = conv(p. r= 1 -15 90 -278 480 -480 278 -90 15 -1 12 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .0000 0.2679 MATLAB has many applications beyond just matrix computation...

. 13 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .

Since MATLAB uses pi for the number π = 3. We will mention a few of them in this section by separating them into categories.1415… » sin(pi/2) ans = 1 » cos(pi/2) ans = 6. They are summarized in the table below. commands) in MATLAB. sin trigonometric sine cos trigonometric cosine tan trigonometric tangent asin trigonometric inverse sine (arcsine) acos trigonometric inverse cosine (arccosine) atan trigonometric inverse tangent (arctangent) exp exponential log natural logarithm abs absolute value sqrt square root rem remainder round round towards nearest integer floor round towards negative infinity ceil round towards positive infinity 14 The trigonometric functions take as input radians. but operate element-wise when applied to a matrix (or vector).e.(Day 4) MATLAB FUNCTIONS Built-in functions There are numerous built-in functions (i.1230e-017 14 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . Scalar Functions Certain MATLAB functions are essentially used on scalars.

let us illustrate some of the other commands.The sine of π/2 is indeed 1 but we expected the cosine of π/2 to be 0. » rem(12. » floor(1. remember that MATLAB is a numerical package and the answer we got (in scientific notation) is very close to 0 ( 6.5) ans = 2 The floor.1230e-017 = 6.4) ans = 1 15 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .4) ans = 0 and the remainder of 12 divided by 5 is 2. ceil and round commands are illustrated below. So the remainder of 12 divided by 4 is zero » rem(12. Well.1230×10 –17 ≈ 0).4) ans = 1 » ceil(1. Since the exp and log commands are straight forward to use. The rem command gives the remainder of a division.4) ans = 2 15 » round(1.

» eye(4.3) ans = 0 0 0 0 0 0 » ones(2) 16 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . The first one consists of convenient matrix building functions. » zeros(2. the command zeros creates a matrix of zeros and the command ones creates a matrix of ones. we could have obtained the above identity matrix by simply typing eye(4). some of which are given in the table below. we can specify only one input referring to size of the matrix. When creating square matrices. These can be further separated into two sub-categories.4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 The numbers in parenthesis indicates the size of the matrix.5) MATRIX FUNCTIONS Much of MATLAB‘s power comes from its matrix functions. Similarly.(DAY eye zeros ones diag triu upper tril lower identity matrix matrix of zeros matrix of ones extract diagonal of a matrix or create diagonal matrices triangular part of a matrix triangular part of a matrix To create the identity matrix of size 4 (i. For example. . The same is true for the matrix building functions below. a square 4-by-4 matrix with ones on the main diagonal and zeros everywhere else) we use the command eye.e.

6868 0.ans = 1 1 1 1 We can create a randomly generated matrix using the rand command.2190 0 0 0 0. extract the upper and lower part of a matrix.4175 0.2190 0.9304 0 0 0 0 » tril(C) ans = 0.6789 0.0077 0.0077 0 0.8310 0.5890 0 0 0 0. the ―empty‖ positions in the new matrices are automatically. Let us try them on the matrix C defined above.8310 0.6789 0.9304 0.5297 0. respectively.9347 0.) » C = rand(5.5890 0.6711 0.5194 0 0 0.5297 0.4175 0 0. 17 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . (The entries will be uniformly distributed between 0 and 1.0470 0.3835 0.9347 0.3835 0.6868 0 0 0.9304 0.6793 0.5194 0.3834 0.8462 Once the extraction took place.0470 0.8462 The commands triu and tril. 19 » triu(C) ans = 0.0346 0.3834 0.0668 0.0346 0.6793 0.5194 0.6711 0.0535 0.0668 0.0077 0.4) C= 0.0535 0.2190 0.

4650 28 18 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . Function files.m‖. This can be done by writing the commands in a file and calling it from within MATLAB. play the role of user defined commands that often have input and output.m . % End of function Using this function within MATLAB to compute log 3(5).m‖ ! function [a] = log3(x) % [a] = log3(x) . Such files are called ―m-files‖ because they must have the filename extension ―. You must make sure that the filename has the extension ―.g. This extension is required in order for these files to be interpreted by MATLAB. Notepad or Wordpad in Microsoft Windows). The text file can be created in a variety of ways. we get » log3(5) ans = 1. Script files can be very useful when entering data into a matrix.m and it is used to calculate the base 3 logarithm of a positive number.0 and above). The text below is saved in a file called log3.Calculates the base 3 logarithm of x.(DAY6) PROGRAMMING IN MATLAB M-files: Scripts and functions To take advantage of MATLAB‘s full capabilities. or your favorite (external) text editor (e. we need to know how to construct long (and sometimes complex) sequences of statements. Script files contain a sequence of usual MATLAB commands. For example. There are two types of m-files: script files and function files. on the other hand. for example using the built-in MATLAB editor through the command edit (that is available with MATLAB 5. which will have the same status as other MATLAB commands. Let us give a simple example./log(3). that are executed (in order) once the script is called within MATLAB. You can create your own commands for specific problems this way. if such a file has the name compute. a = log(abs(x)). then typing the command compute at the MATLAB prompt will cause the statements in that file to be executed.

The two types of loops that we will discuss are ―for‖ and ―while‖ loops. (b) the output(s) in brackets. which consists of the following : (a) the word function. the algorithm used to calculate the base 3 logarithm of a given number. the text that we included after the header in the file. The examples that we will give will include both situations. (d) the name of the function.Let us explain a few things related to the syntax of a function file. LOOPS: We will now cover some commands for creating loops. (the variable a in the above example) (c) the equal sign. For example. Any statement that appears after a ―%‖ sign on a line is ignored by MATLAB and play ny statement that appears after a ―%‖ sign on a line is ignored by MATLAB and plays the role of comments in the subroutine. Comments are essential when writing long functions or programs. for clarity. Finally. Since the logarithm of a negative number is undefined. or while and they end with the word end. is based on the formula log 3(x) = ln(|x|) / ln(3). see what happens when we type » help log3 [a] = log3(x) .Calculates the base 3 logarithm of x. which are not only used in writing mfiles. MATLAB gave us as ―help‖ on the function we defined. Every MATLAB function begins with a header. In addition. which must match the function filename (log3 in the above example) and (e) the input(s) (the variable x in the above example). we use the absolute value for ―safety‖. the first set of comments after the header in a function serve as on-line help. 19 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . Both loop structures in MATLAB start with a keyword such as for. but in regular MATLAB sessions as well.

If you want to repeat some action in a predetermined way.j)^2. For example.6. 4 and every time printed the current number plus 2.5.) » A = [1.2.-1. you can use the ―for‖ loop.9] A= 1 5 -3 2 4 0 -1 6 9 » for i=1:3 for j=1:3 A2(i. we calculate the square of the entries in a matrix.4.j) = A(i. In the following example. …. >> for j=1:4 j+2 end j= 3 j= 4 j= 5 j= 6 looped through the numbers 1. and you must tell MATLAB where to start and where to end.0. (This again is not efficient but it is used for illustration purposes only. end end » A2 A2 = 1 25 9 4 16 0 1 36 81 20 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . The ―for‖ loop will loop around some statement.The ―for‖ loop allows us to repeat certain commands. Nested loops can also be created.-3.

Such conditional statements are also used in ―if‖ statements. To form a conditional statement we use relational operators. For example. the following m-file (exple. while 2^a < n a = a + 1. In the above example we used the conditional statement while 2^a < n which meant that MATLAB would check to see if this condition is met. The ―while‖ loop repeats a sequence of commands as long as some condition is met.m) will display the smallest non-negative integer a such that 2 a ≥ n. given a number n. and if so proceed with the statement that followed. 21 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .The second type of loop is the ―while‖ loop. end % End of function » a = exple(4) a= 2 The conditional statement in the ―while‖ loop is what makes it differ from the ―for‖ loop. function [a] = exple(n) % [a] = exple(n) % a = 0.

**(DAY7) IMAGES & MATRICES
**

For any matrix X, IMAGE(X) displays a graphical image with brightness or color chosen from the elements of X used as indices into a colormap. This demo illustrates this idea of representing a matrix as an image and in general displaying images stored as matrices. The Simple Spiral Matrix Color map

**The Simple Spiral Matrix
**

SPIRAL stores a simple spiral pattern into a matrix. You can see the spiral pattern of the matrix elements in the figure. The elements of the matrix spiral away from the center, growing in magnitude linearly. Small numbers (center values) are mapped to black and dark gray, while the larger values (around the edge of the matrix) are mapped to light gray and white. The assignment of small values of the matrix to black, large values of the matrix to white and intermediate values to shades of gray determines a color map.

colormap(gray); X = spiral(8); image(X);

22 | T r a i n i n g R e p o r t

(IRIS RECOGNITION)

Colormaps

COLORMAP function is used to change the color mapping. The map had been set with colormap(gray) in the previous screen. Here we change the colormap to hue-saturation-value (hsv) color map. The colors begin with red, pass through yellow, green, cyan, blue, magenta, and return to red. colormap(hsv);

A completely different feature of our spiral example is revealed by the 'flag' color map. The 'flag' colormap is simply m/4 copies of the matrix flag(4), shown below, stacked on top of each other. The colors red, white, blue and black are used cyclically as the elements of X vary and so finer details of the image data become apparent. In this example, we can see the diagonal patterns in the matrix colormap(flag);

23 | T r a i n i n g R e p o r t

(IRIS RECOGNITION)

flag(4) ans =

1 1 0 0

0 1 0 0

0 1 1 0

24 | T r a i n i n g R e p o r t

(IRIS RECOGNITION)

. it looks for a file named filename. See Tips for a discussion of bitdepths..Param1.. or in a folder on the MATLAB path.. use the imformats function.FUNCTIONS TO READ AND SHOW (IMAGES) IMREAD: Read image from graphics file Syntax A = imread(filename. For TIFF files containing color images that use the CMYK color space..) [. The text string fmt specifies the format of the file by its standard file extension.Val2.) Description A = imread(filename. The class of A depends on the bits-per-sample of the image data.] = imread(. If the file contains a grayscale image. A is an M-by-N-by-4 array.. If the file contains a truecolor image.. For example.. [.. and see Format-Specific Information for more detail about supported bitdepths and sample sizes for a particular format...) [..Param1.Val1.. If imread cannot find a file named filename. If the file is not in the current folder... The URL must include the protocol type (e.] = imread(URL.Val1..... [. http://)... The return value A is an array containing the image data.) specifies parameters that control various characteristics of the operations for specific formats...] = imread(..g. For example.fmt.... map] = imread(.] = imread(filename) attempts to infer the format of the file from its content.Val2.1]. Colormap values in the image file are automatically rescaled into the range [0... See TIFF in the Format-Specific Information section for more information. A is an M-by-N-by-3 array. map] = imread(. [.Param2..) reads the image from an Internet URL..] = imread(URL.] = imread(filename) [. imread returns 24-bit color data as an array ofuint8 data because the sample size for each color component is 8 bits..Param2. fmt) [X. IMSHOW: 25 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . fmt) reads a grayscale or color image from the file specified by the string filename. specify 'gif' for Graphics Interchange Format files. specify the full pathname.) reads the indexed image in filename into X and its associated colormap into map.. with their file extensions. rounded to the next byte boundary. A is an M-by-N array. To see a list of supported formats. [X.

param1. imshowcalls imread or dicomread to read the image from the file. that is..map) imshow(filename) imshow(. the second green. imshow displays pixels with the value 0 (zero) as black and pixels with the value 1 as white. the value high (and any value greater than high) displays as white.0.[low high]) displays the grayscale image I. Color intensity can be specified on the interval 0. param2. imshow(filename) displays the image stored in the graphics file filename.. imshow(RGB) displays the truecolor image RGB. imshow(I. with the first element specifying the intensity of red light... . val1.) Description imshow(I) displays the grayscale image I.. and the maximum value is displayed as white. The value low (and any value less than low) displays as black.. The file must contain an image that can be read by imread or dicomread.Syntax imshow(I) imshow(I. A color map matrix may have any number of rows. val1. imshow(X.0 to 1. and case does not matter. but does not store the image data in the MATLAB workspace. param2.. but it must have exactly 3 columns. the minimum value in I is displayed as black. If you use an empty matrix ([]) for [low high]. If the file contains multiple images. imshow uses [min(I(:)) max(I(:))]. Parameter names can be abbreviated..) displays the image. and the third blue. 26 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . val2.[lowhigh]) imshow(RGB) imshow(BW) imshow(X. imshow(.. imshow(BW) displays the binary image BW. using the default number of gray levels. specifying parameters and corresponding values that control various aspects of the image display. The following table lists all imshow parameters in alphabetical order. param1. specifying the display range for I in [low high].. The file must be in the current directory or on the MATLAB path. Each row is interpreted as a color. Values in between are displayed as intermediate shades of gray.imshow displays the first image in the file.map) displays the indexed image X with the colormap map.. val2..

is simply the sum of the data. A graph of the distribution of the Fourier coefficients (given by Y) in the complex plane is pretty. Y(1)=[]. To take the FFT of the sunspot data type the following. and can be removed. or fast Finite Fourier Transform.'ro') title('Fourier Coefficients in the Complex Plane').(DAY8) MATLAB FFT The fundamental tool of signal processing is the FFT. Y(1). We need a more useful way of examining the data in Y. Y = fft(relNums).The first component of Y. plot(Y. 27 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . but difficult to interpret. ylabel('Imaginary Axis'). xlabel('Real Axis').

power = abs(Y(1:floor(n/2))). plot(freq. and a plot of power versus frequency is a "periodogram".The complex magnitude squared of Y is called the power. nyquist = 1/2. n=length(Y). freq = (1:n/2)/(n/2)*nyquist.^2.power) xlabel('cycles/year') title('Periodogram') 28 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .

such a zero-order peak may over saturate the output detector and cause strong spurious reflections. thereby prohibiting real-time operation. only two values (+1 and -1) before applying an inverse Fourier transform operation. The main problem with a binary JTC is the computation time required for the determination of the threshold value used for binarizing the JPS. Various codes were written in MATLAB for the correlation and recognition of various images.(Day 11) IRIS RECOGNITION INTRODUCTION This project consists of the generation of the code for the recognition of faces using various methods of Joint Transform Correlation techniques. In addition the filter must be accurately aligned along the optical axis in the Fourier Plane and requires close positioning between the filter and the Fourier Transform of the input. In specific situations where the zero-order term is confined to a narrow region. In a real implementation. This situation becomes more bizarre in the presence of noise in the input scene. One of the main problems associated with classical JTC is the presence of a strong zeroorder peak in the output plane that corresponds to the sum of autocorrelation of the reference and the input signals and almost overshadows the desired correlation peaks. The zero-order peak is at least four times stronger than the crossed correlation peaks. however. A VanderLugt-type correlator requires a priori fabrication of the filter used in the correlation process. an optical stop can be effectively used at the center of the output plane to overcome this problem. For a single noise-free target for eg. which acts as a constraint on system processing speed. 29 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . On the other hand. a joint transform correlator (JTC) can be operated at video frame rates and does not require the reference image to be known substantially in advance of performing the correlation process. When compared with the classical JTC a binary JTC is found to yield superior correlation peak intensity correlation width and discrimination sensitivity. Recently a binary JTC was proposed where the joint power spectrum (JPS) is binarized based on a hard clipping non-linearity in the Fourier plane. Image Correlation Recent technologies used for optical pattern recognition may be broadly classified into the VanderLugt-type filter based correlation and joint transform correlation. Also the binarization process introduces harmonic correlation peaks.

we propose a fringe adjusted JTC in which a real valued filter called a fringe adjusted filter FAF is used. A JTC was reported that uses Fourier plane JPS apodization. Many modifications to the standard joint transform correlator (JTC) have been proposed and verified in recent years. However the proposed AMF may produce high optical gain for smaller values of the reference signal power spectrum. This project deals with an implementation of the JTC in which two types of thresholding in the spectral domain are investigated in order to improve the performance of the overall system. one uses an expensive phase-only spatial light modulator (SLM) at the Fourier plane and the analysis results are applicable to only those reference image JPS‘s that do not contain any zeros. To alleviate the problems and at the same time to increase the auto correlation peak intensity accordingly. the JPS is multiplied by the AMF before the inverse Fourier transform is applied to yield the correlation output. thereby complicating the target detection process. the higher order harmonic terms may yield false alarms or may result in misses. In addition. It is used to quantify the similarity between several input images.and a portion of the correlation plane energy is distributed among these higher order harmonic terms. In this technique. The proposed scheme has been found to yield better results than the classical and binary JTC‘s while avoiding the computation intensive Fourier plane processing of a binary JTC. (DAY 12) Joint Transform Corrrelation JTC-Brief introduction: The joint transform correlation technique is one of the most frequently applied methods in the field of optical classification and identification. Its operation may be visualized below: 30 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . The JTC is an image processing technique which can be used to compare several images in parallel. In this technique. which may actually degrade the noise performance of the JTC. Most recently a JTC based on an amplitude modulated filter *(AMF) was reported. When realized in optics these comparisons can be effected in parallel. the AMF based JTC is found to yield better correlation performance than the classical and binary JTCs . The performance of the fringe adjusted JTC is investigated with computer simulation. For single noise-free targets.

g. Images for comparison are placed side by side in the input plane. The Fourier transform lens (FT lens 1) will form a joint Fourier spectrum of the input images when the input plane (a transparency) is illuminated with coherent (e. 31 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .) The technique can be most efficiently effected using optical hardware. laser) light. Optical implementation: Joint transform correlation is based on two successive Fourier transforms. The height of the cross-correlation peaks in the output plane represent the degree of similarity between inputs. with some intermediary nonlinear processing (usually a squaring operation.

JTC Stimulation: The tolerance of the JTC was investigated for rotated and dilated inputs. For comparison purposes the other images in the set have been correlated with the featured image and the results plotted in the centre. 32 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . This example plot shows the JTC=92s sensitivity to rotated inputs for a selected element of the fingerprint set. Two input sets with fundamentally different image characteristics were used: fingerprints and faces.

v)=|R(u. v)]exp(jvy’) + |T(u. v)|2 + 2|R(u. y-y’) the Fourier transform of f(x. v) are the amplitudes and [r(u. v)] and [t(u. u and v are mutually independent frequency domain variables scaled by a factor 2π/λ. The intensity of the complex light distribution produced in the back focal plane of lens1 is called the JPS. y-y’) represents the input scene in the input plane separated by a distance 2y along the y axis. λ is the wavelength of the collimating light. y+y’)+ t(x. Assume that r(x. respectively. v)|2 + |T(u. v)] are the phases of the Fourier transforms of r(x. is then detected by square law detector like a CCD array or a liquid crystal light wave valve(LCLV). v)|2=|R(u. v) . y) and t(x.t(u. y) can be expressed as f(x. y)= r(x. v)|exp[r(u. v)| |T(u. The input joint image f(x. y) is computed which is given as (1) F(u. and f is the focal length of the Fourier transforming lenses. y). is given by |F(u. v)exp[t(u. y+y’) represents the reference image and that t(x. v)| and |T(u.(DAY 14) ANALYSIS OF VARIOUS TYPES OF JTC’s JOINT TRANSFORM CORRELATION: The proposed real-time JTC used is an arrangement where the reference and the input scene are introduced in the input plane by the use of an SLM such as a liquid crystal television. v) + 2vy’] (3) Joint transform correlation can further be divided in three parts: CLASSICAL JOINT TRANSFORM CORRELATION FRINGE-ADJUSTED JOINT TRANSFORM CORRELATION BINARY JOINT TRANSFER CORRELATION 33 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . v)| × cos[ r(u. v)]exp(-jvy’) (2) Where|R(u.

The output for the two cases (same images and different images) will be discussed ahead. Here MATLAB is used to generate the base of correlation of images and to obtain their outputs. The programs generated for different faces as well as same faces are compiled in MATLAB as shown ahead.CLASSICAL JOINT TRANSFORM CORRELATION: In classical JTC. 34 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . These images were combined and zero padded to form an image of 256×256 pixels. To evaluate the concept of classical JTC let us consider an example. Using one reference image and one target image of 112×92 pixel we can compute the correlation of the images and generate an output using MATLAB. the JPS is Fourier transformed to yield the correlation output.

(DAY15) CODE FOR SAME IMAGES: This time the two images used are exactly the same as shown below in Figure 4(a) and (b). Figure4 (a) Figure4 (b) These two images are again joined in the same way as explained above to form an image as shown in figure5. 35 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .

10). %-----------Classical JTC-------correlation=fftshift(ifft2(jps)).%%%%%%displaying the joint image q2=fftshift(ifft2(q1)).mesh(abs(correlation)).37:128)=im_1.The program for the classical joint transform correlation is shown below. figure.imshow(q1. q1(129:240.129:220)=im_1. The output of the above program is shown in Figure 6.pgm').%%%%%fourier transform to obtain JPS jps=abs(q2). im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.1:256)=0.[]).imshow(im_1. figure.[]). view(10.%%%%displaying the read image q1(1:256. q1(17:128. Figure 6 36 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .%%%%%fourier transform to obtain peaks figure.

the output has one zero component and two correlation peaks. 37 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . Both of these images are joined and zero padded to form an image of 256×256 pixels as shown in figure2 Figure 2 . CODE FOR DIFFERENT IMAGES: Figure1 (a) Figure1 (b) Figure1(a) is used as the reference image whereas Figure1(b) is used as the test image.As we can see here. The above image is correlated according to the program shown ahead. These correlation peaks show that the two images compared are similar. The dimensions of these images are of 112×92 pixels.

129:220)=im_2.imshow(q1.imshow(im_2. %%%%%fourier transform to obtain peaks figure.[])%%%%displaying the read image im_2=imread('C:\Documents and Settings\Guest\My Documents\face\s1\1.pgm').1:256)=0.pgm').im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.37:128)=im_1. Figure 3 38 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .imshow(im_1. figure.%%%%%displaying the joint image q2=fftshift(ifft2(q1)).mesh(abs(correlation)). The output of the above program is obtained by a 3-D plot as shown in figure 3. figure.10). figure. %%%%%fourier transform to obtain JPS jps=abs(q2). q1(129:240.[]). view(10. q1(17:128.%%%%%%displaying the read image q1(1:256.[]). %-----------Classical JTC-------correlation=fftshift(ifft2(jps)).

v) before the inverse Fourier transform operation is applied to produce the correlation output. Here the fringe adjusted filter (FAF) is defined as Hfaf (u. v)|2 (5) Where A(u. Therefore a 39 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . v) is properly selected. This peak represents the zero component. while at the same time it is possible to achieve a very high autocorrelation peak. the pole problem is overcome. v) + |R(u. (DAY 16) FRINGE ADJUSTED JTC (FAF JTC): In FAF JTC the JPS is multiplied by Hfaf(u. if the noise power spectrum is known. v)____ A(u. Since there are no side peaks or Correlation peaks in the above output thus we conclude that the input and the reference images are different. may be used to suppress noise or band limit the signal or both. This technique is known as Fringe Adjusted JTC. The function A(u. On the other hand. the FAF is a real valued function because it involves only the intensity (i.. When B(u.e. v) = _____B(u. thus complicating the filter fabrication process.As we can see only one peak is obtained in the output. v). For example. This scheme is found to yield better results than classical JTC. in a fringe adjusted JTC. the JPS) and has no phase terms. the amplitude matching is used more effectively to produce sharper and larger correlation peak intensity. v) factor may be chosen to suppress the noise spectrum at the Fourier plan. Which is explained ahead. With a very small value of A(u. v) . one can avoid having an optical gain greater than unity. v) and B(u. Notice that the filters used in VanderLugt type correlators involve both magnitude and phase. v) are either constants or functions. the A(u. Even though the correlation peaks are visible. Therefore. another type of correlation is used instead of Classical JTC that gives better results (sharper peaks).

v) . using a beam splitter and mirror combination. v)/{A(u. q1(17:128.129:220)=im_1.[]). figure.t(u. Also.imshow(q11.imshow(q1. The fringe adjusted JPS is obtained by multiplying the filter function with the JPS. v).[]). q11(1:256.37:128)=im_1. v) + |R(u. q2=fftshift(ifft2(q1)). v)|2] {|R(u. v) |F(u. CODE FOR SAME IMAGES: im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1. v)|2 + 2|R(u.t(u. v) = 1 and |R(u.pgm').37:128)=im_1. figure.FAF is more suitable for optical implementation. an additional spatial light modulator is necessary to display the FAF function.%%%%%displaying the read image im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.pgm'). v)|2 >> A(u. %%%%%fourier transform to obtain JPS 40 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . v) 2{1 + cos[r(u. Thus the Fringe adjusted filter may be expressed as G(u.imshow(im_1. Thus the inclusion of the filter does not have any significant detrimental effect on the processing speed of the system.imshow(im_1. v)| |T(u. v) = Hfaf(u.1:256)=0. v) + 2vy’]} (7) The program for correlation same as well as different images using FAF JTC is discussed ahead. q1(1:256.[]). %%%%%fourier transform to obtain JPS q22=fftshift(ifft2(q11)). q11(17:128. the computations involving the FAF may be completed long before the input scene is introduced in the input plane of the JTC. and eq. figure. v)|2 + |T(u. However. v) . v)| × cos[ r(u.[]). figure. This multiplication is achieved by displaying the JPS and the FAF in two separate SLM‘s placed side by side and then illuminating the SLM‘s with the same laser. v) + 2vy’]} (6) When B(u. the FAF approaches a perfect real-valued inverse filter. q1(129:240.1:256)=0.(5) is given by G(u. v)|2 [B(u.

jps22=jps.000001+abs(q22(ic. view(10.10).%%%%%multiplying with the FAF function for jc=1:256 q23(ic.*q23. %%%%%fourier transform to obtain peaks figure.jc))).for ic=1:256. end end jps=abs(q2). These are combined to form an image of 256×256 pixels as shown in figure 6 41 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .jc)=1/(. %----------FAF JTC--------correlation22=fftshift(ifft2(jps22)).mesh(abs(correlation22)). Figure5(a) Figure5(b) The above images are exactly same and of the same size (112×92 pixels).

q11(1:256. CODE FOR DIFFERENT IMAGES: im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.imshow(im_2.pgm').imshow(im_1.[]).Figure 6.[]).1:256)=0. 42 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . due to the presence of the correlation peaks. figure. im_2=imread('C:\Documents and Settings\Guest\My Documents\face\s1\1. As we can see. the peaks obtained in FAF JTC are sharper and larger than those obtained in Classical JTC. Figure 7. From the output graph we can comprehend that the two images are same. q1(1:256.pgm'). figure.1:256)=0. The corresponding output is obtained on a 3-D graph as shown in figure 7.

imshow(q1. q2=fftshift(ifft2(q1)). figure.129:220)=im_2. for jc=1:256 q23(ic.37:128)=im_1. end end jps=abs(q2). The input and the reference images used here are shown in figure 8(a) and (b) Figure8(a) Figure8(b) 43 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .000001+abs(q22(ic. %----------FAF JTC--------correlation22=fftshift(ifft2(jps22)).mesh(abs(correlation22)).jc))). for ic=1:256.[]).imshow(q11. q11(17:128. figure.*q23. view(10. q22=fftshift(ifft2(q11)). figure.37:128)=im_1.jc)=1/(.10).q1(17:128. jps22=jps. q1(129:240.[]).

Figure 10.The images are combined similarly as done above to form an image of 256×256 pixels as shown in figure 9. Figure 9 The output of the correlation of the above images is shown in figure 10. 44 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .

This shows that the images are different. 45 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .As we can see from the output that the correlation peaks are absent.

(9) Where Tf is the JPS binarization threshold.imshow(q1.1:256)=0. for jc=1:256 q23(ic.imshow(im_1. figure. for ic=1:256.imshow(im_1. im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1. q22=fftshift(ifft2(q11)). q11(17:128. v)2 (10) CODE FOR BINARY JTC: clear all clc im_1=imread('C:\Documents and Settings\Guest\My Documents\face\s8\1.1:256)=0.jc))).37:128)=im_1. figure. v)2 Tf F (u. end 46 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . q11(1:256. defined by Tf= mean F (u. q1(129:240.pgm').37:128)=im_1. figure.[]). +1 if F (u. figure. v)2 = 0 otherwise. q1(1:256.(DAY 18) BINARY JTC In a binary JTC the JPS is first binarized according to a threshold value before taking the inverse Fourier transform of the JPS.000001+abs(q22(ic.jc)=1/(.[]).imshow(q11. q2=fftshift(ifft2(q1)). q1(17:128.[]).129:220)=im_1.pgm').[]).

*q23. Figure 11 Figure 12 Figure 11 and figure 12 show the input ant reference image respectively. for ic=1:256. 47 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .0).end jps=abs(q2).jc)=1.mesh(abs(correlation23)).1:256)=0. avg=s/(256*256). view(0. for jc=1:256 if jps22(ic. view(0. s=sum(sum(jps22)). figure.0). %%%%-----BINARIZATION PROCESS-----bjps(1:256. else bjps(ic. jps22=jps. %----------FAF JTC--------correlation22=fftshift(ifft2(jps22)).jc)=0.% DISPLAY THE RESULTS figure. end end end correlation23=fftshift(ifft2(bjps)).mesh(abs(correlation22)).jc)>avg bjps(ic.

Figure 13 Figure 14 As it can be observed that the two correlation peaks are here intensified with respect to the average component. 48 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . This is done by taking the mean of the pixels and binarizing them with respect to the mean value of the pixels as explained by equation (9) and (10).

A preprocessed JTC was introduced whose input image is preprocessed by differential-like operators. in which the JPS is binarized by using nonlinearity at the Fourier plane before applying the final inverse Fourier transformation. Although the list of advantages associated with a JTC configuration is very long. and thus enhances the peaks. One of its major drawbacks is the presence of a broad zeroorder (dc) peak in the output plane. Later a binary JTC (BJTC)was presented. Demonstration of an incoherent image subtraction technique using electron-trapping materials was done. Implementation of an adaptive real-time JTC architecture using liquid-crystal TVs was done. Differential and binary differential JTC‘s are found to be associated with high tolerance for illumination variation of the reference and target. The main bottleneck of a BJTC is the computation of the threshold value used to binarize the JPS. A widely used technique for dc removal is the subtraction of the power spectrum of the input scene only and the power spectrum of the reference image only from the joint power spectrum (JPS). The use of differential (or gradient) correlation is much simpler alternative idea which has been introduced to attain high discrimination. there are some problems also attached to it. The VLC requires a priori fabrication of the filter. These are two widely used architectures to implement correlation-based optical pattern recognition systems. known as the VanderLugt correlator (VLC) and the joint transform correlator (JTC). Most of the existing configurations of the JTC use two input images. being a high-pass operation. The differencing. while for the JTC one does not need to know the reference image beforehand. optical or electronic techniques could be employed to subtract the dc pattern from the correlation plane. In comparison with the classical JTC (CJTC) a BJTC produces a higher correlation intensity. hindering it from real-time operation. eliminates the unwanted autocorrelation dc spot formed at the center of the correlation peaks. The 49 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . They utilize only 50% of the space-bandwidth product in the correlation plane. This makes them suitable for illumination-independent pattern recognition applications. Later a differential JTC (BJTC) was proposed in which finite difference operation is applied to the JPS. There have been many attempts to overcome this shortcoming. An electron-trapping film could be coupled directly with a CCD chip to perform parallel real-time image subtraction between two simultaneous scenes or subsequent frames. higher discrimination ability. They also showed that the binary version of the DJTC offers higher discrimination ability and lower computation cost than the BJTC presented by earlier proposals.one target and one reference. It is possible to have real-time operation at video frame rates with a JTC. and narrower correlation width.(DAY14) BINARY DIFFERENTIATED JTC -BDJTC: Optical information-processing techniques for pattern recognition have generated considerable interest in the optics community in the last few decades. In such a system.

Differential processing of the JPS removes the dc and hence improves the detection efficiency. Thermal cameras are widely used for night vision imaging. v)exp(-j2au) + R*(u. The JPS is the first differentiated and then binarized before inverse Fourier Transformation. and again various techniques have been applied for this purpose. (DAY 19) Binary Differential Joint Transform Correlator: Let f(x. y) t(x. y) + r(x+2a. y) + r(x. In all these studies. In real-time situations the input scene is captured with a CCD or thermal camera. v)exp(j2au) (2) Where (u. y) t(x-2a. y) r(x. v) |2 = T2(u. (1) The Fourier transform of f(x. Taking one more Fourier transform of eq. (2) gives the output of the JTC. v) are the Fourier transforms of the f(x. The asterisk denotes the complex conjugate. In this section a binary differential JTC is demonstrated. There is also a study done on the effect of Gaussian noise on the correlation output in both the CJTC and BDJTC and with single and multiple targets. v) are the frequency-domain coordinates and F(u. removal of dc remains a major problem. y) respectively. a CCD camera: I (u. y) separated by a distance 2a. y). T(u. C(x. y) = t(x. JTC‘s using multiple input images encoded in the spatial domain has been reported by many researchers. v)T(u. hence images of reduced contrast considerably degraded by background noise are obtained. y) + r(x-2a. y) and r(x. y) is captured by an intensity-sensing device. y) and the target image r(x+a. y) + r(x-a. v) + R(u. t(x. y) r(x+2a. y) be the input images to a JTC. y). v) and R(u. v) + R2(u. 50 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . consisting of the reference image r(x-a. The joint input images are optically Fourier-transformed to obtain JPS. v) =|F (u. y) (3) Where the symbol denotes the correlation operator. f(x. v)T*(u. y) = r(x+a.use of multiple input images may enable additional functions to be performed by using a larger space-bandwidth product. v).

y)|2 (5) Where C(x. From eq(5) we infer that differential operation of the JPS is equivalent to the operation of putting a mask on the output plane whose transmittance is proportional to x2 For binary JTCs. and then each subset is binarized according to its subsets of n X m pixels. Various techniques for the dc removal have been reported ahead. (2) the main sources of dc. median. y) given in eq(3). such as dc blocking. A binarized version of the DJTC can be easily generated by observing the sign changes in the JPS. Since the differential operation can depress slow variations. Thus by removing the dc. a partial differential can be approximated by first order forward difference. Since the derivative always assumes a maximum in the direction of an edge (i. The threshold value has to be updated for every new input scene. where n ≤ N and m ≤ M. Although the differential operation is difficult to realize optically. v) }. The output of the JTC after square law is given as |(-jx) -1 {I(u.e. In subset median thresholding. The third and fourth terms. the derivative along the u direction (line joining the reference and target objects) has been taken. The subset median threshold method has been used for the threshold binarization of the differential JPS. v)] (6) 51 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . a threshold value is needed to binarize the JPS of the reference signal and the input scene. (3) give rise to dc. the direction perpendicular to the fringes). or logical median thresholding. binarizing the JPS. the first and second terms of eq(2) the detection efficiency of the system will be improved. The DJTC will have a bipolar JPS. are the slowly changing parts of the JPS. the JPS is segmented spatially in the Fourier plane. the threshold value for each subset is defined as the median of that segment: Tnm = median [Cnm (u.. A partially differentiated JPS along the u axis is given by -1{I(u . i. whereas the thirds and fourth terms are the correlation terms. The median of each subset is computed. In discretely sampled systems. The first and second in eq.v)}|2 = x2| C(x. mainly carry the correlation information.. it can be implemented digitally with less computation than in the case of a BJTC based on adaptive. (4) Where x id the coordinate of the output plane -1 denoted the inverse Fourier transformation. it is found to yield higher correlation peak intensity. and subtraction.e.The first two terms of eq. it is introduced to the JPS to improve the contrast. and the differential property of the Fourier transform has been used. being the interference terms. Being lighter efficient. is the output of the conventional JTC.v)/u } = (-jx) -1 { I(u.

im_1=imread('C:\matlab7\work\face\s8\1. djps=diff(jps). v) = ( +1 .[]). q1(129:240. can be obtained after binarizing the bipolar differential JPS retaining its sign. but provides sharper and more intense correlation peaks. v)> Tnm. notice the peak intensity that is being sharpened by the binarization and the average component disappears due to differentiation process.imshow(im_2.Cu(u. (7) A BDJTC inherits all the characteristics of a DJTC. (DAY22) CODE FOR BDJTC(Single object): A program in MATLAB is written for implementing the Single object binary differential joint transform correlator and the following results are obtained. figure.%%%%%%%%%%%%%STEP 1:DIFFRENTIATE 52 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . viz.129:220)=im_2. figure.%%%%%% displaying the read image q1(1:256. figure. A binary version of a DJTC. as follows.imshow(q1.Cu(u.imshow(im_1. I (u.%%%%%%%%%%%%%%% displaying the joint image q2=fftshift(fft2(q1)). the subset median threshold method is computationally less intensive.Where Cnm(u.pgm').%%%%%%%%%%%% displaying the read image im_2=imread('C:\matlab7\work\face\s8\1. BDJTC which is more efficient. -1 .1:256)=0.pgm'). q1(17:128. but provides sharper and more intense correlation. v) is the segmented JPS. Compared with median thresholding.37:128)=im_1. v) ≤ Tnm.%%%%%%%%%%%%%%%5taking Fourier transform% jps=abs(q2). the complexity of median computation is reduced as the segmentation size is decreased.[]).[]).

jc)=1. Figure 15:Single image Figure 16: Joint image 53 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .%%%%%%%%%%%%%%%%STEP 2:BINARIZE for ic=1:112 for jc=1:92 if djps(ic. figure. view(10.med=median(median(djps)). end end end correlation3=fftshift(ifft2(bdjps)).10).mesh(abs(correlation3)). else bdjps(ic.A bdjps(1:256.1:256)=0. jc)=-1. jc)> med bdjps(ic. Figure 15 and 16 represent the reference image and the joint image respectively.

Figure 17: Single Object BDJTC From the above image we can see that the Zero component(dc value) is reduced to zero and the correlation peaks are obtained which are higher and better in intensity than the peaks obtained in the Classical JTC. 54 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .

figure. figure.37:128)=im_1. q1(129:240.%%%%%%%%%%%%%%%%STEP 2:BINARIZE for ic=1:112 for jc=1:92 if djps(ic.%%%%%%%%%%%% displaying the read image im_2=imread('C:\matlab7\work\face\s8\1. notice the peak intensity that is being sharpened by the binarization and the average component disappears due to differentiation process. q1(17:128.%%%%%%%%%%%% displaying the read image q1(1:256.%%%%%%%%%%%%%%%taking fourier transform% jps=abs(q2).mesh(abs(correlation3)). im_1=imread('C:\matlab7\work\face\s8\1.%%%%%%%%%%%%%%% displaying the joint multiple image q2=fftshift(fft2(q1)). djps=diff(jps).(DAY23) CODE FOR BDJTC(Multiple objects): A program in MATLAB is written for implementing the Multiple object binary differential joint transform correlator and the following results are obtained. 55 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . jc)=-1.%%%%%%%%%%%%%STEP 1:DIFFRENTIATE med=median(median(djps)).[]). end end end correlation3=fftshift(ifft2(bdjps)). jc)> med bdjps(ic.pgm').1:256)=0. bdjps(1:256.%%%%%%%%%obtaining peaks figure.10).129:220)=im_2.imshow(im_1.imshow(q1.imshow(im_2.[]).37:128)=im_1. jc)=1. figure. else bdjps(ic. q1(76:187.pgm'). view(10. Notice the six peaks obtained as two object images are taken.[]). Figure 18 shows the image that is to be recognized and Figure 19 shows the correlation of the multiple input images that are joined and zero padded to form an image of 256256 pixels.1:256)=0.

56 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .Figure 18: Single image Figure 19: Joint image Figure 20:3-D Output From the output graph we can see the various correlation peaks that are obtained.

v) is selected properly.only JPS from the JPS at the expense of an additional processing step. Experiments with different reference objects and single and multiple target objects have been presented. we are able to avoid the computation intensive JPS binarization process associated with binary JTC and the false alarms and misses often associated with the multi object binary JTC because of JPS binarization. The subset median threshold method was used as the threshold value for binarization of the differential JPS. however. By using the proposed technique. We have presented a fringe-adjusted filter based JTC for target detection. The differential and binary differential operations are performed digitally. This problem may be alleviated by subtracting the input. binary and binary differential JTC‘s are found to be associated with high tolerance for illumination variation of the reference and target. The fringe adjusted JTC. 57 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . It is found that BDJTC performs better than the CJTC.FAF JTC . Note that the computation associated with the FAF can be completed long before the input scene is introduced into the input plane.(DAY25) CONCLUSION In this project we have implemented the CJTC. requires an extra SLM to display the FAF filter. The input only JPS may be obtained by displaying only input scene in the input plane SLM in the absence of reference image then recording the JPS. Computer simulation results show that the Fringe adjusted JTC yields better correlation peak intensity. false autocorrelation peaks may be produced at the output plane. Also. while producing a high autocorrelation peak intensity. This technique is found to yield substantially better correlation output than the classical and binary JTC‘s for input scenes involving single as well as multiple objects. Liquid crystal televisions may be used for this purpose. Differential processing of the JPS removes the zero-order spectra and hence improves the detection efficiency.BJTC and BDJTC with input synthetic images. The idea of differential processing and binarization as proposed was employed. It may also be used to attenuate the noise that is present in the input scene provided that the factor A(u. The FAF is designed such that it avoids the problems associated with and inverse filter. For input scenes involving multiple objects where two or more objects are identical. Therefore the use of this additional filter may not have any detrimental effect on the system-processing speed.

58 | T r a i n i n g R e p o r t (IRIS RECOGNITION) .

Also I had a chance to discuss with some of my friends faculty and family about my Summer Training. 59 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . I became sure about my Summer Training at DRDO and eventually I succeeded in doing so.DRDO is under Ministry Of Defense so it‘s a great opportunity to work with such an organisation . it all started fascinating me. By then I‘s sure that I need to utilize my summer vacations and get deeper into this fascinating world of Biometrics. and I coincidently went through a conversation with one of my senior who actually did his Summer Trainingfrom DRDO. As I went deeper and deeper. It all started in the 6th semester when we had to study a subject named ‗INFORMATION SECURITY‘. Since IRDE. which was the turning point. When I studied that subject thoroughly during the preparation of the semester exams.HOW we can authenticate a user to access the data without any security breaches and how iris is used as a biometrics etc etc . After discussing with him about the details of the course & its benefits.Motivating Factors The reason for my selecting IMAGE RECOGNITION for the Summer Training is my keen interest in BIOMETRICS. I came to know about various biometrics.

They provided a good environment for enhancing our skills. It all went in a very efficient and lucid manner.What’s new? It was really a totally different experience doing my training there at the IRDE DRDO . Here at college. so that each and everybody were able to understand and grasp the things very easily. Also the level of the training was very good. We also studied the things here at the college. but there. How a software ie MAtlab works and how using that software we can write coding for the iris scanning. bt there I actually come to know how iris is used as biometric . we studied about the basic concepts of biometrics . it was a bit different experience. . The environment was completely different. 60 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . various computational works are the best part of the training.The thing at college is we r only doing the theory thing but in ma training period at IRDE i come to know how things go practically. The level of the study material and the presentation was also up to the mark. dehradun.

I came to know about the quality a professional should have. just because of the presence of myuncle there. and also join a good organization for my training.Because of this.Journey & Environment I got a chance to do my training from IRDE DRDO. In this training period. and I am very thankful to him. 61 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . the environment I found was totally different from the environment we find here in our college. I also learnt how to manage ourselves in a corporate environment. He knows some scientist at IRDE bcause of that only I got the opportunity to do training there . It was a combination of that of an educational institution as well as the corporate environment. When I went there. I got a chance to be there this summer. DEHRADUN. We were provided much of the practical knowledge than the theory part.

It‘s also very useful to do the training under the guidance of a person having a good experience as well as good knowledge. 62 | T r a i n i n g R e p o r t (IRIS RECOGNITION) . In the case of career.Conclusion It‘s a really great experience to do my trainingat IRDE. which is the most important part of any organization. and in the case of knowledge. it is important because in this training I studied the concepts of Photonics(IMAGE PROCESSING) . and the career. it would be an important one because it has the tag of a organization like IRDE. The training with the HCL should also be very useful in the perspective of both knowledge.

- Matlab Tutorial
- TUTORIALS1_5.PDF
- IL
- Tutorial
- Excel Functions
- Matlab No. 12
- inverse trigo function
- mpb-icra2006 [Wazhua.Com]
- T3-2 MS.pdf
- Excel Function List
- How to Operate a Scientific Calculator (With Pictures)
- Ch 2-Inverse Trigonometric Functions
- Dynamo Language Manual FINAL
- Curiculum Content 2007
- Introduction to Matlab
- syllabus of CDS .docx
- Invest
- Syllabus of CDS
- Trigonometric
- 1415 QS015 2 (1).pdf
- Maths Ext 1 2013 ITute.com Solutions
- DAE Instrumentation
- act preparing real practice test 2009
- Mathematic Formulas
- U.P.B. Sci. Bull., Series …, Vol. …,
- Mathe Matics Xi
- Trigonometric Substitutions
- Helpful Calculators
- Directional Drilling.ppt
- EEC 652 DSP Lab

Sign up to vote on this title

UsefulNot usefulClose Dialog## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

Loading