Final Report

July 18, 2017 | Author: Shobhit Goswami | Category: Biometrics, Authentication, Matlab, Fingerprint, Identity Document
Share Embed Donate


Short Description

Final Report...

Description

Security System Using Biometric Sensors

Chapter-1 INTRODUCTION

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

INTRODUCTION Personal identification is to associate a particular individual with an identity. It plays a critical role in our society, in which questions related to identity of an individual such as “Is this the person who he or she claims to be?”, “Has this applicant been here before?”, “Should this individual be given access to our system?” “Does this employee have authorization to perform this transaction?” etc are asked millions of times every day by hundreds of thousands of organizations in financial services, health care, electronic commerce, telecommunication, government, etc. With the rapid evolution of information technology, people are becoming even more and more electronically connected. As a result, the ability to achieve highly accurate automatic personal identification is becoming more critical. A wide variety of systems require reliable personal authentication schemes to either confirm or determine the identity of individuals requesting their services. The purpose of such schemes is to ensure that the rendered services are accessed by a legitimate user, and not anyone else. Examples of these systems include secure access to buildings, computer systems, laptops, cellular phones and ATMs. In the absence of robust authentication schemes, these systems are vulnerable to the wiles of an impostor. Traditionally, passwords (knowledge-based security) and ID cards (token-based security) have been used to restrict access to systems. The major advantages of this traditional personal identification are as: (i)

They are very simple.

(ii) They can be easily integrated into different systems with allow cost. However these approaches are not based on any inherent attributes of an individual to make a personal identification thus having number of disadvantages like tokens may be lost, stolen, forgotten, or misplaced; PIN may be forgotten or guessed by impostors. Security can be easily breached in these systems when a password is divulged to an unauthorized user or a card is stolen by an impostor; further, simple passwords are easy to guess (by an impostor) and difficult passwords may be hard to recall (by a legitimate user).Therefore they are unable to satisfy the security requirements of our Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

electronically interconnected information society. The emergence of biometrics has addressed the problems that plague traditional verification.

1.1 PROJECT OBJECTIVES Today's world scenario is changing day by day. Now, we have to secure our systems from every kind of threats, so that our highly confidential data can not be leaked out and can not be used for personal benefits. So, for securing our data from the hackers whether outside or from inside the organization we use biometric security system. The basic aim of this project is to design an effective and secure technique for personal authentication using fingerprint recognition and to develop or improve existing algorithms to make the finger print recognition more accurate in all possible ways. In this we will do the performance enhancement of proposed framework by comparing the performance of existing recognition system. The objective of our project is to implement the security system using biometric sensors using image enhancement and minutiae extraction algorithm which is capable of doing the matching between different digitized fingerprints of standard image file formats namely; BMP, JPEG, tif with high level of accuracy andconfidence.

1.2 MOTIVATION Accurate automatic personal identification is critical in wide range of application domains such as national ID cards, electronic commerce and automatic banking. Biometrics, which refers to automatic identification of a person based on his or her personal physiological or behavioral characteristics, is inherently more reliable and more capable in differentiating between a reliable person and a fraudulent impostor than traditional methods such as PIN and passwords. Automatic fingerprint identification and face recognition is one of the most reliable biometric technology among the different major biometric technologies which are either currently available or under investigation.

1.3 PROBLEM DETERMINATION / IDENTIFICATION We propose a security system using biometric sensors using simple and effective approach for Biometric fingerprint image enhancement and minutiae extraction based

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

on the frequency and orientation of the local ridges and thereby extracting correct minutiae points. Automatic and reliable extraction of minutiae from fingerprint images is a critical step in fingerprint matching. The quality of input fingerprint images plays an important role in the performance of automatic identification and verification algorithms. In this project we presents a fast fingerprint enhancement and minutiae extraction algorithm which improves the clarity of the ridge and valley structures of the input fingerprint images based on the frequency and orientation of the local ridges and thereby extracting correct minutiae. Fingerprint based identification has been one of the most successful biometric techniques used for personal identification. Each individual has unique fingerprints. A fingerprint is the pattern of ridges and valleys on the finger tip. A fingerprint is thus defined by the uniqueness of the local ridge characteristics and their relationships. Minutiae points are these local ridge characteristics that occur either at a ridge ending or a ridge bifurcation. A ridge ending is defined as the point where the ridge ends abruptly and the ridge bifurcation is the point where the ridge splits into two or more branches. Automatic minutiae detection becomes a difficult task in low quality fingerprint images where noise and contrast deficiency result in pixel configurations similar to that of minutiae. This is an important aspect that has been taken into consideration in this presentation for extraction of the minutiae with a minimum error in a particular location. A complete minutiae extraction scheme for automatic fingerprint recognition systems is presented. The proposed method uses improving alternatives for the image enhancement process, leading consequently to an increase of the reliability in the minutiae extraction task.

1.3.1 BIOMETRICS In the world of computer security, biometrics refers to authentication techniques that rely on measurable physiological and individual characteristics that can be automatically verified. In other words, we all have unique personal attributes that can be used for distinctive identification purposes, including a fingerprint, the pattern of a retina, and voice characteristics. Strong or two-factor authentication— identifying oneself by two of the three methods of something you know (for example, a Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

password), have (for example, a swipe card), or is (for example, a fingerprint)—is becoming more of a genuine standard in secure computing environments. Some personal computers today can include a fingerprint scanner where you place your index finger to provide authentication. The computer analyzes your fingerprint to determine who you are and, based on your identity followed by a pass code or pass phrase, allows you different levels of access. Access levels can include the ability to open sensitive files, to use credit card information to make electronic purchases, and so on.

1.3.2 BIOMETRICAUTHENTICATION TECHNIQUES A biometric authentication is essentially a pattern-recognition that makes a personal identification by determining the authenticity of a specific physiological or behavioral characteristic possessed by the user. An important issue is designing a practical approach to determine how an individual is identified. An authentication can be divided into two modules:

i.

Enrollment module

ii.

Identification or Verification module

1.3.3 HOW BIOMETRIC TECHNOLOGY WORK? The enrollment module is responsible for enrolling individuals into the biometric system. During the enrollment phase, the biometric characteristic of an individual is first scanned by a biometric reader to produce a raw digital representation of the characteristic. In order to facilitate matching, the raw digital representation is usually further processed by feature extractor to generate a compact but expensive representation, called a template. Depending on the application, the template may be stored in the central database. Depending on the application, biometrics can be used in one of two modes: verification or identification. Verification—also called authentication—is used to verify a person’s identity—that is, to authenticate that individuals are who they say they are. Identification is used to establish a person’s identity—that is, to determine who a person is. Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

Although biometric technologies measure different characteristics in substantially different ways, all biometric systems start with an enrollment stage followed by a matching stage that can use either verification or identification.

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

1.3.4.1 ENROLLMENT In enrollment, a biometric system is trained to identify a specific person. The person first provides an identifier, such as an identity card. The biometric is linked to the identity specified on the identification document. He or she then presents the biometric (e.g., fingertips, hand, or iris) to an acquisition device. The distinctive features are located and one or more samples are extracted, encoded, and stored as a reference template for future comparisons. Depending on the technology, the biometric sample may be collected as an image, a recording, or a record of related dynamic measurements. How biometric systems extract features and encode and store information in the template is based on the system vendor’s proprietary algorithms. Template size varies depending on the vendor and the technology. Templates can be stored remotely in a central database or within a biometric reader device itself; their small size also allows for storage on smart cards or tokens. Minute changes in positioning, distance, pressure, environment, and other factors influence the generation of a template. Consequently, each time an individual’s biometric data are captured, the new template is likely to be unique. Depending on the biometric system, a person may need to present biometric data several times in order to enroll. Either the reference template may then represent an amalgam of the captured data or several enrollment templates may be stored. The quality of the template or templates is critical in the overall success of the biometric application. Because biometric features can change over time, people may have to reenroll to update their reference template. Some technologies can update the reference template during matching operations. The enrollment process also depends on the quality of the identifier the enrollee presents. The reference template is linked to the identity specified on the identification document. If the identification document does not specify the individual’s true identity, the reference template will be linked to a false identity.

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

