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
Respuesta
¿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.
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.
- 1. Huella digital de video digital de código abierto
- 2. caché de huella digital de URL en Amazon S3
- 3. ¿La mejor manera de generar una huella digital de máquina?
- 4. Obtener huella digital del certificado de la aplicación de Android
- 5. Keytool genera huella digital SHA1 en lugar de MD5?
- 6. Rails 3.1 activos no tiene huella digital en la producción
- 7. Cómo convertir voz humana en formato digital?
- 8. ¿Cómo recuperar/calcular la huella digital de un certificado X509 en Java?
- 9. Encontrar archivos de video duplicados por base de datos (millones), huella digital? ¿Reconocimiento de patrones?
- 10. ¿Manera eficiente de tomar una huella digital de una imagen (jpg, png, etc.)?
- 11. Formas de crear una huella digital de usuario única en PHP
- 12. ¿Qué comando uso para ver cuál es la huella digital de clave ECDSA de mi servidor?
- 13. ¿Hay una utilidad de línea de comandos para extraer la huella digital del certificado?
- 14. Obtener la huella digital del certificado del servidor HTTPS desde la línea de comandos?
- 15. Obtención de una huella digital SSH desde una clave pública en Python
- 16. OpenCV/SURF ¿Cómo generar una imagen hash/huella digital/firma fuera de los descriptores?
- 17. Cómo calcular la huella digital SHA-1 del certificado X.509 en C/C++/Objective-C?
- 18. ¿Cómo funciona la huella digital musical (para sitios como Shazam y Lala.com)?
- 19. ¿Cómo se calcula la huella digital SHA-1 del certificado X.509?
- 20. www.bitbucket.org certificado con huella digital problema no verificado mientras se realizan cambios
- 21. Rails asset Pipeline en la puesta en escena: huella digital correcta, pero 404ing
- 22. formato de fecha de Javascript como ISO pero local
- 23. Mostrar texto en un UILabel en formato digital?
- 24. La conversión de una fecha normal al formato ISO-8601
- 25. Cómo analizar una fecha con formato ISO en Flex (AS3)?
- 26. Cómo crear un .NET DateTime desde el formato ISO 8601
- 27. PHP ¿Convertir la fecha ISO a un formato más legible?
- 28. ¿Cómo puedo obtener la huella digital MD5 de la herramienta de claves de Java, no solo SHA-1?
- 29. XML Digital Signature Java
- 30. Tratando con "[HOST_KEY_NOT_VERIFIABLE] No se pudo verificar la clave de host 'ssh-rsa` con huella digital" en sshj
¿De dónde sacaste los datos de la huella dactilar? – Yehonatan
@Yehonatan: de mi cliente. – brainless
@brainless y el cliente es ...? – Yehonatan