Thursday, November 02, 2006

Sistema biométrico

Hace tiempo comencé un proyecto para sustituir un reloj checador de una empresa por un sistema biométrico. La virtud de esta idea es que los empleados que antes checaban tarjeta, ahora no tienen que hacerlo más, ya que en lugar de esto, ponen su dedo en un aparatito que lee su huella digital y registra su entrada/salida al/del trabajo.

En realidad, creo que, además de implantar un sistema a prueba de fraudes (como por ejemplo, que un empleado cheque la tarjeta de otro que no ha llegado aún a trabajar), el proceso de control se puede hacer de manera mucho más simple usando software de esta naturaleza, pues el registro queda grabado en una base de datos y de ahí se pueden sacar estadísticas de asistencia, ya sea del total de empleados como personalizarlo. Es más, si el sistema mide la hora de entrada y salida, se puede verificar las horas trabajadas, las horas extras reales, etc. En fin, que hay suficientes argumentos para hacer sistemas de esta naturaleza.

Pues bien, me hice de una biblioteca de funciones (Griaule) y comencé el desarrollo. Ahora mismo tengo un sistema que lee las huellas digitales y las guarda en una base de datos (en un campo BLOB), con el nombre del dueño de esa huella digital y su foto. Sin embargo, el procedimiento de búsqueda de huellas digitales sobre la base de datos que se tiene, no parece ser muy preciso. En mis primeras pruebas el sistema reconoce en ocasiones con mucha precisión y en otras simplemente no reconoce nada y me dice que la huella digital no está en la base de datos. Curiosamente, el sistema que se instala con el lector de huellas digitales, siempre reconoce mi huella a la primera oportunidad.

De acuerdo al fabricante de la biblioteca de funciones de las huellas digitales, puede revisar hasta 30,000 huellas por segundo. Suena rápido, pero la verdad, también quiero precisión. Quiero creer que el problema está en mi algoritmo de búsqueda de huellas, el cual estoy debugeando en estos momentos. Seguiremos informando.

1 comment:

Darío said...

Que tal? Lei tu post, soy programador y estoy trabajando en lo mismo con la misma empresa. Lo que sé donde conseguirlo es una base de datos con un volumen aceptable para hacer pruebas de performance. Vos sabes si se pueden generar "aleatoriamente" los templates a fin de tener unos cuantos para probar?

Si te puedo ayudar en algo... ;-)