Blog

Algoritmos Biométricos en la Era de Computación Paralela

Históricamente, la industria de los semiconductores ha sido capaz de ir incrementando la velocidad de reloj de los microprocesadores a medida que se iba doblando el número de transistores a cada nueva generación. Desafortunadamente, debido a problemas relacionados con el consumo energético, la mayoría de los fabricantes de microprocesadores optaron por abandonar esa estrategia y centrarse en microprocesadores multinúcleo. Las GPUs modernas van incluso más allá que los microprocesadores e integran cientos de núcleos con un consumo energético razonable. Debido a este cambio en la industria, las compañías de software se han visto forzadas a adoptar los algoritmos tradicionales secuenciales que estaban diseñados para ser ejecutados en un único núcleo. Este trabajo de paralelización no es tan sencillo como a priori pueda parecer. Por norma general, los humanos estamos acostumbrados a pensar nuestras acciones de forma secuencial. ¿Serías capaz de imaginarte rápidamente cientos de acciones simultáneas en paralelo (algunas de ellas incluso con interdependencias)? La mayoría de las mentes más brillantes del mundo y los programadores no son capaces de ello (y parece razonable). En nuestra vida diaria, tendemos a agobiarnos si tenemos que realizar nueve o diez cosas importantes al mismo tiempo. Parece ser que nuestro cerebro no está diseñado para operar en modo multitarea. Cuantas más tareas intentemos efectuar en paralelo (por ejemplo, contestar un correo electrónico mientras estemos realizando una llamada telefónica), más probable será que cometamos un error debido a haber prestado atención insuficiente. Ésta es la razón por la cual programar código escalable y paralelo para dispositivos como las GPU es un proceso largo y tedioso. Generalmente, cuando escribimos código para estas arquitecturas suele ser problemático y complicado de depurar. No es complicado encontrarse en la situación de tener que dedicar meses programando código paralelo para una operación particular de kernel cuya versión secuencial podría programarse y testearse en un par de días.

En esta nueva era de computación paralela, si una empresa quiere lanzar al mercado un producto software que explote al máximo todas las capacidades del último hardware paralelo disponible en el mercado, sin duda alguna tendrá que invertir más dinero y recursos de los que fueron requeridos en el pasado. Nosotros, en Herta Security, empezamos a adoptar técnicas de paralelización desde el principio en todos nuestros productos. Además, rápidamente nos dimos cuenta de que los algoritmos biométricos pueden beneficiarse de la paralelización de grado fino y de la ejecución de computaciones vectoriales paralelas. Tanto es así, que múltiples etapas del pipeline biométrico tradicional como el proceso de extracción de características es inherentemente paralelo. Sin embargo, la complejidad de los patrones de acceso a memoria de algunas características biométricas hacen que las estrategias de reutilización de datos, caching y prefetching se conviertan en un auténtico reto a la hora de implementarlas. Con la aparición de la computación en GPU, el programador tiene que enfrentarse a millones de hilos de forma concurrente, sincronizarlos, y aprovechar al máximo la arquitectura heterogénea de las memorias cache de estos dispositivos para reducir la latencia tanto como sea posible. Aunque dichas tareas sean lentas y tediosas desde el punto de vista de la investigación y el desarrollo, nos permite a las compañías de software desarrollar productos de buena calidad que escalan correctamente con los últimos avances en hardware. El objetivo último es proporcionar a los clientes una experiencia de usuario imbatible.

La ‘cara B’ de las biometrías

Ya son muchas las biometrías que forman parte del conocimiento popular. Aparte de la omnipresente huella dactilar, hoy en día resulta prácticamente imposible no tener constancia del reconocimiento facial o de iris, y qué decir de las constantes referencias mediáticas al análisis genético. Sin embargo, existen multitud de técnicas biométricas desconocidas para el público no especializado. Ya sea por estar todavía en fase experimental, ya por resultar mucho más inaccesibles que las anteriores, o bien están todavía lejos de la comercialización o bien no se consideran estándar por los expertos del sector. A continuación destacamos algunas de ellas.

  • Retina. La retina es un tejido fotosensible situado en la superficie interna del ojo, donde la luz exterior se proyecta y traduce a impulsos eléctricos enviados al nervio óptico para recrear la imagen proyectada. La clave de esta biometría es la gran cantidad de vasos sanguíneos que cubren la retina, dispuestos de forma diferente para cada persona. Los escáneres de retina aplican una fuente de luz coherente de baja intensidad para iluminar estos vasos sanguíneos y obtener una imagen de su distribución, que posteriormente se compara con otras plantillas almacenadas. Estos sistemas se utilizan desde la década de los setenta, especialmente para aplicaciones militares y de alta seguridad debido a su alta precisión. Como contrapartida, el análisis de retina es extremadamente invasivo y más lento que otras tecnologías como iris o huella.