1.3.4.2VERIFICATION In verification systems, the step after enrollment is to verify that a person is who he or she claims to be (i.e., the person who enrolled). After the individual provides an identifier, the biometric is presented, which the biometric system captures, generating a trial template that is based on the vendor’s algorithm. The system then compares the trial biometric template with this person’s reference template, which was stored in the system during enrollment, to determine whether the individual’s trial and stored templates match. Verification is often referred to as 1:1 (one-to-one) matching. Verification systems can contain databases ranging from dozens to millions of enrolled templates but are always predicated on matching an individual’s presented biometric against his or her reference template. Nearly all verification systems can render a match–no-match decision in less than a second. One of the most common applications of verification is a system that requires employees to authenticate their claimed identities before granting them access to secure buildings or to computers.

1.3.4.3 IDENTIFICATION In identification systems, the step after enrollment is to identify who the person is. Unlike verification systems, no identifier is provided. To find a match, instead of locating and comparing the person’s reference template against his or her presented biometric, the trial template is compared against the stored reference templates of all individuals enrolled in the system. Identification systems are referred to as 1: M (oneto-M, or one-to-many) matching because an individual’s biometric is compared against multiple biometric templates in the system’s database. There are two types of identification systems: positive and negative. Positive identification systems are designed to ensure that an individual’s biometric is enrolled in the database. The anticipated result of a search is a match. A typical positive identification system controls access to a secure building or secure computer by checking anyone who seeks access against a database of enrolled employees. The goal is to determine whether a person Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

seeking access can be identified as having been enrolled in the system. Negative identification systems are designed to ensure that a person’s biometric information is not present in a database. The anticipated result of a search is a no match. Comparing a person’s biometric information against a database of all who are registered in a public benefits program, for example, can ensure that this person is not “double dipping” by using fraudulent documentation to register under multiple identities. Another type of negative identification system is a watch list system. Such systems are designed to identify people on the watch list and alert authorities for appropriate action. For all other people, the system is to check that they are not on the watch list and allow them normal passage. The people whose biometrics is in the database in these systems may not have provided them voluntarily. For instance, for a surveillance system, the biometric may be faces captured from mug shots provided by a law enforcement agency. No match is ever perfect in either verification or identification system, because every time a biometric is captured, the template is likely to be unique. Therefore, biometric systems can be configured to make a match or no-match decision, based on a predefined number, referred to as a threshold, which establishes the acceptable degree of similarity between the trial template and the enrolled reference template. After the comparison, a score representing the degree of similarity is generated, and this score is compared to the threshold to make a match or no-match decision. Depending on the setting of the threshold in identification systems, sometimes several reference templates can be considered matches to the trial template, with the better scores corresponding to better matches.

1.3.5 LEADING BIOMETRIC TECHNOLOGIES A growing number of biometric technologies have been proposed over the past several years, but only in the past 5 years have the leading ones become more widely deployed. Some technologies are better suited to specific applications than others, and some are more acceptable to users. We describe seven leading biometric technologies: i.

FacialRecognition

ii.

FingerprintRecognition

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

iii. iv. v. vi.

HandGeometry IrisRecognition SignatureRecognition SpeakerRecognition

1.3.6 FINGERPRINT RECOGNITION Fingerprint recognition is one of the best known and most widely used biometric technologies. Automated systems have been commercially available since the early 1970s, and at the time of our study, we found there were more than 75 fingerprint recognition technology companies. Until recently, fingerprint recognition was used primarily in law enforcement applications. Fingerprint recognition technology extracts features from impressions made by the distinct ridges on the fingertips. The fingerprints can be either flat or rolled. A flat print captures only an impression of the central area between the fingertip and the first knuckle; a rolled print captures ridges on both sides of the finger. An image of the fingerprint is captured by a scanner, enhanced, and converted into a template. Scanner technologies can be optical, silicon, or ultrasound technologies. Ultrasound, while potentially the most accurate, has not been demonstrated in widespread use. In 2002, we found that optical scanners were the most commonly used. During enhancement, “noise” caused by such things as dirt, cuts, scars, and creases or dry, wet or worn fingerprints is reduced, and the definition of the ridges is enhanced. Approximately 80 percent of vendors base their algorithms on the extraction of minutiae points relating to breaks in the ridges of the fingertips. Other algorithms are based on extracting ridge patterns.

1.3.7 FINGERPRINTS AS BIOMETRICS Among all biometric traits, fingerprints have one of the highest levels of reliability and have been extensively used by forensic experts in criminal investigations. A fingerprint refers to the flow of ridge patterns in the tip of the finger. The ridge flow exhibits anomalies in local regions of the fingertip (Figure), and it is the position and orientation of these anomalies that are used to represent and match fingerprints.

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

Fig [1.1] Different identification on fingerprint Although not scientifically established, fingerprints are believed to be unique across individuals, and across fingers of the same individual. Even identical twins w34having similar DNA, are believed to have different fingerprints. Traditionally, fingerprint patterns have been extracted by creating an inked impression of the fingertip on paper. The electronic era has ushered in a range of compact sensors that provide digital images of these patterns. These sensors can be easily incorporated into existing computer peripherals like the mouse or the keyboard (figure), thereby making this mode of identification a very attractive proposition. This has led to the increased use of automatic fingerprint-based authentication systems in both civilian and law enforcement applications.

Fig [1.2]Fingerprint Sensors Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

1.3.8 FINGERPRINT REPRESENTATION The uniqueness of a fingerprint is determined by the topographic relief of its ridge structure and the presence of certain ridge anomalies termed as minutiae points. Typically, the global configuration defined by the ridge structure is used to determine the class of the fingerprint, while the distribution of minutiae points is used to match and establish the similarity between two fingerprints. Automatic fingerprint identification systems, that match a queryprint against a large database of prints (which can consist of millions of prints), rely on the pattern of ridges in the query image to narrow their search in the database (fingerprint indexing), and on the minutiae points to determine an exact match (fingerprint matching). The ridge flow pattern itself is rarely used for matchingfingerprints.

1.3.9 MINUTIAE Minutiae, in fingerprinting terms, are the points of interest in a fingerprint, such as bifurcations (a ridge splitting into two) and ridge endings. Examples are:

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

a.)Ridge endings - a ridge that ends abruptly

b.) Ridge bifurcation - a single ridge that divides into two ridges c.) Short ridges, island or independent ridge - a ridge that

commences,

travels a short distance and then ends d.) Ridge enclosures - a single ridge that bifurcates and reunites shortly afterward to continue as a single ridge e.) Spur - a bifurcation with a short ridge branching off a longer ridge Fig [1.3] Fingerprint details f.) Crossover or bridge - a short ridge that runs between two parallel ridges. Minutiae also refer to any small or otherwise incidental details. But the focus when matching is only on the 2 main minutiae; ridge ending and ridge bifurcation.

1.4 SYSTEM REQUIREMENTS We require software as well as some hardware facilities. They are as follows:

