RECONOCIMIENTO AUTOMATICO DE

Anuncio
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
1. Introducción........................................................................................................ 1
2. Biometría............................................................................................................... 2
2.1 Definición ....................................................................................................... 2
2.2 Breve historia de la biometría................................................................... 3
2.3 Funcionamiento básico de sistemas biométricos .................. 4
2.4 Clasificación de sistemas biométricos.......................................... 7
2.4.1 Huellas dactilares ........................................................................... 10
2.4.2 Biometría facial ................................................................................ 11
2.4.3 Geometría de la mano.................................................................. 12
2.4.4 Reconocimiento de voz................................................................ 14
2.4.5 Reconocimiento mediante escaneado del iris ............... 15
2.4.6 Reconocmiento mediante análisis de ADN ...................... 16
2.4.7 Estándares asociados a las tecnologías biométricas 17
3. Reconocimiento de pisadas ..................................................................... 19
3.1 The ORL Active Floor (1997)............................................................ 19
3.2 The Smart Floor (2000)....................................................................... 19
3.3 The UBi Floor, Korea (2003)............................................................. 21
3.4 The EMFi floor, Finlandia (2004) ................................................... 22
4. Sistema empleado en el proyecto........................................................ 23
4.1 Introducción al sistema del laboratorio .................................... 23
4.2 El panel de sensores.............................................................................. 24
5. Trabajo con datos simulados .................................................................. 25
5.1 Introducción............................................................................................... 25
5.2 Estructura de los datos........................................................................ 25
5.3 Modelado aproximado del panel de sensores ........................ 26
5.3.1 Introducción ...................................................................................... 26
5.3.2 Modelado aproximado.................................................................. 26
5.4 Análisis de los datos simulados...................................................... 29
5.4.1 Introducción ...................................................................................... 29
5.4.2 Análisis de los sensores de forma independiente....... 29
5.4.3 Análisis del panel como sistema............................................ 34
5.4.4 Ground Reaction Force ................................................................ 35
5.4.5 Obtención de la GRF ...................................................................... 38
5.4.6 Obtención de superficies de presión y energía............. 45
5.4.7 Curvas de presión – modelo aproximado......................... 47
5.4.8 Curvas de energía – modelo aproximado......................... 50
5.5 Modelado a escala del panel............................................................. 57
5.5.1 Introducción ...................................................................................... 57
5.5.2 Matriz del modelo a escala del panel.................................. 58
5.5.3 Obtención de valores y mapeado en la matriz final... 60
5.5.4 Interpolación de la matriz de alta resolución................ 65
5.5.5 Interpolación por filtro de suavizado gaussiano ......... 66
5.5.6 Cálculo del filtro gaussiano discreto ................................... 68
5.5.7 Imágenes obtenidas en alta resolución ............................ 69
5.5.8 Umbral mínimo................................................................................. 76
5.5.9 Obtención del umbral mínimo................................................. 77
5.5.10 Superficies tras aplicación del umbral ............................ 79
_____________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6. Extracción de características.................................................................. 82
6.1 Área de la pisada ..................................................................................... 83
6.2 Determinación de picos de presión .............................................. 84
6.3 Ángulo de pisada ..................................................................................... 88
6.4 Comparación entre superficies de energía .............................. 89
6.4.1 Rotación y traslación de la superficie de energía ....... 90
6.4.2 Correlación de superficies de energía ................................ 92
7. Trabajo con datos reales ........................................................................... 95
7.1 Introducción............................................................................................... 95
7.2 Señales adquiridas del tablón de sensores ............................. 96
7.3 Acondicionamiento de las señales................................................ 97
7.4 Extracción de pisadas individuales de los ficheros .......... 101
7.5 Obtención de muestras completas ............................................. 105
7.6 Ejemplos de muestras reales y curvas GRF asociadas ... 108
7.7 Superficies de energía con muestras reales......................... 114
7.8 Umbral mínimo con muestras reales ........................................ 121
7.9 Extracción de características ......................................................... 122
8. Conclusiones ................................................................................................... 125
Apéndice I. Funciones para los datos simulados ........................... 126
I1. Listado de funciones ............................................................................ 126
I2. Códigos de las funciones................................................................... 128
Apéndice II. Funciones para las muestras reales.......................... 155
II1. Listado de funciones.......................................................................... 155
II2. Códigos de las funciones................................................................. 156
Bibliografía ............................................................................................................ 163
_____________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
1. Introducción
El objetivo de este proyecto es el estudio de la viabilidad del uso de las pisadas
humanas como señal biométrica. En otras palabras, se trata de trabajar en un sistema
que permite reconocer a las personas por su forma de andar o, en este caso, de pisar.
Para ello se ha trabajado en un laboratorio en el que se dispone de un panel de sensores
de presión dispuesto en el suelo y a través del cual se toman los datos necesarios que
posteriormente se utilizan para el estudio. Este proyecto pretende determinar si el
sistema es capaz de identificar automáticamente a un usuario con una tasa de error
mínima que lo haga viable para su uso en sistemas de seguridad o reconocimiento.
Existen diferentes métodos para abordar el diseño integral de un sistema de
reconocimiento a través de señales biométricas. Este proyecto trata de centrarse en las
características geométricas que pueden derivarse del procesado de los datos obtenidos.
En nuestro caso, estamos hablando de características geométricas en la distribución de
presión en un proceso de pisada al andar. Para ello, las técnicas de procesamiento de
imágenes van a jugar un papel fundamental en el desarrollo de este trabajo. Durante el
desarrollo de este proyecto, se ha trabajado en todo momento utilizando el lenguaje
matemático de programación MATLAB®, bajo entorno Linux.
Se va a comenzar realizando una introducción a la biometría en general; su
significado, historia, tecnologías y métodos utilizados en la actualidad, etc.
Posteriormente se detallarán los pasos y técnicas empleadas para la obtención de los
resultados; así como una explicación de los dispositivos utilizados en el laboratorio para
tal fin. Finalmente, se realizará un comentario y se obtendrán conclusiones de los
resultados obtenidos.
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
1
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2. Biometría
2.1 Definición
La palabra biometría es una composición de dos términos provenientes del
griego clásico: bios, que significa “vida” y metron que equivale a “medida”. La
biometría es el conjunto de métodos automáticos cuya finalidad es la identificación y
reconocimiento de las personas por medio de características fisiológicas y de
comportamiento.
Entre las características que se estudian dentro del extenso
campo de la biometría se encuentran: geometría facial,
huellas dactilares, geometría de la mano, escritura, código del
iris, retina, voz, etc.
Las tecnologías biométricas están cada vez adquiriendo más
importancia. Debido al notable incremento en las brechas de
seguridad de los actuales sistemas informáticos y en el
desarrollo de técnicas cada vez más complejas para llevar a
cabo actividades fraudulentas, la obtención de sistemas que
permitan la autenticación y verificación personal con una
máxima fiabilidad están resultando cada vez más importantes.
Entre los objetivos más importantes de las tecnologías basadas en biometría se
encuentran el asegurar la fiabilidad de las transacciones financieras personales y el
asegurar la privacidad individual. La necesidad para el desarrollo de este campo se
puede encontrar, sin ir más lejos, en la garantía de seguridad en aplicaciones militares y
financieras. Las infraestructuras de seguridad de las redes de comunicación de grandes
empresas, la identificación personal para identificación policial e IDs, banca electrónica
segura y otras transacciones financieras, ventas y servicios de salud y sociales se están
ya beneficiando de estas tecnologías.
Las tecnologías biométricas incluyen redes, estaciones de trabajo, acceso a
dominios, protección de datos, acceso remoto a recursos, seguridad de la web… El buen
funcionamiento de todos estos flujos de datos es esencial para el crecimiento de la
economía mundial. Empleado conjuntamente con otras tecnologías tales como tarjetas
inteligentes, códigos de encriptamiento o firmas digitales, la biometría está en general
destinada a preservar todos los aspectos de la economía en nuestra vida diaria. El uso de
estas técnicas para identificación personal está convirtiéndose en un método
considerablemente más seguro que el uso de contraseñas o códigos PIN. Esto es en
parte debido a que las técnicas biométricas hacen referencia directamente a la persona
en concreto que hace uso de ellas en ese momento.
Existe la llamada Sociedad Internacional de Biometría, fundada en 1947, cuyo
objetivo es el desarrollo continuo de métodos cualitativos y cuantitativos, así como de
técnicas matemáticas y estadísticas que impulsen el desarrollo y diseño de los sistemas
dedicados a hacer uso de las características biométricas.
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
2
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2.2 Breve historia de la biometría
La biometría no fue introducida en las culturas occidentales hasta finales del
siglo XIX, aunque se sabe a ciencia cierta que ya se empleaban técnicas biométricas en
china hacia el siglo XIV. Los primeros documentos que se tienen sobre su uso fueron
redactados por el explorador Joao de Barros, que afirmaba que los comerciantes chinos
estampaban las impresiones y las huellas de la palma de las manos de los niños en papel
con tinta. De esta forma, los comerciantes podían distinguir entre los niños jóvenes.
La primera utilización aplicada de las técnicas biométricas tiene lugar en 1890,
cuando Alphonso Bertillon, policía parisino, desarrolló un sistema de estudio de la
mecánica y medidas del cuerpo para identificar a los criminales. El método se utilizó
hasta que identificó incorrectamente a algunos sujetos. El método se abandonó en favor
del uso de huellas dactilares, devuelta a su uso por el inspector Richard Edward Henry
de Scotland Yard.
Kart Pearson, un matemático londinense, realizó
investigaciones en el campo de la biometría en los
primeros años del siglo XX, en la Universidad de Collage,
Londres.
Realizó importantes descubrimientos en el campo de la
biometría a través del estudio estadístico de diferentes
aspectos, los cuales aplicó a la teoría de la evolución
animal.
Su trabajo incluyó el método de los momentos, el sistema
de curvas de Pearson y el test de chi2.
Alphonso Bertillon
Durante los años 60 y 70, se desarrollaron métodos para la identificación
personal a través de la firma personal. Sin embargo, el campo de investigación
biométrico quedó estancado hasta que diversas agencias militares y de seguridad
desarrollaron tecnologías más allá de las huellas digitales.
Los ataques terroristas del 11M impulsaron a las autoridades norteamericanas a
la instalación de sistemas de identificación en los aeropuertos. Sin embargo, muchos de
ellos nunca llegaron a completarla, debido a los altos costes que suponían. Desde el 7 de
julio del 2005, las autoridades británicas están usando tecnologías de reconocimiento
facial después de los atentados que tuvieron lugar en el metro de Londres. De hecho,
Londres dispone de más de 200.000 cámaras de seguridad que se han venido usando
desde 1960.
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
3
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2.3 Funcionamiento básico de sistemas biométricos
En un sistema informático de identificación biométrica, el usuario ingresa en el
sistema cuando una o más de sus características biométricas (físicas y de
comportamiento) son obtenidas. La información se proceso por medio de diferentes
técnicas y algoritmos y entonces introducida en una base de datos. En caso de que el
usuario sea nuevo, al darse de alta un modelo de sus características biométricas es
introducido en la base de datos para futuro uso en la identificación.
Figura 2.2.1 Diagrama sencillo de un sistema biométrico
La efectividad de un sistema biométrico se mide en términos del cociente de
falsa aceptación (False Accept Rate, FAR) y el cociente de falso rechazo (False Reject
Rate, FRR). La FAR mide el porcentaje de individuos que son incorrectamente
aceptados como usuarios del sistema, mientras que la FRR mide el porcentaje de
usuarios del sistema que son incorrectamente rechazados al intentar darse de alta en él.
En la prácticas, se suele emplear la EER (Equal Error Rate), o valor para el cual
la FAR y la FRR son equivalentes. Cuanto más baja es esta tasa, más eficiente se
considera el sistema.
Figura 2.2.2 Gráfica de FAR, FRR y EER
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
4
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
El sistema de verificación compara las características obtenidas de la persona
que intenta acceder al sistema con las características almacenadas en la base de datos,
computa la similitud entre todas ellas y da como resultado una puntuación.
Dependiendo de esta puntuación y del umbral establecido se decide si dicha persona es
un legítimo usuario del sistema o un impostor.
Habitualmente, las bases de datos que
almacenan los datos biométricos se
dividen en tres partes: training set
(entrenamiento),
evaluation
set
(evaluación) y test set (prueba). El set
de entrenamiento se emplea para
construir los modelos necesarios de los
verdaderos usuarios del sistema. El set
de evaluación es necesario para
producir las puntuaciones correspondientes a los clientes e impostores, que permitirá
calcular el umbral óptimo que decidirá si una persona es verdaderamente un usuario
perteneciente al sistema.
Figura 2.2.3 Curvas de FAR y FRR
Los valores para FAR y FRR se obtienen de la siguiente manera:
FAR = EI/I * 100%
FRR = EC/C * 100%
Donde:
-
EI representa el número de veces que los impostores han sido aceptados.
I es el número de intentos de acceso de los impostores.
EC es el número de veces que los clientes han sido rechazados.
C es el número de intentos de acceso de los clientes.
En aplicaciones reales, el umbral deberá establecerse a priori, puesto que el
grado de seguridad y aceptación dependerá del escenario en concreto. En teoría, la
puntuación de los clientes debería ser siempre superior a la de los impostores. En tal
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
5
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
caso, solamente sería necesario establecer un umbral que separara los dos grupos
diferentes.
Sin embargo, debido a diferentes razones, esto no ocurre así en los sistemas
biométricos del mundo real. En algunos casos, las puntuaciones generadas por los
impostores pueden ser más altas que las generadas por los patrones de acceso de
algunos de los clientes legítimos. Por ello, independientemente del umbral de
clasificación establecido, siempre existirán errores de diferentes tipos.
El uso de un umbral muy alto permitiría que ningún patrón fuera falsamente
aceptado por el sistema. Por otra parte, clientes con una puntuación inferior a la
puntuación más alta de los impostores serían falsamente rechazadas. En contraposición,
un umbral muy bajo permitiría que ningún cliente fuera rechazado incorrectamente,
mientras que algunos de los impostores serían incorrectamente aceptados en el sistema.
Por ello, el umbral ha de escogerse en algún lugar entre esos dos puntos, de
forma que habrá lugar a errores de incorrecta aceptación e incorrecto rechazo.
Figura 2.2.4 Umbral establecido teniendo en cuenta los clientes
Figura 2.2.5 Umbral establecido teniendo en cuenta los impostores
Figura 2.2.5 Umbral establecido teniendo en cuenta
clientes/impostores
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
6
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2.4 Clasificación de sistemas biométricos
Desde los comienzos del uso de la biometría se han ido desarrollando diferentes
sistemas y tecnologías relacionadas con este campo. Las diferentes tecnologías cuentan
con ventajas e inconvenientes que las hacen apropiadas para su uso según el escenario
en concreto.
Las tecnologías biométricas en uso actual están muchas de ellas en fase de
desarrollo aún. Podemos hacer referencia, en primer lugar, a las más desarrolladas,
como es el caso de las huellas dactilares, el ADN o la geometría de la mano.
Estas tecnologías llevan muchos años
implantándose y siendo utilizadas en
numerosas aplicaciones y campos diferentes.
En el caso de ciertas otras tecnologías, se
encuentran en proceso de madurez y
actualmente
se
trabaja
para
su
implementación y aplicación a diferentes
escenarios y productos de la vida real.
En lo sucesivo, irán apareciendo
nuevas tecnologías, pero los estudios y toda
la teoría que subyace a todos estos diferentes
métodos está ya muy avanzada. Podemos mencionar entre éstas últimas el
reconocimiento por iris, voz, geometría facial y firma manuscrita.
Otras, como la termografía facial, estructura venosa, forma de las orejas, olores
y la forma de andar se encuentran en proceso de investigación y desarrollo.
A continuación se muestra una comparación entre las más conocidas y usadas
técnicas biométricas, señalando sus diferentes ventajas e inconvenientes.
Figura 2.4.1 Comparación entre diferentes tecnologías biométricas
Las características más importantes a destacar en este cuadro son:
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
7
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
- Verify (verificación): Indica si la tecnología en cuestión está capacitada para la
verificación. Por este término entendemos el proceso mediante el cual una entrada (un
usuario que intenta acceder al sistema) es comparado con ciertos datos almacenados
previamente por el usuario para comprobar si la persona que intenta entrar en el sistema
es realmente quien dice ser.
- ID: Indica si la técnica biométrica está capacitada para la identificación. Este es
el proceso mediante el cual los datos adquiridos de la persona que intenta acceder al
sistema son comparados con un gran bloque de datos almacenado previamente,
proveniente de muchos usuarios, para determinar de qué usuario se trata.
- Accuracy (efectividad): Hace referencia a la eficiencia de la tecnología a la
hora de distinguir a los diferentes individuos. En cierto modo, este parámetro se
determina a través de la cantidad de información obtenida de los usuarios, así como
también del número de posibles resultados diferentes que se pueden obtener.
- Reliability (fiabilidad): Este parámetro establece en qué medida la técnica
biométrica es adecuada para sistemas de reconocimiento.
- Error rate (tasa de error): Parámetro que se calcula a partir del punto de
intersección entre las curvas FAR y FRR, como ya se ha explicado en apartados
anteriores.
- Errors (errores): Indica las principales fuentes de error que afectan a la
efectividad de la tecnología en cuestión.
- False Pos. (FAR): Este parámetro indica cuánto de fácil es para un usuario o
impostor tomar la identificación de un usuario legítimo del sistema.
- False Neg. (FRR): Indica la facilidad con la que un usuario legítimo del
sistema no es capaz de identificarse como sí mismo al intentar ingresar el sistema de
reconocimiento.
Existen otras muchas formas de caracterizar a las diferentes tecnologías
biométricas. Parámetros como el coste del hardware requerido, aceptación por parte de
los usuarios, intrusismo o la facilidad de su uso o aplicación pueden ser factores
determinantes a la hora de decantarse por una u otra tecnología; todo dependerá, como
se ha dicho anteriormente, del escenario real en el que se vaya a poner en práctica la
técnica.
A continuación se detallan estas y otras características aplicadas a las técnicas
biométricas indicadas en el cuadro anterior:
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
8
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 2.4.2 Otras características de las tecnologías biométricas
- Security level: Indica el máximo nivel de seguridad al que se puede llegar con
esta técnica.
- Long-term stability (estabilidad a largo plazo): Establece hasta qué punto esta
tecnología es capaz de mantener un correcto funcionamiento sin actualizaciones o
modificaciones durante largos períodos de tiempo.
- User Accpetance: Indica la disponibilidad que, por norma general, tiene el
usuario a usar un sistema basado en esta tecnología.
- Intrusiveness (intrusismo): En ciertas ocasiones, el uso de ciertas tecnologías
biométricas puede suponer la invasión de la privacidad del usuario. Este parámetro
indica en qué medida el uso de un sistema basado en esta técnica requiere de suficiente
interacción con el usuario como para ser considerado intrusivo u ofensivo.
- Ease of use (facilidad de uso): Indica la facilidad con que esta técnica es
implementada y usada en un sistema real.
- Low Cost: Indica si la tecnología es apropiada para aplicaciones que requieren
bajo coste.
- Hardware: El tipo y coste de los equipos y dispositivos necesarios para la
implementación de la tecnología.
- Standards: Si existen o no standards aplicados a la tecnología.
En los siguientes apartados se da una explicación más detallada de las diferentes
tecnologías biométricas usadas en la actualidad y en proceso de desarrollo.
_________________________________________________________________________________
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
9
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2.4.1 Huellas dactilares
Las huellas dactilares, como tecnología biométrica, es probablemente el sistema
más extendido y conocido en este campo. Los sistemas de reconocimiento de huellas
dactilares se basan en las características encontradas en la impresión de las diferentes
ondulaciones sobre la yema de los dedos. Existen dos tipos diferentes de huellas
dactilares, planas y balanceadas. Las primeras se realizan sólo imprimiendo la parte
central del dedo, mientras que en el segundo caso se capturan ondulaciones en los
extremos de los dedos así como también en la parte central.
Las imágenes de las huellas dactilares son escaneadas, procesadas y convertidas
en modelos o patrones para su uso en comparaciones con otras huellas. Los patrones son
almacenados en bases de datos gigantescas para su uso policial, generalmente.
Para el registro de las huellas, el
usuario debe presionar sobre una
superficie lectora, generalmente silicio
o material óptico durante unos dos
segundos. El lector, que se encuentra
conectado generalmente a una red u
ordenador, envía los datos obtenidos al
sistema, el cual se encarga de
compararlos con los almacenados en la
base de datos. Esto requiere habitualmente mantener el dedo sobre el lector algunos
segundos. Para evitar diferentes técnicas de ataques al sistema, los lectores suelen estar
preparados también para detectar la presión sanguínea y otras características como la
correcta alineación de las ondulaciones en las huellas.
Las huellas dactilares comenzaron a usarse como método en el siglo XIV en
China, por los padres para diferenciar a sus hijos de otros. Los ingleses las comenzaron
a usar hacia 1858, cuando Sir William Herschel, magistrado del distrito de Hooghly en
Jungipoor (India), comenzó a realizar impresiones de huellas en los contratos realizados
con los nativos locales.
En la segunda mitad del siglo XIX, Richard Edward Henry, inspector de
Scotland Yard, desarrolló un método para indexar e identificar marcas en las huellas
dactilares. Este método, una versión avanzada del utilizado por Francis Galton en1882,
se utilizó de forma experimental y demostró ser extremadamente eficiente.
Las huellas dactilares como tecnología biométrica es la opción más viable para
muchas agencias federales, gracias al desarrollo de scanners y otros dispositivos de alta
precisión. Con una gran efectividad y relativa simpleza, el uso de las huellas dactilares
va a mantenerse en uso durante muchos años.
En uso para investigaciones criminales durante unos 100 años, el uso de huellas
dactilares parece expandirse sin límites. En la actualidad es un método muy común de
acceso a edificios o redes corporativas o policiales. Recientemente, diversas entidades
bancarias han comenzado a emplear este método para identificar a algunos de sus
clientes.
_________________________________________________________________________________ 10
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
El límite del uso de esta tecnología biométrica parece estar sólo en la disposición
del usuario a someterse a un scanner de sus huellas. Está demostrado que el uso de
varios dedos en el proceso de escaneado aumenta la efectividad del sistema
exponencialmente. Debido a la cantidad de información contenida en una huella dactilar
es muy improbable (1 posibilidad entre 64 billones) que dos huellas dactilares sean
idénticas e imposibles de distinguir.
Otra de las ventajas derivadas del uso de las huellas dactilares radica en el
pequeño tamaño de almacenamiento que requieren para su uso como patrones
biométricos, reduciendo así el tamaño requerido para la base de datos correspondiente.
Es también uno de los sistemas biométricos con más desarrollo, historia, investigación y
diseño.
2.4.2 Biometría facial
Las tecnologías de reconocimiento de rostros tratan de identificar a los
individuos por medio del análisis de ciertas características o rasgos clave tales como la
distancia entre los ojos o anchura de la nariz. Habitualmente, los métodos de
reconocimiento facial comparan una persona con un modelo o patrón almacenado
previamente, si bien se emplean también para la comparación entre imágenes y patrones
estáticos. Esta tecnología funciona igualmente para verificación e identificación y,
además, es el único sistema biométrico que puede usarse de forma secreta, para
vigilancia, ya que un rostro puede ser capturado fácilmente por diferentes tecnologías de
vídeo.
El funcionamiento de este tipo de sistemas
suele ser con el usuario a poca distancia del
capturador; durante unos segundos el sistema
localiza el rostro del individuo, determina las
características claves y realiza una comparación
con el resto de los patrones almacenados en la base
de datos del sistema.
Para evitar intentos de acceso fraudulentos
a este tipo de sistemas, los dispositivos suelen
requerir la realización de diversos gestos por parte
del individuo que intenta acceder, tales como
sonrisas y guiños, que aseguran que es realmente
una persona quien intenta acceder al sistema.
Esta tecnología tiene, usualmente, un grado muy bajo de fallo a la hora de
adquisición de los datos para su uso posterior. Sin embargo, la efectividad de los
sistemas de reconocimiento facial depende del entorno y la aplicación específicos.
Diversas pruebas de reconocimiento facial en aeropuertos han dado como resultado una
tasa de fallos de reconocimiento ente un 0.3% y 5%, mientras que la tasa de falsa
aceptación se sitúa ente un 5% y 45%. Los aspectos del entorno influyen decisivamente
en estas tasas, ya que aspectos tales como efectividad de las cámaras, posición del
rostro, expresión de la cara y ciertos rasgos particulares afectan decisivamente a los
_________________________________________________________________________________ 11
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
algoritmos de reconocimiento empleados en estos sistemas. Otros aspectos, como la
edad a la que se tomó el patrón, pueden degradar también la efectividad del sistema.
Uno de los aspectos fuertes de la biometría facial es su no intrusismo. La
verificación identificación puede realizarse a no mucha distancia del receptor y sin
requerir mucho tiempo por parte del individuo. Sin embargo, este no intrusismo también
puede llegar a ser una desventaja a la hora de su evaluación por parte de la opinión
pública. Muchos han expresado su preocupación acerca del potencial que, el uso de
cámaras y sistemas de reconocimiento facial distribuidos sin previo aviso en ciudades y
edificios, puede tener a la hora de identificar personas sin su conocimiento o
consentimiento. Sin embargo, las dificultades inherentes a la hora de realizar una
identificación positiva (requerimientos de luz, posición del rostro, etc.) son muchos, y
hacen de esta tecnología mucho más apropiada para sistemas de verificación, más que
para identificación.
Las tecnologías de reconocimiento facial pueden llegar a ser muy caras. Un
sistema de reconocimiento facial, controlando el acceso a unas 30,000 personas, puede
llegar a costar alrededor de $15,000 (fuentes 2004). Dependiendo del número de puntos
de acceso instalados para los dispositivos de reconocimiento, el coste de las licencias de
software necesarias puede variar entre $650 y $4,500. A medida que se requiera una
ampliación de las bases de datos, el coste global del sistema se dispara. En los casos en
los que se requiere la instalación de un sistema CCTV (circuito cerrado de televisión)
usado en conjunto con un sistema de reconocimiento de rostros, el coste del sistema
puede variar entre $10,000 y $200,000, dependiendo del tamaño del sistema y el tipo de
monitorización requerida. El uso adicional de cámaras CCTV puede variar entre $125 y
$500, llegando a $2,500 si poseen características específicas.
2.4.3 Geometría de la mano
Las técnicas biométricas que utilizan la geometría de la mano se basan en las
medidas de la anchura, altura, longitud de los dedos, distancias entre articulaciones y
forma de los nudillos.
Para el desarrollo de este tipo de sistemas se emplean
cámaras ópticas y diodos emisores de luz que cuentan con
espejos y reflectores, para obtener, habitualmente, dos
imágenes ortogonales en dos dimensiones de la parte
trasera y los laterales de la mano.
Tomando como base las imágenes obtenidas, alrededor de
unas 100 mediciones se calculan y convierten en un patrón
para su uso posterior en la base de datos correspondiente.
La mayoría de los lectores cuentan con mecanismos para
fijar la mano al lector y facilitar así el proceso de
reconocimiento. Esto conlleva una lectura consistente de
las diferentes muestras, lo que reduce en gran medida la
tasa de errores dada por el sistema
_________________________________________________________________________________ 12
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Los sistemas de reconocimiento por geometría de la mano se perciben como
sistemas muy fiables y se han venido utilizando en una gran variedad de empresas para
regular el control de acceso durante más de 30 años. Es muy útil para determinar y
establece restricciones de acceso o manejo de ciertos sistemas o redes. Se trata de una
tecnología relativamente estable; las primeras unidades, instaladas hacia 1991 se
encuentran aun en funcionamiento y las actualizaciones de este tipo de sistemas no
requieren un coste excesivamente elevado. El acceso a numerosas instalaciones
importantes se basa en este tipo de sistemas; podemos citar como ejemplo el aeropuerto
de San Francisco, el puerto de Rótterdam, la Base de las Fuerzas Aéreas en Escocia y
también se emplea en la Universidad de Oklahoma.
Tras su uso durante más de dos décadas, se ha demostrado que es una tecnología
ampliamente aceptada por los usuarios. Debido a que la captura de la imagen de una
mano se ve como algo menos intrusivo que otras tecnologías, la mayoría de los
individuos aceptan ingresar en las bases de datos que se basan en estos sistemas. Otro
aliciente más de esta tecnología es que permite a los usuarios de ciertas instalaciones
prescindir de tener que llevar consigo llaves, tarjetas de acceso, etc. Se planea su uso
futuro en numerosas instalaciones y universidades y, en la actualidad, se viene
empleando en unas 15,000 aplicaciones bancarias.
Esta tecnología tiene grandes ventajas que la hacen un punto fuerte. Es muy
sencillo para trabajadores y miembros el uso del sistema; no requiere más que poner la
mano sobre el dispositivo y esperar unos pocos segundos. Por otra parte, la cantidad de
información necesaria para la comparación e identificación es bastante pequeña
comparada con la de otras tecnologías. También es bastante robusta ante intentos de
usos fraudulentos o engaños del sistema.
También, el uso de esta técnica presenta diferentes desventajas que han de
señalarse también. Entre éstas podemos incluir el coste del hardware para el propietario
que instala el sistema. Los lectores de este tipo suelen costar entre $2,000 y $4,000.
También existen factores que pueden afectar a la efectividad el sistema, tales como
heridas o desgastes producidos en la palma de la mano.
Otra de las desventajas importantes en
este tipo de sistemas es la cantidad de
información adquirida en el proceso de toma
de datos. Esto hace que sea posible la
existencia de dos muestras iguales en la base
de datos, lo que puede conducir a error. Esto
hace que este tipo de sistemas sean preferente
utilizados para tareas de verificación,
eliminando la posibilidad de ser empleados en
sistemas de identificación.
_________________________________________________________________________________ 13
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2.4.4 Reconocimiento de voz
Las tecnologías de reconocimiento a través de la voz se basan en las diferentes
características presentes en la voz de las personas, resultantes de la distinta fisiología en
las cuerdas vocales y los hábitos del habla. El reconocimiento de voz hace uso de los
estudios y conocimientos que se tienen en los mecanismos de producción de la voz:
Figura 2.4.4.1 Sistema de producción de la voz
El proceso de producción de la voz es, a grandes rasgos:
1. Los pulmones expiran aire a través de la traquea.
2.a. El aire pone en vibración las cuerdas vocales (sonoros). La tensión de las
cuerdas determina el tono (frecuencia fundamental de la vibración).
2.b. El sonido se produce por turbulencias en una constricción (sordos).
3. La configuración de las cavidades acústicas (faríngea, vocal y nasal), llamadas
tracto vocal, determinan el timbre (formantes), permitiéndonos diferenciar entre
sonidos.
Los sistemas de reconocimiento de voz hacen uso de todas estas características;
formantes, timbre, frecuencia fundamental, tono, etc., para la distinción entre los
individuos. Cuando un usuario ingresa en la base de datos, el sistema captura su voz a
partir de una cierta frase o palabra predeterminada, que es pronunciada y dirigida a un
micrófono o teléfono en varias ocasiones. Esta palabra o frase se conoce como palabra
clave, si bien existen sistemas que son capaces de funcionar sin la necesidad de una
frase o palabra predeterminada.
_________________________________________________________________________________ 14
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Las frases pronunciadas son digitalizadas y sus
diferentes características son procesadas y extraídas
para ser usadas en modelos o patrones de
comparación. Esto requiere una gran capacidad de
almacenamiento, si bien es una tecnología que puede
usarse tanto para verificación como para la
identificación
Las tecnologías de reconocimiento de voz requieren
un mínimo proceso de entrenamiento (training set)
para el sistema y se considera una tecnología con un
bajo grado de intrusismo. Sin embargo, una de las grandes desventajas de este tipo de
sistemas es que, bajo ciertos entornos, no resulta demasiado fiable y, especialmente,
funciona con muy poco rendimiento en ambientes ruidosos, como por ejemplo zonas de
entrada a edificios.
2.4.5 Reconocimiento mediante escaneado del iris
La idea de usar los patrones presentes en el iris como método para la
identificación personal fue originalmente propuesta en 1936 por el oftalmólogo Frank
Burch. En los años 80, la idea había ya aparecido como ciencia ficción en algunas
películas del conocido personaje James Bond. Fue en 1987, cuando los oftalmólogos
Aran Safir y Leonard Flor patentaron la idea y, dos años más tarde, recurrieron al
profesor John Daugman (Universidad de Harvard) para crear algoritmos encaminados al
reconocimiento del iris. Estos algoritmos, patentados en 1994 y propiedad de Iridian
Technologies, son la base para los sistemas de reconocimiento por iris que existen en la
actualidad.
Los escáners de retina miden el
patrón venoso que existe en la parte
posterior del ojo, el cual se obtiene mediante
la proyección de una luz infrarroja a través
de la pupila.
El escaneado de retina se realiza
mediante una videocámara, con la cual se
estudian los patrones de color únicos de los
surcos de la zona coloreada de nuestros ojos,
y que son diferentes en cada persona.
La utilización de los escáners de iris está bastante limitada en la actualidad,
puesto que es una tecnología aún en fase de maduración y desarrollo. Está empezando a
utilizarse para la seguridad en diversos aeropuertos y, en algunos, se están sustituyendo
los mostradores de facturación por estos escáners.
_________________________________________________________________________________ 15
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
La tecnología que hace uso del escáner del iris se considera bastante intrusiva y
poco habitual, si bien se emplea para restringir el acceso a algunas instalaciones
militares, importantes laboratorios de investigación y otras zonas de alta seguridad.
Los escáners de iris y retina son considerados uno de los sistemas biométricos
más seguros, pero no siempre funcionan de forma fiable. No funcionarán en personas
con problemas de visión y se pueden ver afectados por condiciones ambientales como la
luz ambiental, ángulo de posicionamiento, etc. Otros factores que también pueden
afectar de forma determinante son la raza y el color de los ojos.
2.4.6 Reconocimiento mediante análisis de ADN
En los últimos años, los análisis de ADN han comenzado a jugar un
importantísimo papel en los sistemas judiciales de muchos países. Ha permitido dar
pruebas fehacientes de la implicación de sospechosos en crímenes así como también
exculpar a inocentes que, injustamente, habían sido encarcelados. En los Estados
Unidos, ha sido determinante en el esclarecimiento de importantísimos casos,
incluyendo el juicio contra O.J. Simpson y la investigación, en 1996, del asesinato de
JonBenet Ramsey.
A grandes rasgos, se puede definir el
ADN como una especie de “manual de
construcción” de nuestro cuerpo. Una
molécula de ADN es una larga cadena
enrollada en forma de doble hélice. Es una
estructura bastante compleja, si bien
principalmente está compuesta de cuatro
ingredientes
principales
(nucleótidos):
Adenina, Citosina, Guanina y Timina.
Estos nucleótidos existen como pares de una base y se enlazan siempre juntos.
La adenina y timina siempre están enlazadas entre sí, y ocurre lo mismo con la guanina
y la citosina. Mientras que la mayor parte de la secuencia del ADN no difiere en nada
entre dos personas existen 3 millones de pares (0.1% del genoma) que sí lo hacen. En
las células humanas, el ADN está contenido en 23 pares de cromosomas. Cada par
proviene, uno de la madre y otro del padre. A no ser que una persona posea un gemelo
idéntico, el ADN es absolutamente único en cada persona.
Esta es la característica que hace del análisis de ADN una potente herramienta
de identificación. El ADN es extraído a través del análisis de muestras de sangre, saliva,
cabello, piel, etc. Las longitudes y secuencias de las proteínas presentas en diferentes
secciones claves del ADN se analizan y estudia para generar un perfil o patrón de ADN,
que es el que posteriormente se emplea para la comparación con el resto de los
individuos.
_________________________________________________________________________________ 16
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
La tecnología de identificación personal a través del análisis del ADN se
considera extremadamente intrusiva, por lo que en la actualidad es únicamente usada en
pruebas de paternidad y en investigaciones criminales.
Casi todos los estados norteamericanos recogen muestras de ADN de los
condenados por crímenes violentos, y cuatro estados también las toman a todos los
arrestados, según DNA Resource. Se estima que Estados Unidos cuenta con una base de
datos de unas 2.1 millones de muestras de ADN.
Las autoridades competentes pueden
extraer ADN prácticamente de cualquier
fuente; un pañuelo, pelo, uñas, huesos, dientes
y todo tipo de fluidos corporales. En las
ocasiones en las que los investigadores tienen
evidencias basadas en el ADN pero no
sospechosos, se recurre a la comparación del
ADN obtenido en la escena del crimen con
los patrones almacenados en la base de datos
correspondiente. La base de datos más común
empleada en Estados Unidas es la CODIS
(Combined DNA Index Systems). Está base de datos es mantenida y actualizada por el
FBI. Por ley, las autoridades en los 50 estados deben toman muestras del ADN de todos
los condenados por delitos sexuales, para su inclusión en la CODIS.
Recientemente, en España se ha aprobado el proyecto de ley que unificará las
bases de datos de muestras de ADN en posesión de la Policía y la Guardia Civil. El
principal objetivo de esta ley será integrar en una base única los datos en el Ministerio
del Interior todos los datos existentes con el fin de prevenir, detectar y esclarecer delitos
de especial gravedad, como los delitos contra la vida, la libertad sexual, el robo con
fuerza o violencia, así como los delitos de terrorismo y los casos de delincuencia
organizada. Para impulsar esta base de datos, la Secretaría de Estado de Seguridad
dispondrá de un programa -CODIS- facilitado gratuitamente por la Oficina Federal de
Investigaciones (el FBI) de Estados Unidos. Las pruebas de ADN han permitido
resolver en España desde 1996 cerca de una quincena de casos, bien por la
identificación de cadáveres o por la de los autores de los crímenes.
2.4.7 Estándares asociados a las tecnologías biométricas
El desarrollo incipiente de las tecnologías biométricas ha aumentado la
preocupación de las organizaciones reguladoras respecto a la creación de estándares
relativos el uso de estas técnicas aplicadas al ámbito de las tecnologías de la
información. Esto no es sino el reflejo del creciente interés de las industrias por este
campo y a los múltiples beneficios que puede aportar su correcto uso.
La deficiente estandarización en la actualidad tiene como resultado el que los
proveedores de soluciones basadas en la biometría suministren interfaces de software
propietarios para sus productos, lo que dificulta el cambio de producto o vendedor.
_________________________________________________________________________________ 17
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
A nivel mundial el principal organismo que coordina las actividades de
estandarización biométrica es el Sub-Comité 17 (SC17) del Joint Technical Committee
on Information Technology (ISO/IEC JTC1), del International Organization for
Standardization (ISO) y el International Electrotechnical Commission (IEC).
En Estados Unidos desempeñan un papel similar el Comité Técnico M1 del
INCITS (InterNational Committee for Information Technology Standards), el National
Institute of Standards and Technology (NIST) y el American National Standards
Institute (ANSI).
Existen además otros organismos no gubernamentales impulsando iniciativas en
materias biométricas tales como: Biometrics Consortium, International Biometrics
Groups y BioAPI (este último compuesto por las empresas Bioscrypt, Compaq, Iridiam,
Infineon, NIST, Saflink y Unisis).
Los estándares más importantes son:
- Estándar ANSI X.9.84 Estándar creado en 2001, por la ANSI (American
National Standards Institute) y actualizado en 2003, define las condiciones de los
sistemas biométricos para la industria de servicios financieros haciendo referencia a la
transmisión y almacenamiento seguro de información biométrica, y a la seguridad del
hardware asociado.
- Estándar ANSI / INCITS 358 Estándar creado en 2002 por ANSI y BioApi
Consortium, que presenta una interfaz de programación de aplicación que garantiza que
los productos y sistemas que cumplen este estándar son interoperables entre sí.
- Estándar NISTIR 6529 También conocido como CBEFF (Common
Biometric Exchange File Format) es un estándar creado en 1999 por NIST y Biometrics
Consortium que propone un formato estandarizado (estructura lógica de archivos de
datos) para el intercambio de información biométrica.
_________________________________________________________________________________ 18
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
3. Reconocimiento de pisadas
La forma de andar es una característica diferente en cada persona. Aspectos
como área de las pisadas, puntos de presión, velocidad de pisada, ángulo, etc., son
circunstancias que varían de una persona a otra. En este proyecto se va a estudiar la
posibilidad de emplear el reconocimiento de pisadas como método biométrico para el
reconocimiento e identificación de personas.
Esta tecnología se encuentra en fase de desarrollo e investigación. A
continuación se detallan los estudios más importantes que se han hecho en este campo y
sobre los que se basa este proyecto.
3.1 The ORL Active Floor (1997)
Se trata de los primeros estudios realizados relacionados con el campo de
reconocimiento de pisadas. La tecnología empleada consistía en un panel en el que se
situaban sensores de presión en la esquina de cada “baldosa”.
El sistema daba una medición correspondiente a
cada baldosa. Cada una era la suma de la
contribución de los 4 sensores de presión situados
en cada una de las esquinas. Para llevar a cabo los
experimentos se empleaba un panel cuadrado de
50 cm de lado y se escogió una tasa de muestreo
de 500 Hz.
Figura 3.1.1 Instrumental del experimento
Se llevó a cabo una base de datos compuesta por
300 pisadas pertenecientes a 15 sujetos
diferentes. Como algoritmo principal de
identificación se emplearon los métodos de
Markov (Hiden Markov Model). Con estos
experimentos se llegó a alcanzar una tasa de
reconocimiento del 91.33%
Figura 3.1.2 Panel de baldosas
3.2 The Smart Floor (2000)
Este experimento se llevó a cabo en el Instituto Tecnológico de Georgia. El
sistema fue diseñado con el objeto de estudiar las posibilidades de identificar sujetos a
partir de los perfiles de fuerza de las pisadas de cada uno de ellos. El estudio logró
obtener una tasa de reconocimiento en torno al 93% y permitió demostrar que el efecto
de los zapatos es despreciable en los sistemas de reconocimiento de personas a través de
las pisadas.
_________________________________________________________________________________ 19
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Para llevar a cabo el experimento se dispuso de una baldosa de acero con un
sensor de presión en cada esquina y un sistema de adquisición de datos. El objetivo
básico fue el estudio del perfil de la GRF (Ground Reaction Force) de cada uno de los
individuos.
Entre las características estudiadas y
contrastadas en los diferentes perfiles
obtenidos se encontraban el valor
medio, desviación estándar, longitud,
coordenadas de máxima presión,
etc.… del perfil.
Figura 3.2.1 Baldosa y sensor de presión del experimento
Se tomaron muestras de 15 individuos diferentes, 12 hombres y 3 mujeres, con
diferentes tipos de zapatos. A la hora de llevar a cabo la identificación y comparación de
los datos se empleó la distancia euclídea de los vectores de datos, comparando la pisada
“desconocida” con las ya almacenadas en la base de datos del sistema. En total se
tomaron 1680 muestras diferentes; los resultados obtenidos demostraron que el efecto
producido por el tipo de zapato empleado en los experimentos era despreciable a la hora
de calcular la tasa de efectividad del sistema, lo cual es un resultado extremadamente
importante a la hora de la investigación de la viabilidad de uno de estos sistemas.
Ymax1
Area
Ymax2
Ymin
mean
standard
deviation
Xmax1
Xmin
Xmax2
length
Figura 3.2.1 Perfil típico de la GRF en una pisada y sus puntos más importantes
_________________________________________________________________________________ 20
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
3.3 The UBi Floor, Korea (2003)
El sistema propuesto consistía en una “alfombra” compuesta de sensores de
presión ON/OFF conectados a un ordenador y un sistema de procesamiento de datos.
Estos sensores transmitían la posición del usuario continuamente al ordenador. Se
desarrollaron dos paquetes de software, uno para extraer los patrones de datos de los
usuarios del sistema y el segundo para llevar a cabo la identificación mediante la
comparación de los bloques de datos.
El sistema consistía, en total, de 144 sensores
ON/OFF y una placa que transmitía el estado
de los sensores a un ordenador. La medida de
cada uno de los sensores era de 14cm por
2.5cm. Se dispusieron cuatro sensores en cada
una de las celdas (30cm por 30cm) para cubrir
un área correspondiente al tamaño estándar del
pie de una persona. El sistema se agrupó en un
array de 12 por 3 celdas, cubriendo un área
total de 3m por 1m.
Figura 3.3.1 Sistema UBi floor
A la hora de llevar a cabo el proceso
de identificación, debido a que
solamente se usaron sensores
ON/OFF, el sistema no utilizaba la
presión sobre la superficie, sino la
posición relativa de los diferentes
pasos al andar. En el proceso de
extracción de características, se
emplearon fundamentalmente cuatro
características diferentes: El sensor
activo más adelantado, el sensor
activo más atrasado, el número de
sensores activados en cada momento
y el tipo de pisada (posición relativa
entre las pisadas). Tras cada proceso
de recolección de datos, estas cuatro
características suponían la entrada al
sistema
de
clasificación
y
comparación empleado.
Figura 3.3.2 Componentes del sistema
a) Sensor on/off b)Tamaño de celda c)disposición de las celdas
Para la realización del estudio se contó con una base de datos en la que
participaron 10 personas diferentes. Se tomaron 50 muestras diferentes para cada
persona. El sistema demostró ser capaz de alcanzar una tasa efectiva de reconocimiento
del 92%.
_________________________________________________________________________________ 21
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
3.4 The EMFi floor, Finlandia (2004)
El EMFi (ElectroMecanical film) es un material eléctrico flexible, fiable y de
bajo coste que consiste en una película de polipropileno orientada biaxialmente y
cubierta por electrodos de metal. En el proceso de creación del material, la estructura
interna de polipropileno hace posible la capacidad de mantener carga almacenada en la
película. Una fuerza externa aplicada sobre el material provoca un cambio en el espesor
de la película, lo cual se traduce en un cambio en la carga almacenada en las capas
conductoras del material.
Se utilizó, en laboratorio, un sistema que
permitía cubrir un área de unos 100
metros cuadrados. Para la creación de la
base de datos se tomaron 40 muestras de
11 personas diferentes. Para el análisis y
comparación de los datos se utilizaron
diferentes métodos combinados entre sí;
principalmente los conocidos como
HMM (Hidden Harkov Models), LVQ
Learning Vector Quantisation) y sus
variantes, (Reject optional LVQ y
Distinction Sensitive LVQ).
Figura 3.4.1 El sistema puede disponerse en un
laboratorio bajo el suelo
Se realizaron numerosas pruebas y experimentos con este sistema, llegándose a
una tasa máxima de reconocimiento del 89%.
Figura 3.4.1 Sección de material EMFi
_________________________________________________________________________________ 22
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
4. Sistema empleado en el proyecto
4.1 Introducción al sistema del laboratorio
Este proyecto ha sido realizado en el departamento de procesado de imagen y
sonido en la Universidad de Swansea (Reino Unido). El trabajo se ha realizado en el
laboratorio de biometría, en el cual se encuentra el instrumental que se ha empleado
para el desarrollo del proyecto. La base de datos con la que se cuenta en el laboratorio
no es sólo de pisadas, sino que también contiene voz e imágenes para la identificación
de los individuos.
El sistema, en funcionamiento las 24 horas, consiste en un panel de 88 sensores
de presión conectado a un ordenador, con un software específico para la captura de
datos y su tratamiento. El usuario, en cada muestra, debe pisar sobre el panel, situado
bajo el suelo, y pronunciar un número de cuatro dígitos al lado de un micrófono con
webcam situado también en el laboratorio. Esto permite organizar e identificar a los
usuarios dentro de una base de datos formada por pisadas, voz y vídeo.
BASE DE DATOS
VOZ
PISADAS
VÍDEO
Figura 4.1.1 Esquema básico del sistema empleado en laboratorio para la captura de datos
_________________________________________________________________________________ 23
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
4.2 El panel de sensores
El panel que se ha utilizado en el proyecto consiste en una placa rectangular de
30.48 x 45.72 cm2. Sobre él se han dispuesto 88 sensores circulares de presión tal y
cómo se indica en la figura.
Figura 4.2.1 Esquema del panel de sensores de presión
Cada sensor proporciona la variación o diferencial de la presión en cada
momento. Con estas señales podemos extraer información acerca de las dinámicas de
las pisadas. Sin embargo, este proyecto se va a centrar en la obtención de características
geométricas de algunos de los puntos más importantes que se van a estudiar a partir del
procesado de las señales enviadas por el panel de sensores. Estos aspectos serán,
principalmente:
- Curvas de presión en un cierto instante determinado.
- GRF (Ground Reaction Force) correspondiente a cada proceso de pisada.
- Gráficas de presión para los diferentes sensores.
- Energía acumulada en la superficie del panel tras la pisada.
Entre las características geométricas más importantes que se van a estudiar en
este proyecto se encuentran:
- Área de la pisada
- Forma de la pisada
- Picos de presión.
- Ángulo de pisada.
- Velocidad de la pisada.
_________________________________________________________________________________ 24
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5. Trabajo con datos simulados
5.1 Introducción
La primera parte de este proyecto se ha desarrollado a partir de datos simulados,
proporcionados por el departamento de ingeniería de la Universidad de Swansea.
Dichos datos vienen dados en el mismo formato que posteriormente se utilizará con las
muestras reales dadas por el panel de sensores.
El objetivo de esta primera parte ha sido programar los scripts y herramientas
necesarias para el procesado de los datos, obtención de gráficas, curvas, superficies,
imágenes, etc., para su posterior aplicación a las muestras reales obtenidas con el panel
de sensores real, una vez puesto en funcionamiento. Todos los programas han sido
inicialmente probados con los datos simulados para comprobar su correcto
funcionamiento.
5.2 Estructura de los datos
A la hora de generar los datos simulados se ha supuesto una duración estándar
de la pisada de 0.5 segundos. Teniendo en cuenta la frecuencia de muestreo del sistema
empleado, 1000 Hz, cada bloque de datos correspondiente a una pisada cuenta, por
tanto, con 500 muestras.
Considerando que el panel está formado por 88 sensores, los datos se estructuran
en una matriz, tal como se indica en la figura:
La matriz consta de 500 filas y 88
columnas.
Cada columna contiene todos los
datos pertenecientes al sensor
correspondientes.
Cada fila contiene cada uno de los
500 datos correspondientes a las
500 muestras de las que consta
cada pisada, esto es, 0.5
segundos.
Se ha dispuesto de 240 sets de
datos simulados (240 pisadas
simuladas)
almacenadas
en
archivos de la forma step_data_n,
con n el número de la pisada.
Figua 5.2.1 Estructura de los datos simulados
_________________________________________________________________________________ 25
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.3 Modelado aproximado del panel de sensores
5.3.1 Introducción
El desarrollo de este proyecto se ha llevado a cabo bajo entorno MATLAB® en
todo momento. El primer paso para comenzar a procesar los datos y obtener resultados
ha sido el desarrollar un método que permitiera trabajar con los datos en Matlab, un
método que ofreciera comodidad y claridad a la hora de trabajar con los datos. Para ello
se han llevado a cabo dos procesos de modelado diferentes del panel de sensores, uno
aproximado, que permitiera obtener algunos resultados con rapidez, sin necesidad de un
gran coste computacional, y otro, real, que permitiera obtener imágenes reales del panel
para obtener las características geométricas necesarias para el estudio.
Se ha demostrado, a lo largo del desarrollo de este trabajo, que el modelado
aproximado del panel es más que suficiente para la obtención de muchos de los
resultados que se han venido utilizando. En otros casos ha sido necesario recurrir a un
modelo real del panel.
En este apartado se explica el proceso de modelado aproximado del panel, así
como los resultados obtenidos a partir del uso del modelo matemático empleado;
gráficas, curvas, etc.
5.3.2 Modelado aproximado
El panel cuenta con 88 sensores de presión distribuidos como ya se ha indicado
previamente. A la hora de modelar el panel se ha llevado a cabo un proceso de mapeo
de la información en una matriz rectangular. Para tener en cuenta la distribución de los
sensores a lo largo del panel, y la existencia de una región del panel carente de sensores,
en la parte inferior derecha (usada originalmente en el diseño para la inclusión de
conectores y un filtro); se han incluido ceros o espacios en blanco en la matriz, espacios
que no se van a usar pues no existen sensores en dichas posiciones.
Por tanto, cada matriz obtenida tras este proceso de mapeo contiene los datos
correspondientes a la presión diferencial que están proporcionando todos los sensores
del panel en un instante determinado del tiempo; es decir, la matriz representa de algún
modo la captura de todos los datos proporcionados en un instante por el panel. Así, todo
el trabajo realizado se va a basar en el uso de matrices y su procesado a lo largo del
tiempo.
En resumen, el proceso de modelado se realiza de la siguiente manera:
1. Se leen los datos del fichero que contiene todos los datos correspondientes a
todos los sensores a lo largo de las 500 muestras (matriz de 500x88).
2. Se selecciona el instante de tiempo en el cual se desea mapear los datos
proporcionados por el panel.
3. Se transfieren dichos datos a la matriz que se emplea para la obtención de la
información.
_________________________________________________________________________________ 26
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
La no existencia de sensores en
estos puntos se modelan con
“ceros” en la matriz del
modelo.
Por motivos de diseño, no se
pudieron incluir sensores en esta
zona. También se han modelado
como ceros en la matriz.
Figura 5.3.2.1 Esquema del modelado aproximado del panel de sensores
_________________________________________________________________________________ 27
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
El resultado que se obtiene de este proceso es una matriz de 14 filas por 13
columnas que contienen los datos de presión diferencial dadas por los sensores en un
instante determinado.
14 columnas
13 filas
Figura 5.3.2.2 Matriz de modelado aproximado del panel
Los números indicados en la figura hacen referencia al número de sensor cuya
información se guarda en esa celda. Las celdas en blanco contienen ceros en todo
momento y su valor no se altera en ningún momento; estos ceros sirven para mantener
una relación de aspecto aproximada a la hora de generar curvas tridimensionales de
presión y energía sobre la superficie del panel.
En realidad, el primer elemento de una matriz siempre es el que se encuentra en
la esquina superior izquierda de la misma, por lo que, a la hora de generar superficies y
curvas de presión, para obtener una superficie orientada de forma correcta con respecto
al panel, debemos invertir la matriz anterior en torno a la coordenada Y. Por lo que,
finalmente, la matriz utilizada para el procesado en Matlab es la indicada en la figura:
X
Y
Figura 5.3.2.3 Matriz utilizada para el procesamiento en Matlab
_________________________________________________________________________________ 28
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4 Análisis de los datos simulados
5.4.1 Introducción
A continuación, se presentan los resultados obtenidos a partir del trabajo con los
datos simulados proporcionados por el personal del departamento de investigación de la
Universidad de Swansea. En principio, se van a detallar los procedimientos llevados a
cabo utilizando el modelo aproximado del panel presentado en el apartado anterior.
Primero se van a estudiar los resultados correspondientes al análisis de los
sensores de forma independiente, para después proceder al estudio de la información
obtenida a partir del procesado de los datos de todos los sensores, teniéndolo en cuenta
como un sistema completo.
Para el desarrollo y obtención de todos los resultados presentados se han
realizado programas en Matlab, cuyos códigos y detalles de presentan en el apéndice, al
final de esta memoria.
5.4.2 Análisis de los sensores de forma independiente
El primer paso ha sido comenzar a analizar los sensores de forma independiente;
lo primero es obtener la forma de onda proporcionada por uno de los sensores (que esté
activo durante algún instante en la pisada). Podemos tomar como ejemplo la pisada
simulada número 4, cuyo mapa de actividad de sensores se indica en la figura:
Figura 5.4.2.1 Mapa de actividad de sensores para el archivo step_data_4
_________________________________________________________________________________ 29
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Mediante la función plotDifferential podemos visualizar la forma de onda
correspondiente a cualquier sensor. Tan sólo hemos de especificar el archivo
correspondiente y el número de sensor cuya actividad, con respecto al tiempo, queremos
visualizar en pantalla. Por ejemplo, podemos analizar la forma de onda proporcionada
por los sensores número 37, 51 y 66:
Figura 5.4.2.2 Gráfica de presión diferencial para el sensor número 37 (step_data_4)
Las formas de onda proporcionadas muestran la actividad de los sensores a lo
largo del proceso de pisada, con respecto al tiempo (500 samples). La presión
proporcionada es relativa y, por tanto, no corresponden a ninguna unidad determinada.
Por ello, en resultados posteriores, se han normalizado los resultados obtenidos, para
obtener relaciones de interés entre las magnitudes representadas.
Las gráficas muestran un pico inicial, que corresponde al intervalo de tiempo en
el que el sensor es excitado; posteriormente se mantiene una forma de onda
relativamente estable, que indica el tiempo en el cual, por el proceso de pisada, el sensor
se mantiene bajo la presión del pie; finalmente el pico negativo indica el levantamiento
del pie del sensor (disminución rápida de presión), como resultado del final del proceso
de pisada.
_________________________________________________________________________________ 30
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.2.3 Gráfica de presión diferencial para el sensor número 51 (step_data_4)
Figura 5.4.2.4 Gráfica de presión diferencial para el sensor número 66 (step_data_4)
_________________________________________________________________________________ 31
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Como se ha dicho, los sensores proporcionan el diferencial de presión. La
integración a lo largo del tiempo de la señal proporcionada por los sensores nos conduce
a un resultado bastante interesante; la fuerza de reacción del suelo o Ground Reaction
Force (GRF), concepto que se va a introducir en el siguiente apartado. A grandes
rasgos, no es sino la presión instantánea ejercida sobre la superficie sobre la que se
ejerce la fuerza, en este caso, el suelo o panel sobre el que se pisa.
Se puede, por tanto, obtener la GRF correspondiente a los sensores del ejemplo
anterior, sin más que integrar las formas de onda obtenidas, con respecto al tiempo,
entre los instantes inicial y final, esto es, entre t0=0 y t1=500.
La función plotSensor toma como parámetros el nombre del fichero a analizar y
el sensor cuya GRF se pretende calcular y visualizar. El resultado se da en forma de
vector, el cual se puede visualizar en forma de onda o ser utilizado para cálculos
posteriores.
A continuación se muestran las gráficas de las GRF correspondientes a los
sensores y fichero utilizados en los tres ejemplos anteriores. Los valores se han
normalizado para facilitar los cálculos y la interpretación de los resultados.
El pie presiona el
sensor
El pie se levanta
del sensor
Figura 5.4.2.5 GRF para el sensor 37 (step_data_4)
_________________________________________________________________________________ 32
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.2.6 GRF para el sensor 51 (step_data_4)
Figura 5.4.2.7 GRF para el sensor 66 (step_data_4)
_________________________________________________________________________________ 33
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4.3 Análisis del panel como sistema
El análisis de las señales proporcionadas por los sensores de forma
independiente es interesante desde el punto de vista teórico, pero su análisis aislado no
conduce a resultados de interés, puesto que al pisar sobre el panel se activan varios
sensores al mismo tiempo, produciendo unas salidas cuyas características son sólo
analizables si consideramos el panel como un sistema en su totalidad.
De esta forma, vamos a considerar el panel como una caja negra cuyas entradas
son ciertas señales, en este caso las fuerzas de presión que actúan sobre la superficie de
los diferentes sensores, y unas salidas, que son las señales que se van a analizar y
procesar.
Presión
Salida
PANEL
PROCESADO
RESULTADOS
Ground Reaction Force
Presión
Energía
En los siguientes apartados se van a presentar los resultados obtenidos
analizando el panel de esta manera. Primero se va a realizar una introducción teórica al
concepto de Ground Reaction Force, para mostrar su aplicación al panel en concreto
que estamos analizando. Posteriormente se obtendrán curvas de presión y energía y se
procesarán estas imágenes para la extracción de características.
_________________________________________________________________________________ 34
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4.4 Ground Reaction Force
De acuerdo a la Ley de Gravitación de Newton, cualesquiera dos objetos con
cierta masa se atraen el uno al otro con una fuerza que es proporcional al producto de
sus masas e inversamente proporcional al cuadrado de la distancia entre los mismos.
Esta afirmación es también válida para la fuerza gravitatoria entre la tierra y cualquier
objeto sobre ella. La fuerza gravitatoria ejercida por la tierra sobre cualquier objeto se
conoce como gravedad o, de otra forma, como el peso del objeto.
Puesto que existe contacto con el suelo
debido a la fuerza de gravedad, hay siempre
un proceso de interacción entre nuestros
cuerpos y el suelo sobre el que pisamos.
De acuerdo con la Ley de Reacción de
Newton, para cualquier acción, hay una
fuerza de reacción opuesta de igual magnitud
a la fuerza inicial ejercida. En otras palabras,
la fuerza ejercida por nuestros pies sobre el
suelo viene siempre acompañada por una
fuerza de reacción del mismo de igual
magnitud a la fuerza de pisada.
Esta fuerza de reacción del suelo se conoce
como Ground Reaction Force (GRF). Esta
fuerza es un factor externo importante que
actúa de forma natural cuando el cuerpo
humano está en movimiento. Usamos esta
fuerza de forma instintiva para iniciar y
controlar todos nuestros movimientos.
Vamos a considerar la GRF como un vector
vertical en dirección opuesta al suelo, con
una sola componente (eje Z), con lo cual
podremos representarla como una forma de
onda con respecto al tiempo.
GRF
El vector de la GRF “pasa” a través del pie en dirección vertical y produce
movimiento debido al contacto de cada parte del pie que impacta contra el suelo en el
movimiento. La GRF no es sino la reflexión de todas las fuerzas actuando sobre el suelo
durante el movimiento y, por tanto, representa el total de la suma neta de todas las
fuerzas musculares y gravitatorias actuando en un momento determinado del
movimiento de nuestro cuerpo.
_________________________________________________________________________________ 35
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.4.1 a) Coordenadas X Y Z b),c) Fuerzas de reacción del suelo sobre el pie
d) GRF como suma de todas las fuerzas de reacción
Figura 5.4.4.2 Perfil típico de la GRF
2
_________________________________________________________________________________ 36
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
La figura 5.4.4.2 muestra un perfil típico de la GRF para una pisada de una
persona con peso y características estándar. Se aprecian dos picos en la gráfica. El
primero (P1) corresponde al pico de impacto y el segundo (P2) se conoce como pico de
impulso.
El pico de impacto está asociado al momento de impacto del pie con el suelo en
la primera fase de la pisada, o fase de contacto de pie con el suelo. El pico de propulsión
está asociado con el impulso del cuerpo hacia delante al final de la pisada. Es uno de los
parámetros más usadas por los ingenieros a la hora del diseño de calzados que reduzcan
los picos de impacto y mantengan las características relacionadas con los picos de
impulso.
La GRF máxima suele variar entre 1 y 1.5 veces el peso del cuerpo. Algunos
factores que afectan a estas magnitudes pueden ser el estilo al andar, velocidad, calzado,
superficie e inclinación del suelo…, etc.
T1 y T2 hacen referencia a los momentos en los que se producen los picos de
impacto e impulso, y también son factores importantes a la hora del estudio de la forma
de andar.
Figura 5.4.4.3 Dinámicas presentes al andar
_________________________________________________________________________________ 37
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4.5 Obtención de la GRF
En este apartado se va a detallar cómo se ha obtenido las curvas referentes a la
Ground Reaction Force a partir de los datos simulados. Se aplicarán los mismos
procedimientos a los datos reales obtenidos posteriormente. Se usarán diferentes
modelos de pisadas sobre el panel, para ilustrar los diferentes resultados que se van a
obtener.
- Procedimiento:
Cada sensor presenta una curva diferente de GRF, debido a que cada uno se
encuentra excitado por una parte diferente del pie y, por tanto, se verá afectado por
fuerzas diferentes. Como se ha dicho, la GRF es la suma total de las fuerzas de reacción
que actúan sobre el pie en la pisada; por tanto, la GRF que deseamos calcular no es sino
la suma de todas las GRF de cada uno de los sensores excitados durante el proceso de la
pisada.
GRF0
GRF1
GRF2
GRF87
En resumen, el procedimiento seguido para calcular la GRF de una pisada es el
siguiente:
1. Se extraen las señales proporcionadas por cada uno de los sensores excitados
tras la pisada.
2. Se integran cada una de estas señales con respecto al tiempo, para obtener la
presión instantánea o GRF de cada uno de los sensores.
3. La suma de todas las GRF de cada uno de los sensores da como resultado la
curva que estamos buscando.
La función showForce toma como parámetros el nombre del archivo de datos
que queremos procesar y, mediante el proceso indicado anteriormente, calcula un vector
que contiene los datos correspondientes a las 500 muestras de la GRF correspondientes
a la pisada. La función visualiza la curva en pantalla.
A continuación se presentan los mapas de actividad de sensores de diferentes
modelos de pisadas y sus curvas de GRF calculadas.
_________________________________________________________________________________ 38
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.5.1 Mapa de actividad de sensores para el archivo step_data_1
Pico de
impacto
Pico de
impulso
Figura 5.4.5.2 Ground Reaction Force para la pisada 1
_________________________________________________________________________________ 39
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.5.3 Mapa de actividad de sensores para el archivo step_data_34
Figura 5.4.5.4 Ground Reaction Force para la pisada 34
_________________________________________________________________________________ 40
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.5.5 Mapa de actividad de sensores para el archivo step_data_200
Figura 5.4.5.6 Ground Reaction Force para la pisada 200
_________________________________________________________________________________ 41
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.5.7 Mapa de actividad de sensores para el archivo step_data_237
asdf
Figura 5.4.5.8 GRF para la pisada 237
_________________________________________________________________________________ 42
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
- Estudio de la GRF:
Las curvas presentadas en los ejemplos anteriores representan uno de los
parámetros más importantes a tener en cuenta a la hora de obtener resultados que nos
permitan obtener datos que sean de utilidad para el desarrollo de un sistema que sea
capaz de identificar sujetos automáticamente. Sin embargo, estas curvas por sí solas no
pueden ser utilizadas por ningún sistema y requieren, por tanto, de un proceso de
interpretación y extracción de características para que sean realmente útiles.
Los sistemas de identificación biométricos se valen, por norma generalmente, de
lo que se conoce por clasificador, que es normalmente un software que procesa los
patrones obtenidos a partir de los diferentes datos biométricos para calcular las
similitudes con otros patrones presentes en la base de datos. Esto requiere, por tanto, la
extracción de datos o características a partir de las curvas de GRF (y otros parámetros)
que puedan ser usadas por estos clasificadores.
En el caso de las curvas de GRF, las características que se van a extraer
fundamentalmente a partir de las curvas van a ser:
-
Relación entre pico de impacto y pico de impulso.
Tiempos y relación de tiempos para los picos de impacto e impulso.
Valor medio de la señal.
Desviación estándar de la señal.
Relación entre valor mínimo y pico de impacto.
Relación entre valor mínimo y pico de impulso.
Área bajo la curva de la señal.
Estas características serán diferentes según la pisada (que variará según la
persona que pise) y serán de gran utilidad para el proceso de desarrollo del sistema.
Se ha optado por normalizar las señales mediante el método del máximo valor,
para minimizar la influencia que pueda tener en los resultados las variaciones que pueda
sufrir el rendimiento de los componentes utilizados para la fabricación del panel de
sensores a lo largo del tiempo. Se estudiarán, para este y el resto de los parámetros
hallados, las relaciones principales entre las magnitudes más importantes, más que los
valores absolutos obtenidos.
A continuación se muestra una de las curvas de la GRF obtenidas en el
laboratorio y sus principales puntos de interés señalados en la misma. El proceso de
extracción de estas características se realizará igualmente para los datos reales obtenidos
posteriormente provenientes del panel una vez instalado.
_________________________________________________________________________________ 43
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Relación
entre picos
Área
Razón
Min/Max
Valor
medio
Desviación
estándar
Tiempo entre
picos
Figura 5.4.5.9 Gráfica de GRF y características a extraer
Todas estas características serán calculadas para las muestras reales obtenidas en
el laboratorio. Las características extraídas para una pisada son almacenadas en un
vector y se pasa como parámetro al clasificador empleado, el cual se encarga de decidir
cuáles son las características más importantes, eliminando aquellas que presentan
redundancia de información con respecto a otras (no son linealmente independientes).
El cálculo del valor medio y desviación estándar se hace directamente
empleando las funciones incluidas en Matlab; mean y std, a partir del vector de la GRF
calculado. La relación entre picos es simple una operación de comparación entre los
máximos y mínimos, al igual que el cálculo de la relación de tiempos, mientras que el
área es simplemente una integral de la curva obtenida. En nuestro caso, al trabajar con
valores discretos se traduce en la suma de todos los valores del vector de la GRF
(integral discreta).
_________________________________________________________________________________ 44
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4.6 Obtención de superficies de presión y energía
A la hora de obtener algoritmos y procedimientos que den una tasa de
reconocimiento efectivo lo más alta posible, conviene contar con el mayor número de
características identificativas que puedan aumentar la información disponible y, mejorar
así, nuestro sistema.
En este proyecto se ha pretendido llegar más allá del mero estudio de las curvas
de GRF y, por tanto, se han desarrollado algoritmos para la obtención y procesado de
curvas tridimensionales de presión y energía resultantes tras el proceso de pisada.
En primer lugar, se van a detallar los pasos llevados a cabo para obtener dichas
curvas utilizando el modelo aproximado del panel descrito apartados anteriores. Para
algunos de los datos que nos interesan, este modelo bastará a la hora del estudio de estas
curvas. Cuando se proceda a estudiar en detalle características geométricas más
detalladas de estas curvas, se empleará el modelo real, el cual se explica en apartados
posteriores.
Y
X
En ambos casos, los fundamentos del procedimiento consisten en la integración
de las señales proporcionadas por los sensores y su integración en el tiempo, para
después ser representadas a lo largo de una superficie, cuyas direcciones X e Y van a ser
las direcciones X e Y del panel de sensores. El eje Z representará la magnitud de la
superficie, normalizada a 1, por los motivos que ya se han explicado anteriormente.
_________________________________________________________________________________ 45
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Y
X
X
Y
Figura 5.4.6.1 Origen de coordenadas en el panel y coordenadas en la matriz usada en Matlab
A la hora de representar las curvas calculadas se va a seguir el sistema de
coordenadas indicado en la figura. El trabajar con la matriz indicada va a facilitar
mucho las cosas a la hora de representar las curvas, ya que, mediante el comando surf
de Matlab, podemos representar directamente una matriz como una superficie
tridimensional con origen de coordenadas el elemento A11.
Dicho comando genera una superficie en la que la altura y color en el eje Z son
proporcionales a la intensidad del valor de la matriz; Matlab genera superficies entre
cada cuatro puntos o esquinas en la matriz, por lo que, lo que vamos a obtener en los
siguientes apartados van a ser superficies en las que podremos distinguir secciones con
diferente presión o energía, según el caso.
_________________________________________________________________________________ 46
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4.7 Curvas de presión – modelo aproximado
Para la obtención de las curvas de presión en el modelo aproximado se ha
diseñado la función showForce3D. Esta función representa la superficie de presión
instantánea de una pisada en cierto instante del tiempo. Toma como parámetros el
nombre del archivo de datos a procesar y el instante de tiempo en el cual se representa
la superficie de presión. La función calcula la integral de las señales proporcionadas por
los sensores hasta el instante especificado y, tras normalizar la matriz con los resultados
de dicha integración, almacena el resultado en una matriz del mismo tamaño que la
original y la representa en una superficie.
∫(·)
surf
A continuación se muestran algunos ejemplos de estas superficies obtenidas
mediante el modelo aproximado. Se ha empleado también un filtro de suavizado para
ayudar a obtener superficies menos abruptas.
_________________________________________________________________________________ 47
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.7.1 Mapa de actividad de sensores para el archivo step_data_27
Figura 5.4.7.2 Curva de presión instantánea para la muestra 250 – pisada 27
_________________________________________________________________________________ 48
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.7.3 Curva de presión instantánea para la muestra 250 – pisada 27 – vista superior
Figura 5.4.7.4 Curva de presión instantánea para la muestra 250 – pisada 27 – Con filtro de suavizado gaussiano
_________________________________________________________________________________ 49
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.4.8 Curvas de energía – modelo aproximado
El proceso de obtención de la superficie de energía acumulada para una pisada
es un proceso totalmente análogo al seguido en el apartado anterior. La principal
diferencia estriba en que, en el caso anterior, existe una curva de presión diferente para
cada instante del tiempo mientras que en este existe sólo una curva única de energía
para cada pisada.
El proceso de cálculo de la matriz de energía de la pisada consiste en el cálculo
iterado de la energía acumulada para cada uno de los sensores. Estas energías, una vez
calculadas, se vuelcan en la matriz de energía final, de la que se visualiza la superficie
en Matlab.
∫(·)
∫(·)
SENSOR
GRF
ENERGIA
El proceso seguido se indica en la figura:
1. Se integran las señales procedentes de cada sensor, para calcular la GRF.
2. Una vez obtenida la GRF, el área bajo la curva es el valor de la energía
asociada a ese sensor. Para calcular dicho área se vuelve a integrar la curva
obtenida en el paso anterior.
3. El proceso se repite iteradamente para cada uno de los sensores, y los valores
se vuelcan a una matriz del mismo tamaño que la original.
4. Se representa la curva mediante el comando surf.
Las curvas de presión asociadas a cada una de las pisadas pueden constituir un
elemento importante para el estudio, ya que la pisada de cada persona acumulará la
energía de una forma diferente; estará distribuida de manera distinta sobre la superficie
del panel.
Así pues, la curva de energía puede constituir una “firma” o característica única
de la pisada, y puede utilizarse para ser comparada con otras curvas de energía, a fin de
determinar el grado de similitud con el objetivo de llevar a cabo procesos de
identificación o verificación.
A continuación se presentan algunos ejemplos de estas curvas de energía
calculadas. Esto se realiza por medio de la función showEnergy, que toma como
parámetro el nombre del fichero a analizar.
_________________________________________________________________________________ 50
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.8.1 Mapa de actividad de sensores para la pisada 118
Figura 5.4.8.2 Superficie de energía para la pisada 118
_________________________________________________________________________________ 51
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.8.3 Superficie de energía para la pisada 118 – vista superior
Figura 5.4.8.4 Superficie de energía para la pisada 118 – suavizado con filtro gaussiano e invertida
_________________________________________________________________________________ 52
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.8.5 Mapa de sensores de actividad para la pisada 213
Figura 5.4.8.6 Superficie de energía para la pisada 213
_________________________________________________________________________________ 53
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.4.8.7 Superficie de presión para la pisada 213 – vista superior
Figura 5.4.8.8 Superficie de presión para la pisada 213 – filtro gaussiano e invertida
_________________________________________________________________________________ 54
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
- Estudio de las curvas de presión y energía (modelo aproximado):
La representación de las superficies de presión y energía obtenidas en los
apartados anteriores es de gran utilidad a la hora de identificar aquellas características
que pueden ser de interés para su uso como datos importantes en el proceso de
identificación o verificación de la persona.
Las superficies de presión instantánea anteriores pueden ser útiles para visualizar
puntos de máxima o mínima presión y los instantes en los que tienen lugar dichos
máximos/mínimos. También son de utilidad para monitorizar la actividad de los
sensores en ciertos instantes de tiempo.
Las superficies de energía acumulada son un elemento que pueden constituir una
herramienta útil para la comparación entre la forma de andar de una persona y el resto
de los patrones almacenados en el sistema. Estas superficies nos pueden indicar,
además, cuales son los puntos o picos de presión al pisar, área de la pisada y otras
características geométricas que pueden ser deterministas según la persona.
Sin embargo, las superficies obtenidas en los apartados anteriores se encuentran
limitadas por el modelo que se ha utilizado. En él, cada sensor se ha considerado como
una celda en una matriz y, por consiguiente, las superficies representadas a partir del
modelo son de una resolución insuficiente para la extracción de características
geométricas que puedan ser de verdadera utilidad.
De todas formas, estas representaciones requieren un bajo tiempo de
computación y pueden arrojar algunos datos de importancia. Pero su principal utilidad
va a ser el hecho de que van a constituir el paso a previo para la obtención del modelo a
escala (o modelo real) del panel, del que vamos a poder obtener características
geométricas fiables.
En los siguientes puntos se van a detallar los pasos y algoritmos seguidos para la
obtención del modelo real del panel. Posteriormente se mostrarán los resultados que se
obtienen al aplicar los mismos procedimientos que se han llevado a cabo para obtener
las superficies de presión y energía descritas en este apartado. Finalmente se describirán
las características más importantes que se pueden obtener de estas curvas y los procesos
llevados a cabo para ello.
_________________________________________________________________________________ 55
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
El filtro empleado para suavizar las imágenes no es más que un típico filtro paso
de baja de 3x3:
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
_________________________________________________________________________________ 56
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5 Modelado a escala del panel
5.5.1 Introducción
En el desarrollo del trabajo realizado hasta ahora se ha venido utilizando un
modelo matemático del dispositivo que se ha empleado en laboratorio. Este modelo
matemático es lo que nos permite obtener resultados numéricos a partir del dispositivo
meramente electrónico, y producir las correspondientes curvas y superficies después.
Hay muchas maneras de modelar matemáticamente un sistema, dependiendo de
los objetivos, requerimientos, tiempo de computación que se desea emplear, etc. El
modelo que se ha venido utilizando hasta el momento es útil para aportar algunos datos
pero insuficiente para el análisis de características geométricas, debido a la baja
resolución que permite obtener. Esto es debido, fundamentalmente, a que se ha
aproximado cada sensor, que tiene una forma circular con un cierto área de presión
contenida en él, como un punto único en una matriz. Esto hace perder gran cantidad de
información a la hora del análisis.
El siguiente objetivo es la mejora del modelo obtenido en los apartados
anteriores para lograr otro que proporcione unas superficies lo más exactas y fiables
posible, dentro de los propios límites que el panel de sensores tiene.
Básicamente, el concepto del modelo a escala del panel va a ser la obtención de
una matriz, de tamaño considerablemente mayor a la que se ha venido empleando. En
esta nueva matriz, cada celda va a ser un píxel, es decir, lo que vamos a tener va a ser la
matriz de una superficie tridimensional en la que cada celda va a contener la magnitud
en el eje Z del valor de presión o energía (según el caso) en ese punto de la imagen.
En nuestro nuevo modelo, cada mm2 del panel se va a considerar como un píxel
dentro de la nueva matriz obtenida. Por tanto, la superficie obtenida va a ser una
representación a escala real (dentro de los límites propios del sistema) de la presión o
energía en el panel de sensores. Se ha optado por escoger una resolución de 1 mm2, ya
que ofrece resultados de alta resolución y tiempo de computación aceptable.
El proceso, que se detalla en los apartados siguientes, consta básicamente de
cuatros pasos:
1. Los valores de presión o energía son obtenidos de la matriz del modelo
aproximado, esto es, el que se ha venido utilizando hasta el momento; la
matriz de 14x13.
2. Mediante una función implementada, se mapean las coordenadas
correspondientes al punto central de cada sensor en la nueva matriz.
3. Se barre la nueva matriz, rellenando las áreas correspondientes a los sensores
con los valores obtenidos de la matriz inicial.
4. Mediante un proceso de filtrado y convolución, se interpolan las áreas en
blanco entre los sensores para obtener una imagen continua de la energía o
presión.
_________________________________________________________________________________ 57
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.2 Matriz del modelo a escala del panel
Puesto que vamos a hacer una representación a escala de la presión sobre la
superficie del panel necesitamos conocer aproximadamente las medidas y distancias
más importantes en la placa de sensores.
Las figuras muestran las medidas,
contorno y distancias relevantes
dentro del panel.
A la hora de realizar el modelo a
escala se han ignorado las distancias
existentes entre el contorno de los
sensores y los límites del panel, en
dirección horizontal.
Por tanto, las distancias relevantes
en el modelado van a ser el diámetro
de los sensores (de forma circular), y
las distancias entre los centros de
sensores en filas o columnas
consecutivas, en dirección horizontal
y vertical.
Estas distancias mostradas en mm son los números enteros más próximos a las
distancias reales; si bien el error cometido es bajo pues dichas distancias reales se
acercan en gran medida a los valores enteros utilizados. Debemos utilizar números
enteros ya que, al traducir distancias milimétricas en píxeles, sólo podemos utilizar un
número entero de píxels (no podemos dividir un píxel en una unidad más pequeña).
_________________________________________________________________________________ 58
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Al igual que en el caso del modelo aproximado emplearemos una matriz de
tamaño fijo para el almacenamiento de todos los datos y la representación de las
superficies. Para calcular el tamaño de la matriz no tenemos más que emplear las
distancias mostradas en la figura anterior.
Teniendo en cuenta que existen 13 columnas de sensores y que, como máximo,
hay 7 sensores en cada columna, el tamaño necesario de la matriz final (en mm o píxels)
en horizontal (DH) y vertical (DV) se calcula:
DH=13·(27 mm) + 12·(7 mm) = 435 mm (píxels)
DV=7·(27 mm) + 6·(11 mm) + 19 mm = 274 mm (píxels)
Donde las distancias empleadas en este cálculo se derivan de las mostradas en la
figura anterior, como se indica nuevamente:
7 mm
11 mm
19 mm
Para hallar el resultado final se han utilizado las
distancias mostradas en la figura. 11 mm es la
distancia entre los contornos de los sensores
siguiendo la línea que une sus centros en dirección
vertical. 7 mm es la distancia entre los contornos de
los sensores siguiente la línea que une sus centros en
dirección horizontal. Por último, la distancia entre el
contorno de un círculo y el límite del panel, en
dirección vertical, es de 19 mm.
_________________________________________________________________________________ 59
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.3 Obtención de valores y mapeado en la matriz final
Antes de mapear los valores de presión o energía en la matriz final debemos
obtener dichos resultados. Esto no es más que obtener los resultados de presión o
energía y almacenarlos en la matriz del modelo aproximado descrito en los apartados
anteriores. Partiremos de esta matriz para mapear los valores en la matriz del modelo a
escala.
En primer lugar, debemos tener en cuenta la posición de los sensores dentro del
panel y, por tanto, determinar la posición que tendrán dentro de la matriz de píxeles.
Para ello se ha implementado la función getCentroids, que calcula la coordenada del
punto central correspondiente a cada uno de los sensores en la matriz de píxeles. Una
vez hallados los centros de cada uno de los círculos, se procede a mapear las áreas
correspondientes a los círculos con el valor de presión o energía correspondiente a cada
sensor; el área de cada sensor contendrá, por tanto, un único valor.
Figura 5.5.3.1 Proceso de mapeado de un sensor en la matriz de píxeles
Mediante la función fillSensor se barre la matriz de píxeles mapeando las áreas
correspondientes con los diferentes valores asignados a los sensores. Nótese que el
diámetro de un área circular es de 27 píxeles, incluyendo el punto central, con lo que se
tiene un radio de 13 píxeles, que al ser número entero facilita enormemente la
implementación de las funciones.
A continuación se presentan los resultados, gráficamente, de la aplicación de
este modelo a los datos de los que se dispone con diversos ejemplos correspondientes a
diferentes pisadas simuladas.
_________________________________________________________________________________ 60
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.3.2 Mapa de actividad de sensores para el archivo step_data_12
Figura 5.5.3.3 Energía acumulada empleando el modelo a escala – pisada 12
_________________________________________________________________________________ 61
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.3.4 Mapa de actividad de sensores para el archivo step_data_65
Figura 5.5.3.5 Energía acumulada empleando el modelo a escala – pisada 65
_________________________________________________________________________________ 62
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.3.6 Mapa de actividad de sensores para el archivo step_data_168
Figura 5.5.3.7 Energía acumulada empleando el modelo a escala – pisada 168
_________________________________________________________________________________ 63
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.3.8 Mapa de actividad de sensores para el archivo step_data_225
Figura 5.5.3.9 Energía acumulada empleando el modelo a escala – pisada 225
_________________________________________________________________________________ 64
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.4 Interpolación de la matriz de alta resolución
Los resultados anteriores proporcionan una imagen de alta resolución y a escala
de la presión o energía a lo largo del panel, por secciones según los sensores excitados
en el proceso. Sin embargo, las propias limitaciones físicas del panel de sensores nos
impiden obtener una superficie continua, ya que para ello necesitaríamos un número
infinito de sensores, infinitamente pequeños, y eso es imposible de obtener en la
realidad.
El siguiente objetivo es la obtención de una imagen continua, sin espacios en
blanco, que nos permita calcular y extraer las características geométricas necesarias para
el estudio. Debido a las limitaciones propias del panel, no disponemos de la información
que debería estar en las zonas vacías de la matriz, las zonas que se encuentran entre los
sensores activados durante el proceso de pisada. La presión de cada sensor está
relacionada con la de los demás, debido a la propia naturaleza fisiológica del pie y la
forma de pisar de cada persona. Por tanto, la información que debería encontrarse en las
áreas en blanco entre los sensores está relacionada con los valores de presión que toman
todos los sensores y se verá más afectada por aquellos que se encuentran más cerca de
dicho área. En otras palabras, los espacios en blanco deben llenarse teniendo en cuenta
la distribución estadística de los valores alrededor de cada píxel vacío que vaya a ser
“coloreado”.
Figura 5.5.4.1 Objetivo del proceso de interpolación
Existen numerosos métodos para interpolar imágenes. Entre los más importantes
caben destacar los métodos de interpolación bilineal (promedio de cada 4 píxeles
adyacentes al que se desea interpolar), interpolación bicúibca (promedio de los 16
píxeles adyacentes), interpolación en escalera (similar a la interpolación bicúbica),
interpolación S-Spline (que determina un píxel a partir de todos los píxeles presentes en
la imagen), interpolación por métodos fractales, etc.
De entre todas las posibles soluciones estudiadas, se ha optado por la utilización
de un método de interpolación estadística por medio del uso de un filtro gaussiano de
suavizado que permite, además, la reducción de ruido en la imagen.
_________________________________________________________________________________ 65
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.5 Interpolación por filtro de suavizado gaussiano
El término interpolación pertenece al subcampo matemático del análisis
numérico y hace referencia a la construcción de nuevos puntos, partiendo del
conocimiento de un conjunto dado de puntos discretos, en una gráfica, imagen, función,
etc. En nuestro caso, vamos a utilizarla para generar nuevos puntos que no conocemos a
partir de los datos de presión o energía que conocemos de los diferentes sensores. Esto
nos permitirá obtener la imagen continua que estamos buscando.
En el caso concreto que nos ocupa, tenemos que llevar a cabo un proceso de
interpolación en 2D ya que, recordemos, estamos usando una matriz bidimensional
aunque el resultado de representarla gráficamente sea una superficie en 3 dimensiones.
Ya que nuestra matriz representa un conjunto de píxeles de una imagen de presión o
energía. Podemos emplear, por tanto, alguna de las técnicas existentes para tratamiento
y procesado de imágenes. Se va a realizar este proceso mediante la convolución de
nuestra matriz original con un filtro de suavizado gaussiano.
· Suavizado
Suavizado es el proceso mediante el cual una serie de puntos, bien en una gráfica
o imagen son promediados con los puntos que los rodean, o puntos vecinos. En nuestro
caso nos estamos refiriendo al promediado de los píxeles de nuestra imagen con lo
píxeles que los rodean. El suavizado tiene, por tanto, el efecto de difuminar las
imágenes y suprimir los bordes. Podemos hablar del proceso de suavizado de una
imagen como su filtrado paso de baja, ya que su efecto equivale a filtrar las altas
frecuencias de la imagen.
Para suavizar líneas se emplea la típica curva o campana de gauss, la cual se
utiliza para el cálculo de los nuevos valores, punto a punto. En el caso de llevar a cabo
un proceso de interpolación en dos
dimensiones, la campana de gauss
presentada en la figura adyacente se
transforma en un cucurucho o cono,
que toma forma de una superficie
gaussiana tridemansional. El filtrado
de una imagen con esa superficie
gaussiana nos dará como resultado la
imagen suavizada buscada.
a)
Figura 5.5.5.1 a) Campana de Gauss b) Cono de Gauss c)Aproximación discreta del cono de gauss
b)
c)
_________________________________________________________________________________ 66
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
· El filtro gaussiano
El filtro u operador de suavizado gaussiano se emplea, como se ha dicho, para
difuminar o suavizar imágenes y eliminar ruido. Su uso se fundamenta en el concepto
de una campana de Gauss tridimensional.
La función de distribución gaussiana unidimensional (y con media cero) tiene la
forma:
En 2D, una función gaussiana isotrópica (con simetría circular) toma la forma:
La idea del suavizado mediante
filtrado gaussiano radica en el uso
de esta función para distribuir los
valores de los píxeles a lo largo de
la imagen. Dado que nuestra
imagen está compuesta por una
matriz con un número discreto de
píxeles necesitaremos generar una
aproximación, también discreta, de
esta superficie gaussiana. En
teoría, una distribución gaussiana
es distinta de cero en todos sus
puntos, si bien en la práctica se
considera nula más allá de 3σ, con
lo cual es posible truncar en este
punto nuestra función y generar la
aproximación discreta del filtro.
Una vez se ha calculado una aproximación discreta adecuada para este tipo de
filtros, basta realizar una clásica operación de convolución entre la matriz que
representa la imagen original y el filtro calculado para obtener la imagen suavizada que
se pretendía lograr.
En el caso de matrices, funciones o imágenes de gran tamaño, como el caso que
nos ocupa (274x435 píxels) será necesario el cálculo de un filtro discreto empleando
técnicas básicas y después hallar un factor de ampliación del filtro para hacerlo útil con
la imagen. Una vez calculado el filtro necesario y redimensionado adecuadamente,
bastará con realizar una operación de convolución con nuestra matriz para obtener una
imagen continua de presión o energía, que es lo que pretendemos calcular.
_________________________________________________________________________________ 67
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.6 Cálculo del filtro gaussiano discreto
El filtro de suavizado gaussiano discreto que necesitamos puede ser calculado en
Matlab. Lo única que necesitamos saber es cuál es la desviación típica del filtro
adecuada, para obtener una imagen final adecuada.
El tamaño estándar de un filtro discreto suele ser de 3x3, 4x4 o 5x5. En nuestro
caso vamos a obtener inicialmente un filtro discreto de 5x5 y luego va a ser
redimensionado para ajustarse al tamaño de nuestra matriz.
Tras varias pruebas con diferentes filtros y diferentes valores para la desviación
estándar se ha optado por tomar un filtro discreto de 5x5 y con desviación estándar
σ=1.4. En términos de un operador que podamos emplear en Matlab, un filtro con estas
características toma la forma:
Podemos calcular un filtro de estas
características en Matlab empleando
el comando fspecial, sin más que
especificar el tamaño y desviación
estándar del filtro.
Nótese que el filtro empleado posee
simetría
isotrópica,
en
todas
direcciones,
característica
que
cumplen las curvas de gauss descritas
en los apartados anteriores.
Una vez obtenido el filtro se ha redimensionado con un factor N=20 para
ajustarlo al tamaño de nuestra imagen. A continuación se muestra la representación
espacial de este filtro, una vez redimensionado adecuadamente.
Figura 5.5.6.1 Representación espacial del filtro de suavizado empleado en la interpolación
_________________________________________________________________________________ 68
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.7 Imágenes obtenidas en alta resolución
Ahora que hemos obtenido una imagen continua en alta resolución podemos
extraer algunas características interesantes de las mismas. A continuación se presentan,
a modo de ejemplo, algunas de estas superficies obtenidas.
_________________________________________________________________________________ 69
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.7.1 Mapa de actividad de sensores para el archivo step_data_25
Figura 5.5.7.2 Energía acumulada para la pisada 25 - Invertida
_________________________________________________________________________________ 70
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.7.3 Energía acumulada para la pisada 25
Figura 5.5.7.4 Energía acumulada para la pisada 25 – vista superior
_________________________________________________________________________________ 71
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.7.5 Mapa de actividad de sensores para el archivo step_data_187
Figura 5.5.7.6 Energía acumulada para la pisada 25 - invertida
_________________________________________________________________________________ 72
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.7.7 Energía acumulada para la pisada 187
Figura 5.5.7.8 Energía acumulada para la pisada 187 – vista superior
_________________________________________________________________________________ 73
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.7.9 Mapa de actividad de sensores para el archivo step_data_225
Figura 5.5.7.10 Energía acumulada para la pisada 225 - invertida
_________________________________________________________________________________ 74
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.7.12 Energía acumulada para la pisada 225 – vista superior
_________________________________________________________________________________ 75
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.8 Umbral mínimo
Las matrices calculadas y representadas mediante los métodos de los apartados
anteriores son ya imágenes continuas y, por tanto, susceptibles de ser utilizadas y
analizadas para obtener y estudiar características geométricas que nos ayuden en el
proceso de identificación.
Sin embargo, el proceso de interpolación al convolucionar la imagen con el filtro
gaussiano ha introducido información en la imagen que debe ser eliminada, pues es
información “fantasma” que puede arrojar resultados inexactos o entorpecer el uso de
algoritmos de extracción de características que se describirán en los apartados a
continuación.
Información
“fantasma”
Estos nuevos datos que han aparecido son el resultado de la interpolación de
nuestra imagen original con el filtro; han aparecido nuevos puntos alrededor de los
contornos de la pisada, debido a la interpolación de los puntos del contorno de la
imagen con el resto de los puntos cuyo valor era cero. Aparecen en la imagen en tonos
azul oscuro, claro y tonos verdosos. Corresponden a las intensidades más bajas de la
nueva imagen obtenida y dan información falsa, ya que se encuentran en las posiciones
ocupadas por sensores que no han sido activados.
Esta nueva información debe ser eliminada de la imagen antes de que podamos
utilizarla convenientemente. Para poder hacerlo, se debe establecer un límite o umbral
mínimo óptimo que permita seleccionar los píxeles de la imagen por encima de cierta
intensidad; aquellos que contengan información relevante y fiable.
A continuación se deducirá un umbral mínimo, de forma experimental, para las
imágenes calculadas, bajo el cual todas las componentes serán eliminadas. Este umbral
dependerá de las características estadísticas de cada imagen y, por tanto, deberá ser
calculado antes de filtrar nuevamente cada imagen.
_________________________________________________________________________________ 76
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.9 Obtención del umbral mínimo
Con el umbral mínimo vamos a establecer el valor de intensidad de píxel bajo el
cual vamos a anular todos los valores en nuestra imagen, a fin de quedarnos con la
información verdaderamente relevante. Para obtener este valor vamos a analizar la
distribución estadística del histograma de la imagen.
A modo de ejemplo vamos a
utilizar la superficie obtenida a
partir de la pisada número 187 y
su histograma, presentado en las
figuras adjuntas. El histograma es
la representación de la frecuencia
relativa de los diferentes niveles
presentes en nuestra imagen;
como ésta está normalizada
dichos niveles variarán en el
intervalo comprendido en [0 1].
También se ha representado el
histograma en barras y la curva de
distribución.
Histograma
de la imagen
Histograma y curva
de distribución
A la hora de calcular el umbral
debemos tener en cuenta que los
valores que no nos interesan se
encuentran concentrados en la
zona del histograma donde éste
toma sus valores más altos, es
decir, los valores que más
frecuencia relativa presentan. Son
los valores más bajos de la señal,
como muestran los histogramas.
Tendremos que buscar el umbral
atendiendo a la forma de la
distribución estadística de las
frecuencias relativas en los
niveles de nuestra señal, indicada
en la curva roja de la gráfica
adyacente.
Debemos, por tanto, identificar
los valores clave en esta
distribución estadística, esto es, la
media y la desviación típica, a
parte de un coeficiente de ajuste
que usaremos para determinar el
umbral buscado.
Figura 5.5.9.1 Superficie de energía e histogramas de la imagen
_________________________________________________________________________________ 77
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
µ σ
Th
Figura 5.5.9.2 Distribución normal del histograma y umbral calculado
La figura muestra la curva de distribución normal del histograma de la imagen
empleada como ejemplo y el umbral, calculado para ella. La determinación del umbral
se ha hecho de forma experimental, por métodos de prueba y error, hasta obtener una
imagen que mantuviera toda la información útil y descartara aquella que no nos
interesaba.
Estaba claro que el umbral calculado tenía que ser mayor que la media de la
distribución del histograma, puesto que los puntos de interés se encuentran muy por
encima de ese valor, tal y como se puede apreciar en los histogramas de la página
anterior.
Se optó, por tanto, por emplear la suma de la media y la desviación estándar
inicialmente como umbral. Para ajustar este valor adecuadamente se ha empleado el
Coeficiente de Variación de Pearson (CV) de la distribución. Éste representa el número
de veces que la desviación típica contiene a la media aritmética y por tanto, cuanto
mayor es el CV mayor es la dispersión y menor es la representatividad de la media. Es
el caso del tipo de distribuciones que estamos empleando; en nuestras imágenes la
media aritmética del valor de los píxels es poco representativa en la distribución. Este
coeficiente de variación viene dado por:
CV =
σ
µ
Con lo que, finalmente, la fórmula utilizada para el cálculo del umbral es:
Th = µ + σ ⋅ CV
_________________________________________________________________________________ 78
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
5.5.10 Superficies tras aplicación del umbral
A continuación se presentan algunas imágenes obtenidas tras aplicar el umbral
obtenido en el apartado anterior.
Figura 5.5.10.1 Superficie de energía para la pisada 4 antes y después de la aplicación del umbral
_________________________________________________________________________________ 79
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.10.2 Superficie de energía para la pisada 8 antes y después de la aplicación del umbral
_________________________________________________________________________________ 80
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 5.5.10.3 Superficie de energía para la pisada 103 antes y después de la aplicación del umbral
_________________________________________________________________________________ 81
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6. Extracción de características
En los apartados anteriores se han descrito los procedimientos llevados a cabo
para obtener una imagen continua de la superficie de presión y energía resultante del
proceso de pisada sobre el panel de sensores. Tras la interpolación y aplicación del
umbral sobre la imagen ya podemos emplearla para comenzar el proceso de extracción
de características.
Al hablar de características nos estamos refiriendo a cualidades o elementos
puntuales de interés en nuestras curvas o superficies (área, puntos máximos y mínimos,
etc) que dependan directamente de la persona, en este caso de la forma de presionar la
superficie del panel al andar. Estos elementos van a proporcionar la información
necesaria que nuestro modelo necesita para ser capaz de identificar o verificar a los
usuarios dentro de la base de datos que se vaya a crear. Se necesitará, por tanto, generar
una colección de características para tener la máxima cantidad de información posible y
minimizar la tasa de error efectiva del sistema.
df
Estas características, una vez encontradas y analizadas, se envían a lo que se
conoce como clasificador. Se trata de un sistema encargado de analizar los datos que
representan las características, para determinar la validez de los datos y la posible
dependencia que pueda existir entre unos y otros. Básicamente, el clasificador es el
sistema que finalmente se encarga de procesar estas características para usarlas en el
proceso de verificación e identificación. La forma en la que funciona un clasificador
queda fuera del alcance de este proyecto. Nos vamos a centrar en los algoritmos que
vamos a aplicar a nuestras curvas y superficies para encontrar y obtener las
características que, posteriormente, enviaremos al clasificador.
A continuación se van a describir los algoritmos empleados para la obtención
de las siguientes características:
-
Área de la pisada.
Picos máximos de presión.
Ángulo de la pisada.
Forma de la superficie de energía de la pisada.
Para esta última se realizará la correlación de las superficies entre diferentes
pisadas para obtener el grado de similitud.
_________________________________________________________________________________ 82
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6.1 Área de la pisada
A partir de la superficie de energía acumulada tras una pisada podemos
determinar el área aproximada de la pisada. Se puede calcular aproximadamente, en
mm2, sin más que realizar un barrido de la imagen y contar el número de píxeles activos
para la superficie de energía.
Figura 6.1.1 Cálculo del área de pisada para la pisada 116
El algoritmo es muy sencillo y consiste simplemente en contar los píxeles
activos y el resultado es, por tanto, el área en mm2. Esta medida tiene por tanto, un error
derivado del proceso de tratamiento de las imágenes (interpolación, cálculo del umbral,
etc.). El resultado también depende del umbral empleado, ya que existirán más o menos
píxeles activos dependiendo del umbral calculado anteriormente.
Para obtener resultados consistentes en el caso de aplicar esta características se
deberá emplear el mismo filtro de interpolación y exactamente el mismo umbral con
todas las superficies procedentes de las distintas pisadas.
_________________________________________________________________________________ 83
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6.2 Determinación de picos de presión
La determinación de los puntos de máxima presión (o energía) en la pisada es
muy importante, ya que su localización depende directamente de la fisonomía del pie y
la forma de andar. Se va a obtener la ubicación de los dos puntos máximos de presión, a
partir de la superficie de energía acumulada; el primero de ellos estará localizado en la
zona central del talón mientras que el segundo en la parte media/delantera del pie, parte
central. Su ubicación, distancia y relación entre estos dos máximos van a ser
características de importancia que vamos a extraer.
Puntos de
presión máxima
Figura 6.2.1 Esquema de puntos de alta presión en el pie y ejemplo de imagen tomada de un estudio médico
Por la fisonomía del pie y la forma de andar de las personas, los puntos de
máxima presión al andar se encuentran situados en las zonas marcadas con círculos de
color rojo, tal y como indica la figura superior. El hecho de llevar calzado puesto no
influye en la localización de estos puntos, puesto que las zonas de más alta presión se
van a concentrar en los mismos lugares.
Estos picos de presión aparecen en las superficies de energía acumulada que
hemos ido obteniendo a lo largo de apartados anteriores, tal y como se muestra en la
siguiente figura. Dado que se acumulará mayor energía en las zonas donde se haya
hecho mayor presión, se pueden obtener estos puntos a partir de las superficies de
energía.
El algoritmo que se ha diseñado utiliza como punto de partida la superficie de
energía acumulada tras el proceso de pisada, una vez que se le ha aplicado el filtro de
interpolación gaussiano y el umbral descrito en los apartados anteriores, si bien el
algoritmo diseñado no depende del valor de este umbral. A continuación de detalla el
algoritmo diseñado.
_________________________________________________________________________________ 84
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Puntos de
presión máxima
Figura 6.2.2 Superficie de energía con los puntos de presión máxima presión indicados
· Descripción del algoritmo
El primer paso consiste en calcular todos los máximos relativos dentro de la
superficie de energía; hay que tener en cuenta que habrá varios máximos y se deben
diferenciar ambos máximos buscados, los cuales se van a encontrar en las dos zonas de
alta presión, planta y parte delantera.
Para la obtención de los máximos relativos de la matriz se ha empleado la
función imregionalMax, que ya viene implementada en Matlab. Esta función crea una
matriz del mismo tamaño que la que se pasa como parámetro, con 1’s en aquellas
posiciones correspondientes a máximos relativos, esto es, puntos rodeados por valores
inferiores.
Figura 6.2.3 Funcionamiento de la función imregionalMax
Una vez obtenidos todos los máximos relativos de la función debemos tener en
cuenta la existencia de diferentes máximos dentro de cada una de las dos zonas de alta
presión de las superficies que estamos estudiando.
_________________________________________________________________________________ 85
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
De hecho habrá casos en los que existirán máximos relativos dentro de la zona
del talón mayores que el máximo absoluto de la zona delantera y viceversa. Para
diferenciar los dos máximos absolutos dentro de cada zona, talón y parte delantera, se
sigue el procedimiento:
1. Nos posicionamos sobre la coordenada dentro de nuestra matriz que contiene
el mayor valor, que al estar normalizada, será 1.
2. Barremos en espiral, partiendo de ese punto, la matriz para obtener la
coordenada del punto más cercano al máximo absoluto encontrado, cuyo valor sea cero,
esto es, la coordenada más cercana al máximo absoluto que se encuentra en el borde del
pie.
3. Calculamos la distancia entre estos dos puntos. Por la fisonomía del pie, la
segunda zona de alta presión se encuentra siempre a una distancia mayor que la
calculada, por lo que no tomaremos ningún otro máximo dentro de un círculo cuya
distancia sea menor a la calculada.
Figura 6.2.4 Distancia empleada según la posición del máximo absoluto y barrido de la matriz en espiral
Una vez calculadas las posiciones de los dos máximos absolutos buscados, se
obtiene la relación y distancia entre ellos, datos que serán empleados como
características de interés en los estudios posteriores. La función findPeaks se ha
diseñado para realizar todo el proceso descrito en este apartado.
_________________________________________________________________________________ 86
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 6.2.5 Cálculo automático de los máximos para las pisadas 187 y 103
_________________________________________________________________________________ 87
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6.3 Ángulo de pisada
En la función implementada para la obtención de los picos máximos de presión
se han incluido líneas de código para calcular el ángulo relativo de pisada. La obtención
de éste es directa a partir de los puntos de alta presión, puesto que el ángulo de pisada
viene dado por el ángulo formado entre la coordenada X en el tablón y la línea que une
los puntos de alta presión.
β
El ángulo de pisada es interesante ya
que, al andar, cada persona orienta los
pies de forma diferente con respecto a
la línea recta que describe su
trayectoria en cada momento.
También puede ser útil para comparar
los ángulos con los que se pisa con
ambos pies, aunque en este caso
habría que realizar estudios diferentes
según el pie izquierdo y el derecho.
En cualquier caso, el ángulo de pisada depende de varios factores y puede verse
alterado con respecto a ellos. La orientación del panel de sensores y la trayectoria del
usuario con respecto al panel pueden alterar la medida del ángulo relativo de la pisada,
por lo que se requeriría “obligar” a los usuarios a pisar el tablón siguiendo una
trayectoria determinada con respecto a él para obtener resultados consistentes.
La aplicación más importante del
ángulo de pisada va a ser, no
obstante, su utilización en el
apartado siguiente, en el que se ha
diseñado un algoritmo para alinear
y solapar unas imágenes sobre otras
para correlar diferentes pisadas y
obtener el grado de similitud entre
ellas.
En la figura adjunta se muestra
cómo se emplea la función diseñada
para el cálculo del ángulo. La
función
proporciona
las
coordenadas de los máximos de
presión, sus valores y el ángulo
relativo de pisada (26.95º, 0.47
radianes), su tangente y además la
distancia entre ambos puntos de
máxima presión (132.37 mm).
Figura 6.3.1 Cálculo del ángulo de pisada
_________________________________________________________________________________ 88
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6.4 Comparación entre superficies de energía
En este apartado se va a describir cómo emplear la superficie de energía
obtenida en toda su extensión, para su uso a la hora de un proceso de identificación o
verificación. La idea básica va a consistir en comparar la forma que toman estas curvas;
al intentar acceder al sistema, éste va a generar la superficie de energía resultante del
proceso de pisada y la va a comparar con todas las superficies de energía almacenadas
en la base de datos, pertenecientes a todos los usuarios registrados en el sistema al que
se pretende acceder.
El principal problema que se plantea en esta situación es el hecho de que cada
pisada tiene una orientación y posición diferente dentro del panel de sensores. Será
necesario, por tanto, alinear las superficies espacialmente, unas con otras, para que
puedan ser comparadas.
Figura 6.4.1 Rotación y comparación entre superficies de energía de diferentes pisadas
Para poder comparar las superficies de energía debemos hacer rotar la superficie,
sin alterar el tamaño de la imagen, y trasladar la superficie de forma que ambas estén
alineadas; para optimizar así el proceso de comparación. Éste se va a llevar a cabo
mediante una correlación de las superficies resultantes después del proceso de rotación
y traslación.
_________________________________________________________________________________ 89
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6.4.1 Rotación y traslación de la superficie de energía
La operación de rotación de nuestra imagen puede parecer trivial a simple vista,
ya que tenemos la herramienta necesaria para calcular el ángulo de orientación y en, en
principio, sólo habría que rotar la imagen ese ángulo. Sin embargo, es necesario que las
matrices resultantes de este proceso tengan el mismo tamaño que la original, para no
desvirtuar el modelo empleado. Primero se lleva a cabo la rotación de la imagen y,
posteriormente, se trasladan los píxeles para alinearlos, tal y como se describe:
· Rotación
En principio se ha empleado la función imrotate, que viene implementada en
Matlab para rotar nuestra imagen; se tanto como indica el ángulo relativo para ser
alineada con el eje X. Sin embargo, esta función no respeta los tamaños de las imágenes
por lo que, al ser rotada, la matriz resultante posee un tamaño diferente a la anterior,
como resultado del proceso de interpolación que se realiza automáticamente al rotar. El
aumento de tamaño va a consistir en la aparición de filas y columnas de valor cero en
nuestra matriz, ya que la información importante se encuentra rodeada de píxeles de
valor nulo (áreas que no han sido activadas en el panel de sensores).
Por tanto, el proceso que se sigue después de rotar la imagen es barrer la nueva
matriz, eliminando filas y columnas a ambos lados hasta obtener una matriz del mismo
tamaño que la original (274x435).
435 + N píxels
274 + M
píxels
Figura 6.4.1.1 Supresión de filas y columnas de la matriz resultado de la rotación
Una vez se obtiene la matriz con el tamaño de la original, se procede a la
traslación de los píxeles a lo largo de la matriz, para colocarlos en una posición lo más
centrada posible.
_________________________________________________________________________________ 90
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
· Traslación
A la hora de alinear las superficies, la intención es hacer que se solapen lo
máximo posible para poder compararlas con la mayor exactitud posible. Para ello se ha
de buscar un punto de referencia, que actúe como punto de alineación para las
superficies.
La función implementada (rotateFootstep) se ha diseñado para funcionar con
una matriz de cualquier tamaño, por lo que el punto de alineación se toma como el
entero más cercano a la división por 2 del tamaño de la matriz de entrada, en el caso de
la matriz de 274x435 el punto de alineación es [137,218].
C
P
Figura 6.4.1.2 Traslación de los píxeles activos a la posición central de la matriz
Para calcular la distancia adecuada que deben recorrer todos los píxels en activo
hasta la zona central de la matriz; se toma con referencia, en todas las pisadas, el punto
P indicado en la figura. Este es el punto medio de la línea que une los dos picos de
presión previamente calculados y, por tanto, es el punto que mejor va a permitir una
correcta alineación. Por tanto, todos los píxeles en activo se trasladan una distancia
equivalente a la existente entre ese punto y el punto C, que es el punto central de la
matriz.
_________________________________________________________________________________ 91
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
6.4.2 Correlación de superficies de energía
Una vez las superficies están alineadas podemos calcular la correlación y
convolución entre ellas para determinar el grado de similitud que presentan. La
correlación de dos superficies de energía nos dará como resultado otra matriz, del
mismo tamaño, como se indica en las siguientes figuras.
Figura 6.4.2.1 Correlación de las pisadas 27 y 168 después de rotar y alinear
_________________________________________________________________________________ 92
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 6.4.2.2 Correlación de las pisadas 27 y 168 sin rotar ni alinear
Cuanto mayor es la similitud entre las superficies de energía, más está concentrada la
imagen resultante de realizar la correlación, como se muestra en las figuras, al calcular la
correlación de dos superficies de energía, alineándolas y posteriormente sin hacerlo.
_________________________________________________________________________________ 93
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Para facilitar la interpretación de la comparación entre superficies de energía, es
más útil y sencillo emplear el coeficiente de correlación. En la correlación entre dos
matrices de igual tamaño, A y B, éste se define como:
Donde A y B representan la media de las matrices A y B
El coeficiente de correlación es un valor comprendido entre 0 y 1 que mide el
grado de similitud entre las dos matrices (en nuestro caso las matrices que contienen los
valores de superficies de energía o presión). El objetivo de utilizar el cálculo de este
cociente es de establecer un umbral mínimo de similitud, bajo el cual, se considera que
la pisada que se está analizando no corresponde de ningún modo con ninguna de las que
se encuentran almacenadas en la base de datos.
Figura 6.2.2.3 Coeficiente de correlación para las pisadas 27 y 168 sin alinear (izqda) y alineando (dcha)
_________________________________________________________________________________ 94
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7. Trabajo con datos reales
7.1 Introducción
En el presente capítulo se detallan y explican los algoritmos y procesos seguidos
para la obtención de resultados a partir de datos reales de pisadas reales, tomados del
panel de sensores una vez instalado. Para tomar y procesar los datos se requieren 6
placas controladoras conectadas al panel, cada una de las cuales tiene capacidad para
muestrear y enviar los datos pertenecientes a 16 sensores activos en un momento
determinado. La tasa de muestreo del sistema es de aproximadamente 1KHz, con lo que,
en sucesivos apartados, consideraremos que 1000 muestras equivalen aproximadamente
a 1 segundo. El panel de sensores se encuentra conectado a un ordenador, en el que se
almacenan los datos tomados en formato binario. Estos archivos son los que se van a
procesar en MATLAB para obtener información relevante de las pisadas. Se realizarán
tareas de filtrado, eliminación de ruido y offset, extracción de datos, etc. para
acondicionar las señales antes de poder trabajar definitivamente con ellas.
Figura 7.1.1 El panel de sensores antes de ser instalado
En los sucesivos apartados se van a explicar los procesos seguidos con un set de
16 señales capturadas por una de las controladoras. El proceso es extensible y se puede
generalizar al llevado a cabo con la totalidad de los sensores en activo.
_________________________________________________________________________________ 95
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.2 Señales adquiridas del tablón de sensores
El tablón se conecta a un ordenador para capturar las señales procedentes de los
sensores de presión de forma continua, durante un determinado espacio de tiempo. Las
señales de guardan en ficheros en formato binario, los cuales se transfieren
posteriormente al servidor de la universidad para ser accesibles desde cualquier terminal
del laboratorio. De esta forma se procesan con MATLAB de forma inmediata.
Figura 7.2.1 El panel de sensores, una vez instalado
Una imagen de un set de pisadas obtenidas del tablón se muestra en la figura de
la siguiente página. Como puede apreciarse en la imagen, se han tomado 7 pisadas
diferentes a lo largo de 20,000 muestras (aproximadamente unos 20 segundos).
Debido a la naturaleza física de los componentes electrónicos del panel las
señales se van a ver afectadas por factores como ruido y offset que van a hacer que los
resultados no sean exactamente los mismos que los que se han venido obteniendo con
los datos simulados.
Por ello, lo primero que se va a hacer es acondicionar las señales para que
puedan ser procesadas convenientemente para la obtención de características
biométricas de las pisadas.
_________________________________________________________________________________ 96
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.3 Acondicionamiento de las señales
Las señales obtenidas directamente desde los sensores del panel requieren cierto
procesado antes de ser utilizadas, ya que contienen ruido y offset que debe ser
eliminado.
_________________________________________________________________________________
97
Figura 7.3.1 Aspecto de las señales entregadas por el panel de sensores
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.3.2 Visión ampliada de las señales transmitidas que muestra el rizado
Figura 7.3.3 Ruido presente en las señales captadas por los sensores
_________________________________________________________________________________ 98
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Para eliminar el rizado presente en las señales se ha optado por utilizar un filtro
Chebyshev. Se ha elegido este tipo de filtros, ya que permiten una caída de la respuesta
en frecuencias bajas más pronunciadas debido a que permiten más rizado que otros
filtros en alguna de sus bandas. Se ha decidido utilizar un filtro Chebyshev de tipo II, ya
que, diferencia de los Chevyshev I, presentan ceros y polos, su rizado es constante en la
banda no pasante y además presentan una caída monotónica en la banda pasante.
En concreto, se ha empleado un filtro con orden N=2, Atenuación=60dB en la
banda de rechazo y frecuencia=350Hz. Se ha decidido tomar un valor de N bajo, ya que
un valor pequeño del orden suaviza el rizado en la banda pasante del filtro.
Figura 7.3.4 Señales del panel de sensors después de eliminar el rizado con filtro Chebyshev
Para generar el filtro Chebyshev en MATLAB basta con usar el comando
cheby2. Este comando genera la matriz de coeficientes necesaria que debe ser utilizada
para filtrar la señal original. Por tanto, para llevar a cabo el filtrado, basta con generar la
secuencia de comandos:
[b,a]=cheby2(2,60,350/512);
filter(b,a,datos);
_________________________________________________________________________________ 99
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
El ruido también se suaviza el proceso de filtrado, si bien, es prácticamente
imposible eliminarlo del todo sin que la señal de interés se vea afectada. Cuando se
tenga toda la información correspondiente a una pisada se llevarán a cabo nuevos
procedimientos para eliminar el ruido.
Figura 7.3.5 Perfil de ruido tras filtrar
También existe una cierta componente de offset entre las señales debido a la
diferencia entre los voltajes de offset de los diferentes sensores del panel. Para eliminar
esta componente de offset basta con calcular la media de todas las señales y luego restar
este valor a cada una de las curvas de presión dadas por los sensores.
_________________________________________________________________________________ 100
Figura
7.3.6 Señales después de filtrar y eliminar el Antonio
offset
Escuela Superior de Ingenieros
de Sevilla
González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.4 Extracción de pisadas individuales de los ficheros
El sistema del que se dispone en el laboratorio permite capturar pisadas de forma
continua, lo que permite ahorrar tiempo. Sin embargo, es necesario tener ficheros que
contengan pisadas individuales para poder organizar las muestras en una base de datos,
según los individuos de los que se toman las pisadas.
Para ello, se ha desarrollado la función getFootsteps, que identifica y extrae las
pisadas dentro del fichero dado por el tablón de sensores. Cada pisada es almacenada en
un fichero individual con el mismo formato que el fichero original, esto es, formato
binario big-endian, de forma que se puedan emplear las mismas funciones para la
lectura de datos que se utilizan con los ficheros dados por el tablón.
El proceso llevado a cabo es el siguiente:
1. Se analizan las primeras 1000 muestras del fichero que contiene todas las
pisadas. Estas 1000 muestras contienen sólo ruido, por lo que el propósito es el de
obtener información acerca del ruido. Tras analizar estas muestras de ruido se toma el
valor máximo del ruido en este intervalo.
Valor maximo de
ruido en T=[0,1000]
Figura 7.4.1 Obtencion del valor maximo del ruido como umbral minimo
Este valor máximo de ruido se va a considerar el umbral mínimo a partir del cual
consideramos que empieza una pisada. Es decir, no se considera que comienzan los
datos correspondientes a una pisada hasta que todas las señales están por encima de ese
umbral de ruido.
_________________________________________________________________________________ 101
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
2. Se realiza un barrido progresivo del fichero hasta que se identifica el punto de
comienzo de una pisada, es decir, momento en el que todas las señales se encuentran
por encima del valor de ruido identificado en el punto anterior. Sin embargo, para evitar
perder algunas muestras de la señal, el puntero utilizado para ir barriendo la señal se
retrasa unas muestras antes del punto de comienzo, para coger la señal de la pisada en
su totalidad. Se ha decidido tomar un valor fijo de N=30 como corrección del puntero.
Condición de
comienzo de
la pisada
Figura 7.4.2 Detección de condición de comienzo de una pisada
Se emplea un puntero o índice para ir recorriendo el archivo. Para cada
instante de tiempo se leen todos los valores correspondientes a las señales en ese
momento y se transfieren a un vector. En cada iteración se comprueba si se cumple la
condición de comienzo de la pisada.
Al verificar la condición se retrasa el puntero un valor de N muestras (se ha
tomado N=30) para empezar a leer desde ahí. Por comprobación de numerosas muestras
obtenidas se ha verificado el hecho de que las pisadas no suelen durar más de ¾ de
segundo. Por ello se van a tomar archivos de pisadas compuestos por T=1000 muestras
(aproximadamente un segundo). De esta forma, todos los archivos obtenidos van a tener
una duración y formato idénticos, lo cual facilitará en gran medida el procesado
posterior.
_________________________________________________________________________________ 102
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
T=1000
Retraso de
N=30 muestras
Figura 7.4.3 Proceso de extracción de la pisada del archivo
Para realizar el proceso con todas las pisadas presentes en el archivo se ha
utilizado una variable de tipo bandera para identificar si, en cada momento, se está
buscando el comienzo o el final de una pisada. El proceso se va repitiendo
iterativamente hasta que se llega al final del archivo.
Cada vez que se identifica el comienzo de una pisada y se retrasa el índice las N
muestras indicadas, se almacenan todos los datos correspondientes a las siguientes
T=1000 muestras en una matriz que hace las veces de buffer de memoria. Mediante los
comandos fopen y fwrite incluidos en MATLAB es posible volcar el contenido de esta
matriz en un archivo binario, del mismo formato que el original, sin más que especificar
el formato deseado.
fid=fopen(sprintf('%s%s%d',filename,'_FOOTSTEP_',n),'wb');
fwrite(fid,aux','int16','b');
fclose(fid);
_________________________________________________________________________________ 103
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Archivos
creados
Figura 7.4.4 Ventana de comandos para la extracción de las pisadas del archivo
Todos los nuevos archivos creados tienen un tamaño estándar de 32 KB cada
uno y el mismo formato. Esto facilitará tareas de procesamiento y comparación entre
ellos.
_________________________________________________________________________________ 104
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.5 Obtención de muestras completas
Una vez todas las controladoras conectadas al tablón han sido instaladas
adecuadamente, se puede proceder a la obtención de muestras completas pertenecientes
a las pisadas de diferentes individuos.
En el caso que nos ocupa se han tomado varias muestras de pisadas
correspondientes a varias personas de diferentes sexos, para contar con una mayor
variedad de resultados. En el apartado siguiente se muestra la representación de las
señales obtenidas al procesar las señales dadas por los sensores y las curvas de GRF
asociadas a algunas de esas muestras de datos reales.
Como se dijo en apartados anteriores, el funcionamiento del panel requiere de la
presencia de controladores conectados a los sensores del panel. Cada uno de ellos tiene
capacidad para capturar, procesar y enviar las señales correspondientes a 16 sensores al
mismo tiempo, con lo cual los datos son enviados en bloques de 16 en 16. Dichos
bloques de 16 son almacenadas en archivos en formato binario, de forma separada, por
lo que se ha diseñado la función blendData.m para leer los archivos de forma secuencial
y almacenar el contenido de la información de los sensores a lo largo del período de
toma de muestras en una matriz.
Matriz que contiene las
muestras tomadas a lo largo de
20 seg.
Archivos
dados por el
panel de
sensores
Figura 7.5.1 Ventana de comandos para la obtención de las muestras de pisadas
_________________________________________________________________________________ 105
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
En la figura anterior se muestra la ventana de comandos para la obtención de la
matriz que contiene los datos dados por los sensores a lo largo de un período de muestra
de 20,000 samples (Aproximadamente 20 segundos). Cada fila de la matriz corresponde
a los datos muestreados en ese instante de tiempo. Nótese que la matriz posee 96
columnas, cuando en realidad existen sólo 88 sensores. Esto es debido a que cada
controlador proporciona, como se ha indicado anteriormente, datos correspondientes a
bloques de 16 sensores. Como 88 no es múltiplo de 16, el último controlador
proporciona los datos correspondientes a 8 sensores, mientras que las otras 8 señales
quedan en blanco. Mediante una sencilla función, estas últimas 8 columnas sobrantes
son eliminadas de la matriz, obteniendo así una dimensión de 88 columnas, cada una de
las cuales corresponde a cada uno de los sensores del panel.
Figura 7.5.2 Visualización de las muestras tomadas por el panel de sensores a lo largo de los 20 segundos
En la figura 7.5.2 se muestra la representación en pantalla, con respecto al
tiempo, de las señales de presión proporcionadas por el panel de sensores a lo largo de
un proceso de muestra de unos 20 segundos. Como los datos son tomados de forma
continua, las pisadas deben ser separadas y guardadas de forma independiente para
poder ser analizadas posteriormente.
_________________________________________________________________________________ 106
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Se ha diseñado una versión mejorada de la función getFootsteps.m, para
utilizarla con datos reales. Para facilitar el manejo de las muestras se ha seguido
considerando una longitud fija de pisada de T=1000 muestras. En este caso, la
condición de final de pisada se calcula con respecto al umbral, y el resto de información
se rellena con ceros hasta completar una longitud de 1000 samples. En el caso de que la
pisada haya durado más de 1 segundo (caso muy improbable), se eliminan las muestras
sobrantes hasta tener el tamaño de 1000 muestras; esto no afecta a la información
obtenida ya que la parte final de las pisadas son señales producidas por el efecto de
descarga de los condensadores que componen los sensores.
T=1000
Rellenado con
ceros
Condición de
final de pisada
Retraso de
N=30 muestras
Figura 7.5.3 Proceso de extracción de pisadas con la función mejorada
Una vez las muestras completas se han aislado y almacenado en ficheros
independientes ya es posible su visualización y procesado; obtención de las curvas
GRF, superficies, etc.
_________________________________________________________________________________ 107
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.6 Ejemplos de muestras reales y curvas GRF asociadas
En este apartado se muestran ejemplos de pisadas de 3 personas distintas, con
todos los sensores en funcionamiento, y curvas GRF asociadas a algunas de ellas,
calculadas con los datos reales.
● Persona 1:
Figura 7.6.1 Muestra 1 del voluntario 1
Figura 7.6.2 Muestra 2 del voluntario 1
_________________________________________________________________________________ 108
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.6.3 Muestra 3 del voluntario 1
Figura 7.6.4 Curva GRF de la muestra 3 del voluntario 1
_________________________________________________________________________________ 109
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
● Persona 2:
Figura 7.6.5 Muestra 1 del voluntario 2
Figura 7.6.6 Muestra 2 del voluntario 2
_________________________________________________________________________________ 110
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.6.7 Muestra 3 del voluntario 2
Figura 7.6.8 GRF calculada para la muestra 3 del voluntario 2
_________________________________________________________________________________ 111
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
● Persona 3:
Figura 7.6.9 Muestra 1 del voluntario 3
Figura 7.6.10 Muestra 2 del voluntario 3
_________________________________________________________________________________ 112
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.6.11 Muestra 3 del voluntario 3
Figura 7.6.12 GRF de la muestra 3 del voluntario 3
_________________________________________________________________________________ 113
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.7 Superficies de energía con muestras reales
En este apartado se muestran los resultados obtenidos al aplicar las herramientas
de procesado diseñadas para la generación de superficies de energía y presión para las
muestras de pisadas reales de las que se dispone. En este caso de ha dispuesto de
muestras pertenecientes a cuatro individuos.
● Persona 1:
Figura 7.7.1 Muestra tomada del voluntario 1
Figura 7.7.2 Superficie de energía para la muestra del voluntario 1
_________________________________________________________________________________ 114
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.7.3 Mapa de actividad de sensores para la muestra del voluntario 1
En la figura 7.7.3 se muestra el mapa de actividad total de los sensores a lo largo
del proceso de pisada. La zona del panel correspondiente al grupo de sensores sobre el
que se ha pisado se ha resaltado en la figura. Mediante esta representación del mapa de
sensores queda patente la presencia y existencia de ruido en los dispositivos que
conforman los sensores del panel de presión.
Se puede observar actividad presente en gran parte de los sensores, aún cuando
no se han visto activados en la toma de la muestra. Una característica inherente a todo
sistema electrónico es la generación de señales ruidosas por parte de los componentes
electrónicos que lo conforman. Este hecho queda demostrado en la figura, en la que se
aprecia que todo sensor está aportando una componente de ruido que se va a sumar a la
señal resultante y que inevitablemente afectará a los resultados prácticos obtenidos.
_________________________________________________________________________________ 115
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
● Persona 2:
Figura 7.7.4 Muestra del voluntario 2
Figura 7.7.5 GRF calculada para la muestra del voluntario 2
_________________________________________________________________________________ 116
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.7.6 Superficie de energía para la muestra del voluntario 2
● Persona 3:
Figura 7.7.7 Muestra del voluntario 3
_________________________________________________________________________________ 117
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.7.8 Mapa de actividad de sensores calculado para la muestra 3
Figura 7.7.9 Superficie de energía para la muestra del voluntario 3
_________________________________________________________________________________ 118
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
De la superficie obtenida en la figura 7.7.9 podemos deducir que las
representaciones obtenidas en 3 dimensiones con las herramientas diseñadas van a
depender en gran medida del tipo de calzado empleado por el usuario, en cuanto a la
forma de superficie de energía se refiere.
Va a existir una gran diferencia de presión entre los puntos altos de presión
(talón y parte central del pie) y la parte central del mismo, lo cual va a dar lugar a
superficies seccionadas, es decir, con los resultados prácticos no vamos a obtener una
imagen totalmente continua, sino dos secciones de presión bien diferenciadas, cada una
de las cuales va a corresponder a la parte trasera y delantera del pie.
Aunque no va a ser posible calcular el área de pisada con los datos prácticas, va
a ser perfectamente viable la determinación de los puntos de máxima presión, ángulo de
pisada y, muy importante, distancia entre ambos puntos de máxima presión,
característica que va a ser determinista según las características físicas de cada persona.
● Persona 4:
Figura 7.7.10 Muestra correspondiente al voluntario 4
_________________________________________________________________________________ 119
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.7.11 Superficie de energía para la muestra anterior – vista superior
Figura 7.7.12 Superficie de energía para la muestra anterior – vista lateral
_________________________________________________________________________________ 120
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.8 Umbral mínimo con muestras reales
Siguiendo el mismo procedimiento que para los datos simulados, y usando las
mismas herramientas diseñadas, se va a eliminar la información “fantasma” presente en
las superficies tras el proceso de interpolación. Es el paso previo a la extracción de
algunas de las características de las superficies.
A continuación se ilustra el proceso con un ejemplo realizado con una muestra
real.
Figura 7.8.1 Superficie antes del cálculo del umbral mínimo
7
Figura 7.8.2 Superficie tras el cálculo del umbral mínimo
7
_________________________________________________________________________________ 121
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
7.9 Extracción de características
Aplicando exactamente los mismos algoritmos y funciones diseñadas para los
datos simulados, se presentan en este apartado un par de ejemplos en los que calcula el
ángulo de pisada, localización de los puntos de máxima presión y distancia entre ellos
con muestras de pisadas reales tomadas en el laboratorio.
Matriz de
resultados
Figura 7.9.1 Muestra y extracción de características correspondiente
_________________________________________________________________________________ 122
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Figura 7.9.2 Superficie de una muestra y extracción de características correspondiente
_________________________________________________________________________________ 123
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
La matriz de resultados del proceso de extracción de características se da en la
siguiente forma:
a11
a12
a13
a21
a31
a41
a22
a32
a42
a23
a33
a43
Donde:
· a11: Coordenada X del punto de máxima presión.
· a12: Coordenada Y del punto de máxima presión.
· a13: Valor normalizado del punto de máxima presión (la unidad).
· a21: Coordenada X del segundo punto de máxima presión.
· a22: Coordenada Y del segundo punto de máxima presión.
· a23: Valor normalizado del segundo punto de máxima presión.
· a31: Ángulo en grados de la pisada.
· a32: Ángulo en radianes de la pisada.
· a33: Tangente del ángulo de pisada.
· a41: Distancia entre ambos puntos de máxima presión (en mm).
· a42: Coordenada X del punto medio entre ambos puntos de máxima presión.
· a43: Coordenada Y del punto medio entre ambos puntos de máxima presión.
_________________________________________________________________________________ 124
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
8. Conclusiones
A lo largo del desarrollo de esta memoria se han ido mostrando los pasos
seguidos, cronológicamente, para la obtención de resultados que permitieran sentar las
bases para el diseño de un futuro sistema que sea capaz de identificar individuos a
través de la forma de andar.
En los primeros capítulos se mostraron los procedimientos que se llevaron a
cabo con datos simulados; obteniendo primero curvas GRF con datos ideales y después
superficies de presión y energía, primero en baja resolución y posteriormente en alta
resolución mediante procesos de interpolación. Estos resultados reflejaban exactamente
lo que cabía esperar ya que, al emplear pisadas simuladas, la no existencia de ruido y
otros factores permitió la obtención de curvas y superficies que no se vieron alteradas
por la presencia de éstos.
A la vista de los resultados que se han dado con muestras reales tomadas en
laboratorio con diferentes voluntarios, queda patente la existencia de una considerable
diferencia entre la teoría y la puesta en práctica de un proyecto. No sólo quedó
demostrada la presencia de factores tales como ruido aditivo y offset en las señales que
proporcionaba el panel de sensores, sino que también existen innumerables factores que
pueden afectar a la calidad o fiabilidad del estudio de pisadas.
Entre dichos factores debemos tener en cuenta el propio proceso de toma de
muestras en laboratorio. La forma de pisar en determinado momento, el calzado
empleado en la toma de muestras e incluso la correcta calibración de los sensores y
comportamiento de los componentes electrónicos que forman el panel a lo largo del
tiempo, afectan de forma decisiva el proceso de estudio con datos reales. Por ello, sería
conveniente el establecer un proceso o método más riguroso de toma de muestras, que
requeriría de más tiempo del que se ha dispuesto para la recogida de datos en relación a
este proyecto.
A pesar de todos estos elementos que afectan a la obtención de la información
requerida a partir de las muestras, se puede afirmar que los resultados obtenidos con
datos reales son, en principio, bastante satisfactorios. Las curvas GRF obtenidas a partir
de los voluntarios se ajustan perfectamente a los perfiles típicos de este tipo de gráficas,
y permiten por tanto la extracción de un buen número de características siguiendo los
procedimientos explicados en el apartado 5.4.5. Éstas pertenecen, como ya se indicó, al
grupo de características geométricas, y pueden ser herramientas muy útiles para mejorar
el rendimiento del futuro sistema.
En el caso de la obtención de las superficies de energía, los resultados presentan
una mayor variación con respecto a los obtenidos con datos ideales. Esto, sin embargo,
es perfectamente comprensible teniendo en cuenta el calzado empleado, la forma de
pisar y la sensibilidad de los sensores que conforman el panel. Aunque no es viable la
utilización de estas superficies para ser comparadas entre ellas, es perfectamente posible
la obtención de otras características geométricas muy importantes de ellas; ángulo de
pisada y distancia entre los puntos máximos de presión; esta última con mayor
relevancia ya que es una característica física que varía de persona a persona.
Este proyecto ha intentado sentar las bases de lo que sería el proceso de
extracción de características esenciales para la consecución de un sistema biométrico, si
bien la realización del mismo requiere de una gran cantidad de procesos y fases, cuyo
tiempo necesario queda fuera del alcance de este trabajo.
_________________________________________________________________________________ 125
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Apéndice I. Funciones para los datos simulados
I1. Listado de funciones
• correlateFootsteps: Calcula la correlación entre dos pisadas.
• energySensor: Proporciona el valor de energía acumulada para un sensor.
• fillSensor: Mapea un determinado valor de presión o energía en un sector circular de
radio 13mm alrededor de un punto especificado mediante sus coordenadas X e Y, centro
del sensor.
• filterHP: Aplica un filtrado paso de alta a la matriz de entrada, con objeto de obtener
bordes y límites en la imagen de la pisada.
• filterLP: Aplica un filtrado paso de baja a la matriz de entrada; elimina ruido y
suaviza la representación de ciertas superficies.
• findArea: Calcula el área de una pisada, en mm2, contando el número de píxeles
activos en la matriz a escala.
• findPeaks: Procesa la matriz de energía acumulada y da como resultado una matriz
que contiene los dos puntos de máxima presión (talón y parte frontal del pie),
localización de los puntos, ángulo de pisada y coordenadas del centro de la recta que
une ambos puntos de máxima presión.
• getCentroids: Obtiene las coordenadas del centro de cada sensor de presión en la
matriz a escala del panel, de tamaño 274x435.
• labelFigure: Esta función se utiliza meramente para facilitar la representación de
algunas superficies. Visualiza en pantalla, sobre las coordenadas de los sensores
correspondientes, los números de éstos, tal y como están situados originalmente en el
diseño del panel.
• mapMatrix: Lee los datos correspondientes a presión o energía y los mapea en la
matriz del modelo aproximado del panel, de tamaño 14x13.
• normalizeMatrix1: Normaliza la matriz de entrada por el método del valor máximo,
de forma que todos los valores son relativos al máximo, de módulo 1.
• plotCircles: Obtiene y representa en pantalla las superficies circulares de presión e
energía correspondientes a la actividad de los sensores del panel.
• plotDifferential: Representa en pantalla la presión diferencial de un sensor a lo largo
del tiempo.
• plotFootstep: Obtiene los datos necesarios de presión o energía, reserva espacio para
la matriz del modelo a escala, mapea y transfiere los datos y tras interporlar en las áreas
en blanco representa la superficie a escala de energía o presión, según el caso.
_________________________________________________________________________________ 126
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• plotSensor: Representa la variación de presión en un sensor con respecto al tiempo.
Para ello integra la presión diferencial dada por los sensores hasta el instante en el cual
se quiere representar la presión.
• pressureSensor: Proporciona la energía acumulada en el sensor especificado en un
instante determinado del tiempo.
• readSim: Esta función se diseñó con el propósito de obtener una herramienta que
permitiera leer los datos simulados de forma automática. Mediante el uso de los
comandos fopen y fread y el empleo de punteros, lee los datos de los ficheros de pisadas
simuladas y los transfiere a la matriz de tamaño 500x88, explicada en el apartado de
datos simulados.
• rotateFootstep: Este código permite rotar y alinear las imágenes de presión de las
pisadas para su posterior comparación empleando operaciones de correlación y
convolución entre imágenes.
• sensorNumber: Obtiene las coordenadas para los diferentes sensores en la matriz del
modelo aproximado del panel.
• showEnergy: Calcula la energía acumulada para el panel de sensores hasta un cierto
instante del tiempo. Dicha energía es representada en una superficie.
• showForce: Calcula y representa la curva de la GRF (Ground Reaction Force) para
una pisada.
• showForce3D: Calcula y representa la superficie de presión para una pisada en el
instante de tiempo especificado.
• threshold: Calcula el umbral mínimo para la imagen de presión de las pisadas y
devuelve la matriz resultante de la aplicación de este valor umbral.
_________________________________________________________________________________ 127
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
I2. Códigos de las funciones
• correlateFootsteps
% this function calculate correlation over time of two different
footsteps %
% The result is presented as a function over the whole process %
% 1 indicates maximum correlation between images whereas 0 indicates
no likeness %
function h = correlateFootsteps(filename1,filename2)
T=500;
Ni=274;
Nj=435;
h=zeros(1,T);
value=0;
coordinates=[0 0];
smoothingFilter=(1/115)*[2 4 5 4 2;4 9 12 9 4;5 12 15 12 5;4 9 12 9
4;2 4 5 4 2];
N=20;
% resizing factor for the filter %
smoothingFilter = imresize(smoothingFilter,N,'bicubic');
M1=zeros(Ni,Nj);
M2=zeros(Ni,Nj);
data1=readSim(filename1);
data2=readSim(filename2);
p1=mapMatrix(data1,1);
p2=mapMatrix(data2,1);
for t=0:87
coordinates=sensorNumber(t);
value=p1(coordinates(1),coordinates(2));
coordinates=getCentroids(t);
M1=fillSensor(M1,value,coordinates(1),coordinates(2));
end
M1=imfilter(M1,smoothingFilter,'conv');
M1=normalizeMatrix1(M1);
M1=threshold(M1);
M1=rotateFootstep(M1);
for t=0:87
coordinates=sensorNumber(t);
value=p2(coordinates(1),coordinates(2));
coordinates=getCentroids(t);
M2=fillSensor(M2,value,coordinates(1),coordinates(2));
end
M2=imfilter(M2,smoothingFilter,'conv');
M2=normalizeMatrix1(M2);
M2=threshold(M2);
M2=rotateFootstep(M2);
h(1)=corr2(M1,M2);
_________________________________________________________________________________ 128
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
% correlation loop %
for t=2:T
p1=mapMatrix(data1,t);
p2=mapMatrix(data2,t);
for k=0:87
coordinates=sensorNumber(k);
value=p1(coordinates(1),coordinates(2));
coordinates=getCentroids(k);
M1=fillSensor(M1,value,coordinates(1),coordinates(2));
end
M1=imfilter(M1,smoothingFilter,'conv');
M1=normalizeMatrix1(M1);
M1=threshold(M1);
M1=rotateFootstep(M1);
for k=0:87
coordinates=sensorNumber(k);
value=p2(coordinates(1),coordinates(2));
coordinates=getCentroids(k);
M2=fillSensor(M2,value,coordinates(1),coordinates(2));
end
M2=imfilter(M2,smoothingFilter,'conv');
M2=normalizeMatrix1(M2);
M2=threshold(M2);
M2=rotateFootstep(M2);
h(t)=corr2(M1,M2);
fprintf('\r');
fprintf('%f',(t/T)*100);
fprintf('%%');
end
_________________________________________________________________________________ 129
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• energySensor
% gives the energy for a sensor accumulated %
function finalValue = energySensor(data, sensor)
coordinates=sensorNumber(sensor);
i=coordinates(1);
j=coordinates(2);
Ni=14;
Nj=13;
T=500;
aux=zeros (Ni,Nj);
m=0;
for n=1:T
if (n~=1)
aux = mapMatrix(data, n);
pressure(n)=aux(i,j)+pressure(n-1);
else
aux=mapMatrix(data,1);
pressure(1)=aux(i,j);
end
end
finalValue=pressure(1);
for i=2:T
finalValue=finalValue+pressure(i-1);
end
finalValue=finalValue+pressure(T);
finalValue;
_________________________________________________________________________________ 130
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• fillSensor
% this function maps "value" into a circular area inside a matrix %
% mapping process is carried out inside a square, discarding those
points %
% which are beyond the sensor radius %
% x and y coordinates are for the centroid of the sensor %
function matrix = fillSensor(matrix,value,x,y)
R=13;
% sensor radius %
for i=(x-R):(x+R)
for j=(y-R):(y+R)
d=sqrt( (x-i)^2 + (y-j)^2 );
% Euclidean distance to center %
if ( d<R )
matrix(i,j)=value;
end
end
end
_________________________________________________________________________________ 131
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• filterHP
% Applies a High Pass Filter to obtain the edges %
function filtered = filterLP(matrix)
HPfilter=[0 -1 0;-1 4 -1;0 -1 0];
%LPfilter=(1/273)*[1 4 7 4 1;4 16 26 16 4;7 26 41 26 7;4 16 26 16 4;1
4 7 4 1];
filtered=imfilter(matrix,HPfilter,'conv');
%filtered=imfilter(filtered,LPfilter,'conv');
filtered=normalizeMatrix1(filtered);
filtered=abs(filtered);
surfc(filtered);
• filterLP
% Applies a Low Pass Filter to obtain the edges %
function filtered = filterLP(matrix)
noiseFilter=[1/9 1/9 1/9;1/9 1/9 1/9;1/9 1/9 1/9];
filtered=imfilter(matrix,noiseFilter,'conv');
filtered=normalizeMatrix1(filtered);
surfc(filtered);
_________________________________________________________________________________ 132
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• findArea
% finds the Area for the footstep once the image has been thresholded
%
function area = findArea(matrix)
dataSize=size(matrix);
area=0;
for i=1:dataSize(1)
for j=1:dataSize(2)
if ( matrix(i,j)~=0 )
area=area+1;
end
end
end
_________________________________________________________________________________ 133
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• findPeaks
%
%
%
%
%
this function finds the peaks in the pressure surface %
it stores all the maximums and its coordinates in a matrix %
matrix should be a thresholded image %
Then we just select the two maximum values %
it also determines the angle %
function Peaks = findPeaks(matrix)
dataSize=size(matrix);
Ni=dataSize(1);
Nj=dataSize(2);
ni=1;
peaks %
mi=1;
hi=1;
k=1;
d=0;
s=1;
p=1;
angle=0;
% index for the matrix that stores the
%
%
%
%
%
%
%
auxiliar index for the first max peak %
auxiliar index for the second peak %
auxiliar index for T %
distance %
coefficient for the spiral movement %
pointer in the spiral movement %
step angle %
Peaks=zeros(4,3);
T=zeros(4,3);
B=imregionalmax(matrix);
% 1 if there's a maximum %
for i=1:Ni
for j=1:Nj
if ( B(i,j)==1)
P(ni,1)=i;
P(ni,2)=j;
P(ni,3)=matrix(i,j);
ni=ni+1;
end
end
end
% we go to the absolute maximum peak %
% mi will contain the index of absolute maximum peak in the peak
matrix %
dataSize=size(P);
for ni=1:dataSize(1)
if ( P(ni,3)>P(mi,3) )
mi=ni;
end
end
_________________________________________________________________________________ 134
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
% now we measure the distance from the coordinates in the footstep
matrix
% to the (approximate) nearest zero point %
i=P(mi,1);
j=P(mi,2);
while ( matrix(i,j)~=0 )
if ( rem(s,4)==1 )
j=j+p;
s=s+1;
end
if ( rem(s,4)==2 )
i=i+p;
s=s+1;
end
if ( rem(s,4)==3 )
j=j-(p+1);
s=s+1;
end
if ( rem(s,4)==0 )
i=i-(p+1);
s=s+1;
p=p+2;
end
end
% we calculate the distance from that zero point to the maximum peak
and
% then choose the peak we want %
d=sqrt( ( P(mi,1)-i )^2 + ( P(mi,2)-j )^2 );
for ni=1:dataSize(1)
if ( (sqrt( ( P(ni,1)-i )^2 + ( P(ni,2)-j )^2 ) )>d )
T(k,1)=P(ni,1);
T(k,2)=P(ni,2);
T(k,3)=P(ni,3);
k=k+1;
end
end
dataSize=size(T);
for k=1:dataSize(1)
if ( T(k,3)>T(hi,3) )
hi=k;
end
end
Peaks(1,1)=P(mi,2);
Peaks(1,2)=P(mi,1);
_________________________________________________________________________________ 135
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Peaks(1,3)=P(mi,3);
Peaks(2,1)=T(hi,2);
Peaks(2,2)=T(hi,1);
Peaks(2,3)=T(hi,3);
tg=( Peaks(2,2)-Peaks(1,2) )/( Peaks(2,1)-Peaks(1,1) );
Peaks(3,1)= ( atan(tg)*180 )/(pi);
Peaks(3,2)=atan(tg);
Peaks(3,3)=tg;
text(Peaks(1,1),Peaks(1,2),1,'*','Color',[0.6 0.5 0.7], 'FontWeight',
'bold');
text(Peaks(2,1),Peaks(2,2),1,'*','Color',[0.6 0.5 0.7], 'FontWeight',
'bold');
% distance between the two peaks %
Peaks(4,1)=sqrt( (Peaks(1,1)-Peaks(2,1))^2 + (Peaks(1,2)-Peaks(2,2))^2
);
MCx=( Peaks(1,1)+Peaks(2,1) )/2;
MCy=( Peaks(1,2)+Peaks(2,2) )/2;
% Middle Point %
Peaks(4,2)=MCx;
Peaks(4,3)=MCy;
text(Peaks(4,2),Peaks(4,3),1,'x','Color',[0.6 0.5
0.7],'FontWeight','bold');
% line( [Peaks(1,1) Peaks(2,1)], [Peaks(1,2) Peaks(2,2)], [1
1],'Color',[0.6 0.5 0.7]);
_________________________________________________________________________________ 136
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• getCentroids
% this script gets the coordinates for the center of the sensors %
function coordinates = getCentroids(sensor)
Ni=274;
Nj=435;
%
C=1;
%
N=0;
%
coordinates=[0 0];
R=13;
%
D=19;
%
the board %
Dy=38;
%
consecutive sensors %
Dx=34;
%
consecutive sensors %
i=R+1;
j=R+1;
274x435 image matrix %
Number of Column in sensor board %
sensor number which is being analysed %
sensor radius %
distance from the sensor border to the edge of
Vertical distance between centroids of two
Horizontal distance between centroids of two
% we start in the center of sensor ZERO %
if (sensor==0)
coordinates=[i j];
else
while (N<sensor)
i=i+Dy;
% we move to the next centroid %
if (i>=Ni)
j=j+Dx;
C=C+1;
if ( rem(C,2)==0 )
i=D+R+1;
% even column %
else
i=R+1;
end
if ( (C==9) || (C==11) || (C==13) )
% columns with only
6 sensor %
i=i+Dy;
end
end
N=N+1;
end
end
coordinates = [i j];
_________________________________________________________________________________ 137
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• labelFigure
% labels the current figure with the sensor numbers %
function labelFigure(ratio)
Ni=14;
Nj=13;
coor=[0 0];
N=88;
for i=0:N-1
coor=sensorNumber(i);
if (ratio~=1)
text(coor(2)*(ratio-1),coor(1)*(ratio-1),1.1,num2str(i),'Color',[0.6
0.5 0.7], 'FontWeight', 'bold');
else
text(coor(2),coor(1),1.1,num2str(i),'Color',[0.6 0.5 0.7],
'FontWeight', 'bold');
end
end
_________________________________________________________________________________ 138
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• mapMatrix
% This function is to create a mapped matrix from the sensor board %
% It's a 14*13 matrix, containing one zero in those columns in which
there
% are six sensors %
function mappedMatrix = mapMatrix(data, time)
Ni=14;
Nj=13;
mappedMatrix = zeros(Ni,Nj);
jdata=1;
N=1;
flag=0;
% from 1 to 91 %
for j=1:Nj
if ( rem(j,2)==0 )
% if it's an even column first sensor is
% in the second position %
i=2;
else
i=1;
end
while (i<=Ni)
if ( (N == 57) || (N == 70) || (N == 83) )
mappedMatrix(i,j)=0;
N=N+1;
i=i+2;
else
mappedMatrix(i,j)=data(time, jdata);
jdata=jdata+1;
N=N+1;
i=i+2;
% there's at least one empty cell every two cells
end
end
end
_________________________________________________________________________________ 139
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• normalizeMatrix1
% Normalizes matrix using the MaxOne Method %
function normalized = normalizeMatrix1(matrix)
dataSize=size(matrix);
Ni=dataSize(1);
Nj=dataSize(2);
maximum=0;
for i=1:Ni
for j=1:Nj
aux=abs(matrix(i,j));
if (aux>maximum)
maximum=aux;
end
end
end
if (maximum==0)
normalized=matrix*0;
else
normalized=matrix*(1/maximum);
end
_________________________________________________________________________________ 140
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• plotCircles
% These will create an accurate image of the footstep %
function footstep = plotCircles(filename)
Ni=274;
Nj=435;
coordinates=[0 0];
smoothingFilter=(1/115)*[2 4 5 4 2;4 9 12 9 4;5 12 15 12 5;4 9 12 9
4;2 4 5 4 2];
N=20;
% resizing factor for the filter %
% 1. We obtain the pressure values using the function showEnergy %
A=showEnergy(filename,0);
% 2. We create the 274x435 array for the final image %
footstep=zeros(Ni,Nj);
% 3. We map and scan the values and store them into the matrix %
for i=0:87
coordinates=sensorNumber(i);
value=A(coordinates(1),coordinates(2));
coordinates=getCentroids(i);
footstep=fillSensor(footstep,value,coordinates(1),coordinates(2));
end
_________________________________________________________________________________ 141
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• plotDifferential
% Plot the differential pressure of a sensor over time %
function differential = differential(filename,sensor)
data=readSim(filename);
Ni=14;
Nj=13;
T=500;
matrix=zeros(Ni,Nj);
coordinates=sensorNumber(sensor);
i=coordinates(1);
j=coordinates(2);
for n=1:T
matrix=mapMatrix(data,n);
differential(n)=matrix(i,j);
end
% differential=normalizeMatrix1(differential); %
set(gca,'xlim',[0 500],'ylim',[-1
1],'NextPlot','replace','Visible','on');
plot (differential);
title (['DIFFERENTIAL PRESSURE FOR SENSOR
',num2str(sensor)]);
_________________________________________________________________________________ 142
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• plotFootstep
% This will create an accurate image of the footstep %
function footstep = plotFootstep(filename)
Ni=274;
Nj=435;
coordinates=[0 0];
smoothingFilter=(1/115)*[2 4 5 4 2;4 9 12 9 4;5 12 15 12 5;4 9 12 9
4;2 4 5 4 2];
N=20;
% resizing factor for the filter %
% 1. We obtain the pressure values using the function showEnergy %
A=showEnergy(filename,0);
% 2. We create the 274x435 array for the final image %
footstep=zeros(Ni,Nj);
% 3. We map and scan the values and store them into the matrix %
for i=0:87
coordinates=sensorNumber(i);
value=A(coordinates(1),coordinates(2));
coordinates=getCentroids(i);
footstep=fillSensor(footstep,value,coordinates(1),coordinates(2));
end
% 4. Smoothing %
smoothingFilter = imresize(smoothingFilter,N,'bicubic');
footstep=imfilter(footstep,smoothingFilter,'conv');
footstep=normalizeMatrix1(footstep);
_________________________________________________________________________________ 143
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• plotSensor
% plot de pressure for one sensor against time %
function pressure = sensor(filename,sensor)
data=readSim(filename);
coordinates=sensorNumber(sensor);
i=coordinates(1);
j=coordinates(2);
Ni=14;
Nj=13;
aux=0;
T=500;
for n=1:T
if (n~=1)
aux = mapMatrix(data, n-1);
pressure(n)=aux(i,j)+pressure(n-1);
else
aux=mapMatrix(data,1);
pressure(1)=aux(i,j);
end
end
pressure=pressure*(-1)
pressure=normalizeMatrix1(pressure);
set(gca,'xlim',[0 500],'ylim',[-1
1],'NextPlot','replace','Visible','on');
plot (pressure);
title (['PRESSURE FOR SENSOR
',num2str(sensor)]);
_________________________________________________________________________________ 144
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• pressureSensor
% gives the energy for a sensor accumulated %
function finalValue = pressureSensor(filename, sensor)
data=readSim(filename);
coordinates=sensorNumber(sensor);
i=coordinates(1);
j=coordinates(2);
Ni=14;
Nj=13;
T=500;
aux=zeros(Ni,Nj);
for n=1:T
if (n~=1)
aux = mapMatrix(data, n);
pressure(n)=aux(i,j)+pressure(n-1);
else
aux=mapMatrix(data,1);
pressure(1)=aux(i,j);
end
end
finalValue=pressure(1);
for i=2:T
finalValue=finalValue+pressure(i-1);
end
finalValue=finalValue+pressure(T);
finalValue
_________________________________________________________________________________ 145
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• readSim
function data = readSim(filename)
fileId = fopen(filename,'r','b');
dataIn = fread(fileId,inf,'int16');
fclose(fileId);
sampleCount = max(size(dataIn))/88;
data = zeros(sampleCount,88);
pointer = 1;
for i= 1:sampleCount
for j = 1:88
data(i,j) = dataIn(pointer);
pointer = pointer + 1;
end
end
_________________________________________________________________________________ 146
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• rotateFootstep
%
%
%
%
%
%
This function will rotate a footstep image so that
footstep is placed in the center of screen and aligned
horizontally (0 degrees angle)
M is the footstep Matrix %
M needs to be thresholded before being passed as a parameter to this
function
function rotated = rotateFootstep(M)
S=zeros(4,3);
mpoint=[0 0];
% middle point of footstep %
cpoint=[0 0];
% center screen point %
D=[0 0];
% transfer distance %
angle=0;
dataSize=size(M);
rotated=zeros(dataSize(1),dataSize(2));
buffer=zeros(dataSize(1),dataSize(2));
% buffer matrix %
Ni=dataSize(1);
Nj=dataSize(2);
cpoint=[int16(Ni/2) int16(Nj/2)];
rotated=zeros(Ni,Nj);
S=findPeaks(M);
% ROTATION %
angle=(S(3,1));
rotated=imrotate(M,angle);
rotatedSize=size(rotated);
% after rotating we want the matrix to have the original NixNj size %
while ( rotatedSize(2)~=Nj && rotatedSize(2)~=(Nj+1) &&
rotatedSize(2)~=(Nj-1) )
rotated(:,rotatedSize(2))=[];
rotated(:,1)=[];
rotatedSize=size(rotated);
end
_________________________________________________________________________________ 147
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
while ( rotatedSize(1)~=Ni && rotatedSize(1)~=(Ni+1) &&
rotatedSize(1)~=(Ni-1) )
rotated(rotatedSize(1),:)=[];
rotated(1,:)=[];
rotatedSize=size(rotated);
end
rotatedSize=size(rotated);
% if size is Ni+1 we delete a column %
if ( rotatedSize(1)>Ni )
rotated(1,:)=[];
end
% if size is Ni-1 we add a column with zeros %
if ( rotatedSize(1)<Ni )
h=zeros(Ni,1);
rotated=cat(2,rotated,h);
end
% if size is Nj+1 we delete a column %
if ( rotatedSize(2)>Nj )
rotated(:,1)=[];
end
% if size is Nj-1 we add a column
if ( rotatedSize(2)<Nj )
h=zeros(1,Nj);
rotated=cat(1,rotated,h);
end
buffer=rotated;
rotated=zeros(Ni,Nj);
_________________________________________________________________________________ 148
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
% DATA TRANSFER %
S=findPeaks(buffer);
mpoint=[int16(S(4,3)) int16(S(4,2))];
D=[(cpoint(1)-mpoint(1)) (cpoint(2)-mpoint(2))];
% distance that pixels must 'travel' %
for i=1:Ni
for j=1:Nj
if (buffer(i,j)~=0)
rotated(i+D(1),j+D(2))=buffer(i,j);
end
end
end
_________________________________________________________________________________ 149
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• sensorNumber
% Retrieves the coordinates in the mapped matrix from the sensor
number %
function coordinates = sensorNumber(sensor)
Ni=14;
Nj=13;
% original 14X13 board
N=0;
i=1;
j=1;
if (sensor==0)
i=1;
j=1;
else
while (N<sensor)
i=i+2;
if
(i>Ni)
i=1;
j=j+1;
if ( rem(j,2)==0)
% even column %
i=i+1;
end
if ( (j==9) || (j==11) || (j==13) )
sensor %
% columns with only 6
i=i+2;
end
end
N=N+1;
end
end
coordinates(1)=i;
coordinates(2)=j;
_________________________________________________________________________________ 150
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• showEnergy
% Calculates an array of energy for every sensor over time %
function energyMatrix = showEnergy(filename,flag)
data=readSim(filename);
Ni=14;
Nj=13;
coor=[0 0];
energyMatrix=zeros(Ni,Nj);
pressure=0;
for i=0:87
coor=sensorNumber(i);
energyMatrix(coor(1),coor(2))=abs(energySensor(data,i));
end
energyMatrix=normalizeMatrix1(energyMatrix);
if (flag==1)
surfc(energyMatrix);
labelFigure(1);
end
_________________________________________________________________________________ 151
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• showForce
% This function is to plot the Force against Time %
function force = ShowForce (filename)
data = readSim (filename);
dataSize=size(data);
force=0;
for i=1:dataSize(1)
aux=0;
for j=1:dataSize(2)
aux=aux+sum(data(i,j));
end
if (i==1)
force (i)=aux;
else
force(i)=aux+force(i-1);
end
end
plot (force);
_________________________________________________________________________________ 152
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• showForce3D
% This function is to create a 3-D graph for the Force (Intensity) %
% time is the moment at which we're plotting the graph %
function matrix3D = showForce3D(data,time)
matrix3D=mapMatrix(data,time);
dataSize=size(matrix3D);
Ni=dataSize(1);
Nj=dataSize(2);
aux=zeros(Ni,Nj);
for n=1:time
if (n~=1)
matrix3D = matrix3D+mapMatrix(data,n-1);
else
matrix3D=mapMatrix(data,1);
end
end
matrix3D=matrix3D*(-1);
matrix3D=normalizeMatrix1(matrix3D);
surfc(matrix3D);
set(gca,'xlim',[0 16],'ylim',[0 16],'zlim',[-1
1],'NextPlot','replace','Visible','on');
_________________________________________________________________________________ 153
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• threshold
% Thresholds the matrix with the average value %
function matrix = threshold(matrix)
dataSize=size(matrix);
Ni=dataSize(1);
Nj=dataSize(2);
n=1;
h = zeros(Ni*Nj,1);
% we calculate the histogram of the image %
for i=1:Ni
for j=1:Nj
if ( matrix(i,j)~=0 )
h(n)=matrix(i,j);
n=n+1;
end
end
end
% we calculate the Threshold as T = mean + stdv*CV %
% where CV=stdv/mean (dispersion coefficient) %
Th=mean(h) + std(h)*( std(h)/mean(h) );
for i=1:Ni
for j=1:Nj
if ( matrix(i,j)<=Th )
matrix(i,j)=0;
end
end
end
_________________________________________________________________________________ 154
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Apéndice II. Funciones para las muestras reales
II1. Listado de funciones
• blendData: Esta función se ha diseñado con el propóstio de leer los datos tal y como
vienen dados por el panel de sensores. Éste proporciona la información seccionada en
ficheros en formato binario, cada uno de los cuales contiene los datos correspondientes
a 16 sensores. La función lee todos estos ficheros, ordena los datos y los almacena en
una matriz con tantas columnas como sensores y tantas filas como instantes de
muestreo.
• getFootstepsR: Se trata de una versión mejorada de la función comentada en
apartados anteriores getFootsteps. La función identifica, dentro de un fichero, las
secciones de datos pertenecientes a las diferentes pisadas. Las pisadas identificadas en
el fichero son aisladas y almacenadas en archivos independientes, todos ellos de la
misma duración. En principio se ha optado por una duración estática de 1000 muestras
para cada pisada, aunque si la condición resulta demasiado restrictiva se puede optar por
una duración dinámica.
• readData88: Este script se encarga de leer los datos correspondientes a una pisada,
una vez se ha aplicado la función anterior; es decir lee los datos correspondientes a los
88 sensores y los almacena en una matriz de 1000x88 (1000 muestras y 88 sensores).
• readDataNw: Se emplea para leer los datos en bloques de 16, antes de que los datos
se ordenen y se almacenen en archivos de pisadas independientes.
• reduceFootstep: Esta función elimina las columnas sobrantes que no contienen datos,
una vez se han leído de los ficheros proporcionados por el panel. Recordemos que al
leer datos en bloque de 16 se obtiene una matriz de 96 colunas, las últimas de las cuales
no contienen información, por lo que mediante este script se reduce su tamaño a 88.
• setUp: En esta función se han implementado los procesos de acondicionamiento de
señal; elminación de ruido y offset y filtrado.
• swapSens: Debido al modo en que se ha conectado el panel, los datos de los sensores
vienen dados en orden inverso al que nos interesa para trabajar con ellos. Esta función
toma los datos proporcionados y los ordena adecuadamente.
_________________________________________________________________________________ 155
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
II2. Códigos de las funciones
• blendData:
function blendedData =
blendData()
dirList = dir('*.dat')
insertCntr = 1;
data = readDataNw(dirList(1).name);
blendedData = zeros(length(data),length(dirList)*16);
for i=1:length(dirList)
data = readDataNw(dirList(i).name);
%for j=1:16
%
data(:,j) = data(:,j)-mean(data(1:50,j));
%end
blendedData(:,insertCntr:insertCntr+15) = data;
insertCntr = insertCntr + 16;
end
_________________________________________________________________________________ 156
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• getFootstepsR:
% Retrieves footsteps from the file provided by the sensor %
function getFootstepsR(M,filename)
M=setUp(M);
T=1000;
% 1000, 1500, 2000 possible values
dataSize=size(M);
noiseMatrix=zeros(T,dataSize(2));
first T samples
% contains noise values for the
p=1;
% pointer to go across file
pstart=0;
pend=0;
the current footstep
% pointers to the start and end of
flag=1;
searching for footstep start
% indicates state. flag=1
% flag=0 searching for footstep
end.
N=30;
% correction value for the pointer
n=1;
% current footstep
h=zeros(1,dataSize(2));
it we have to increase size
% We will use this to cat matrixes
sizz=zeros(1,2);
% This will measure the size of
the gathered footstep before writting file
aux=[];
% this matrix will contain T
samples to be written in a binary file
values=zeros(1,dataSize(2));
signals in one moment in time
% contains the values of all the
for i=1:T
for j=1:dataSize(2)
noiseMatrix(i,j)=M(i,j);
end
end
Th=max(max(noiseMatrix));
Th=Th+Th*1.5;
to small variations
% We add 33% to avoid sensitivity
while ( p<=dataSize(1) )
% loop to sweep the file
_________________________________________________________________________________ 157
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
for j=1:dataSize(2)
values(1,j)=M(p,j);
end
if (flag==1)
% searching for start of footstep
if ( max(abs(values))>Th )
% start of footstep has been found
pstart=p-N;
flag=0;
% change flag
end
end
if (flag==0)
% calculating end of footstep
if ( max(abs(values))<Th )
% end of footstep has been found
pend=p+N;
flag=1;
% change flag
p=pstart;
% Go back to the start of
footstep
for i=1:(pend-pstart)
for j=1:dataSize(2)
aux(i,j)=M(p,j);
end
p=p+1;
end
aux=round(aux);
% Now we make sure the length of the footstep is no more or
less
% than T
sizz=size(aux);
if ( sizz(1)>T )
% Footstep is longer than T
while ( sizz(1)>T )
aux(sizz(1),:)=[];
sizz(1)=sizz(1)-1;
end
elseif ( sizz(1)<T )
% Footstep is shorter than T
_________________________________________________________________________________ 158
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
while ( sizz(1)<T )
aux=cat(1,aux,h);
sizz(1)=sizz(1)+1;
end
end
fid=fopen(sprintf('%s%s%d',filename,'_FOOTSTEP_',n),'wb');
fwrite(fid,aux','int16','l');
fclose(fid);
n=n+1;
p=pend;
after the footstep
flag=1;
% next footstep number
% we make sure we set the pointer
% change flag to go for the next
step
end
end
p=p+1;
end
_________________________________________________________________________________ 159
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• readData88:
function ddaa = readData88(filename)
fid = fopen(filename,'r','b');
%dSize = length(fread(fid,inf,'uchar'));
%frewind(fid);
%counter = 3;
%foundbegin = 0;
%data = fread(fid,10,'uchar');
% while((counter<10)&&(~foundbegin))
%%%
%
if((data(counter)==170)&&(data(counter1)==170)&&(data(counter-2)==170))
%%
foundbegin=1;
% else
%
counter = counter + 1;
%
end
%
end
%
if(foundbegin)
%
frewind(fid);
data = fread(fid, inf, 'int16',0,'l');
fclose(fid);
sizz = size(data)/88;
sizz = sizz(1)
counter =1;
ddaa = zeros(sizz,88);
for i=1:sizz
for j=1:88
ddaa(i,j)=data(counter);
counter = counter + 1;
end
end
%
end
_________________________________________________________________________________ 160
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• readDataNw:
function ddaa = readDataNw(filename)
fid = fopen(filename,'r','b');
%dSize = length(fread(fid,inf,'uchar'));
%frewind(fid);
%counter = 3;
%foundbegin = 0;
%data = fread(fid,10,'uchar');
% while((counter<10)&&(~foundbegin))
%%%
%
if((data(counter)==170)&&(data(counter1)==170)&&(data(counter-2)==170))
%%
foundbegin=1;
% else
%
counter = counter + 1;
%
end
%
end
%
if(foundbegin)
%
frewind(fid);
data = fread(fid, inf, '16*int16=>int16',0,'l');
fclose(fid);
sizz = size(data) / 16;
sizz = sizz(1)
counter =1;
ddaa = zeros(sizz,16);
for i=1:sizz
for j=1:16
ddaa(i,j)=data(counter);
counter = counter + 1;
end
end
_________________________________________________________________________________ 161
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
• reduceFootstep:
function M = reduceFootstep (M)
dataSize=size(M);
while ( dataSize(2)>=89 )
M(:,dataSize(2))=[];
dataSize(2)=dataSize(2)-1;
end
• setUp:
% This function eliminates the offset and filters the signals coming
from
% the sensor panel. It sets the signals up.
function data_out=setUp(data_in)
dataSize=size(data_in);
data_out=zeros(dataSize(1),dataSize(2));
m=mean(mean(data_in));
% offset (average)
[b,a]=cheby2(2,60,350/512);
% filter chebyshev
data_out=data_in-m;
data_out=filter(b,a,data_out);
data_out=round(data_out);
• swapSens:
function data = swapSens(gData)
gData(:,49:64) = gData(:,64:-1:49);
gData(:,33:48) = gData(:,48:-1:33);
gData(:,17:32) = gData(:,32:-1:17);
gData(:,1:16) = gData(:,16:-1:1);
gData(:,65:80) = gData(:,80:-1:65);
gData(:,81:96) = gData(:,96:-1:81);
data = gData;
_________________________________________________________________________________ 162
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Bibliografía
David Zhang, Xiaoyuan Jing, Jian Yang, “Biometric Image Discrimination
Technologies”, IDEA GROUP PUBLISHING, 2006
Leandro Rodríguez Liñares, Carmen García Mateo, José Luis Alba Castro, “On
combining classifiers for speaker authentication”, PATTERN RECOGNITION, 2001
H. Kang, T.F. Cootes, C.J. Taylor, “A Comparison of Face Verification Algorithms
using Appearance Models”, DEP. IMAGING SCIENCE AND BIOMEDICAL
ENGINEERING, UNIVERSITY OF MANCHESTER UK
K. Messer, J. Matas, J. Kittler, “XM2VTSDB: The Extended M2VTS Database”,
SECOND INTERNATIONAL CONFERENCE ON AUDIO AND VIDEO-BASED
BIOMETRIC PERSON AUTHENTICATION, WASHINGTON D.C. 1999
Jaakko Suutala, Susanna Pirtikkangas, Jukka Riekki, Juha Röning, “Reject-optional
LVQ-based Two-level Classifier to Improve Reliability on Footstep Identification”,
INTELLIGENT SYSTEMS GROUP, UNIVERSITY OF OULU, FINLAND
Michael D. Addlesse, Alan Jones, Finnbar Livesey and Ferdinando Samaria, “The ORL
Active Floor”, OLIVETTY AND ORACLE RESEARCH LABORATORY, IEEE
PERSONAL COMMUNICATIONS, 1997
Robert J. Orr, Gregory D. Abowd, “The Smart Floor: A Mechanism for Natural User
Identification and Tracking”, GRAPHICS, VISUALIZATIONS AND USABILITY
CENTER, GEORGIA INSTITUTE OF TECHNOLOGY, ATLANTA
Jaakko Suutala, Juha Röning, “Towards the Adaptative Identification of Walkers:
Automated Feature Selection of Footsteps”, INTELLIGENT SYSTEMS GROUP,
UNIVERSITY OF OULU, FINLAND
Lee Middleton, Alex A.Buss, Alex I. Bazin, Mark S. Nixon, “A Floor System for Gait
Recognition”, SCHOOL OF ELECTRONICS AND COMPUTER SCIENCE,
UNIVERSITY OF SOUTHAMPTON UK
Javier Ortega García, “Modalidades en los Sistemas de Autenticación Biométrica”,
LABORATORIO
DE
IDENTIFICACIÓN
BIOMÉTRICA,
ÁREA
DE
TRATAMIENTO DE VOZ Y SEÑALES, UNIVERSIDAD POLITÉCNICA DE
MADRID.
Wende Zhang, Yao-Jeng Chang, Tsuhan Chen, “Optimal Thresholding for Key
Generation Based on Biometrics”, CARNEGIE MELLON UNIVERSITY,
INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE, TAIWAN
_________________________________________________________________________________ 163
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
RECONOCMIENTO AUTOMÁTICO DE PISADAS
______________________________________________________________________________________________
Nikolaos V. Boulgouris, Dimitrios Hatzinakos, Konstantinos N. Plataniotis, “Gait
Recognition: A Challenging Signal Processing Technology for Biometric
Authentication”, IEEE SIGNAL PROCESSING MAGAZINE, NOVEMBER 2005
Yasuhiro Shoji, Takashi Takasuka, Hiroshi Yasukawa, “Personal Identification Using
Footstep Detection”, AICHI PREFECTUAL UNIVERSITY, NAGAKUTE, AICHI,
JAPAN, IEEE 2004
Jaakko Suutala, Juha Röning, “Combining Classifiers with Different Footstep Feature
Sets and Multiple Samples for Person Identification”, INTELLIGENT SYSTEMS
GROUP, UNIVERSITY OF OULU FINLAND
Jae-Seok Yun, Seung-Hun Lee, Woon-Tack Woo, Je-Ha Ryu, “The User Identification
System Using Walking Pattern over the UbiFloor”, DEPARTMENT OF
MECHATRONICS, GWANJU KOREA, ICCAS 2003
Kalle Koho, Jaakko Suutala, Tapio Seppänen, Juha Röning, “Footstep Pattern
Matching from Pressure Signal Using Segmental Semi-Markov Models”,
INTELLIGENT SYSTEMS GROUP, UNIVERSITY OF OULU FINLAND
_________________________________________________________________________________ 164
Escuela Superior de Ingenieros de Sevilla
Antonio González Mirón
University of Wales, Swansea
Descargar