scanner_retina

Escáner de retina [1].

  • Termografía facial. Se emplean cámaras infrarrojas para detectar los patrones de calor (termogramas) creados por las ramificaciones de las venas sanguíneas propias de cada persona. Esta biometría no invasiva tiene muchos paralelismos con el reconocimiento facial, pese a que, al contrario que este, la termografía facial es independiente de las a menudo difíciles condiciones de iluminación ambiental. A pesar de ello, su comercialización inicial ha sido imposible debido al coste tan elevado de su implementación, principalmente por el alto precio de las cámaras térmicas o termográficas empleadas.
  • Geometría de la mano. La base de esta biometría es la comparación de un conjunto de distancias y dimensiones medidas a partir de una imagen de la mano, por ejemplo su tamaño global, la longitud de cada dedo, la posición de las uniones o su forma. Su simplicidad la convierte en una tecnología barata y fácil de aplicar y, a diferencia de la huella dactilar, no se ve perjudicada por los cambios de temperatura o humedad de la piel. No obstante, las características biométricas empleadas no son muy distintivas, la geometría es variable durante la etapa de crecimiento y, por otra parte, las imágenes pueden contener elementos de distorsión, como anillos o pulseras, entre otros. En consecuencia, se pueden producir altos niveles de error en conjuntos grandes de usuarios.
  • Análisis de la marcha. El estudio espaciotemporal de la forma en que una persona camina es complejo: la marcha puede modificarse con el tiempo debido a lesiones, cambios de peso o alteraciones temporales de conducta, y no es excesivamente diferenciadora entre individuos. No obstante, esta biometría de comportamiento es aceptable para verificación en condiciones de baja seguridad, puede operar a distancia y las muestras de vídeo son fáciles y baratas de obtener. Para la verificación se tienen en cuenta factores como velocidad, cadencia, longitud y anchura del paso, o las medias de los ángulos en las diferentes articulaciones. Su uso también llega a aplicaciones no biométricas, como las de diagnóstico médico o modelado virtual de movimiento humano.

ground_support

Factores de trabajo para distintos tipos de marcha [2].

  • Forma de la oreja. Aunque su viabilidad está todavía siendo investigada, la biometría de la forma de la oreja es una prometedora técnica de identificación remota. Consiste en analizar la apariencia visual de la distintiva estructura cartilaginosa de la oreja que se proyecta exteriormente. Ésta se encuentra totalmente formada al nacer, y a excepción del lóbulo, que desciende con la edad, el resto se mantiene considerablemente invariable. Resulta especialmente útil al poseer imágenes laterales de un individuo, casos en los que el análisis facial se ve mucho más limitado. Entre sus grandes inconvenientes se encuentra la inevitable oclusión con el cabello, la no frontalidad de las vistas o la posibilidad de crear implantes artificiales.

ear

Transformada de rayos en imagen, utilizada para localizar la forma de la oreja [3].

  • Firma. Está generalmente aceptado que la forma en que alguien firma su nombre es propia y característica. Esta biometría, al ser de comportamiento, se ve afectada por condicionantes externos del individuo, tanto físicos como emocionales. Además, se requiere su cooperación, a diferencia de otras biometrías como la facial. Otro punto débil es la posible variabilidad de la firma a lo largo de la vida de una persona. Además de analizarse el nombre firmado y la rúbrica, un sensor adecuado permite obtener parámetros como la presión ejercida y la velocidad instantánea de ejecución.
  • Patrones cutáneos. La piel de una persona se caracteriza y distingue por el grueso de sus diferentes capas, pigmentación, densidad de colágeno y otras proteínas, estructura subyacente de los capilares, etc. El reconocimiento de patrones cutáneos analiza el espectro característico de la piel de un individuo por medio de técnicas espectroscópicas, trabajando con luz visible e infrarroja reflejada por la piel. Se trata de una biometría emergente.
  • Olor corporal. Esta biometría se basa en capturar sustancias químicas volátiles emitidas por los poros cutáneos. Todavía se encuentra en fase experimental a causa de la gran cantidad de dificultades asociadas, como la presencia de contaminantes externos (por ejemplo, olores intensos a perfume o a tabaco), el hecho de que el olor de una persona puede ser mucho menos distintivo que el de otra y la posibilidad de que dicho olor varíe significativamente a lo largo del tiempo, debido a factores dietéticos o fisiológicos.
  • Lecho ungueal. El lecho ungueal es una estructura longitudinal formada por hileras de piel prácticamente paralelas y ricas en patrones vasculares, unidas a estructuras dérmicas por medio de canales muy estrechos. La biometría de lecho ungueal escanea estas estructuras presentadas por la piel bajo las uñas de los dedos. Posteriormente, estos datos se tratan de forma similar a como lo hacen el resto de biometrías basadas en patrones vasculares.

