ALGORITMO DE OBTENCIN DE CARACTERSTICAS EN HUELLASALGORITMO DE OBTENCIN DE CARACTERSTICAS EN HUELLAS
DACTILARES PARA SISTEMAS EMBEBIDOS GNU/LINUXDACTILARES PARA SISTEMAS EMBEBIDOS GNU/LINUX
Autor: Joaqun Diego Reyes Gonzlez
Director: Cesreo Fernndez Martnez
Se trata de un proyecto innovador en el que se desarrolla un algoritmo
capaz de obtener unas determinadas caractersticas de una huella dactilar. Las
caractersticas en las que ste algoritmo se centra son la bifurcaciones de las
crestas. Una bifurcacin es un punto en el que la cresta, o parte de la huella que
queda plasmada, se divide en dos. Entre otras caractersticas de una huella
dactilar, podemos destacar las siguientes:
Caractersticas de una huella dactilar
El algoritmo desarrollado ha sido programado utilizando el lenguaje C, de
forma que ha sido posible implantar en una pequea placa, similar a la que
poseen muchos ordenadores de bolsillo. De esta forma, aunque el algoritmo ha
sido desarrollado en un ordenador PC, con la distribucin GNU/Linux Debian
RESUMEN DEL PROYECTO - 1 -
instalada, para llevar a cabo el proceso de implantacin ha bastado con compilar
el cdigo con un compilador cruzado apropiado para la placa utilizada, que se
encuentra gobernada por un microprocesador Intel Xscale de 400MHz. Sin
embargo, antes de llevar a cabo ste proceso de implantacin ha sido necesario
un completo estudio de la placa llegando a la conclusin de que no posee unidad
de coma flotante y que las funciones matemticas que lo pueden necesitar utilizan
una serie de libreras de coma flotante. Sin embargo, hemos comprobado que el
rendimiento de stas libreras no es aceptable, ya que un mismo algoritmo usando
variables en coma fija, es del orden de treinta veces ms rpido que el mismo
algoritmo utilizando variables en coma flotante.
El algoritmo desarrollado obtiene las caractersticas comentadas,
bifurcaciones, gracias a un procesamiento digital de la imagen de entrada. sta
imagen puede ser de cualquier tamao, aunque no se recomienda que tenga ms
de 300 pxeles de ancho alto, es decir, la mxima resolucin recomendada es
300x300 pxeles. La imagen que se desea procesar debe estar en el formato PNM
y, ms concretamente, en formato PPM, una de las variantes del formato PNM.
ste formato posee como caracterstica fundamental que almacena los datos en
texto plano y puede ser ledo desde un programa en C de forma fcil y sencilla.
El procesamiento digital de la imagen realiza varios subprocesos
correlativos, que vienen resumidos a continuacin:
Imagen Original Imagen Atenuada Matriz de direcciones
El primer proceso consiste en la lectura de la imagen, para despus
atenuarla, en un segundo proceso, de forma que se aproveche al mximo el
margen de los valores de la imagen (255 para un pxel blanco y 0 para un pxel
negro). En un tercer proceso se realiza un anlisis pxel a pxel para averiguar
RESUMEN DEL PROYECTO - 2 -
0153045607590105120135150165
cul es la direccin dominante, es decir, la direccin en la que el pxel est ms
rodeado por pxeles negros o por pxeles blancos, teniendo la posibilidad de que
el algoritmo defina el pxel como negro o blanco si existe un claro dominio de los
pxeles cercanos. Los siguientes procesos del algoritmo se muestran en las
siguientes imgenes:
Imagen Binarizada Esqueletos Obtenidos Caractersticas obtenidas
Una vez que tenemos la imagen atenuada y la matriz de direcciones,
procedemos a pasar la imagen a blanco y negro, que es lo que conocemos como
imagen binarizada. Tras ste cuarto proceso, cabe la posibilidad de realizar lo que
se conoce como proceso de apertura (opening) y cierre (closing), de forma que se
pueda filtrar el ruido, es decir, puntos negros sobre fondo blanco o puntos
blancos sobre fondo negro. El siguiente proceso, sera aquel en el que se obtienen
los esqueletos o parte central de las crestas de la huella, a partir del cual trabaja el
ltimo proceso, buscando cambios bruscos de las direcciones de los esqueletos,
definiendo as los puntos donde se encuentran las bifurcaciones.
En resumen, nuestro algoritmo lee una imagen dada, la procesa mediante
varias modificaciones y devuelve una imagen igual que la original, en la que se
pueden apreciar puntos verdes all donde se han encontrado bifurcaciones.
RESUMEN DEL PROYECTO - 3 -
ALGORITHM TO OBTAIN CHARACTERISTICS OF FINGERPRINTSALGORITHM TO OBTAIN CHARACTERISTICS OF FINGERPRINTS
FOR GNU/LINUX EMBEDDED SYSTEMSFOR GNU/LINUX EMBEDDED SYSTEMS
Author: Joaqun Diego Reyes Gonzlez
Director: Cesreo Fernndez Martnez
It is an innovation project which one algorithm is developed in. This
algorithm is able to obtain some of the most important characteristics of one
fingerprint: the bifurcations. One bifurcation is a point of the fingerprint where
three ridges are meet. However, there are another important characteristics in a
fingerprint, as we can see below:
Caractersticas de una huella dactilar
The algorithm has been developed using C programing language, in order
to be implemented into small devices, like Pocket PCs and similar. Although the
algorithm was developed using a computer, running with GNU/Linux Debian
Distribution, it can be compiled with a cross-compiler designed for use in our
small device, so the implantation process must be so easy like transfer the
ABSTRACT OF THE PROJECT - 1 -
executable file to the device and run it. The MipScale device are moved by an
Intel Xscale PXA255 processor running at 400MHz, with 32 MB of RAM
Memory.
It is necessary a particularly research about MipScale device, because
there is no present a float point unit, but there are some library which work such
as a float point unit. However, the performance of this libraries is lower than the
performance of a float point unit, so the algorithm must use only integer
variables, in order to be thirty times faster than the same algorithm than uses float
variables.
The developed algorithm is able to obtain characteristics, bifurcations,
using a digital image processing, whenever the resolution of the input image is
nearly or smaller than 300x300. The input image must be present by PNM
format, specifically PPM. The PNM format store the information about the image
using plain text, without any compression, so it is very easy read and write
images from a C language code.
The image digital processing have a few sequential steps, whose effects
we ca see below:
Original Image Attenuate Image Matrix of directions
The first step is the responsible of the image reading process. This image
must be attenuate in order to obtain the maximum performance, using all values
from 0 until 255, which are the minimum and maximum values. At the third step,
a matrix directions is obtained which inform about the main direction of each
pixel. The information of this matrix can be use to determinate if one pixel must
me white or must be black in function of the color of the neighbors pixels.
ABSTRACT OF THE PROJECT - 2 -
0153045607590105120135150165
There are more developed steps, as we can see below:
Binary Image Obtained Skeletons Obtained Characteristics
The fourth step gets a binary image from attenuate image, and it is
possible to continue it with a opening and closing process, looking for a new
clearly image and eliminate white pixels with black background and black pixels
with white background. The next step is to obtain the skeletons of the ridges
aimed to obtain the characteristics of the fingerprint, where there is a pixel whose
main direction change suddenly.
In conclusion, the developed algorithm read an input image, complete a
digital image processing and write a several images, witch the last one show the
characteristics as green pixels.
ABSTRACT OF THE PROJECT - 3 -
Top Related