Pregunta

Estoy usando el formato de datos de huellas digitales ISO 19794-2. Todos los datos están en el formato ISO 19794-2. Tengo más de cien mil huellas digitales. Deseo hacer una búsqueda eficiente para identificar la coincidencia. ¿Es posible construir una estructura de árbol binario para realizar una búsqueda eficiente (más rápida) de la coincidencia? O sugiéreme una mejor manera de encontrar el partido. Y también sugiéreme una API de código abierto para Java para que coincida con las huellas digitales. Ayúdame. Gracias.

¿Fue útil?

Solución

¿Tiene un fondo en la coincidencia de huellas digitales? No es un problema simple y necesitará un poco de teoría para abordar tal problema. Mira esto Esta introducción a la coincidencia de huellas digitales por Bolonia de la Universidad de Bolonia (un laboratorio de investigación líder en este campo).

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

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

Hay tres tipos de macrogingularidades:

  • espira (una especie de círculo)
  • círculo (A U Inversión)
  • delta (una especie de cruce de tres vías)

Según la posición de esas macrogingularidades, puede clasificar la huella digital en esas clases:

  • arco
  • arco de la tienda
  • bucle derecho
  • bucle izquierdo
  • espira

Una vez que haya reducido la búsqueda a la clase correcta, puede realizar sus partidos. A partir de su pregunta, parece que tiene que hacer una tarea de identificación, por lo que me temo que tendrá que hacer todas las comparaciones, o de lo contrario 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 sobre la coincidencia de huellas digitales en el libro Manual de reconocimiento de huellas digitales, por Maltoni, Maio, Jain y Prabhakar - Investigadores líderes en este campo.

Para leer el formato ISO 19794-2, podría usar algunas utilidades desarrolladas por NIST llamada Biomdi, herramientas de software que admiten formatos de intercambio de datos biométricos estándar. Puede intentar interactuar con algoritmos de coincidencia de código abierto como el que se encuentra en Este sdk de biometría. Sin embargo, necesitaría mucho trabajo, incluida la conversión de un formato a otro y el ajuste de los algoritmos.

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

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

¡Espero que ayude!

Editar: Se agregó información sobre NIST Biomdi

Edición 2: Dado que las personas a veces me envían un correo electrónico pidiendo una copia del estándar, desafortunadamente no tengo uno para compartir. Todo lo que tengo es un Enlace a la página ISO que vende el estándar.

Otros consejos

El formato ISO especifica mecanismos útiles para los parámetros de coincidencia y decisión. Decida qué mecanismo desea emplear para identificar la coincidencia 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 ser puesto en un pedido, con un grado bastante alto de valores individuales, ya que desea evitar múltiples colisiones en los datos. Cuando haya identificado un pequeño número de elementos de datos (preferiblemente uno) que tienen esta propiedad, calcule la propiedad para cada huella digital, preferiblemente a medida que se agregan a la base de datos, aunque una carga a granel se puede hacer inicialmente. Luego, la búsqueda de una coincidencia se realiza en la característica calculada, y puede ser realizada por 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 los valores que tiene en su base de datos. Sin embargo, dicha estrategia de búsqueda debe ser capaz de entregar un rango (pequeño) de posibles coincidencias, que luego se pueden probar individualmente contra su mecanismo y parámetros de coincidencia, antes de decidir una coincidencia específica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top