Fingerprint Pre-Processing on ARM and DSP Platforms M

Fingerprint Pre-Processing on ARM and DSP Platforms M

http://dx.doi.org/10.5755/j01.eee.20.6.7287 ELEKTRONIKA IR ELEKTROTECHNIKA, ISSN 1392–1215, VOL. 20, NO. 6, 2014 Fingerprint Pre-processing on ARM and DSP Platforms M. Gok1, S. Gorgunoglu1, I. Muharrem Orak1 1Department of Computer Engineering, Karabuk University, Karabuk, Turkey [email protected] 1Abstract—In minutiae based fingerprint analysis, times of algorithms are evaluated on Sitara AM3359 Cortex- fingerprint image is pre-processed before extracting features. A8 core, OMAP-L138 ARM9 core and C6748 DSP core. The pre-processing is carried out to obtain more accurate minutiae points. Implementing fingerprint programs on embedded systems can be considered as important especially for real time standalone applications. Reducing the pre- processing time is important for identification and verification in real time embedded systems. In this study, pre-processing of minutiae based fingerprint system is implemented on two different platforms: Texas Instruments Sitara AM3359 which is a single board computer and OMAP-L138 which is a development kit. OMAP-L138 is a low power application processor based on ARM9 and C674x DSP cores. AM3359 is microprocessor unit based on ARM Cortex-A8 core. Fingerprint pre-processing algorithms are implemented using C/C++ compiler and tested on three different cores: ARM9, DSP and ARM Cortex-A8. The execution times are compared with each other. The results show that using DSP core, execution time is substantially improved. Index Terms—Fingerprint recognition, data pre-processing, performance analysis, digital signal processors. Fig. 1. The pre-processing algorithms used in minutiae based fingerprint analysis. I. INTRODUCTION Fingerprint, iris, retina, signature, face, DNA etc. are used II. PRE-PROCESSING ALGORITHMS in biometric system. These characteristics are sometimes combined together to improve the security of the systems. A. Segmentation Finger vein also is used for access control [1]. In another Segmentation process is used to separate the fingerprint study, to enhance the security of the computer access, image from the background image [3]. In the fingerprint colours are considered [2]. Fingerprint recognition and image, there may be some distorted areas or the regions verification systems shows better result comparing to other where the ridges and valleys of the fingerprint are not clear. biometric systems. These unwanted regions are segmented by the algorithm. In For a minutiae based fingerprint recognition system, the segmentation based on variance value, fingerprint image before extraction minutiae, the pre-processing steps shown is divided into wxw sized blocks. The variation of each block in Fig.1 are applied. By applying these steps, more accurate is calculated. If a variance of a block is less than a specified features are extracted from the fingerprint image taken by a threshold, this block is signed as a background image (1) sensor. Pre-processing time consumes the most of the which does not contain fingerprint information [4]. processing time in minutiae based fingerprint recognition These steps are carried out by using following equations system. Especially for a real time embedded system where m(i, j) is the average gray scale value of wxw sized requiring fast response time, pre-processing time has to be block (2) and v(i, j) is the variance of the block (3). reduced as much as possible. In this study, a GUI (Graphical User Interface) fingerprint 1 i w/ 2 j w/ 2 pre-processing application designed on a PC (Personal m(,) i j I( u , v ), (1) w* w u i w/ 2 v j w / 2 Computer) and then ported to evaluation platforms using cross compiler and design environments. The execution 1 i w/2 j w/2 v(,) i j (I ( u , v ) m ( i , j ))2 , (2) w* w u i w/2 v j w /2 1if v ( i , j ) Threshold , C (3) Manuscript received October 7, 2013; accepted January 15, 2014. 0 otherwise. 140 ELEKTRONIKA IR ELEKTROTECHNIKA, ISSN 1392–1215, VOL. 20, NO. 6, 2014 B. Determining Ridge Direction accordingly. The value of the I(,) i j pixel centred in the The directions of the ridges on fingerprint are used in mask is obtained from (10): several purposes such as to enhance the quality of the fingerprint image and to classify the fingerprint. The 1 4 K W( u , v ), (9) following steps are applied to determine the ridge direction u1 v 4 [5]. Fingerprint is divided into wxw sized blocks. The 1 1 4 gradient values in x and y directions of each pixel in the I(,) i j W( u , v ) I ( i'' , j ). (10) K u1 v 4 block are calculated by sobel operator of ( x ji ),( , ji ),( as given in (4) and (5): y D. Binarization Binarization is the transformation process of image pixels 1 0 1 into black or white scale. In this stage, the average value of x(i , j ) 2 0 2 , the local block is taken as threshold for binarization. This 1 0 1 process is done by applying following steps. (4) Fingerprint is divided into wxw sized blocks where w is 1 2 1 taken as 9. The average value of gray scale value for block (i , j ) 0 0 0 . y centred in (,)i j is calculated (11) 1 2 1 1 i w/2 j w/2 The direction of wxw sized block centred in (i,j) is I(,) i j I( u , v ). (11) Local mean w* w calculated as given in (6): u i w/2 v j w /2 i W /2 j W /2 If I(,) i j ILocal mean (,) i j , then pixel is signed as white Vy (,) i j 2x (u , v ) y ( u , v ), (5) u i W/2 v j W /2 and otherwise as black. This equation can be stated as given in (12): i W /2 j W /2 2 2 Vx (,) i j x (u , v ) y ( u , v ), (6) u i W/2 v j W /2 255 (white ), if I ( i , j ) ILocal mean (i,j), C (12) 1 Vy (,) i j 0 (black ), otherwise. (i , j ) tan1 , (7) 2Vx ( i , j ) E. Thinning Fingerprint where ji ),( gives the angular direction of the block (7) Thinning process is to express the binarized fingerprint in centred in (i, j). terms of a single pixel thickness. Thinning process consists of four stages [7], [8]. Firstly, the targeted pixel has to be C. Enhancement Algorithms black. If the pixel is white this step is skipped. Secondly, Enhancement is the elimination process of fingerprint vertical and horizontal neighbours of the targeted pixel have from noises. After determination of the ridge direction, the to be white. Thirdly, at least one neighbour of the pixel has mask of (3 × 9) shown in Fig. 2 is applied to fingerprint to be black. Finally, while the targeted pixel is to be image taking the direction of ridge into consideration. By removed, if connection is breaking down, the pixel has not means of this process, tiny disconnections are repaired and to be removed. also the ridge is smoothed [6]. F. Elimination Algorithm If enhanced fingerprint image is studied carefully, on fingerprint ridges, disconnection, tiny bifurcation points and jiI ),( small lines in few pixels length can be found. These have to be removed by an elimination algorithm [9], [10]. ji ),( III. EVALUATION PLATFORMS a) b) A. AM3359 Sitara Processor Platform Fig. 2. Enhancement mask and its application. The first test platform used in this study is a SBC (single Enhancement algorithm consists of following steps: board computer) called BeagleBone Black. This SBC is Transformed coordinates of I(i,j) pixel are calculated by based on Sitara AM3359 MPU. AM3359 is manufactured by following equations: Texas Instruments, has an ARM Cortex-A8 32-bit RISC core running at speed of 1 Ghz. Sitara processors are designed for high performance, feature-rich and low-power j' j ( u .cos v .sin ), (8) industrial and consumer applications [11]. In this study, ' i i ( u .sin v .cos ), HDMI output of the board is converted to VGA signal using external converter hardware in order to display pre- where u and v take (-4, -3, …, 3, 4) and (-1, 0, 1) values processor application GUI on a monitor. 141 ELEKTRONIKA IR ELEKTROTECHNIKA, ISSN 1392–1215, VOL. 20, NO. 6, 2014 The operating system running on BeagleBone Black is The application is built for AM3359 and OMAP-L138 Angstrom Linux 2013.09.05 distribution build for ARM ARM9 core using this project structure and appropriate Cortex-A8 architecture. Windows manager is disabled to libraries and tool chains. For DSP implementation of the save system resources so the application uses Linux frame algorithms, an extra tool is used. This tool provides access to buffer mechanism to display GUI on monitor. DSP core from ARM side of OMAP-L138 processor. Design of pre-processor application is realized on a PC B. C6Run and DSP Side Programming running Linux Mint 15 operating system. This application is built with Qt 4.8.5 cross platform GUI library using ×86. For The C6Run tool moves DSP development into the domain PC target of our application, pre-built Qt 4.8.4 library of the ARM/Linux programmer by masking many of the provided in Linux Mint is used with GCC 4.7.3 compiler. details of programming the DSP. With C6Run, the user can For ARM target of our application, Qt 4.8.5 source code is move pieces of an application from the ARM core to the configured and built for ARM Cortex-A8 architecture using DSP core by simply rebuilding code. This tool enables code GCC version 4.6.3 (Sourcery CodeBench Lite 2012.03-57). executing on the DSP to appear as just another process in the ARM version of the application is compiled and built on PC ARM operating system [13].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us