[1] http://www.flickr.com/photos/hobbs_images, copyright CC BY-SA 2.0.

[2] Fihl, P. and Moeslund, T.B., “Classification of Gait Types Based on the Duty-factor“. AVSS 2007: IEEE International Conference on Advanced Video and Signal based Surveillance, London, UK, September 2007.

[3] Cummings, A. H., Nixon, M. S. and Carter, J. N. “The Image Ray Transform for Structural Feature Detection“. Pattern Recognition Letters 32(15). pp. 2053-2060, 2011

Reconocimiento Facial al Servicio de la Seguridad

En los últimos tiempos se ha hablado extensamente de biometría y privacidad. No es el objetivo de este escrito entrar en profundidad sobre este tema, sin embargo, cuando uno se dispone a hablar del reconocimiento facial, la referencia es casi obligada. Si echamos la vista atrás poco más de un mes, todos recordaremos los graves incidentes que tuvieron lugar en Londres. La policía se vio desbordada y los saqueos fueron innumerables. A pesar de que Reino Unido es el país nº1 del mundo en número de cámaras de vídeo vigilancia (el 20% del total mundial), nada pudo detener a los hooligans.

Tras controlar la situación, llega el momento de buscar a los responsables. Es en ese momento cuando muchos piensan en el reconocimiento facial, basados en la existencia de un número ingente de imágenes de diferentes rostros. Resulta que ahora sí la privacidad pasa a un segundo término frente a la seguridad. Resulta también que se pretende usar una tecnología que hasta ese momento había estado en un segundo plano. Entonces es cuando aparecen los problemas. Lo explica muy bien Tom Reeves, el editor jefe de la revista SecurityNewsDesk.com en su editorial de esta semana.

london-riots-2011

El reconocimiento facial no funcionó todo lo bien que muchos esperaban. Seguramente las imágenes no tenían resolución suficiente, no existían implantaciones previas de la tecnología con las fuerzas de seguridad y quizá también la base de datos con la que comparar no era ideal. La realidad es que finalmente se produjeron numerosas pérdidas para el pequeño comercio, mientras sólo una parte de los culpables fueron encontrados y castigados. Tal vez sea ahora el momento de aprender la lección y confiar paulatinamente en una tecnología capaz de reportar abundantes beneficios en lo que a seguridad se refiere.

El reconocimiento facial es una tecnología que ha mejorado a pasos agigantados tras los acontecimientos del 11S de 2001. A día de hoy, los sistemas con cámaras IP de alta definición son capaces de proporcionar capturas de calidad suficiente como para ser procesadas en tiempo real, incluso en movimiento. Por otro lado, los algoritmos actuales nos permiten realizar búsquedas en bases de datos de miles de usuarios en décimas de segundo. Todo ello permite augurar un brillante porvenir al reconocimiento facial.

Se estima que los costes de los disturbios en el Reino Unido para el contribuyente ascenderán a unos 100 millones de libras. ¿No es mejor entonces la prevención, que incluya la instalación de sistemas de seguridad más sofisticados? Y sí, es cierto que probablemente los sistemas actuales de reconocimiento facial no sean tan perfectos como algunos creen, pero no es menos cierto que pueden ayudar de forma inestimable a incrementar la seguridad existente. Se trata de conocer muy bien la tecnología y ajustarla a la aplicación deseada. A partir de ahí, la experiencia puede ser realmente sorprendente.

Autor: Javier Rodríguez Saeta

Blog de Herta Security

Bienvenido al nuevo blog de Herta Security.

En breve publicaremos artículos relacionados con la empresa, sus productos, sus actividades de investigación y el mundo de la biometría en general.