algoritmo de obtención de características · pdf filecaracterísticas de...

Download ALGORITMO DE OBTENCIÓN DE CARACTERÍSTICAS · PDF fileCaracterísticas de una huella dactilar The algorithm has been developed using C programing language, in order to be implemented

If you can't read please download the document

Upload: lyngoc

Post on 06-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 -