Knuckle Pattern Detection Final
Knuckle Pattern Detection Final
A PROJECT REPORT
Submitted by
BACHELOR OF ENGINEERING
IN
APRIL 2021
WIRELESS SAFETY SYSTEM IN
A PROJECT REPORT
Submitted by
degree of
BACHELOR OF ENGINEERING
IN
K.RAMAKRISHNAN COLLEGE OF
ENGINEERING (AUTONOMOUS),
SAMAYAPURAM, TIRUCHIRAPPALLI – 621 112.
APRIL 2021
i
K.RAMAKRISHNAN COLLEGE OF ENGINEERING
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Dr. T.M. NITHYA, M.E., Ph.D., Dr.B.Kiran Bala, M.E., M.B.A.,Ph.D.,
Assistant Professor
We thank the almighty GOD, without whom it would not have been
possible for us to complete our project.
iiii
DECLARATION
JESLIN
JAICY.S
(8115171040
47)
MAHABOOBNISHA A.M
(811517104062)
literature incorporates finger knuckle images under fixed poses, which is not
contactless finger knuckle images acquired under varying poses. New approach
Gabor filter and competitive coding, have been widely used in finger-knuckle-
features which may not achieve satisfying results on FKP images. In order to
augmentation here for training the CNN in FKP recognition. Meanwhile, batch-
ix
LIST OF FIGURES
ACRONYMS EXPANSIONS
INTRODUCTIO
HARD COPY
DEVICE
DISPLAY
DIGITIZER
A digitizer converts an image into a numerical representation suitable for
input into a digital computer. Some common digitizers are
Microdensitometer
Flying spot scanner
Image dissector
Videocon camera
Photosensitive solid- state arrays.
DIGITAL COMPUTER
MASS STORAGE
The secondary storage devices normally used are floppy disks, CD ROMs
etc.
HARD COPY DEVICE
The hard copy device is used to produce a permanent copy of the image and
for the storage of the software involved.
OPERATORCONSOLE
IMAGE PROCESSOR
An image processor does the functions of image acquisition, storage,
preprocessing, segmentation, representation, recognition and interpretation and
finally displays or records the resulting image. The following block diagram
gives the fundamental sequence involved in an image processing system.
KNOWLEDGE RESULT
PREPROCESSING RECOGNITION &
BASE INTERPRETATION
As detailed in the diagram, the first step in the process is image acquisition by
an imaging sensor in conjunction with a digitizer to digitize the image. The next
step is the preprocessing step where the image is improved being fed as an input
to the other processes. Preprocessing typically deals with enhancing, removing
Noise, isolating regions, etc. Segmentation partitions an image into its
constituent parts or objects. The output of segmentation is usually raw pixel
data, which consists of either the boundary of the region or the pixels in the
region themselves. Representation is the process of transforming the raw pixel
data into a form useful for subsequent processing by the computer. Description
deals with extracting features that are basic in differentiating one class of objects
from another. Recognition assigns a label to an object based on the information
provided by its descriptors. Interpretation involves assigning meaning to an
ensemble of recognized objects. The knowledge about a problem domain is
incorporated into the knowledge base. The knowledge base guides the operation
of each processing module and also controls the interaction between the
modules. Not all modules need be necessarily present for a specific function.
The composition of the image processing system depends on its application. The
frame rate of the image processor is normally around 25 frames per second.
Image
Enhancement
Image
IMAGE Restoration
PROCESSING Image Analysis
Image Compression
Image Synthesis
IMAGE RESTORATION
Image restoration like enhancement improves the qualities of image but all
the operations are mainly based on known, measured, or degradations of the
original image. Image restorations are used to restore images with problems
such as geometric distortion, improper focus, repetitive noise, and camera
motion. It is used to correct images for known degradations.
IMAGE ANALYSIS
Image analysis operations produce numerical or graphical information based
on characteristics of the original image. They break into objects and then
classify them. They depend on the image statistics. Common operations are
extraction and description of scene and image features, automated
measurements, and object classification. Image analyze are mainly used in
machine vision applications.
IMAGE COMPRESSION
Image compression and decompression reduce the data content necessary to
describe the image. Most of the images contain lot of redundant information,
compression removes all the redundancies. Because of the compression the size
is reduced, so efficiently stored or transported. The compressed image is
decompressed when displayed. Lossless compression preserves the exact data in
the original image, but loss compression does not represent the original image
but provide excellent compression.
IMAGE SYNTHESIS
Image synthesis operations create images from other images or non- image
data. Image synthesis operations generally create images that are either
physically impossible or impractical to acquire.
1. Binary image
2. Grayscale image
3. Indexed image
4. True color or RGB image
BINARY IMAGE
Each pixel is just black or white. Since there are only two possible values for
each pixel (0, 1), we only need one bit per pixel.
GRAYSCALE IMAGE
Each pixel is a shade of gray, normally from 0 (black) to 255(white). This
range means that each pixel can be represented by eight bits, or exactly one
byte. Other grayscale ranges are used, but generally they are a power of 2.
INDEXED IMAGE
An indexed image consists of an array and a color map matrix. The pixel
values in the array are direct indices into a color map. By convention, this
documentation uses the variable name X to refer to the array and map to refer to
the color map.
TRUE COLOR OR RGB IMAGE
Each pixel has a particular color; that color is described by the amount of red,
green and blue in it. If each of these components has a range 0–255, this gives a
total of 2563 different possible colors. Such an image is a “stack” of three
matrices; representing the red, green and blue values for each pixel. This means
that for every pixel there correspond 3 values.
DOCUMENT PROCESSING
It is used in scanning, and transmission for converting paper documents to a
digital image form, compressing the image, and storing it on magnetic tape. It is
also used in document reading for automatically detecting and recognizing
printed characteristics.
MEDICINE
Inspection and interpretation of images obtained from X-rays, MRI or CAT
scans, analysis of cell images, of chromosome karyotypes. In medical
applications, one is concerned with processing of chest X-rays, cineangiograms,
projection images of trans-axial tomography and other medical images that
occur in radiology, nuclear magnetic resonance (NMR) and ultrasonic scanning.
These images may be used for patient screening and monitoring or for
detection of tumors’ or other disease in patients.
INDUSTRY
Automatic inspection of items on a production line, inspection of paper
samples.
DEFENSE/INTELLIGENCE
It is used in reconnaissance photo-interpretation for automatic interpretation
of earth satellite imagery to look for sensitive targets or military threats and
target acquisition and guidance for recognizing and tracking targets in real-time
smart-bomb and missile-guidance systems.
AGRICULTURE
Satellite/aerial views of land, for example to determine how much land is
being used for different purposes, or to investigate the suitability of different
regions for different crops, inspection of fruit and vegetables distinguishing
good and fresh produce from old.
LITERATURE
SURVEY
2.1 Zijing Zhao, Ajay kumar “A deep learning based unified framework to
detect, segment and recognize irises using spatially corresponding features”
IEEE Access 2020.
DESCRIPTION:
This paper proposes a deep learning based unified and generalizable framework
for accurate iris detection, segmentation and recognition. The proposed
framework firstly exploits state-of-the-art and iris specific Mask R-CNN, which
performs highly reliable iris detection and primary segmentation i.e., identifying
iris/non-iris pixels, followed by adopting an optimized fully convolution
network (FCN), which generates spatially corresponding iris feature descriptors.
A specially designed Extended Triplet Loss (ETL) function is presented to
incorporate the bit-shifting and non-iris masking, which are found necessary for
learning meaningful and discriminative spatial iris features. Thorough
experiments on four publicly available databases suggest that the proposed
framework consistently outperforms several classic and state-of-the-art iris
recognition approaches. More importantly, our model exhibits superior
generalization capability as, unlike popular methods in the literature, it does not
essentially require database-specific parameter tuning, which is another key
advantage
2.2 Ajay Kumar, Zhihuan Xu “ Personal Identification using Minor
Knuckle Patterns from Palm Dorsal Surface” 2016.
DESCRIPTION:
DESCRIPTION:
DESCRIPTION:
DESCRIPTION:
DESCRIPTION:
DESCRIPTION:
DESCRIPTION:
INTRODUCTION
The formation of finger joints from NOG gene indicates its relationship
with the finger knuckle creases observed in our hands. The uniqueness and the
formation of finger knuckle patterns are therefore largely influenced by the
factors relating to functional requirements and the genetics.
FIGURE 3.1 EXISTING SYSTEM
There are ranges of spatial and spectral feature extraction methods that
can be employed to match normalized finger knuckle images. Contrast context
histogram (CCH), for that contrast-based local descriptors can represent local
regions with more compact histogram image matching and object recognition.
By representing the contrast distributions of a local region, it serves as a
distinctive local descriptor of the region. Our experiments demonstrate bins.
Because of its high matching accuracy and efficient computation, the CCH has
the potential to be used in a number of real-time applications.
APPLICATIONS
• Bank
• Security applications
• human surveillance
CHAPTER 4
PROPOSED SYSTEM
The basic functionality of the example CNN above can be broken down into
four key areas.
1. As found in other forms of ANN, the input layer will hold the pixel
values of the image.
2.The convolutional layer will determine the output of neurons of which are
connected to local regions of the input through the calculation of the scalar
product between their weights and the region connected to the input vol- ume.
The rectified linear unit (commonly shortened to ReLu) aims to apply an
’element wise’ activation function such as sigmoid to the output of the
activation produced by the previous layer.
3. The pooling layer will then simply perform down sampling along the spatial
dimensionality of the given input, further reducing the number of pa- rameters
within that activation.
4.The fully-connected layers will then perform the same duties found in
standard ANNs and attempt to produce class scores from the activations, to be
used for classification. It is also suggested that ReLu may be used between these
layers, as to improve performance.
Through this simple method of transformation, CNNs are able to transform the
original input layer by layer using convolutional and downsampling techniques
to produce class scores for classification and regression purposes.
FIGURE4.2 BLOCK DIAGRAM FOR PROPOSED SYSTEM
4.3 PRE-PROCESSING:
Two pre-processing techniques were applied: resizing the images and data
augmentation. Each image was resized to 224 × 224 pixels to be suitable for the
VGG16 model. Data augmentation is used to increase the training data. The
augmentation techniques that used to increase the number of the iris images were
rotation, shearing, zooming, width shifting and height shifting. And to increase
the faces images rotation, shearing, zooming, width shifting, height shifting, and
horizontal flipping were used.
4.4 SEGMENTATION:
Segmentation partitions an image into distinct regions containing each
pixels with similar attributes. To be meaningful and useful for image analysis
and interpretation, the regions should strongly relate to depicted objects or
features of interest.
Segmentation techniques are either contextual or non-contextual. The latter take
no account of spatial relationships between features in an image and group pixels
together on the basis of some global attribute, e.g. grey level or colour.
Contextual techniques additionally exploit these relationships, e.g. group
together pixels with similar grey levels and close spatial locations.
The convolution layer plays a vital role in how CNNS operate. The layers
parameters focus around the use of learnable kernels. These kernels are usually
small in spatial dimensionality, but spreads along the entirety of the depth of the
input. When the data hits a convolutional layer, the layer convolves each filter
across the spatial dimensionality of the input to produce a 2D activation map.
These activation maps can be visualized. As we glide through the input, the
scalar product is calculated for each value in that kernel. (Figure 4) From this the
network will learn kernels that ’fire’ when they see a specific feature at a given
spatial position of the input. These are commonly known as activations.
We are also able to define the stride in which we set the depth around the
spatial dimensionality of the input in order to place the receptive field. For
example if we were to set a stride as 1, then we would have a heavily overlapped
receptive field producing extremely large activations. Alternatively, setting the
stride to a greater number will reduce the amount of overlapping and produce an
output of lower spatialdimensions.
4.6.3POOLING LAYER
Pooling layers aim to gradually reduce the dimensionality of the
representation, and thus further reduce the number of parameters and the
computational complexity of the model.
Due to the destructive nature of the pooling layer, there are only two
generally observed methods of max-pooling. Usually, t×hestride and filters of the
pooling layers are both set to 2 2, which will allow the layer to extend through
the entirety of the spatial dimensionality of the input. Furthermore overlapping
pooling may be utilised, where the stride is set to 2 with a kernel size set to 3.
Due to the destructive nature of pooling, having a kernel size above 3 will
usually greatly decrease the performance of the model.
It is also important to understand that beyond max-pooling, CNN architectures
may contain general-pooling. General pooling layers are comprised of pooling
neurons that are able to perform a multitude of common operations including
L1/L2-normalisation, and average pooling. However, this tutorial will primarily
focus on the use of max- pooling.
MATLAB 2017
MATLAB (matrix laboratory) is a fourth-generation high-level
programming language and interactive environment for numerical computation,
visualization and programming. MATLAB is developed by Math Works .It
allows matrix manipulations; plotting of functions and data; implementation of
algorithms; creation of user interfaces; interfacing with programs written in
other languages, including C, C++, Java, and Fortran ;analyze data; develop
algorithms; and create models and applications. It has numerous built-in
commands and math functions that help you in mathematical calculations,
generating plots and performing numerical methods.
Simulink turns your computer into a laboratory for modeling and analyzing
systems that would not be possible or practical otherwise. Whether you are
interested in the behavior of an automotive clutch system, the flutter of an
airplane wing, or the effect of the monetary supply on the economy, Simulink
provides you with the tools to model and simulate almost any real-world
problem. Simulink also provides examples that model a wide variety of real-
world Simulink provides a graphical user interface (GUI) for building models as
block diagrams, allowing you to draw models as you would with pencil and
paper.
Simulink also includes a comprehensive block library of sinks, sources,
linear and nonlinear components, and connectors. If these blocks do not meet
your needs, however, you can also create your own blocks. The interactive
graphical environment simplifies the modeling process, eliminating the need to
formulate differential and difference equations in a language or program.
Models are hierarchical, so you can build models using both top-down and
bottom-up approaches. You can view the system at a high level, and then
double-click blocks to see increasing levels of model detail. This approach
provides insight into how a model is organized and how its parts interact.
• Parameters — System values that remain constant unless you change them
• States — Variables in the system that change over time
• Signals — Input and output values that change dynamically
duringa simulation
Finally, you must validate that your model accurately represents the
physical characteristics of the dynamic system. You can use the linearization
and trimming tools available from the MATLAB command line, plus the many
tools in MATLAB and its application toolboxes to analyze and validate your
model.
CHAPTER 6
RESULT AND
DISCUSSION
In our proposed system, CNN based approach is utilized for
recognizing the finger knuckle pattern of the individual. The usage of CNN
approaches for recognizing the individual , will reduce the number epochs as
compared to the system based on the traditional Artificial Neural Network.
Our proposed technique will give the refreshing perspective to convolutional
neural networks and justification of its effectiveness in the fields of biometric
security.
INPUT IMAGE
Any finger of the individual can be given as the input to the system
The input image of the system should contain both minor and major knuckle
FIGURE 6.1 INPUT IMAGE
MINOR KNUCKLE
The minor knuckle part of the image will be cropped to get the
accurate creases.
MAJOR KNUCKLE
The major knuckle part of the image will be cropped to get the
accurate creases.
The black and white image will be converted into segmented image
obtained results show that it is possible to achieve the best identification accuracy
greater than 95% for all the twelve databases, using our proposed CNN
architecture. Moreover, if the knuckle images are not acquired with the same
environmental conditions, then the use of multiple session’s data for training are
knuckle) were extracted from the user to provide the best authentication
technique.
APPENDIX
clc;
close
all; clear
all;
[filename,pathname]=uigetfile('*.png');
a=imread([pathname,filename]);
% a=imread('test1.jpg');
figure();imshow(a)
title('input color
image'); impixelinfo;
I3 =rgb2gray(I2);
figure();imshow(I3);
BW = imbinarize(I3,
'adaptive');
figure();imshow(BW);
title('Minor knuckle Segmented
Image'); impixelinfo;
I_3 =rgb2gray(I_2);
figure();imshow(I_3);
B_W = imbinarize(I_3,
'adaptive');
figure();imshow(B_W);
title('Major knuckle Segmented
Image'); impixelinfo;
matlabroot='E:\software\final backup\final
backup';
Datasetpath=fullfile(matlabroot,'Data_Set');
Data=imageDatastore(Datasetpath,'IncludeSubfolders',true,'LabelSource','foldernames');
layers=[imageInputLayer([400 150 3])
convolution2dLayer(5,20)
reluLayer
maxPooling2dLayer(2,'stride',2)
convolution2dLayer(5,20)
reluLayer
maxPooling2dLayer(2,'stride',2)
fullyConnectedLayer(3)
softmaxLayer
classificationLayer()]
options =
trainingOptions('sgdm','MaxEpochs',10,...
'InitialLearnRate',0.0001);
% options=trainingOptions('sgdm');
convnet=trainNetwork(Data,layers,options);
output=classify(convnet,a);
tf1=[]
for
i=1:5
st=int2str(i);
tf=ismember(output,st);
tf1=[tf1 tf];
end
out=find(tf1==1);
if
out==
1
ccf=1;
probecate = 'FIRST
PERSON' msgbox('first
person');
Xms=sprintf('Predicted Result Using Neural Network
%s',probecate); elseif out==2
probecate = 'SECOND
PERSON' msgbox('second
person');
Xms=sprintf('Predicted Result Using Neural Network
%s',probecate); elseif out==3
probecate = 'knucle belongs to
third' msgbox('third person');
Xms=sprintf('Predicted Result Using Neural Network %s',probecate);
end
X = categorical({'ANN','CNN'});
X = reordercats(X,{'ANN','CNN'});
Y = [90 100 ];
bar(X,Y)
xlabel('method');
ylabel('accuracy')
;
X1 = categorical({'7','20'});
X1 = reordercats(X1,
{'7','20'}); Y1 = [90 100 ];
bar(X1,Y1)
xlabel('epoch');
ylabel('accuracy')
;
REFERENCE
[1] Kevin H. M. Cheng & Ajay Kumar , “Deep feauture collaboration for
challenging 3D finger knuckle identification” ,IEEE ,Oct 2020.
[3] A. Kumar and Z. Xu, “Personal identification using minor knuckle patterns from
palm dorsal surface,” IEEE Trans. Inf. Forensics Security, vol. 11, no. 10, pp. 2338–
2348, Oct. 2016.
[5] G. Jaswal, A. Kaul, and R. Nath, “Knuckle print biometrics and fusion schemes—
Overview, challenges, and solutions,” ACM Trans. Comput. Surveys, vol. 49, no. 2,
Nov. 2016, Art. no. 34.
[6] Z. Guo, D. Zhang, L. Zhang, and W. Guo, “Palmprint verification using binary
orientation co-occurrence vector,” Pattern Recognition. Lett., vol. 30, no. 13, pp.
1219– 1227, 2009.
[7] “The Hong Kong Polytechnic University contactless finger knuckle images
database (version 3.0),” 2019. [Online]. Available:
http://www.comp.polyu.edu.hk/∼csajaykr/fn2.htm
[8] B. Zhang, Y. Gao, S. Zhao, and J. Liu, “Local derivative pattern versus local binary
pattern: Face recognition with high-order local pattern descriptor,” IEEE Trans.
Image Process., vol. 19, no. 2, pp. 533–544, Feb. 2010.
[9] C.-R. Huang, C.-S. Chen, and P.-C. Chung, “Contrast context histogram—An
efficient discriminating local descriptor for object recognition and image matching,”
Pattern Recognit., vol. 41, no. 10, pp. 3071–3077, 2008.
[11] M. Kass and A. Witkin, “Analyzing oriented patterns,” in Proc. Comput. Vis.
Graph. Image Process., vol. 37, pp. 362–385, 1987.
[12] R. Benson, To Catch a Paedophile, You Only Need to Look at Their Hands,
WIRED,San Francisco,CA,USA, Sep. 2017. [Online]. Available:
https://w w w . w i r e d . c o . u k / a r t i c l e / s u e - b l a c k -
f o r e n s i c s h a n d - markings-paedophiles- rapists
[13] M. Kass and A. Witkin, “Analyzing oriented patterns,” in Proc. Comput. Vis.
Graph. Image Process., vol. 37, pp. 362–385,
1987.