1.4.1 SOFTWARE REQUIREMENTS Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

For the implementation of this project we require MATLAB software .And here we are using Matlab R2013a ,where R2013a stands for its version. MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and fourth-generation

programming

language.

A proprietary

programming

language developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing

with

programs

written

in

other

languages,

including C, C+

+, C#, Java, Fortran and Python. Although MATLAB is intended primarily for numerical computing, an optional toolbox uses the MuPAD symbolic engine, allowing access to symbolic computing abilities. An additional package, Simulink, adds graphical multi-domain simulation and model-based design for dynamic and embedded systems. In

2004,

MATLAB

had

around

one

million

users

across

industry

and

academia. MATLAB users come from various backgrounds of engineering, science, and economics.

1.4.2 HARDWARE REQUIREMENTS i. RAM : We require 2-4 GB RAM for completing the implementation part of this project. ii. Hard disk : We require 4-6 GB Hard Disk for completing the implementation part of this project. iii. Operating System : This project is compatible upto microsoft windows 7.As we are using the biometric device named ” NITGEN FINGKEY HAMSTER” whose driver is available for window 7 and below versions. If we choose to use some different device which is compatible with above versions and various operating systems then we can make this project work with any kind of operating system and their higher versions.

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

iv. Biometric fingerprint device: In the world of computer security, biometrics refers to authentication techniques that rely on measurable physiological and individual characteristics that can be automatically verified. In other words, we all have unique personal attributes that can be used for distinctive identification purposes, including a fingerprint, the pattern of a retina, and voice characteristics. Strong or two-factor authentication— identifying oneself by two of the three methods of something you know (for example, a password), have (for example, a swipe card), or is (for example, a fingerprint)—is becoming more of a genuine standard in secure computing environments. Some personal computers today can include a fingerprint scanner where you place your index finger to provide authentication. The computer analyzes your fingerprint to determine who you are and, based on your identity followed by a pass code or pass phrase, allows you different levels of access. Access levels can include the ability to open sensitive files, to use credit card information to make electronic purchases, and so on.

1.4.2.1 NITGEN FINGKEY HAMSTER FINGKEY Hamster

comes with a cutting-edge fingerprint sensor and avoids

spoofing or fake fingerprints. It is useful in all areas involving passwords. It’s a highquality security gadget which allows to operate a PC without using passwords which are hard to remember and are often hacked by unauthorized importers. DESCRIPTION: i.

NIST certified interoperable template format standards (ANSI-378. ISO197942/4, NFIQ)

ii.

Image Compression Standard (WSQ)

iii.

Live Finger Detection (LFD) technology iv.

World’s best performing fingerprint algorithm: Top ranked in FVC (Fingerprint Verification Competition)

v.

Fast matching speed : 1,000,000 matches within a second

vi.

Plug and play USB 2.0 high speed interface

vii.

Supports multiple device handling

viii.

500 dpi optical fingerprint sensor

ix.

Scratch free sensor surface Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

x.

Resistant to impact, vibration and electrostatic shock

xi.

SDK for easy application software development

xii.

Supports MS Windows

xiii.

Supports multiple programming languages.

Information Technology Department, SRMSCET&R, Brly

Page

Security System Using Biometric Sensors

CHAPTER -2 LITERATURE REVIEW

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

2.1 THEORITICAL REVIEW This is the table showing the research papers that we have referred and summary of the concepts we have studied from those research papers REFERENCE

YEAR

TITLE

KEY POINTS

NUMBER [1]

FINDING S

2013

A Study of

Introduction,

In this

Biometric

Different

paper we

Approach

technologies

studied

Using

used

about

Fingerprint

different

Recognitio

technologie

n

s used which are pattern based matching, correlation based matching

[2]

2013

Fingerprint

Minutia

In this

Recognitio

algorithm,

paper we

n Using

implementation

studied

Minutiae

and system

about

Extractar

flow diagram

minutia algorithm , which we are implementi ng in our project.it includes various

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

steps. Table [1.1]Review of research papers Fingerprint Recognition or fingerprint authentication refers to the automated methods of verifying a match between two human fingerprint .Fingerprints are widely used in daily life for more than 100 years due to its feasibility, distinctiveness, accuracy, reliability, and acceptability. A large number of approaches to fingerprint matching and various algorithm and methods are behind their matching procedure. Research on biometric methods has gained renewed attention in recent years brought on by an increase in security concerns. The recent world attitude towards terrorism has influenced people and their governments to take action and be more proactive in security issues. This need for security also extends to the need for individuals to protect, among other things, their working environments, homes, personal possessions and assets. Many biometric techniques have been developed and are being improved with the most successful being applied in everyday law enforcement and security applications. Biometric methods include several state-of-the-art techniques. Among them, fingerprint recognition is considered to be the most powerful technique for utmost security authentication. Advances in sensor technology and an increasing demand for biometrics are driving a burgeoning biometric industry to develop new technologies. As commercial incentives increase, many new technologies for person identification are being developed, each with its own strengths and weaknesses and a potential. Research on biometric methods has gained renewed attention in recent years brought on by an increase in security concerns. The recent world attitude towards terrorism has influenced people and their governments to take action and be more proactive in security issues. This need for security also extends to the need for individuals to protect, among other things, their working environments, homes, personal possessions and assets. Many biometric techniques have been developed and are being improved with the most successful being applied in everyday law enforcement and security applications. Biometric methods include several state-of-the-art techniques. Among them, fingerprint recognition is considered to be the most powerful technique for utmost security authentication. Advances in sensor technology and an increasing demand for biometrics are driving a burgeoning biometric industry to develop new Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

technologies. As commercial incentives increase, many new technologies for person identification are being developed, each with its own strengths and weaknesses and a potential niche market. This chapter reviews some well-known biometrics with special emphasis to fingerprint. In this Project we projected Fingerprint Recognition using Minutiae algorithm. We studied two research papers titled “A Study of Biometric Approach Using Fingerprint Recognition” and “Fingerprint Recognition Using Minutiae Extractar” their summary is as follows:

2.1.1 RESEARCH PAPER [1] In [1] research paper given by Ravi Subban and Dattatreya P. Mankame, we have studied about the introduction part of this project. And we have also studied about the various technologies which can be used to implement this project. Various techniques are as follows: i.

Correlation-based matching: Two fingerprintimages are superimposed and the correlation between corresponding pixels is computed for different alignments (e.g. various displacements and rotations).

ii.

Minutiae-based matching: This is the mostpopular and widely used technique, being the basis of the fingerprint comparison made by fingerprint examiners. Minutiae are extracted from the two fingerprints and stored as sets of points in the two- dimensional plane. Minutiae-based matching essentially consists of finding the alignment between the template and the input minutiae sets that results in the maximum number of minutiae pairings.

iii.

Pattern-based (or image-based) matching: Pattern based algorithms compare the basic fingerprint patterns (arch, whorl, and loop) between a previously stored template and a candidate fingerprint. This requires that the images be aligned in the same orientation. To do this, the algorithm finds a central point in the fingerprint image and centers on that. In a pattern-based algorithm, the template contains the type, size, and orientation of patterns within the aligned fingerprint image. The candidate fingerprint image is graphically compared with the template to determine the degree to which they match. Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

In Our project we have implemented a minutiae based matching technique. This approach has

been studied, also is the backbone of

the current available

fingerprint recognition.

