To solve the problem of limited documentation and example code available on the subject of biometrics. Research that is done in this field can not directly.

Slides:



Advertisements
Similar presentations
Collecting data Chapter 6. What is data? Data is raw facts and figures. In order to process data it has to be collected. The method of collecting data.
Advertisements

DATA PROCESSING SYSTEMS
Mr Greenhalgh S4 Computing Int 1 Things you could do with knowing before the Exam…
Computers Are Your Future
Programming Types of Testing.
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
Lesson 6 Software and Hardware Interaction
Introduction CSCI 444/544 Operating Systems Fall 2008.
Fingerprint Recognition Checkpoint Slides Andrew Ackerman Professor Ostrovsky.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
1 Web Wizards Guide To PHP David Lash Chapter 1 Introduction to PHP.
Program Flow Charting How to tackle the beginning stage a program design.
Program Flow Charting How to tackle the beginning stage a program design.
Fingerprint Recognition Professor Ostrovsky Andrew Ackerman.
Topic 1: Introduction to Computers and Programming
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Validation and Verification Today will look at: The difference between accuracy and validity Explaining sources of errors and how they could be overcome.
6 Steps of the Programming Process
P51UST: Unix and Software Tools Unix and Software Tools (P51UST) Compilers, Interpreters and Debuggers Ruibin Bai (Room AB326) Division of Computer Science.
Programming Languages: Telling the Computers What to Do Chapter 16.
 By the end of this, you should be able to state the difference between DATE and INFORMAITON.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Systems Software & Operating systems
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Standard Grade Computing SYSTEM SOFTWARE CHAPTER 19.
Chapter 1: Introduction to Computers and Programming.
Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Standard Grade Computing System Software & Operating Systems.
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Introduction to Python Lesson 1 First Program. Learning Outcomes In this lesson the student will: 1.Learn some important facts about PC’s 2.Learn how.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
CS-303 Introduction to Programming
Compilers and Interpreters. HARDWARE Machine LanguageAssembly Language High Level Language C++ Visual Basic JAVA Humans.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Computer and Programming. Computer Basics: Outline Hardware and Memory Programs Programming Languages and Compilers.
An Overview of Support of Small Embedded Systems with Some Recommendations Controls Working Group April 14, 2004 T. Meyer, D. Peterson.
1 Overview of Programming Principles of Computers.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Getting ready. Why C? Design Features – Efficiency (C programs tend to be compact and to run quickly.) – Portability (C programs written on one system.
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Compilers and Interpreters
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
CHAPTER 3 COMPLETING THE PROBLEM- SOLVING PROCESS AND GETTING STARTED WITH C++ An Introduction to Programming with C++ Fifth Edition.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
We are an energetic and dynamic young company having specialization in the fields of Electronics and Communication, Mechanical Systems and Robotics. We.
The purpose of a CPU is to process data Custom written software is created for a user to meet exact purpose Off the shelf software is developed by a software.
Benefits of DTP to the Industry and Society Text and graphics can be imported electronically from remote locations around the world. The time it takes.
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
Topic 2: Hardware and Software
Pre-Production Meet with the client to create a project plan:
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
CSCI-235 Micro-Computer Applications
TRANSLATORS AND IDEs Key Revision Points.
Teaching Computing to GCSE
Compiler Construction
CSCI1600: Embedded and Real Time Software
Benefits of DTP to the Industry and Society
Making a Match.
Embedded System Development Lecture 13 4/11/2007
Hybrid Finger print recognition
PROGRAMMING FUNDAMENTALS Lecture # 03. Programming Language A Programming language used to write computer programs. Its mean of communication between.
System Programming By Prof.Naveed Zishan.
CSCI1600: Embedded and Real Time Software
Presentation transcript:

To solve the problem of limited documentation and example code available on the subject of biometrics. Research that is done in this field can not directly be used in an application; the programmer must develop the code themselves using the research as a guide.

Easy to useA programmer of any skill level should be able to use SmallFile size must be small FastMust not require loads of CPU time Cross platform compatible Must run on any platform with little to no change in code CustomizableOpen source and most changed items must be easily accessible

Fingerprints are matching by comparing minutia points Two basic types of minutia points Line ending Line branching Fingerprint verification vs fingerprint recognition: Verification systems need to have more accuracy Recognition system must be able to process many prints quickly *This project is a verification system CostAverage cost is around $ SizeLarge file size due to unneeded functions Resource Requirements Large amounts of memory and processor time Cross compatibilityDesigned for only certain operating systems, database server, or input devices Non-customizableNot open source, making it difficult to customize Hard to useRequires large amounts of documentation reading to learn how to use Problems associated with commercial SDKs (Software Development Kits):

C\C++ Compiler Basic Text editor or Development IDE Hex editor Image manipulation program

1. ResearchFind information on fingerprint matching and image manipulation 2. DesignDesign and layout library with flow charts 3. CodeCode using designs from step 2 4. Compile and Debug Compile and debug fixing any typographical errors 5. TestTest using sample fingerprints 6. AdjustAdjust for better accuracy 7. PublishMake final copy available

Edge Detection with Logarithm Algorithm

Thinning with Skeletierung’s Algorithm Breaks found Final rewritten thin

Match Part 1 – Shifting Move the verifying print vertically and horizontal to find the spot were the most pixels line up. A true match will have a certain percentage line up. Lines up Does not line up

Match Part 2 – Minutia Matching = Line Branching = Line Ending

My data has shown that this system is not 100% accurate, but no prints that were not suppose to pass did. With a little bit of tuning the accuracy of the system can be easily improved. Also most of the goals for the project have been met, with the exception of speed. As for speed, a revision of Thin() and Match_Part1() are required to optimize these functions. Unfortunately smudged prints still cannot be matched without further correction of the images. Overall the project was a success and continued work will only improve upon it.

Image manipulation – including scaling and rotation Faster Thinning Faster Matching Part1 Design Embedded System Correction of smudged and other imperfections in images

R. Haralick and L. Shapiro Computer and Robot Vision, Vol 1, Addison-Wesley Publishing Company, A. Jain and S. Pankanti Automated Fingerprint Indentification and Imageing Systems, Dept. of Comp. Sci. and Eng., Michigan State University, A. Jain, S. Prabhakar and J. Wang Minutia Verification and Classification for Fingerprint Matching, Dept. Of Comp. Sci. and Eng., Michigan State Unversity. D. Verna Machine Vision, Prentice-Hall, 1991.