Вы находитесь на странице: 1из 27
ATTENDANCE MANAGEMENT SYSTEM USING FINGERPRINT SCANNER MOHD ZAMZURY BIN ABDULLAH SANT This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic Engineering (Telecommunication Electronics) With Honours. Faculty of Electronic and Computer Engineering Universiti Teknikal Malaysia Melaka APRIL 2008 vii ABSTRAK Projek ini adalah mengenai merekabentuk serta membangunkan sistem merekod dan mengesan kehadiran pelajar berasaskan pengenalpastian cap jari yang membolehkan memantau kehadiran pelajar secara elektronik. a sekaligus dapat mengurangkan banyak masalah serta menggantikan sistem manual sedia ada yang menggunakan kertas, Sistem ini akan dibangunkan dengan menggunakan antaramuka bergrafik yang lengkap dengan menggunakan program aturcara Microsoft Visual Studio 2005. ta akan diintegrasikan dengan Microsoft Fingerprint Reader. viii ABSTRACT This project is about the design and develops a reliable attendance tracking and recording system based on biometric fingerprint identification that can be used to monitor attendance of student. It will climinate much of the problems and manual work associated with paper based systems. This system will be developed with extended GUI by using Microsoft V 1 Studio 2005 and integrate with Microsoft Fingerprint Reader. CHAPTER INTRODUCTION This chapter will explain about the introduction of the project, the objectives of the project, problem statement and also the scope of the work. 1.1 Introduction The aim of this project is to develop a reliable attendance tracking and recording system based on biometric fingerprint identification that can be used to monitor attendance of student. The system can automatically acquire, store and calculate the student’s data and attendance into a personal computer, PC or laptop. The main purpose of this project is to monitor the student attendance in lecture, tutorial and laboratory sessions in more efficient way. This project will only involve the development of the software, This system will integrate with Microsoft be Fingerprint Reader or other fingerprint reader that available in the market. It wil developed with extended graphical user interface, GUI by using Microsoft Visual Studio 2005 with user-friendly interface so that every lecturer will use this system without many problems. 12 Objective s to design and develop user-friendly attendance ‘management system that can be implemented in this universities’ student attendance. It can record the students’ basic personal information and monitor the students’ attendance. This will prevent cheat in students’ attendance, This system will be able to print the attendance report and analyze the percentage of attendance. 1.3 Problem Statement At the moment, the current system in lecture or lab session, lecturer will hand out the student’s name list to sign in for student who attends that class. Cheat in student attendance is frequently and easily happened. For example, another student signed his/her friend’s attendance. So, to prevent this problem, it is ideal to develop the attendance management system using biometric fingerprint recognition that will monitor and record the attendance of every student in class. The barcode is easy to produce and duplicate, but fingerprint is unique for everyone. So, this system is not developed based on current barcode system in student's smart card. 1.4 Scopes of Work Generally, all projects have their own scope or limitation as a guideline, Table 1.1 below shows the project scope for implementation this project. Table1.1: Scope of Work Research: | Research on Get familiar with Microsoft Visual Studio 2005 software met Fingerprint algorithm, Design: Design the user-friendly interface with extended GUI using Microsoft Visual Studio 200S [1] programming language. Include the basic personal information database i.e. full name, matrix number, course, section, group etc. Develop: | Develop the fully functional software that can work on | | Microsoft Windows platform. st the flexibility and performance of the system. 1.4.1 Hardware Basically this project does not involve the development of hardware. The software is integrated with Microsoft Fingerprint Reader through USB interface. Using the Microsoft Fingerprint Reader, the GrFinger Software Development Kit (SDK) toolbox provided by the Griaule (will explain the detail later) can be used as a key to retrieve the user IDs and passwords for logging into these system. Figure 1.1 shows the picture of Microsofi Fingerprint Reader that had used to integrate with this, system. Figure 1.1: Microsoft Fingerprint Reader 1.4.2. Software Development Software development includes design the GUI using Microsoft Visual Basic 2005. This programming language is used to integrate with the Microsoft Fingerprint Reader as an input. To make this reader to communicate with Microsoft's NET Framework, the GrFingerXCirl Class toolbox provided by Griaule is used. T! are get by downloading from Griaule official website. CHAPTER I LITERARUTE REVIEW Every project has a literature review and background study of the project. This chapter will explain about the platform and all tools that have been used to build this project. That is included Microsoft Visual Studio 2005 as a system development platform, Microsoft Fingerprint Reader as a hardware used, the explanations about fingerprint itself and also an example of attendance system that already had been used in real time. 2.1 Background Study ‘As explained earlier, this project only involves the development of software only. This chapter contains the literature review of the project. It consists of the review of the programming language that have used and how it can integrate with the hardware (Microsoft Fingerprint Reader), the GrFinger Software Development Kit (SDK), and the assessment of fingerprint 2.2 Literature Review This literature review includes the review of Microsoft Visual Studio 2005, GrFinger Software Development Kit (SDK), ActiveX control, fingerprint, Optical Scanner and Capacitive Scanner. 2.2.1 Microsoft Visual Studio 2005 Microsoft Visual Studio is Microsoft's flagship software development product for computer programmers. It centers on an integrated development environment which lets programmers create standalone applications, web sites, web applications, and web services that run on any platforms supported by Microsoft's NET Framework (for all versions after Visual Studio 6). Supported platforms include Microsofi Windows servers and workstations, PocketPC, Smartphones, and World Wide Web browsers [2]. Visual Studio includes the following: © Visual Basic (NET) © Visual C+ © Visual C# © Visual J# * ASP.NET Express editions of Visual Studio have been released by Microsoft for ightweight streamlined development and novice developers. The Express editions include: Visual Basic (NET) 2005 Express Edition Visual C# 2005 Express Edition Visual C++ 2005 Express Edition al J# 2005 Express Edition Visual Web Developer 2005 Express Edition Visual Studio 2005, codenamed Whidbey (a reference to Whidbey Island in Puget Sound), was released online in October 2005 and hit the stores a couple of weeks later, Microsoft removed the "NET" moniker from Visual Studio 2005 (as well as every other product with NET in its name), but it still primarily targets ion 2.0. Visual Studio 2005's internal version number is 8.0 while the file format version is 9.0. Microsoft released service Pack 1 for Visual Studio 2005 on 14 December 2006 [3]. the NET Framework, which was upgraded to vers Visual Studio 2005 was upgraded to support all the new features introduced in NET Framework 2.0, including generics and ASP.NET 2.0. The IntelliSense feature in Visual Studio was upgraded for generics and new project types were added to support ASP.NET web services. Visual Studio 2005 als« cludes a local web server, separate from IIS, that can be used to host ASP.NET applications during development and testing. It also supports all SQL Server 2005 databases. Database designers were upgraded to support the ADO.NET 2.0, which is included with NET Framework 2.0. C++ also got a similar upgrade with the addition of C++/CLI which s slated to replace the use of Managed C++. Other new features of Visual Studio 2005 include the "Deployment Designer" Which allows application designs to be validated before deployments, an improved environment for web publishing when combined with ASP.NET 2.0 and load testing to see application performance under various sorts of user loads. Figure 2.1 shows the splash screen when loading the Microsoft Visual Studio 2005 Professional Edition. eta ial BO rT (ont vl e¥ ans Teomewoereteoee sont ects azn teen os (ccest nnalSe sme cae moar see wa: cnet ain aaa cept ie test Ute ech dartacen See onan oy monet 2.2.2 GrFinger SDK Biometric recognition is one of the most reliable ways to confirm the identity of an individual. And by now, many people are undoubtedly familiar with the Microsoft Fingerprint Reader. Besides logging into a computer using a fingerprint sean from the reader, you can also use the application provided by the Fingerprint Reader to save your user IDs and passwords for web sites that require them, You can then use your fingerprint as a key to retrieve the authentication information to log in securely, thereby eliminating the hassle of remembering different sets of passwords for different sites. Griaule [4] provides the GrFinger Suite (Figure 2.2), a fingerprint recognition suite that comes with an SDK for integrating fingerprint readers into the applications. It works with Microsoft Fingerprint Reader, Digital Persona U.are.U 4000, SecuGen Hamster FDU02, Geomok (Testech) Bio-I, and Crossmatch USB Fingerprint Readers. GrFinger also provide outstanding matching speed: with a blazing fast matching speed of 35,000 fingerprints per second. GrFinger also supports multiple programming languages including Java, Delphi, Visual Basic, C++, NET, FoxPro and many others. Both ActiveX and DLL components are available to use. Ea GrFinger Figure 2.2: GrFinger logo A Software Development Kit (SDK or “devkit") is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar, It may be something as simple as an application programming interface in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system, Common tools include debugging aids and other utilities often presented in an integrated development environment, IDE. SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material 2.2.3. ActiveX Control “ActiveX control” is a term used to denote reusable software components that are based on Microsoft Component Object Model (COM). ActiveX controls provide encapsulated reusable functionality to programs and they are typically but not always visual in nature [6]. For example, an ActiveX control might implement spreadsheet functionality ilar to Microsoft Excel, which would be visual in nature, but it also might implement functionality to upload or download files from a file transfer protocol, FTP site, which is not visual in nature unless it incorporates some sort of download progress display or similar (7) The security concems associated with ActiveX control is mainly due to the fact that ActiveX controls can do almost anything that a normal application can. Therefore, both malware and useful form ActiveX controls exists; thus the threat level of an ActiveX control can be associated with how trusted its author is. However, 10 there is one famous case of ActiveX controls safety concern: Intemet Explorer. Internet Explorer has the ability to run ActiveX controls within a web page. This is both blessing and pain, ActiveX controls are simply COM objects, so they can be written using: * Microsoft Foundation Classes (MFC) ~ Generally not recommended, due to the size of the MFC DLLs required * Active Template Library (ATL) ~ The commonly accepted simplest way * Languages that support COM, like plain C/C++ or even assembler Considered to be the most difficult nce lots of support code must be written ‘© Languages that provide special support for writing controls c.g. Visual Basic 2.3. Fingerprint Fingerprints are one of those bizarre twists of nature. Human beings happen to have built-in, easily accessible identity cards. You have a unique design, which represents you alone, literally at your fingertips. People have tiny ridges of skin on their fingers because this particular adaptation was extremely advantageous to the ancestors of the human species. The pattern of ridges and "valleys" on fingers make it easier for the hands to grip things, in the same way a rubber tread pattern helps a tire grip the road [8]. Finger skin is made of friction ridges, with pores (sweat glands). Friction ridges are created during live and only the general shape is genetically defined. A friction ridge remains the same all life long, only growing up to adult size. They reconstruct the same if not too severe injury. Figure 2.3 shows the example pattern of minutiae of fingerprint. ul crossover core bifurcation ridge ending istand delta pore Figure 2.3: Minutiae of Fingerprint Minutiae are the discontinuities of the ridges. Endings are the points at which a ridge stops. Bifurcations are the point at which one ridge divides into two. Dots are very small ridges. Islands are ridges that slightly longer than dots, occupying a middle space between two temporarily divergent ridges. Ponds or lakes are empty spaces between two temporarily divergent ridges. Spurs are a notch protruding from a ridge. Bridges are small ridges joining two longer adjacent ridges. Crossovers are ‘two ridges which cross each other. The core is the inner point, normally in the middle of the print, around which swirls, loops, or arches center. It is frequently characterized by a ridge ending and several acutely curved ridges. Deltas are the points, normally at the lower left and right hand of the fingerprint, around which a triangular series of ridges center. There is virtually no chance of the same exact patter forming owice. Consequently, fingerprints are a unique marker for a person, even an identical twin. And while two prints may look basically the same at a glance, a trained investigator or an advanced piece of software can pick out clear, defined differences. Some of the advantages of fingerprint are: © Physical attributes are much harder to fake than identity cards. © You can't guess a fingerprint pattern like you can guess a password, © You can't forget your fingerprints like you can forget a password, * You can't misplace your fingerprints like you can misplace an access card, 12 But, as effective as they are, they cert ly aren't infallible, and they do have major disadvantages. Optical scanners can't always distinguish between a picture of a finger and the finger itself, and capacitive scanners can sometimes be fooled by a mold of a person's finger. If somebody gain access to an authorized user's prints, the person could trick the scanner. But even with this significant drawback, fingerprint reader and biometric systems are an excellent means of identification. In the future, they'll most likely become an integral part of most peoples’ everyday life, just like keys, ATM cards and passwords are today. 2.3.1. Fingerprint Algorithm Many algorithms for fingerprint recognition have been developed. If manual comparison by a fingerprint expert is always done to say if two fingerprint images are coming from the same finger in critical cases, automated methods are widely used now. Many different algorithm types exist such as direct (optical) correlation. It practically not used because not very efficient for large database. ‘The general shape of the fingerprint is generally used to pre-process the images, and reduce the search in large databases. This uses the general directions of the lines of the fingerprint, and the presence of the core and the delta, Several categories have been defined in the Henry system: whorl, right loop, left loop, arch, and tented arch [9]. Figure 2.4 shows the Henry system to compare with other fingerprint. B Most algorithms are using minutiae, the specific points like ridges ending and bifurcation. Only the position and direction of these features are stored in the signature for further comparison. Figure 2.5 shows the minutiae algorithm to compare with other fingerprint. 4 uci eae Figure 2.5: Minutiae Algorithm Some algorithms count the number of ridges between particular points, generally the minutiae, instead of the distances computed from the position. Figure 2.5 below shows the ridge count algorithm to compare with other fingerprint. 14 Figure 2.6: Ridge Count Technique Pattern matching algorithms are using the general shape of the ridges. The fingerprint is divided in small sectors, and the ridge direction, phase and pitch are extracted and stored, Figure 2.7 below shows the pattern matching algorithm to compare with other fingerprint. Sample Sample Zoo, Cell ~~] J SJ Figure 2.7: Pattern Matching Algorithm Very often, algorithms are using a combination of all theses techniques. This entire algorithm is combined to make sure the probability of fingerprint matching error is as low as possible. Figure 2.8 shows the combination of fingerprint matching algorithm, 15 2.3.2. Fingerprint Matching Among all the biometric techniques, fingerprint-based identification is the oldest method which has been successfully used in numerous applications. Everyone is known to have unique, immutable fingerprints. A fingerprint is made of a series of ridges and furrows on the surface of the finger. The uniqueness of a fingerprint can be determined by the pattern of ridges and furrows as well as the minutiae points. Minutiae points are local ridge characteristics that occur at either a ridge bifurcation ora ridge ending. Fingerprint matching techniques can be placed into two categories: minutae- based and correlation based. Minutiae-based techniques first find minutiae points and then map their relative placement on the finger. However, there are some difficulties when using this approach. It is difficult to extract the minutiae points accurately when the fingerprint is of low quality. It has problems in matching different sized (unregistered) minutiae patterns. Local ridge structures can not be completely characterized by minutiae. Also this method does not take into account the global pattern of ridges and furrows. The correlation-based method is able to overcome some of the difficulties of the minutiae-based approach. However, it has some of its 16 own shortcomings. Correlation-based techniques require the precise location of a registration point and are affected by image translation and rotation Large volumes of fingerprints are collected and stored everyday in a wide range of applications including forensies, access control, and driver license registration, An automatic recognition of people based on fingerprints requires that the input fingerprint be matched with a large number of fingerprints in a database (FBI database contains approximately 70 million fingerprints!). To reduce the search time and computational complexity, it is desirable to classify these fingerprints in an accurate and consistent manner so that the input fingerprint is required to be matched only with a subset of the fingerprints in the database [10]. A critical step in automatic fingerprint matching is to automatically and reliably extract’ minutiae from the input fingerprint images. However, the of the performance of a minutiae extraction algorithm relies heavily on the qual input fingerprint images. In order to ensure that the performance of an automatic fingerprint identification/verification system will be robust with respect to the quality of the fingerprint images, it is essential to incorporate a fingerprint enhancement algorithm in the minutiae extraction module. 2.3.3. Optieal Scanner and Capacitive Seanner A fingerprint scanner system has two basic jobs; it needs to get an image of your finger, and it needs to determine whether the pattem of ridges and valleys in this image matches the pattern of ridges and valleys in pre-scanned images. There are a number of different ways to get an image of somebody's finger. The most common methods today are optical scanning and capacitance scanning. Both types come up with the same sort of image, but they go about it in completely different ways. The heart of an optical scanner is a Charge Coupled Device (CCD), the same light sensor system used in digital cameras and camcorders. A CCD is simply an array of light-sensitive diodes called photosites, which generate an electrical signal in 17 response to light photons. Each photosite records a pixel, a tiny dot representing the light that hit that spot, Collectively, the light and dark pixels form an image of the scanned scene (a finger, for example). Typically, an analog-to-digital converter in the scanner system processes the analog electrical signal to generate a digital representation of this image. L the ridges and valleys that make up a fingerprint. But instead of sensing the print ¢ optical scanners, capacitive fingerprint scanners generate an image of using light, the capacitors use electrical current. The main advantage of a capacitive scanner is that it requires a real fingerprint-type shape, rather than the pattern of light and dark that makes up the visual impression of a fingerprint. This makes the system harder to trick. Additionally, since they use a semiconductor chip rather than a CCD unit, capacitive scanners tend to be more compact that optical devices. The Microsoft Fingerprint Reader uses a capacitive fingerprint sensor. 2.3.4 Verification vs. Identification A. biometric system is essentially a pattem recognition system which recognizes a user by determining the authenticity of a specific physiological or behavioral characteristic possessed by the user [11]. Several important issues must be considered in designing a practical biometric system. First, a user must be enrolled in the system so that his biometric template can be captured. This template is securely stored in a central database or a smart card issued to the user. The template is retrieved when an individual needs to be identified. Depending on the context, a biometric system can operate either in verification (authentication) or an identification mode. verification and There are two diferent ways to recognize a perso identification, Verification involves confirming or denying a person's claimed identity. On the other hand, in identification, the system has to recognize a person from a list of N users in the template database. Identification is a more challenging problem because it involves 1:N matching compared to 1:1 matching for verification, 18 2.4 Example of Attendance System This is the example of attendance system that has been developed by EMF Technolution Company which is located at Batu Berendam, Malacca. Basically this company provides E-Smart Card program with barcode system for student, teacher and staffs at school all around Malacca. One of the systems that this company provided is Sistem Maklumat Kedatangan Pintar (SMKP) or Smart Attendance Information System. This system is based on Barcode technology. Figure 2.9 shows the splash screen when loading the SMKP Sistem ini diver sacara percuma Hig |, __dleh syarikal EMF Technolution > kepada pihiak sekolah yang telah menandatangani pesjanjian Program E-Smart Card yang telah diber Kebenaran oleh pihak Pabatan Pendidikan Negeri Melaka, Sistem ini bukan untuk dual. Sebarang penyalinan adalah salah disisi undang-undang dan boleh didakwa Version 3.50 Last Updete 15 Mar 2005 opyeare © 2008 Serban Teehnaagy. Age reser ere Figure 2.9: Spalsh Screen when loading SMKP 2.4.1 Attendance This system was developed to manage the teachers and staffs attendance. The main function of this system is just like punch-in and punch-out system, but using barcode system. This system can store information like picture, position and status of the teacher. All information is divided into their category like personal information, academic information and salary information. Figure 2.10 shows the Information Menu when clicking the “Pendaftaran” (Registration) button. 19 Pee ee ee settee] meee Rom Da fice Ba (Chistorissoonran tonnbaraxay ents — | pewoaparan } Figure 2.10: Information Menu All teacher and staff have to punch-in and punch-out by scan their barcode at smart card using barcode scanner that attached to the computer. To punch-in or punch-put, click “Kedatangan Guru” and scan the barcode. It will automatically store the time user punch-in or punch-out on the database. If user is late punch-in, user must type the reasons he/she late to school. And all this information is displayed at this form. To see who is absent and who is present, administrator can also monitor attendance of teachers and staffs by clicking the “Hadir” and Tidak Hadir” button. Figure 2.11 shows the Attendance Menu for this system, 20 [scar] nied Figure 2.11: Attendance Menu This system also can configure the different position for different working hour. This configuration is only can modified by administrator who has the password to login, Figure 2.12 show the configuration for changing working hour for specitic post of the teachers or staffs. ea “ene emew ea rea0pw Ter [GURU ARATEN Pp [PeNTADERAN, el] Figure 2.12: Configuration for Changing Working Hour Administrator can also print a report about the attendance of the teachers. ‘Admin can print a daily report and monthly report as shown in Figure 2.13. Daily report will shows the time of all teachers for punch-in and punch-out, while monthly report will shows a monthly attendance for particular teacher. 21 Ria LAPORAN KEDATANGAN BULANAN, non Tus ed We : 12345 8 § an 2 Bee 8 ROUES & 2 4 [> Today. 4/10/2007 _ 2.4.2 Updating Database This system must update especially when there is new teacher. To add a new teacher through system, click “Tambah” in “Pendaftaran” menu, Then fill the information of the new teacher and click “Simpan”. Figure 2.14 show the registration new user window. Nome Gur No Kad Pengenatan NoPH : ] No Ba Kod Iamatan [ Figure 2.14: Registration New User After all the information is filled and stored, new user is registered but no photo. Add the photo of particular user at the empty picture column by double- click that empty picture column, Figure 2.15 shows the registered user but without photo. 22 Se Be ee No Kad Penoeslan; [_0TT2TE5D40 statue nonwees: [050 Bemges 3] demstan [Guru acabers] [Lo Ba 13 dat 72 L Figure 2.15: Registered User without Photo 2.4.3. Development of Attendance System using Fingerpt Based on this example of attendance system, the Attendance Management System using Fingerprint Reader has developed. It combines with the GrFinger toolbox provided by Griaule to integrate with Microsoft Fingerprint Reader. This system is developed on Microsoft Visual Studio 2005 on NET Framework. Next chapter will explained in detail about the development of this system. CHAPTER IIL PROJECT METHODOLOGY 3.1 Project Methodology Figure 3.1 below shows the flow chart of project methodology for PSM I and PSM II. start Research @ >) Uterature Review [ Getting famitar wth VB 2008 programming language .|. Software develooment: Coding & GUI Testng tho ‘sem Integrate with hardware “Testing the system Troubleshoot Testing he Syston End Figure 0.1: Project Flow Chart 3.1.1 Project planning Table 1.2 below shows the project planning from starting the PSM I until the end of PSM IL ‘Table 3.2: Project Planning ‘PROJECT PLANNING B07 Ed Tay] Root Br PPP DP Ppp EE bal Oadber [Roverbe December] Janay | Fabia | Wares [Ap Project Atty oe PPA ATs oF a £ H fa ae | § 3 3 Baa WSa yeaa wat bit Cm 3.1.2 Software Development For PSM I, the focus is more on the main part of the software which is design the basic GUI that can integrate with the hardware (fingerprint reader). The GUI that have been done developed was the registration menu to store basic information (like name, matrix number, photo, course, etc.) and most important the fingerprint of the user into the database. After it successfully can store and recall that database, then in PSM II, the development is continued to advance GUI and coding which involve the time-recording (like punch-in and punch-out system), printing the summary of attendance, calculate the percentage of attendance and much more.

Вам также может понравиться