2.1.2 RESEARCH PAPER [2] From [2] reference paper given by Manisha Redhu and Dr. Balakrishan, we have studied about the algorithm (minutiae) and the implementation and the system flow diagram. The algorithm works on minutiae points which are present on fingerprints of every human.and when these points are joined then the unique pattern is created of each and every finger. So in this algorithm he fingerprint is first extracted and then further processed so that it can b enhanced and free from noise and then the minutiae points are marked so that the uniqueness can be defined.each and every pattern of different fingerprints is different. This allows more security. Implementation part is explained as below: We have concentrated our implementation on Minutiae based method. In particular we are interested only in two of the most important minutia features i.e. Ridge Ending and Ridge bifurcation. The outline of our approach can be broadly classified into 2 stages - Minutiae Extraction and Minutiae matching. The system takes in 2 input fingerprints to be matched and gives a percentage score of the extent of match between the two. Based on the score and threshold match value it can distinguish whether the two fingerprints match or not. The input fingerprints are taken from the database provided by FVC2004 (Fingerprint Verification Competition 2004).

2.3 TECHNICAL REVIEW We have visited different sites to view about the MATLAB software and its basics, functioning of the software, working with graphics etc. One of the sites which helped us to know the major part of MATLAB is Mathworks. The detail explanation about what is Mathworks and the things we find there are given below:

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

2.3.1 MATHWORKS The MathWorks, Inc. is an American privately held corporation that specializes in mathematical computing software. Its major products include MATLAB and Simulink. MathWorks is the leading developer of mathematical computing software. Engineers and scientists worldwide rely on its products to accelerate the pace of discovery, innovation, and development. As of June 2016, it employed over 3,600 people worldwide with 70% located at the company's headquarters in Natick, Massachusetts, United States. MathWorks refers to its corporate social responsibility program as its "Social Mission," which has five components: Investments in Education, Staff-Driven Initiatives, Local Community Support, Green Initiatives and Disaster Relief.[10] The company annually sponsors a number of student engineering competitions, including EcoCAR, an advanced vehicle technology competition created by the United States Department of Energy (DOE) and General Motors (GM). MathWorks sponsors museums and science learning centers such as the Boston Museum of Science (since 1991)[11] and the Cambridge Science Center in the United Kingdom.[12] It also is a supporter of public broadcasting, including National Public Radio (NPR)'s Here and Now program.[13] The company website gathered contributions to the 2010 Haiti earthquake relief efforts.[14] In December 2012, Uniloc filed a lawsuit against MathWorks over alleged patent infringements in the activation software that MathWorks uses for MATLAB licenses to combat piracy. Using this website, we studied the basics of MATLAB, functioning of the tools in the software, designing the graphic interface. These are explained below: i.

What is MATLAB? MATLAB, the language of technical computing, is a programming environment for algorithm development, data analysis, visualization, and numeric computation. Simulink is a graphical environment for simulation and Model-Based Design for multidomain dynamic and embedded systems. MATLAB and Simulink are also fundamental teaching and research tools in the world's universities and learning institutions. Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Millions of engineers and scientists worldwide use MATLAB® to analyze and design the systems and products transforming our world. MATLAB is in automobile active safety systems, interplanetary spacecraft, health monitoring devices, smart power grids, and LTE cellular networks. It is used for machine learning, signal processing, image processing, computer vision, communications, computational finance, control design, robotics, and much more. ii.

Math.Graphics.Programming. The MATLAB platform is optimized for solving engineering and scientific problems. The matrix-based MATLAB language is the world’s most natural way to express computational mathematics. Built-in graphics make it easy to visualize and gain insights from data. A vast library of prebuilt toolboxes lets you get started right away with algorithms essential to your domain. The desktop environment invites experimentation, exploration, and discovery. These MATLAB tools and capabilities are all rigorously tested and designed to work together.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Chapter-3 PROPOSED SOLUTION AND METHODOLOGY

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

PROPOSED SOLUTION Research on biometric methods has gained renewed attention in recent years brought on by an increase in security concerns. The recent world attitude towards terrorism has influenced people and their governments to take action and be more proactive in security issues. This need for security also extends to the need for individuals to protect, among other things, their working environments, homes, personal possessions and assets. Many biometric techniques have been developed and are being improved with the most successful being applied in everyday law enforcement and security applications. A growing number of biometric technologies have been proposed over the past several years, but only in the past 5 years have the leading ones become more widely deployed. Some technologies are better suited to specific applications than others, and some are more acceptable to users. We describe seven leading biometric technologies: i. FacialRecognition ii. FingerprintRecognition iii. HandGeometry iv. IrisRecognition v. SignatureRecognition vi. SpeakerRecognition

3.1 FINGERPRINT RECOGNITION Fingerprint recognition is one of the best known and most widely used biometric technologies. Fingerprint identification is the most reliable kind of personal identification because it cannot be forgotten, misplaced, or Fingerprint is a unique feature to an individual. It stays with a person throughout his or her life.

3.1.1 FINGERPRINT IMAGEENHANCEMENT Fingerprint Image enhancement is used to make the image clearer for easy further operations. Since the fingerprint images acquired from scanner or any other media are Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

not assured with perfect quality, those enhancement methods, for increasing the contrast between ridges and valleys and for connecting the false broken points of ridges due to insufficient amount of ink, are very useful for keep a higher accuracy to fingerprint recognition. Originally, the enhancement step was supposed to be done using the canny edge detector. But after trial, it turns out that the result of an edge detector is an image with the borders of the ridges highlighted. Using edge detection would require the use of an extra step to fill out the shapes which would consume more processing time and would increase the complexity of the code, as shown in figure [3.1]

Fig[ 3.1]Enhancement using edge detector

3.2 HISTOGRAMEQUALIZATION Histogram equalization is to expand the pixel value distribution of an image so as to increase the perceptional information. The original histogram of a fingerprint image is shown in [Figure 3.2], the histogram after the histogram equalization is shown in [Figure3.3]

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig[3.2] Histogram before equalization

Fig [3.3]Histogram after equalization

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

3.2.1 FINGERPRINT ENHANCEMENT BY FOURIERTRANSFORM We divide the image into small processing blocks (32 by 32 pixels) and perform the Fourier transform according to: (1)

for u = 0, 1, 2, ..., 31 and v = 0, 1, 2, ..., 31. In order to enhance a specific block by its dominant frequencies, we multiply the FFT of the block by its magnitude a set of times. Where the magnitude of the original FFT = abs(F(u,v)) = |F(u,v)| We get the enhanced block according to (2)

-1 where F (F(u,v)) is done by: (3)

for x = 0, 1, 2, ..., 31 and y = 0, 1, 2, ..., 31. The k in formula (2) is an experimentally determined constant, which we choose k=0.45 to calculate. While having a higher "k" improves the appearance of the ridges, filling up small holes in ridges, having too high a "k" can result in false joining of ridges.

3.2.2FINGERPRINT IMAGEBINARIZATION The binarization step is basically stating the obvious, which is that the true information that could be extracted from a print is simply binary; ridges vs. valleys. But it is a really important step in the process of ridge extracting, since the prints are taken as grayscale images, so ridges, knowing that they’re in

fact ridges, still vary in

intensity. So, binarization transforms the image from a 256-level image to a 2-level image that gives the sameinformation.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Typically, an object pixel is given a value of “1” while a background pixel is given a value of “0.” Finally, a binary image is created by coloring each pixel white or black, depending on a pixel's label (black for 0, white for 1). The difficulty in performing binarization is that not all the fingerprint images have the same contrast characteristics, so a single intensity threshold (global thresholding) cannot be chosen. A locally adaptive binarization method is performed to binarize the fingerprint image. In this method, the image is divided into blocks (16x16), and the mean intensity value is calculated for each block, then each pixel is turned into 1 if its intensity value is larger than the mean intensity value of the current block to which the pixelbelongs.

