2011-01-27 27 views
15

Estoy usando el formato de datos de huellas dactilares ISO 19794-2. Todos los datos están en el formato ISO 19794-2. Tengo más de cien mil huellas dactilares. Deseo hacer una búsqueda eficiente para identificar el partido. ¿Es posible construir una estructura de árbol binario para realizar una búsqueda eficiente (más rápida) de concordancia? o sugiéreme una mejor manera de encontrar el partido. y también me sugieren una API de código abierto para que java haga corresponder las huellas dactilares. Ayuadame. Gracias.iso 19794-2 formato de huella digital

+0

¿De dónde sacaste los datos de la huella dactilar? – Yehonatan

+0

@Yehonatan: de mi cliente. – brainless

+0

@brainless y el cliente es ...? – Yehonatan

Respuesta

18

¿Tiene un fondo en la coincidencia de huellas dactilares? No es un problema simple y necesitarás un poco de teoría para abordar ese problema. Eche un vistazo al this introduction to fingerprint matching del BioLab de la Universidad de Bolonia (un laboratorio de investigación líder en este campo).

Respondamos ahora a su pregunta, que es cómo hacer que la búsqueda sea más eficiente.

Las huellas dactilares se pueden clasificar en 5 clases principales, de acuerdo con el tipo de macro singularidad que exhiben.

Hay tres tipos de macro-singularidades:

  • verticilo (una especie de círculo)
  • bucle (una inversión de U)
  • delta (una especie de tres -way crossing)

De acuerdo con la posición de aquellos macro -singularities, se puede clasificar la huella digital en esas clases:

  • arco
  • arco de tiendas de campaña
  • bucle derecho
  • lazo izquierdo
  • espiral

Una vez que haya reducido la búsqueda a la clase correcta, puede realizar sus coincidencias.A partir de su pregunta, parece que tiene que hacer una tarea de identificación, así que me temo que tendrá que hacer todas las comparaciones, o bien agregar algunas capas de preprocesamiento (como la clasificación sobre la que escribí) para estrechar aún más el campo de búsqueda.

Puede encontrar mucha información acerca de la coincidencia de huellas dactilares en el libro Handbook of Fingerprint Recognition, de Maltoni, Maio, Jain y Prabhakar, investigadores líderes en este campo.

Para leer el formato ISO 19794-2, puede usar algunas utilidades desarrolladas por NIST llamadas BiomDI, Software Tools supporting Standard Biometric Data Interchange Formats. Podría tratar de interactuar con algoritmos de coincidencia de código abierto como el que se encuentra en this biometrics SDK. Sin embargo, necesitaría mucho trabajo, incluida la conversión de un formato a otro y la puesta a punto de algoritmos.

Mi opinión (como estudiante de doctorado que trabaja en biometría) es que en este campo puede escribir fácilmente código que hace el 60% de lo que necesita en poco tiempo, pero el 40% restante será:

  • difícil de escribir (20%); y
  • realmente difícil de escribir sin dinero ni tiempo (20%).

Espero que ayude!

Edición: información añadida sobre NIST BiomDI

Editar 2: ya que la gente a veces me pregunta por correo electrónico una copia de la norma, que por desgracia no tengo con quien compartir. Todo lo que tengo es un link to the ISO page that sells the standard.

+0

@Andrea Spadaccini: Muchas gracias :-) – brainless

+0

De nada, si necesita más ayuda, avíseme :) –

+0

@Andrea Spadaccini: ¿cómo me puedo comunicar con usted? ¿Tienes Facebook? o puede darme su identificación de correo por favor? – brainless

2

El formato iso especifica mecanismos útiles para los parámetros de coincidencia y decisión. Decide qué mecanismo deseas emplear para identificar el partido y los parámetros de decisión relevantes. Cuando haya determinado estos mecanismos y parámetros de decisión, examínelos para ver cuáles son capaces de colocarse en un orden, con un alto grado de valores individuales, ya que desea evitar múltiples colisiones en los datos. Cuando haya identificado una pequeña cantidad de elementos de datos (preferiblemente uno) que tengan esta propiedad, calcule la propiedad de cada huella digital, preferiblemente a medida que se agreguen a la base de datos, aunque inicialmente se puede realizar una carga masiva. Luego, la búsqueda de una coincidencia se realiza en la característica calculada, y puede realizarse mediante un árbol binario, un árbol rojo-negro o una variedad de otros procesos de búsqueda. No puedo recomendar una estrategia de búsqueda particular sin saber qué forma y grado de diferenciación de valores tiene en su base de datos. Tal estrategia de búsqueda debería, sin embargo, ser capaz de entregar un (pequeño) rango de posibles coincidencias, que luego pueden probarse individualmente contra su mecanismo y parámetros de coincidencia, antes de decidir una coincidencia específica.

Cuestiones relacionadas