Fig [3.4]Adaptive binarization after FFT

3.2.3FINGERPRINT IMAGE SEGMENTATION (ORIENTATION FLOW ESTIMATE) In general, only a Region of Interest (ROI) is useful to be recognized for each fingerprint image. The image area without effective ridges is first discarded since it only holds background information and probably noise. Then the bound of the remaining effective area is sketched out since the minutiae in the bound region are confusing with those false minutiae that are generated when the ridges are out of thesensor.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

To extract the ROI, a two-step method is used. The first step is block direction estimation and direction variety check, while the second is done using some Morphologicalmethods.

Block direction estimation Estimate the block direction for each block of the fingerprint image with WxW in size (W is 16 pixels by default). The algorithm does thefollowing: i.

Calculates the gradient values along x-direction (g x) and y-direction (gy) for each

ii.

pixel of the block. Two Sobel filters are used to fulfill thetask. For each block, it uses the following formula to get the Least Square approximation of the blockdirection. tan2ß = 2   (gx*gy)/  (gx2-gy2) , for all the pixels in each block.

The formula is easy to understand by regarding gradient values along x-direction and ydirection as cosine value and sine value. So the tangent value of the block direction is estimated nearly the same as the way illustrated by the following formula: tan2 = 2sin cos /(cos2 -sin2 ) After finishing with the estimation of each block direction, those blocks without significant information (ridges) are discarded based on the following formulas: E = {2   (gx*gy)+  (gx2-gy2)}/ W*W*  (gx2+gy2) For each block, if its certainty level (E) is below a threshold, then the block is regarded as a backgroundblock. The direction map is shown in the following diagram. We assume there is only one fingerprint in each image.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig [3.5] Direction map

3.2.4ROI extraction by Morphological operation Two Morphological operations called ‘OPEN’ and ‘CLOSE’ are adopted. The ‘OPEN’ operation can expand images and remove peaks introduced by background noise. The ‘CLOSE’ operation can shrink images and eliminate small cavities Figure [3.7] shows the interest fingerprint image area and its bound. The bound is the subtraction of the closed area from the opened area. Then the algorithm eliminates those leftmost, rightmost, uppermost and bottommost blocks out of the bound so as to get the tightly bounded region just containing the bound and innerarea.

.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig [3.6] ROI + Bound

3.3 MINUTIAE EXTRACTION This method is used for extracting minutia points.

3.3.1 FINGERPRINT RIDGETHINNING Ridge Thinning is to eliminate the redundant pixels of ridges till the ridges are just one pixel wide. An iterative, parallel thinning algorithm is used. In each scan of the full fingerprint image, the algorithm marks down redundant pixels in each small image window (3x3) and finally removes all those marked pixels after several scans. The thinned ridge map is then filtered by other Morphological operations to remove some H breaks, isolated points and spikes. In this step, any single points, whether they are single-point ridges or single-point breaks in a ridge are eliminated and considered processing noise.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig [3.7] Thinned image

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig [3.8]image after removing H-breaks and spikes

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

3.3.2 MINUTIAMARKING After the fingerprint ridge thinning, marking minutia points is relatively easy. The concept of Crossing Number (CN) is widely used for extracting the minutiae. In general, for each 3x3 window, if the central pixel is 1 and has exactly 3 one-value neighbors, then the central pixel is a ridge branch [Figure 3.9]. If the central pixel is 1 and has only 1 one-value neighbor, then the central pixel is a ridge ending [Figure 3.10], i.e., for a pixel P, if Cn(P) = = 1 it’s a ridge end and if Cn(P) = = 3 it’s a ridge bifurcation point.

0 1 0 0 1 0 1 0 1 Fig[3.9]Bifurcation

0 0 0 0 1 0 0 0 1 Fig[3.10]Termination

0

1

0

0

1

1

1

0

0

Fig[3.11] Triple counting branch Figure 3.11 illustrates a special case that a genuine branch is triple counted. Suppose both the uppermost pixel with value 1 and the rightmost pixel with value 1 have another neighbor outside the 3x3 window, so the two pixels will be marked as branches too, but Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

actually only one branch is located in the small region. So a check routine requiring that none of the neighbors of a branch are branches isadded. Also the average inter-ridge width D is estimated at this stage. The average inter-ridge width refers to the average distance between two neighboring ridges. The way to approximate the D value is simple. Scan a row of the thinned ridge image and sum up all pixels in the row whose values are one. Then divide the row length by the above summation to get an inter-ridge width. For more accuracy, such kind of row scan is performed upon several other rows and column scans are also conducted, finally all the inter-ridge widths are averaged to get the D. Together with the minutia marking, all thinned ridges in the fingerprint image are labeled with a unique ID for further operation.

Fig [3.12] Image after minutiae marking

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

3.4 METHODOLOGY 3.4.1 DATA FLOW DIAGRAM

Fig [3.13]Data Flow Diagram In the given data flow diagram we describe the scanning and the matching process of the thumb expression through the biometrics. First the thumb expression is extracted through the scanner. If the thumb expression is not enrolled then first the enrolling phase is done and the expression is saved in our database. If it exist then we get the message the finger print exist and enrolment is not done again. After enrollment the entire verification is done. the persone scans its thumb expression and the verification is done whether it exists in the database. If it exists then verification is done and message appears “fingerprint matched”. Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

if does not exist the message appears “fingerprint not matched”

3.4.2 SYSTEM LEVEL DESIGN A fingerprint recognition system constitutes of fingerprint acquiring device, minutia extractor and minutia matcher.

Fig [3.14] Simplified Fingerprint Recognition System

For fingerprint acquisition, optical or semi-conduct sensors are widely used. They have high efficiency and acceptable accuracy except for some cases that the user’s finger is too dirty or dry. However, the testing database for my project consists of scanned fingerprints using the ink and paper technique because this method introduces a high level of noise to the image and the goal of designing a recognition system is to work with the worst conditions to get the bestresults. The minutia extractor and minutia matcher modules are explained in detail later on in this paper.

3.4.3 ALGORITHM LEVEL DESIGN To implement a minutia extractor, a three-stage approach is widely used by researchers. They are preprocessing, minutia extraction and post-processing stage.

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig[3.15] Minutia Extractor

For the fingerprint image preprocessing stage, Histogram Equalization and Fourier Transform are used to do image enhancement. And then the fingerprint image is binarized using the locally adaptive threshold method. The image segmentation task is fulfilled by a three-step approach: block

direction,estimation, segmentation by

direction intensity and Region of Interest extraction by Morphological operations. For minutia extraction stage, iterative parallel thinning algorithm is used. The minutia marking is a relatively simple task. For the post-processing stage, a more rigorous algorithm is developed to remove falseminutia. The minutia matcher chooses any two minutiae as a reference minutia pair and then matches their associated ridges first. If the ridges match well, the two fingerprint images are aligned and matching is conducted for all the remainingminutiae.

3.4.4 DOMAINS OF IDENTIFICATION It includes two sub-domains: one is fingerprint verification and the other is fingerprint identification. Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

Fig[3.16] Implementation process

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

CHAPTER-4 IMPLEMENTATION AND OUTCOMES

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

4.1 IMPLEMENTATION i. function [cimg] = compute_coherence(oimg) [h,w] = size(oimg); cimg

= zeros(h,w);

N

= 2;

oimg

= [flipud(oimg(1:N,:));oimg;flipud(oimg(h-N+1:h,:))]; %pad the rows

oimg

= [fliplr(oimg(:,1:N)),oimg,fliplr(oimg(:,w-N+1:w))]; %pad the cols

%compute coherence for i=N+1:h+N for j = N+1:w+N th = oimg(i,j); blk = oimg(i-N:i+N,j-N:j+N); cimg(i-N,j-N)=sum(sum(abs(cos(blk-th))))/((2*N+1).^2); end; end;

ii. [ndata, dimx] = size(x); [ncentres, dimc] = size(c); if dimx ~= dimc error('Data dimension does not match dimension of centres') end n2 = (ones(ncentres, 1) * sum((x.^2)', 1))' + ... ones(ndata, 1) * sum((c.^2)',1) - ... 2.*(x*(c'));

iii. function freqim = freqest(im, orientim, windsze, minWaveLength, maxWaveLength)

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

debug = 0; [rows,cols] = size(im); orientim = 2*orientim(:); cosorient = mean(cos(orientim)); sinorient = mean(sin(orientim)); orient = atan2(sinorient,cosorient)/2; % Rotate the image block so that the ridges are vertical rotim = imrotate(im,orient/pi*180+90,'nearest', 'crop'); cropsze = fix(rows/sqrt(2)); offset = fix((rows-cropsze)/2); rotim = rotim(offset:offset+cropsze, offset:offset+cropsze); % Sum down the columns to get a projection of the grey values down % the ridges. proj = sum(rotim); dilation = ordfilt2(proj, windsze, ones(1,windsze)); maxpts = (dilation == proj) & (proj > mean(proj)); maxind = find(maxpts); % Determine the spatial frequency of the ridges if length(maxind) < 2 freqim = zeros(size(im)); else NoOfPeaks = length(maxind); waveLength = (maxind(end)-maxind(1))/(NoOfPeaks-1); if waveLength > minWaveLength & waveLength < maxWaveLength freqim = 1/waveLength * ones(size(im)); else freqim = zeros(size(im)); end end Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

if debug %show(im,1) %show(rotim,2); figure(3),

plot(proj), hold on

meanproj = mean(proj) if length(maxind) < 2 fprintf('No peaks found\n'); else plot(maxind,dilation(maxind),'r*'), hold off waveLength = (maxind(end)-maxind(1))/(NoOfPeaks-1); end end

iv.: function n = normalise(im, reqmean, reqvar) if ~(nargin == 1 | nargin == 3) error('No of arguments must be 1 or 3'); end if nargin == 1 % Normalise 0 - 1 if ndims(im) == 3

% Assume colour image

hsv = rgb2hsv(im); v = hsv(:,:,3); v = v - min(v(:));

% Just normalise value component

v = v/max(v(:)); hsv(:,:,3) = v; n = hsv2rgb(hsv); else% Assume greyscale if ~isa(im,'double'), im = double(im); end n = im - min(im(:)); Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

n = n/max(n(:)); end else% Normalise to desired mean and variance if ndims(im) == 3

% colour image?

error('cannot normalise colour image to desired mean and variance'); end if ~isa(im,'double'), im = double(im); end im = im - mean(im(:)); im = im/std(im(:));

% Zero mean, unit std dev

n = reqmean + im*sqrt(reqvar); end function n = normalise(im, reqmean, reqvar) if ~(nargin == 1 | nargin == 3) error('No of arguments must be 1 or 3'); end if nargin == 1 % Normalise 0 - 1 if ndims(im) == 3

% Assume colour image

hsv = rgb2hsv(im); v = hsv(:,:,3); v = v - min(v(:));

% Just normalise value component

v = v/max(v(:)); hsv(:,:,3) = v; n = hsv2rgb(hsv); else% Assume greyscale if ~isa(im,'double'), im = double(im); end n = im - min(im(:)); n = n/max(n(:)); Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

end else% Normalise to desired mean and variance if ndims(im) == 3

% colour image?

error('cannot normalise colour image to desired mean and variance'); end if ~isa(im,'double'), im = double(im); end im = im - mean(im(:)); im = im/std(im(:));

% Zero mean, unit std dev

n = reqmean + im*sqrt(reqvar); end

v. function nfimg = smoothen_frequency_image(fimg,RLOW,RHIGH,diff_cycles) valid_nbrs = 3; %uses only pixels with more then valid_nbrs for diffusion [ht,wt] nfimg N

= size(fimg); = fimg; = 1;

%--------------------------------%perform diffusion %--------------------------------h

= fspecial('gaussian',2*N+1);

cycles

= 0;

invalid_cnt = sum(sum(fimgRHIGH)); while((invalid_cnt>0 &cycles < diff_cycles) | cycles < diff_cycles) %--------------%pad the image %--------------fimg

= [flipud(fimg(1:N,:));fimg;flipud(fimg(ht-N+1:ht,:))]; %pad the rows

fimg

= [fliplr(fimg(:,1:N)),fimg,fliplr(fimg(:,wt-N+1:wt))]; %pad the cols

Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

%--------------%perform diffusion %--------------for i=N+1:ht+N for j = N+1:wt+N blk = fimg(i-N:i+N,j-N:j+N); msk = (blk>=RLOW & blk=valid_nbrs) blk

=blk.*msk;

nfimg(i-N,j-N)=sum(sum(blk.*h))/sum(sum(h.*msk)); else nfimg(i-N,j-N)=-1; %invalid value end; end; end; %--------------%prepare for next iteration %--------------fimg

= nfimg; invalid_cnt = sum(sum(fimgRHIGH));

cycles

= cycles+1;

end;

ICount = 9; JCount = 8; p=0; for i=1:ICount for j=1:JCount filename=['10' num2str(i) '_' num2str(48) '.tif']; img = imread(filename); p=p+1; if ndims(img) == 3; img = rgb2gray(img); end% colour image disp(['extracting features from ' filename ' ...']); ff{p}=ext_finger(img,1); end Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

end save('db.mat','ff');

function [ ret ] = ext_finger( img, display_flag ) if nargin==1; display_flag=0; end block_size_c = 24; YA=0; YB=0; XA=0; XB=0; % Enhancement ------------------------------------------------------------%% if display_flag==1; fprintf(' >>> enhancement '); end yt=1; xl=1; yb=size(img,2); xr=size(img,1); for x=1:55 if numel(find(img(x,:) 0 && x_t > 0 && (y_t ~= y || x_t ~= x) && mask(y_t,x_t) == 0 n_mask = n_mask + 1; end end end if n_mask == 0 continue end if mask(y,x) == 0 || y > size(mask,1) - 20 || y < yt || y > yb || x < xl || x > xr cimg2(ceil(y/(block_size_c)), ceil(x/(block_size_c))) = 255; mask_t(y,x) = 0; continue; end for i = y:y+1 for j = x-9:x+9 if i > 0 && j > 0 && i < size(mask,1) && j < size(mask,2) && mask(i,j) > 0 else cimg2(ceil(y/(block_size_c)), ceil(x/(block_size_c))) = 255; mask_t(y,x)=0; break end Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

end end end end mask=mask_t; inv_binim = (binim == 0); thinned = bwmorph(inv_binim, 'thin',Inf); mask_t=mask; if numel(find(mask(125:150,150:250)>0)) > 0 && numel(find(mask(250:275,150:250)>0)) > 0 mask(150:250,150:250)=1; end method=-1; core_y = 0; core_x = 0; core_val=0; lc=0; o_img=sin(orient_img); o_img(mask == 0) = 1; lower_t=0.1; [v,y]=min(cimg); [dt1,x]=min(v); delta1_y=y(x)*block_size_c/2; delta1_x=x*block_size_c/2; v(x)=255; v(x+1)=255; [dt2,x]=min(v); delta2_y=y(x)*block_size_c/2; delta2_x=x*block_size_c/2; v(x)=255; v(x+1)=255; [dt3,x]=min(v); delta3_y=y(x)*block_size_c/2; delta3_x=x*block_size_c/2; db=60; if dt1 < 1 && delta1_y+db < core_y && delta1_y > 15 || dt2 < 1 && delta2_y+db < core_y && delta2_y > 15 || dt3 < 1 && delta3_y+db < core_y && delta3_y > 15 core_val=255; end for y=10:size(o_img,1)-10 for x=10:size(o_img,2)-10 Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

s1=0; t=10; %few of bad cores here if y < 50 && x > 250 t=11; end if y > 38 yt=20; else yt=5; end if lc > 0.41 && (core_y + 60 < y) break; end if mask(y,x)==0 || mask(max(y-t,1),x)==0 || mask(y,min(x+t, size(o_img,2)))==0 || mask(y,max(x-t,1))==0 || mask(max(y-t,1),min(x+t,size(o_img,2)))==0 || mask(max(yt,1),max(x-t,1))==0 || o_img(y,x) < lc || o_img(y,x) < 0.1 continue end if dt1 < 1 && delta1_y+db < y && delta1_y > 15 || dt2 < 1 && delta2_y+db < y && delta2_y > 15 || dt3 < 1 && delta3_y+db < y && delta3_y > 15 continue end test_m=min(o_img(1:y-yt,max((x-10),1):min(x+10,size(o_img,2)) )); if numel(test_m)>0 && min(test_m) >= 0.17 continue end for a=y:y+2 for b=x:x+1 s1=s1+o_img(a,b); end end s1=s1/6; s2=[]; i=1; for a=y-3:y-1 for b=x:x+1 s2(i)=o_img(a,b); Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

i=i+1; end end if min(s2) < lower_t s2=sum(s2)/6; else s2=s1; end s3=[]; i=1; for a=y:y+2 for b=x+2:x+3 s3(i)=o_img(a,b); i=i+1; end end if min(s3) < lower_t s3=sum(s3)/6; else s3=s1; end s4=[]; i=1; for a=y:y+2 for b=x-2:x-1 s4(i)=o_img(a,b); i=i+1; end end if min(s4) < lower_t s4=sum(s4)/6; else s4=s1; end s5=[]; i=1; Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

for a=y-3:y-1 for b=x-2:x-1 s5(i)=o_img(a,b); i=i+1; end end if min(s5) < lower_t s5=sum(s5)/6; else s5=s1; end s6=[]; i=1; for a=y-3:y-1 for b=x+2:x+3 s6(i)=o_img(a,b); i=i+1; end end if min(s6) < lower_t s6=sum(s6)/6; else s6=s1; end if s1-s2 > core_val core_val=s1-s2; core_x=x; core_y=y; lc=o_img(y,x); method=1; end if s1-s3 > core_val core_val=s1-s3; core_x=x; core_y=y; Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

lc=o_img(y,x); method=2; end if x < 300 && s1-s4 > core_val core_val=s1-s4; core_x=x; core_y=y; lc=o_img(y,x); method=3; end if x < 300 && s1-s5 > core_val core_val=s1-s5; core_x=x; core_y=y; lc=o_img(y,x); method=4; end if s1-s6 > core_val core_val=s1-s6; core_x=x; core_y=y; lc=o_img(y,x); method=5; end end end if core_y > 37 yt=20; else yt=5; end test_smooth = 100; if core_y > 0 test_smooth= sum(sum(o_img(core_y-yt-5:core_y-yt+5,core_x-5:core_x+5))); Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

end if lc > 0.41 && (test_smooth < 109.5 && method~=2 || test_smooth < 100) %&& min(min(o_img(1:core_y-yt,core_x-10:core_x+10))) < 0.17 start_t=0; core_val=1/(core_val+1); else core_x=0; core_y=0; core_val = 255; end mask=mask_t; path_len = 45; % Finding Minutiae -------------------------------------------------------%%if display_flag==1; fprintf('done.\n >>> finding minutiae '); end minu_count = 1; minutiae(minu_count, :) = [0,0,0,0,0,1]; min_path_index = []; % loop through image and find minutiae, ignore certain pixels for border for y=20:size(img,1)-14 for x=21:size(img,2)-21 if (thinned(y, x) == 1) % only continue if pixel is white % calculate CN from Raymond Thai CN = 0; sx=0; sy=0; for i = 1:8 t1 = p(thinned, x, y, i); t2 = p(thinned, x, y, i+1); CN = CN + abs (t1-t2); end CN = CN / 2; if ((CN == 1) || (CN == 3)) %&& mask(y,x) > 0 skip=0; for i = y-5:y+5 for j = x-5:x+5 if i>0 && j>0 && mask(i,j) == 0 Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

skip=1; end end end if skip == 1 continue; end t_a=[]; c = 0; for e=y-1:y+1 for f=x-1:x+1 c = c + 1; t_a(c) = orient_img_m(e,f); end end m_o = median(t_a); m_f = 0; if CN == 3 [CN, prog, sx, sy,ang]=test_bifurcation(thinned, x,y, m_o, core_x, core_y); if prog < 3 continue end if ang < pi m_o = mod(m_o+pi,2*pi); end else progress=0; xx=x; yy=y; pao=-1; pos=0; while progress < 15 && xx > 1 && yy > 1 && yy tb) && pos==-1 && g ~= pao Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

pos=ta; if g < 5 pao = 4 + g; else pao = mod(4 + g, 9) + 1; end xx=xa; yy=ya; end end progress=progress+1; end if progress < 10 continue end if mod(atan2(y-yy,xx-x), 2*pi) > pi m_o=m_o+pi; end end minutiae(minu_count, :) = [ x, y, CN, m_o, m_f, 1]; min_path_index(minu_count, :) = [sx sy]; minu_count = minu_count + 1; end end% if pixel white end% for y end% for x % Filtering False Minutiae -----------------------------------------------%% if display_flag==1; fprintf('done.\n >>> filtering false minutiae '); end minu_count = minu_count -1; t_minutiae = []; t_minu_count = 1; t_mpi = []; for i=1:minu_count X = minutiae(i,1); Y = minutiae(i,2); Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

rc=0; for y=max(Y-2,1):min(Y+2, size(binim,1)) if rc > 0 break end for x=max(X-2,1):min(X+2, size(binim,2)) if mask(y,x) == 0 rc = rc + 1; break end end end if rc > 0 continue; else t_minutiae(t_minu_count, :) = minutiae(i, :); t_mpi(t_minu_count, :) = min_path_index(i, :); t_minu_count = t_minu_count + 1; end end minutiae = t_minutiae; min_path_index = t_mpi; minu_count = size(minutiae,1); t_minu_count = 1; t_minutiae = []; dist_m = dist2(minutiae(:,1:2), minutiae(:,1:2)); dist_test=49; for i=1:minu_count reject_flag = 0; P_x = minutiae(i,1); P_y = minutiae(i,2); for j = i + 1 : minu_count if dist_m(i,j) 0 reverse_p = 0; if min_path_index(i,1) == 0 x = P_x; y = P_y; else x = min_path_index(i,1); y = min_path_index(i,2); end p1x=P_x; p1y=P_y; x1=x; y1=y; iter = 0; for m=1:path_len iter = iter + 1; cn = 0; for ii = 1:8 t1 = p(thinned, x1, y1, ii); t2 = p(thinned, x1, y1, ii+1); cn = cn + abs (t1-t2); end cn = cn / 2; if cn ~= 3 && cn ~= 4 || m == 1 for n=1:8 if reverse_p == 0 || iter > 1 [ta, xa, ya] = p(thinned, x1, y1, n); else [ta, xa, ya] = p(thinned, x1, y1, 9-n); end if ta == 1 && (xa ~= p1x || ya ~= p1y) && (xa ~= x || ya ~= y) p1x = x1; p1y = y1; x1 = xa; y1 = ya; break; end end Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

end end t_minutiae(t_minu_count, :) = minutiae(i, :); t_minu_count = t_minu_count + 1; end end minutiae = t_minutiae; minu_count = t_minu_count-1; tmpvec1 = size(img,1).*ones(minu_count,1); tmpvec2 = ones(minu_count,1); minutiae_for_sc = [minutiae(:,1)/size(img,2) (tmpvec1 - minutiae(:,2) + tmpvec2)/size(img,1)]; dist_m = sqrt(dist2(minutiae_for_sc(:,1:2), minutiae_for_sc(:,1:2))); for i=1:minu_count [d,ind] = sort(dist_m(i,:)); for j = 1 : minu_count if dist_m(i,ind(j)) == 0 continue end theta_t = mod(atan2(minutiae(i,2) - minutiae(ind(j),2), minutiae(i,1) minutiae(ind(j),1)), 2*pi); ridge_count = 0; p_y = minutiae(i,2); p_x = minutiae(i,1); t_x = 0; t_y = 0; current=1; radius = 1; while p_y ~= minutiae(ind(j),2) if thinned(p_y, p_x) > 0 && current == 0 && (t_x ~= p_x || t_y ~= p_y) current = 1; ridge_count = ridge_count + 1; else if thinned(p_y, p_x) == 0 current = 0; end end Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

t_x = p_x; t_y = p_y; p_x = round(minutiae(i,1) - radius*cos(theta_t)); p_y = round(minutiae(i,2) - radius*sin(theta_t)); radius = radius + 1; end end end if core_val < 1 minutiae(minu_count+1, :) = [core_x, core_y, 5, start_t, 0,1]; minu_count = minu_count + 1; end if dt1 < 1 minutiae(minu_count+1, :) = [delta1_x, delta1_y, 7, 0, 1,1]; minu_count = minu_count + 1; end if dt2 < 1 minutiae(minu_count+1, :) = [delta2_x, delta2_y, 7, 0, 1,1]; minu_count = minu_count + 1; end if dt3 < 1 minutiae(minu_count+1, :) = [delta3_x, delta3_y, 7, 0, 1,1]; minu_count = minu_count + 1; end % Return Minutiae --------------------------------------------------------if display_flag == 1 %%fprintf('done.\n'); minutiae_img = uint8(zeros(size(img, 1),size(img, 2), 3)); for i=1:minu_count x1 = minutiae(i, 1); y1 = minutiae(i, 2); if minutiae(i, 3) == 1

%Termination

if minutiae(i, 4) > pi for k = y1-2: y1 + 2 for l = x1-2: x1 + 2 Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

minutiae_img(k, l,:) = [255, 0, 0]; end end else for k = y1-2: y1 + 2 for l = x1-2: x1 + 2 minutiae_img(k, l,:) = [205, 100, 100]; end end end elseif minutiae(i, 3) == 2 for k = y1-2: y1 + 2 for l = x1-2: x1 + 2 minutiae_img(k, l,:) = [255, 0, 255]; end end elseif minutiae(i, 3) == 3

%Bifurcation

if minutiae(i, 4) > pi for k = y1-2: y1 + 2 for l = x1-2: x1 + 2 minutiae_img(k, l,:) = [0, 0, 255]; end end else for k = y1-2: y1 + 2 for l = x1-2: x1 + 2 minutiae_img(k, l,:) = [255, 0, 255]; end end end elseif minutiae(i, 3) == 5 for k = y1-4: y1 + 4 for l = x1-4: x1 + 4 minutiae_img(k, l,:) = [0, 255, 0]; Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

end end elseif minutiae(i, 3) > 5 for k = y1-2: y1 + 2 for l = x1-2: x1 + 2 minutiae_img(k, l,:) = [128, 128, 0]; % gold for delta end end end end combined = uint8(minutiae_img); for x=1:size(binim,2) for y=1:size(binim,1) if mask(y,x) == 0 combined(y,x,:) = [0,0,0]; continue end if (thinned(y,x)) % binim(y,x)) combined(y,x,:) = [255,255,255]; else combined(y,x,:) = [0,0,0]; end% end if if ((minutiae_img(y,x,3) ~= 0) || (minutiae_img(y,x,1) ~= 0) ) || (minutiae_img(y,x,2) ~= 0) combined(y,x,:) = minutiae_img(y,x,:); end end% end for y end% end for x if core_val < 1 && YA > 0 for k = YA-2: YA + 2 for l = XA-2: XA + 2 combined(k,l,:) = [20, 255, 250]; end end Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

for k = YB-2: YB + 2 for l = XB-2: XB + 2 combined(k,l,:) = [20, 255, 250]; end end end end ret=minutiae; end

function [ binim, mask, cimg1, cimg2, oimg1, oimg2 ] = f_enhance( img ) enhimg = fft_enhance_cubs(img,6);

% Enhance with Blocks 6x6

enhimg = fft_enhance_cubs(enhimg,12);

% Enhance with Blocks 12x12

[enhimg,cimg2] = fft_enhance_cubs(enhimg,24); % Enhance with Blocks 24x24 blksze = 5; thresh = 0.085;

% FVC2002 DB1

normim = ridgesegment(enhimg, blksze, thresh); oimg1 = ridgeorient(normim, 1, 3, 3);

% FVC2002 DB1

[enhimg,cimg1] = fft_enhance_cubs(img, -1); [normim, mask] = ridgesegment(enhimg, blksze, thresh); oimg2 = ridgeorient(normim, 1, 3, 3); [freq, medfreq] = ridgefreq(normim, mask, oimg2, 32, 5, 5, 15); binim = ridgefilter(normim, oimg2, medfreq.*mask, 0.5, 0.5, 1) > 0; end

clearall; clc; addpath(genpath(pwd)); ICount = 9; JCount = 8; fprintf('Matching.'); load('db.mat'); %% EXTRACT FEATURES FROM AN ARBITRARY FINGERPRINT [file path]=uigetfile('*.*','select image'); Information Technology Department, SRMSCET&R, Bly

Page

Security System Using Biometric Sensors

filename=strcat(path,file); img = imread(filename); if ndims(img) == 3; img = rgb2gray(img); end% Color Images ffnew=ext_finger(img,1); %% FOR EACH FINGERPRINT TEMPLATE, CALCULATE MATCHING SCORE IN COMPARISION WITH FIRST ONE S=zeros(ICount*JCount,1); fprintf('..\n'); for i=1:ICount*JCount second=['10' num2str(fix((i-1)/8)+1) '_' num2str(mod(i-1,8)+1)]; S(i)=match(ffnew,ff{i}); drawnow end %% OFFER MATCHED FINGERPRINTS Matched_FigerPrints=find(S>0.48); if size(Matched_FigerPrints,1)>0; disp('Fingerprint matched with database!'); else disp('Fingerprint did not match with the database!'); end

function [ S ] = match( M1, M2, display_flag ) if nargin==2; display_flag=0; end M1=M1(M1(:,3)
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF