scieee AI-readable full text Open interactive document viewer

Investigación y desarrollo en técnicas de reconocimiento biométrico mediante dispositivos ponibles (wearables)

Salvador Ortega, Irene

Abstract

Grado en Ingeniería Informática

Full text

3 Contenido de la Portada Exterior Universidad de Valladolid Escuela de Ingeniería Informática TRABAJO FIN DE GRADO Grado en Ingeniería Informática (Mención … Título del trabajo Autor: D. Juan García García Mención en Computación Investigación y Desarrollo en Técnicas de Reconocimiento Biométrico mediante Dispositivos Ponibles (wearables) Dña. Irene Salvador Ortega 4 Contenido de la Portada Interior Universidad de Valladolid Escuela de Ingeniería Informática TRABAJO FIN DE GRADO Grado en Ingeniería Informática (Mención … Autor: D. Juan García García Tutor: Dña. Juana García García Mención en Computación Investigación y Desarollo en Técnicas de Reconocimiento Biométrico mediante Dispositivos Ponibles (wearables) Dña. Irene Salvador Ortega D. Carlos Vivaracho Pascual Dña. María Aránzazu Simón Hurtado Tutores: Agradecimientos Me gustaría dedicar unas palabras de agradecimiento a todas las personas que me han acompañado en mi camino por la Universidad, durante estos cinco años, desde profesores que me han permitido aprender lo que hoy sé y han hecho que vaya a recordar estos años como una etapa bonita y positiva, hasta familiares y amigos que han conseguido que no me sintiera sola en ningún momento. A mis tutores, Carlos Vivaracho y MaAránzazu Simón, por vuestra ayuda y consejos. Me habéis guiado y apoyado en todo momento, enseñándome el mundo de la investigación desde dentro como algo difícil pero muy bonito y gratificante. A Miguel Alejandro Fernández, que ha estado a mi lado, dándome consejos desde el principio hasta el final. Hemos formado un gran equipo juntos y me habéis hecho crecer tanto personal como académicamente. Muchas gracias, sin dudarlo, os volvería a elegir. A todos los profesores que han prestado su ayuda en este proyecto, Félix Prieto en toda la parte de Android, Pablo de la Fuente con la planificación y Luis Ángel García con sus consejos y documentación, gracias. A mi familia. A mis padres, por apoyarme en cada decisión y hacerla posible. A mi hermano por permanecer a mi lado y ayudarme en los momentos difíciles. A mis compañeros de Universidad, en especial al equipo que nunca olvidaré, Raúl, Adrián, me habéis enseñado lo que significa ser compañeros, aportando cada uno de nosotros esa chispa tan mágica a cada tarde haciendo trabajos. Espero que sigamos juntos siempre, celebrando cada acontecimiento que ocurra en nuestras vidas, sea bueno o malo. A mis abuelos que, aunque ya no están aquí, no los he olvidado nunca y sé que me guían e intentan que cada decisión, me salga de la mejor manera posible, proporcionándome con cada una de ellas una lección de vida, sea positiva o negativa. Muchas gracias a todos, sin duda, este trabajo va por vosotros. 3 4 Resumen El creciente uso de sistemas biométricos para el reconocimiento de las personas supone un constante aumento del esfuerzo investigador en la mejora de los existentes y en la propuesta de nuevos y originales enfoques, que puedan mejorar o complementar los existentes. En el presente proyecto se va a trabajar con una biometría basada en las características del comportamiento del ser humano que permite verificación no intrusiva, continua, fácil de conseguir y difícil de robar o falsificar. El objetivo principal es determinar si el uso de los sensores presentes en los dispositivos ponibles puede permitir o no la verificación biométrica de personas mediante su forma de caminar. Ya existen trabajos en el tema que serán usados como referencia, pero ninguno, hasta donde llega el conocimiento del grupo de investigación, usando dispositivos comerciales. Este trabajo se ha realizado en conjunto con otro del Grado en Estadística, siendo ambos una continuación de trabajos previos ya realizados por el grupo de investigación, en los que se desarrolló el sistema móvil de captura de datos y se obtuvo un corpus con el que trabajar. En el proyecto del Grado en Estadística se ha hecho un análisis profundo de dichos datos: extrayendo características, a partir de la prueba de diferentes técnicas de preprocesamiento, ajustando los valores de diversos parámetros y el número de características a utilizar, dejando para este proyecto el análisis del rendimiento final y la propuesta de posibles combinaciones que beneficiarían a los resultados. De manera que estos dos trabajos permitirán tener unas bases sólidas en las que asentar futuras investigaciones, proponiendo como resultado final, un sistema de reconocimiento, que servirá como aproximación inicial de lo que se puede llegar a conseguir en esta biometría. Palabras claves Análisis de Fourier, base de datos, Biometría, dispositivos comerciales, dispositivos ponibles, dominio de la frecuencia, dominio del tiempo, forma de andar, reconocimiento biométrico, SCRUM 5 6 Abstract The growing use of biometric systems for the recognition of people supposes a constant increase of the research effort in the improvement of existing ones and in the proposal of new and original approaches that can improve or complement existing ones. In this project we will work with a biometrics based on the characteristics of human behavior that allows an unobtrusive, continuous, easy to obtain and difficult to steal or falsify verification. The main objective is to determine if the use of the sensors present in the wearable devices can allow or not the biometric verification of people by their gait. There are already studies on the subject that will be used as a reference, but none, as far as the knowledge of the research group goes, using commercial devices. This work has been done in conjunction with another of the Degree in Statistics, both being a continuation of previous works already done by the research group, in which the mobile data capture system was developed and a corpus was obtained to work with. In the project of the Degree in Statistics an in-depth analysis of these data has been made: extracting characteristics, from the test of different preprocessing techniques, adjusting the values of various parameters and the number of characteristics to be used, leaving for this project the analysis of the final performance and the proposal of possible combinations that would benefit the results. So these two works will provide a solid basis on which to base future research, proposing as a final result, a recognition system that will serve as an initial approximation of what can be achieved in this biometrics. Keywords Fourier Analysis, database, biometrics, commercial devices, wearable devices, frequency domain, time domain, gait, biometric recognition, SCRUM 7 8 Índice general Resumen 5 1. Introducción 17 1.1. Biometría ........................................ 19 1.2. Motivación........................................ 22 1.3. Objetivos ........................................ 23 1.3.1. Objetivogeneral ................................ 23 1.3.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.4. Estructuradelaobra.................................. 23 2. Plan de desarrollo y seguimiento 25 2.1. Modelodeproceso ................................... 25 2.2. Restricciones ...................................... 26 2.3. Gestiónderiesgos.................................... 27 2.4. Planificación....................................... 30 2.5. Planificación de las iteraciones y seguimiento . . . . . . . . . . . . . . . . . . . . . 37 2.5.1. Iteración1.................................... 37 2.5.2. Iteración2.................................... 40 2.5.3. Iteración3.................................... 42 2.5.4. Iteración4.................................... 43 2.5.5. Iteración5.................................... 43 2.5.6. Iteración6.................................... 44 2.5.7. Iteración7.................................... 45 2.5.8. Iteración8.................................... 46 2.5.9. Iteración9.................................... 47 9 16 ÍNDICE DE TABLAS 6.18. Combinación ACC/GYR de la componente X en el Dominio de la Frecuencia. . . 110 6.19. Combinación ACC/GYR de la componente Y en el Dominio de la Frecuencia. . . 110 6.20. Combinación ACC/GYR de la componente Z en el Dominio de la Frecuencia. . . . 111 6.21. Resumen Usuarios EER alto Combinación ACC/GYR - Dominio de la Frecuencia. 111 6.22. Resumen de la combinación de sensores en el dispositivo MICRO. . . . . . . . . . 112 6.23. Resumen de la combinación de sensores en el dispositivo MOTO. . . . . . . . . . . 112 Capítulo 1 Introducción A medida que pasan los años, las tecnologías evolucionan, buscando hacer la vida de las personas más cómoda. Desde las comunicaciones, donde actualmente basta con acceder a un teléfono móvil u ordenador y pulsar unos botones, cuando antes se necesitaba comprar un sobre, un sello, escribir la carta y buscar un buzón de correos para enviarla, esperando que con suerte al día siguiente o a los dos días, el receptor recibiera la carta e hiciera el mismo procedimiento para poder conocer su respuesta. Pero también los procesos de compra, y no sólo de ropa, sino también de artículos frescos (fruta, verdura...) que aunque aún no está muy desarrollado, ya hay empresas que trabajan en mejorarlo, a través de la tecnología de visión artificial y las cámaras de alta tecnología de seguimiento vinculadas a cada sección del supermercado, para que el cliente online pueda coger su turno para ser atendido, informándole del tiempo de espera, y en el momento de iniciar su turno, le permitirá interactuar con el dependiente, ya sea para indicar el producto que desea y cómo quiere que se lo prepare como para solicitar recomendaciones o hacerle preguntas como si estuviera en la tienda física [1]. Pero también los cada vez más conocidos drones, que son vehículos aéreos no tripulados que se pueden manejar con control remoto o a través de aplicaciones para smartphones o tablets, ya se han utilizado para sobrevolar el mundial de fútbol en Brasil para mostrar desde arriba el juego con los mejores ángulos, como ninguna otra cámara podía o en Rusia y Brasil donde los drones se utilizan para hacer envíos de pizza, y aunque parezca extraño, los drones destacan por su efectividad en situaciones límite, pudiendo acceder a áreas que se quedan aisladas o de difícil acceso a una velocidad de vuelo que permite recorrer áreas enormes en muy poco tiempo, y pueden servir en situaciones de emergencia [2]. Cuando un usuario quiere llevar a cabo cualquier tipo de comunicación o transacción a través de Internet, necesita algún tipo de autenticación. Los sistemas más utilizados actualmente requieren que el usuario se registre y recuerde contraseñas, provocando que este termine realizando prácticas poco seguras, como emplear contraseñas simples, repetir una misma contraseña en varios sitios web, guardarlas en algún archivo, no cambiarlas con el paso del tiempo, etc. También hay que añadir problemas administrativos derivados de posibles pérdidas de claves, o en el caso de que el usuario necesite llevar consigo alguna tarjeta o dispositivo, esta también se puede perder, ser robada o transferirse. 17 18 CAPÍTULO 1. INTRODUCCIÓN Una alternativa es el uso de sistemas basados en biometría, puesto que el usuario no necesita recordar ni llevar consigo nada, empleando únicamente las características intrínsecas (físicas o de la forma de actuar) del usuario. La biometría se lleva aplicando desde finales del siglo XIX para la identificación de las personas con métricas como la huella dactilar, la cual sigue usándose hoy en día. Las mejoras tecnológicas y la necesidad de incrementar y simplificar la identificación de los usuarios ha provocado que a lo largo de los últimos años los estudios basados en sistemas de reconocimiento biométrico hayan cobrado una mayor relevancia. Tradicionalmente, los métodos empleados en reconocimiento biométrico estaban relacionados con las características físicas del individuo como su cara o su huella dactilar. Estas características dan buenos resultados, pero requieren que el usuario ponga su cara o su dedo en algún dispositivo, proceso que termina siendo incómodo para el individuo. Por eso, en la actualidad y en este proyecto se busca emplear el comportamiento de la forma de actuar del individuo para el reconocimiento biométrico, por ser métodos menos intrusivos. Se propone aprovechar el desarrollo y gran éxito en ventas en los últimos años de los dispositivos ponibles comerciales (pulseras de actividad, relojes inteligentes, etc.) para ver si es posible verificar a una persona a partir de sus datos. Estos dispositivos ya tienen aplicaciones muy diversas, desde recibir y contestar a notificaciones del teléfono móvil hasta monitorizar el rendimiento de los deportistas para ayudarles durante su entrenamiento. Gracias a que cuentan con una gran variedad de sensores, capaces de capturar distintos tipos de datos del usuario como su movimiento, ritmo cardíaco, sudor... hace posible su uso en el reconocimiento biométrico. Teniendo en cuenta el tipo de sensores que incorporan actualmente los dispositivos ponibles comerciales, y como continuación de dos trabajos previos, se va a centrar la atención en verificar a una persona a partir de su forma de andar. En el primer trabajo previo [3] se hizo un estudio más detallado de todos los sensores de distintos dispositivos ponibles y se llegó a la conclusión de que los únicos que proporcionaban una información susceptible de ser usada en biometría para la forma de andar son los aquí se van a usar: el acelerómetro y el giroscopio. También se construyó una aplicación Android que permitía la recogida de los datos de dos dispositivos seleccionados. El segundo trabajo [4] recogió datos de diversos usuarios y realizo un estudio preliminar con ellos que demostraba la existencia de periodicidad en la señal de los datos y resultados positivos que indicaban su posible uso en biometría. La diferencia entre la forma de abordar el problema en este proyecto y el resto de los trabajos de la bibliografía, es que se van a utilizar dispositivos comerciales, cuando en la bibliografía se utilizan dispositivos creados ad hoc para el propio propósito del proyecto o smartphones. La biometría puede ser aplicada para la identificación o la autenticación de las personas. Los sistemas de verificación son configurados para cada usuario registrado con el objetivo de verificar la identidad de dicho usuario en una etapa posterior mientras que, en la identificación, el sistema presenta una señal biométrica y se debe decidir quién es el propietario de esa señal de entre un grupo de usuarios registrados. En otras palabras, en verificación se busca respuesta a la pregunta Am I who I claim I am? (¿Soy yo quien digo que soy?), mientras que la identificación busca 1.1. BIOMETRÍA 19 respuesta a la pregunta Who am I? (¿Quién soy yo?). En este proyecto, nos vamos a centrar únicamente en la verificación, cuyas fases se muestran, de manera resumida, en el esquema de la figura 1.1. Figura 1.1: Fases involucradas en el sistema de verificación biométrica. El sensor captura la señal biométrica cruda, se realiza una fase de preprocesamiento y extracción de características de las señales, después [...] indica la generación de los ficheros de salida necesarios para aplicar el clasificador, el cual generará una métrica, que servirá para evaluar el rendimiento del sistema construido, y posteriormente podrá ser utilizada para tomar una decisión: soy yo o no soy yo el usuario. Este trabajo se ha realizado de manera conjunta con otro del Grado en Estadística [5], donde se ha centrado el trabajo en la “Unidad de procesamiento”, haciendo un análisis profundo de la etapa de preprocesamiento y sus distintos parámetros, así como estudiando distintos tipos de conjuntos de características y haciendo una selección de las mismas. En el presente proyecto se van a utilizar esas decisiones para construir un sistema de reconocimiento final, el cual se va a evaluar para los sensores y dispositivos que se tienen disponibles, intentando poner en marcha y capturar nuevos datos de individuos, si el tiempo lo permite. La Base de Datos a utilizar va a ser la obtenida en el Trabajo Fin de Grado (TFG) previo a este [4]. El hecho de que el tamaño de la base de datos no sea muy grande, no es ningún problema, ya que el objetivo de este trabajo no es obtener un sistema de reconocimiento basado en ponibles, si no profundizar en el conocimiento y las especiales características de esta biometría, trabajo no realizado hasta ahora en la bibliografía. Además, el hecho de ser una base de datos no muy numerosa hace que sea factible un análisis particular del comportamiento de cada individuo, lo que, como se verá, nos va a permitir extraer conclusiones muy interesantes para trabajos futuros. Se ha realizado un apartado con los conceptos comunes en biometría y los sistemas biométricos que aparecerán de manera recurrente a lo largo del trabajo, las cuestiones éticas sujetas a este proyecto y una breve discusión sobre la privacidad de los datos, pero por no repetir información, si se quiere conocer dicho estudio realizado, se puede ver en el TFG complementario a este [5]. 1.1. Biometría En este apartado, se van a explicar una serie de conceptos comunes en biometría y los sistemas biométricos que aparecerán de manera recurrente a lo largo del trabajo [6]. La biometría es el estudio estadístico de los fenómenos o procesos biológicos. Tiene muchas aplicaciones posibles, pero dentro de las tecnologías de la información, la más destacada es el 20 CAPÍTULO 1. INTRODUCCIÓN estudio del reconocimiento de los seres humanos a partir de sus características, que se suelen clasificar en dos tipos: Características fisiológicas: Son características físicas de los individuos. Dentro de este grupo cabe destacar la huella dactilar, el iris, etc. Se caracterizan por ser estáticas, es decir, no cambian con el tiempo. Características del comportamiento: Son propiedades de la forma de actuar de los individuos. Dentro de este grupo se encuentra el modo con el que interactúan con los dispositivos, su voz, firma, forma de andar, etc. Se caracterizan por ser dinámicas, es decir, pueden cambiar con el paso del tiempo. Un sistema de reconocimiento biométrico es una aplicación informática con la capacidad de identificar o verificar a una persona a partir de sus características, bien sean fisiológicas o de comportamiento. Los sistemas de reconocimiento necesitan algún tipo de patrón para poder identificar o verificar a los individuos. Un patrón es un modelo creado mediante capturas o datos del usuario para representarle. Evidentemente, no todas las características de un individuo pueden ser empleadas para el reconocimiento biométrico. Según [7–9], para que una característica biométrica pueda ser considerada como tal, ésta ha de cumplir las siguientes propiedades. Universalidad: todas las personas han de tener dicha característica biométrica. Unicidad: no ha de haber dos personas que sean idénticas atendiendo únicamente a esa característica. Permanencia: o biológicamente constante, es decir, la característica no tiene que variar con el tiempo. Recolectable: la característica ha de poder ser medible cuantitativamente. Buscando conseguir un sistema de reconocimiento biométrico que tenga las siguientes características. Rendimiento: precisión que tiene el sistema biométrico empleado a la hora de identificar o verificar a un individuo. Aceptabilidad: el grado en que el público se muestra positivo a utilizar el sistema biométrico. Invulnerabilidad: el grado de facilidad del sistema a ser engañado mediante el uso de técnicas fraudulentas. 1.1. BIOMETRÍA 21 En la biometría basada en comportamiento como la forma de andar, en ocasiones, la propiedad de permanencia no se cumple, denominando a este tipo de biometrías como suaves o débiles (Soft Biometrics). Por otro lado, la posibilidad de verificar o identificar a un individuo a través de su forma de andar está sujeto a cuestiones éticas, teniendo una serie de ventajas e inconvenientes. VENTAJAS •No requiere interacción durante el proceso de verificación o identificación, el usuario simplemente tiene que andar. •Reconocimiento continúo, el propietario se mantiene automáticamente autorizado para el acceso al dispositivo. •Proceso discreto, sin molestar al usuario. No requiere cooperación explícita del sujeto. •Se puede capturar la información a distancia. •Podría utilizarse como ventaja en el campo de la asistencia sanitaria, detectando los cambios de la forma de andar para ayudar a identificar los primeros indicadores de la aparición de la enfermedad de Parkinson y la esclerosis múltiple, así como otras enfermedades. •Un impostor puede observar cómo camina un usuario, pero aun así tendrá dificultades para replicar su patrón de marcha, es decir, es difícil de robar o falsificar. INCONVENIENTES •Existen factores externos que influyen en la forma de andar de las personas: condiciones de la superficie, meteorológicas, la ropa o los zapatos que lleve el usuario, etc. •Existen factores internos que influyen en la forma de andar de las personas: estado físico, mental, una enfermedad, etc. CUESTIONES ÉTICAS •Los conjuntos de datos contienen información muy sensible, por poderse utilizar para identificar de forma única a las personas y dependiendo del tipo de sensor usado, se podría incluir información que pudiera revelar las condiciones médicas de los usuarios. •No requiere el consentimiento del individuo que se está observando, por lo que se podría estar extrayendo su información sin que el usuario lo sepa. La privacidad de los datos es un problema cada vez más presente en nuestra sociedad. Hay que tener mucho cuidado porque aunque aparentemente sólo estemos observando su forma de andar, puede existir gente que de manera maliciosa aproveche esa información y consiga conocer la identidad física, fisiológica o psíquica de los usuarios. Como se ha podido ver en las ventajas e inconvenientes, está información se puede utilizar en el campo de la medicina de manera positiva, en la prevención 22 CAPÍTULO 1. INTRODUCCIÓN de enfermedades y/o la posible actuación temprana de las mismas, o de manera negativa, revelando las condiciones médicas de los usuarios y utilizandolo para perjudicarlos. Para intentar evitar problemas, ya existe la primera guía de pautas éticas para hacer el uso de la Inteligencia Artificial (AI) más responsable, producidas por el Grupo de Expertos de Alto Nivel sobre Inteligencia Artificial (AI HLEG) a nivel de la Unión Europea (EU) [10]. En ella se reconoce el enorme impacto positivo que la AI tiene a nivel mundial, tanto comercial como socialmente, siendo una tecnología tanto transformadora como disruptiva que ha ido evolucionando en los últimos años produciendo enormes cantidades de datos digitales, creando una importante innovación científica y de ingeniería. Aseguran que la AI continuará impactando a la sociedad y a los ciudadanos de una manera que aún no podemos imaginar. Por ello, consideran importante que se preste la debida atención a garantizar un entendimiento y un compromiso para construir una AI digna de confianza y han redactado las directrices para que esto sea así, asegurando el propósito ético. Y aunque, afirman que la AI puede provocar daños no intencionados, han desarrollado un marco para implementar la AI confiable, ofreciendo una orientación concreta para su logro, proponiendo métodos técnicos y no técnicos de ayuda para su realización e implementación. De todas formas, en este trabajo se utilizará la información anonimizada. 1.2. Motivación La elección de este estudio para llevar a cabo mi Trabajo de Fin de Grado fue debido a mi interés por el mundo de la biometría. Incluso antes de elegir la carrera que ahora termino, ya me llamaba la atención por parecerme un campo innovador en el que se había trabajado mucho a lo largo de los años, pero sobre el que todavía quedaba mucho trabajo por hacer. Cuando mis tutores me presentaron este tema me pareció original, novedoso y con ese toque de dificultad que me llamaba la atención. Entre las asignaturas del Grado en Ingeniería Informática que más me habían gustado a lo largo de estos cinco años y con las que había conseguido mi afición por los datos, se encontraban: Técnicas de Aprendizaje Automático: donde conseguí un conocimiento más profundo de mayor cantidad de técnicas de Machine Learning, trabajando con diferentes metodologías experimentales y aplicando los conocimiento teóricos en la resolución de prácticas. Minería de Datos: donde asenté y afiance mis intereses al reforzar los conocimientos de todas las etapas del proceso de minería de datos, desde el preprocesamiento de los datos hasta la evaluación de los resultados, extrayendo conocimiento con diversas técnicas de aprendizaje más profundo, así como el conocimiento de los métodos de ensamblado. No obstante, a lo largo de la titulación nunca había trabajado con datos biométricos ni conocía el mundo de la biometría, pero me parecía que existían muchas posibilidades con las que trabajar y eso hizo que me terminará de decidir. 1.3. OBJETIVOS 23 1.3. Objetivos A continuación, se indica el objetivo general y se enumeran los objetivos específicos en que se divide el presente proyecto. 1.3.1. Objetivo general El objetivo principal de este trabajo es estudiar el posible uso de dispositivos ponibles comerciales para el reconocimiento biométrico de personas mediante la forma de andar. 1.3.2. Objetivos específicos Para poder cumplir el objetivo general, se han creado una serie de objetivos específicos que se desarrollarán de forma progresiva. Estos objetivos servirán para determinar si merece la pena continuar futuros estudios en este tema o, por el contrario, si es mejor abandonar esta línea de investigación. Los objetivos específicos que se han planteado llevar a cabo han sido los siguientes: 1. Realizar un análisis de los datos para ver qué características tienen y en qué condiciones se encuentran. 2. Evaluar las diferencias entre el acelerómetro y el giroscopio. 3. Contrastar los resultados con respecto al tipo de ponible usado. 4. Si todo lo anterior genera resultados prometedores y se tiene el tiempo suficiente, recopilar datos de al menos 25 nuevos voluntarios para repetir el estudio y contrastar los resultados obtenidos. Como ya se ha dicho, este trabajo se realiza de manera conjunta con otro del Grado en Estadística [5] donde los objetivos son complementarios a estos. Aquí se evalúan y contrastan las diferencias utilizando los sensores y dispositivos disponibles. Para ello se necesita la construcción de un sistema de reconocimiento, que es lo que se realiza en el TFG de Estadística. 1.4. Estructura de la obra Esta memoria se encuentra dividida en una serie de capítulos y secciones basándose en la estructura presentada en la guía docente para la asignatura TFG del Grado en Ingeniería Informática de la Universidad de Valladolid. De esta manera siguiendo al actual capítulo introductorio donde se habla de biometría, la motivación por este trabajo y los objetivos, se encuentran los siguientes capítulos. 24 CAPÍTULO 1. INTRODUCCIÓN Capítulo 2. Plan de desarrollo y seguimiento: En este capítulo se hablará sobre el modelo de proceso seguido para realizar este trabajo, de la planificación inicial y la real llevada a cabo indicando las tareas realizadas en cada una de las semanas y el software utilizado. Capítulo 3. Estado del Arte: En este capítulo se analizarán los trabajos previos existentes en el campo de la biometría considerando los diferentes sensores existentes de manera breve y centrándose en los que se van a utilizar en el presente proyecto. Capítulo 4. Datos y análisis: se explicarán los datos con los que se van a trabajar y se realizará un análisis inicial que incluirá únicamente la limpieza de los datos con los problemas que vayan surgiendo. Capítulo 5. Configuración experimental: En este capítulo se explicarán los parámetros estáticos que se vayan a fijar en el sistema de reconocimiento final. Las decisiones serán sobre qué características se van a extraer de los datos y en qué dominios, cómo se van a medir los resultados, qué procedimiento experimental se va a seguir y qué algoritmo de clasificación se va a utilizar, justificando cada una de las decisiones. Capítulo 6. Experimentos: Resultados finales: Con todas las decisiones tomadas, conseguidas utilizando un dispositivo y sensor concreto, se va a probar el sistema de reconocimiento final construido a las diferentes posibilidades de sensor/dispositivo/procedimiento experimental. Capítulo 7. Adquisición de nuevos datos: Se pondrán en marcha los dispositivos que permiten la adquisición de nuevos datos, explicando cómo se ha conseguido. Capítulo 8. Conclusiones y trabajo futuro: Este es el capítulo final donde se expondrán las conclusiones obtenidas y las posibles alternativas a probar en un futuro. Para finalizar se encuentra una sección donde se explican los acrónimos y abreviaturas utilizadas a lo largo de la memoria, un índice alfabético, los anexos del trabajo y la bibliografía. Capítulo 2 Plan de desarrollo y seguimiento 2.1. Modelo de proceso Los esquemas tradicionales de desarrollo han demostrado ser efectivos en numerosas situaciones. Sin embargo, están orientados a proyectos de gran tamaño respecto a tiempo y recursos, no resultando los más adecuados para proyectos pequeños, en los que el entorno del sistema es muy cambiante. Las metodologías ágiles constituyen una solución a medida para proyectos pequeños, aportando una gran simplicidad y al mismo tiempo, permitiendo llegar a soluciones finales de calidad. Sus principios permiten construir el proyecto en torno a individuos motivados y con mayor confianza al realizar las tareas. El presente proyecto, formado por una única persona y tres tutores, va a seguir una adaptación del SCRUM original. Otros proyectos individuales también lo han hecho como, por ejemplo, las aplicaciones de Ten Kettles [11], desarrolladas en solitario por Alex Andrews, desarrollador que consigue trabajar de manera más productiva, con un crecimiento constante y una mayor felicidad, adoptando lo que se puede llamar Scrum Of One [12]. Aunque existe una limitación importante: el tiempo, fijado en un total de 450 horas con fecha de inicio y fin conocidas a priori e ilustradas a través de un diagrama de Gantt que puede verse en la figura 2.2, esto será meramente orientativo, prevaleciendo la utilización de la adaptación a SCRUM y lo planeado en las diferentes iteraciones. Las razones que han llevado a la utilización de metodología ágil, a la que llamaremos Light Scrum, están basadas en sus principios [13–15]: Desarrollo iterativo e incremental. Autoorganización con responsabilidades y compromisos claros en cada iteración. Diálogo, comunicación y aprendizaje continuo: alumno-tutores. 25 32 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO se encuentran sobrevaloradas, habiendo más cosas en los últimos elementos que se realizarán únicamente si el tiempo lo permite. El identificador ID es único para cada tarea a realizar. No obstante, las tareas se repiten entre los diferentes dispositivos, por lo que se ha indicado un número de tarea (Notarea) que muestra la cantidad de actividades diferentes que se van a realizar. ID Notarea Lista de tareas del proyecto completo Esfuerzo (h) 1 1 Lectura, análisis y comprensión de la memoria TFG del proyecto previo a este trabajo, el cual es continuación. 3 2 2 Adquisición y comprensión de la base de datos de los trabajos anteriores con la que se trabajará. 2 3 3 Búsqueda de artículos y documentación de la bibliografía más relevante. 10 4 4 Lectura y comprensión de artículos y documentación sobre trabajos similares. 35 5 5 Análisis y puesta en marcha de la herramienta de visualización realizada y utilizada en el TFG anterior. 1 Microsoft ACC 6 6 Análisis visual de los datos. 6 7 7 Preprocesamiento de los datos: normalización, interpolación, filtros lowpass/highpass 6 8 8 Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 7 9 9 Análisis de estabilidad, tendencia, estacionalidad, etcétera de los datos. 1 10 10 Análisis de autocorrelaciones de los datos. 3 11 11 Extracción de las zonas de interés de los datos (de manera manual). 45 12 12 Implementación de distintas alternativas para la extracción de características a partir de los datos (dominio del tiempo y de la frecuencia). 6 13 13 Análisis estadístico de las distintas características extraídas para estudiar cuáles son más discriminantes (selección de las características de interés) 20 14 14 Construcción de las tablas de los datos con la información estructurada de entrada al clasificador 6 15 15 Estudio prospectivo de los datos implementando algún clasificador y visualizando los resultados con las métricas necesarias. 20 16 16 Desarrollo del diseño experimental del proyecto 3 2.4. PLANIFICACIÓN 33 ID Notarea Lista de tareas del proyecto completo Esfuerzo (h) Microsoft GYR 17 6 Análisis visual de los datos. 2 18 7 Preprocesamiento de los datos: normalización, interpolación, filtros lowpass/highpass 1 19 8 Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 1 20 9 Análisis de estabilidad, tendencia, estacionalidad, etcétera de los datos. 1 21 10 Análisis de autocorrelaciones de los datos. 1 22 11 Extracción de las zonas de interés de los datos (de manera manual). 25 23 12 Implementación de distintas alternativas para la extracción de características a partir de los datos (dominio del tiempo y de la frecuencia). 1 24 13 Análisis estadístico de las distintas características extraídas para estudiar cuáles son más discriminantes (selección de las características de interés) 1 25 14 Construcción de las tablas de los datos con la información estructurada de entrada al clasificador 0,5 26 15 Estudio prospectivo de los datos implementando algún clasificador y visualizando los resultados con las métricas necesarias. 1 27 3 Búsqueda de artículos y documentación de la bibliografía más relevante. 3 28 4 Lectura y comprensión de artículos y documentación sobre trabajos similares. 4 Motorola ACC 29 6 Análisis visual de los datos. 1 30 7 Preprocesamiento de los datos: normalización, interpolación, filtros lowpass/highpass 0,5 31 8 Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 1 32 9 Análisis de estabilidad, tendencia, estacionalidad, etcétera de los datos. 0,5 33 10 Análisis de autocorrelaciones de los datos. 0,5 34 11 Extracción de las zonas de interés de los datos (de manera manual). 25 34 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO ID Notarea Lista de tareas del proyecto completo Esfuerzo (h) 35 12 Implementación de distintas alternativas para la extracción de características a partir de los datos (dominio del tiempo y de la frecuencia). 2 36 13 Análisis estadístico de las distintas características extraídas para estudiar cuáles son más discriminantes (selección de las características de interés) 2 37 14 Construcción de las tablas de los datos con la información estructurada de entrada al clasificador 1 38 15 Estudio prospectivo de los datos implementando algún clasificador y visualizando los resultados con las métricas necesarias. 3 Motorola GYR 39 6 Análisis visual de los datos. 1 40 7 Preprocesamiento de los datos: normalización, interpolación, filtros lowpass/highpass 0,5 41 8 Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 1 42 9 Análisis de estabilidad, tendencia, estacionalidad, etcétera de los datos. 0,5 43 10 Análisis de autocorrelaciones de los datos. 0,5 44 11 Extracción de las zonas de interés de los datos (de manera manual). 25 45 12 Implementación de distintas alternativas para la extracción de características a partir de los datos (dominio del tiempo y de la frecuencia). 1 46 13 Análisis estadístico de las distintas características extraídas para estudiar cuáles son más discriminantes (selección de las características de interés) 2 47 14 Construcción de las tablas de los datos con la información estructurada de entrada al clasificador 0,5 48 15 Estudio prospectivo de los datos implementando algún clasificador y visualizando los resultados con las métricas necesarias. 1 49 16 Desarrollo del diseño experimental del proyecto 8 50 17 Pruebas de distintas alternativas de clasificadores. 2 51 18 Análisis de los resultados, buscando el mejor sistema. 25 52 3 Búsqueda de artículos y documentación de la bibliografía más relevante. 2 2.4. PLANIFICACIÓN 35 ID Notarea Lista de tareas del proyecto completo Esfuerzo (h) 53 4 Lectura y comprensión de artículos y documentación sobre trabajos similares. 4 54 19 Extracción de las zonas de interés de los datos (de manera automática). 5 55 20 Implementación de un sistema de reconocimiento de manera automática. 35 56 21 Realización de la memoria. Incluye versiones y revisiones. 45 57 22 Puesta en marcha de la herramienta de adquisición realizada en TFGs anteriores. 3 58 23 Adquisición de más datos. 15 59 24 Estudio de lo realizado para los nuevos datos. 4 60 21 Realización de la memoria. Incluye versiones y revisiones. 5 61 25 Realización de la presentación para la defensa oral. 12 TOTAL 450 Tabla 2.3: Lista de tareas a realizar Cabe la posibilidad de sustituir las tareas 22 y 23 (identificador 57 y 58) por la búsqueda de una base de datos pública de cualquier otro proyecto de investigación. Siempre y cuando los datos sean comparables con los usados en este trabajo y la información éste obtenida de manera similar, ya que sería mucho más rápido y se podría probar lo realizado (tarea 24) y obtener conclusiones más realistas. En la figura 2.1 [17] se muestra el calendario con la fecha de inicio y fin previstas (color naranja), la fecha de cierre de solicitudes de defensa de TFGs (color rojo), los días de descanso (color gris oscuro), el periodo de vacaciones de Semana Santa, en el cuál sí se trabajará pero no se harán reuniones presenciales, y las reuniones semanales con los tutores del Grado en Ingeniería Informática (color amarillo). En la parte inferior se pueden ver los días totales que, aproximadamente, se van a dedicar cada mes. Por otro lado, en la figura 2.2 se muestra el diagrama de Gantt completo con toda la planificación desde el principio hasta el final (23 de enero-3 de junio). Se han creado las tareas globales: Microsoft ACC, Microsoft GYR, Motorola ACC y Motorola GYR correspondientes a los diferentes dispositivos y cuyas subtareas corresponden a las mismas de la tabla 2.3. Se muestran en las figuras 2.3, 2.4, 2.5 y 2.6 donde se puede ver como tareas similares en los diferentes dispositivos van requiriendo cada vez menos tiempo. Se dispone de un único recurso llamado I, correspondiente a la autora del presente TFG con una capacidad del 100% y sin sobreasignación en ningún momento, como se muestra en la figura 2.7. En esa figura se puede ver la dedicación total y mensual, junto con el tiempo planeado para invertir 36 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO Figura 2.1: Calendario de desarrollo del proyecto propuesto inicialmente. 2.5. PLANIFICACIÓN DE LAS ITERACIONES Y SEGUIMIENTO 37 en cada tarea individual. Cuando aparece un recurso de I[50 %] implica que se están realizando 2 tareas al mismo tiempo, ya que en ocasiones se dividen las tareas, sumando todas ellas la duración total planeada. Figura 2.2: Diagrama de Gantt con la planificación completa. 2.5. Planificación de las iteraciones y seguimiento En esta sección se mostrará la planificación de cada una de las iteraciones junto con su breve seguimiento a la finalización de cada una de ellas, tal y como se explica en la sección 2.1. 2.5.1. Iteración 1 Un TFG es un proyecto grande, completamente nuevo y diferente a los demás trabajos realizados hasta el momento en el resto de las asignaturas de la Universidad, por ser individual, de un tema novedoso y una duración relativamente larga. Por estas razones, esta primera iteración se dedicó a las tareas con identificador (ID) 1, 2, 3, 4 y 5. 1. Lectura, análisis y comprensión de la memoria TFG del proyecto previo a este trabajo, el cual es continuación. 38 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO Figura 2.3: Subdiagrama de Gantt con la planificación del dispositivo Microsoft acelerómetro. 2.5. PLANIFICACIÓN DE LAS ITERACIONES Y SEGUIMIENTO 39 Figura 2.4: Subdiagrama de Gantt con la planificación del dispositivo Microsoft giróscopo. Figura 2.5: Subdiagrama de Gantt con la planificación del dispositivo Motorola acelerómetro. 40 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO Figura 2.6: Subdiagrama de Gantt con la planificación del dispositivo Motorola giróscopo. 2. Adquisición y comprensión de la base de datos de los trabajos anteriores con la que se trabajará. 3. Búsqueda de artículos y documentación de la bibliografía más relevante. 4. Lectura y comprensión de artículos y documentación sobre trabajos similares. 5. Análisis y puesta en marcha de la herramienta de visualización realizada y utilizada en el TFG anterior [18]. La fecha de comienzo fue el miércoles 23 de enero, lo que llevó a su finalización el miércoles 6 de febrero. Tras estas dos semanas se cumplieron los ítems 1, 2 y 5 completamente y 3 y 4 a medias. No obstante, se realizó la búsqueda de los artículos (ítem 3) pero fue pequeña, ya que no estaba acostumbrada y la descarga tenía que ser desde la Universidad con conexión a Eduroam, que dificultaba el tiempo de búsqueda. También se leyeron algunos artículos (ítem 4) pero se dejó su finalización para la siguiente iteración. Se realizo el ítem 5 por su facilidad, ya que se disponía de la página de GitHub de Daniel González Alonso [18] donde se encuentra la herramienta de visualización junto con un breve vídeo explicativo que facilitaba su aprendizaje y uso. 2.5.2. Iteración 2 Para esta segunda iteración se planificaron los ítems: 3. Búsqueda de artículos y documentación de la bibliografía más relevante. 4. Lectura y comprensión de artículos y documentación sobre trabajos similares. 6. Análisis visual de los datos del acelerómetro en la pulsera de Microsoft. 2.5. PLANIFICACIÓN DE LAS ITERACIONES Y SEGUIMIENTO 41 Figura 2.7: Uso de los recursos en la planificación completa. 48 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO 54. Conseguir un sistema automático para extraer las zonas de interés de los datos. 15. Aplicación de las decisiones tomadas en todas las posibilidades del entorno experimental para la pulsera de Microsoft y el acelerómetro. Estas tareas darían por finalizado el estudio con la pulsera de Microsoft y el sensor acelerómetro. Dadas las fechas en las que nos encontrábamos, finalizando las horas totales que se tenían que dedicar al proyecto, se decidió reducir lo que se quería hacer. De manera que para el otro sensor, giroscopio de la pulsera de Microsoft y ambos sensores, acelerómetro y giroscopio del reloj Motorola se haría lo siguiente: Automatizar la extracción de las zonas de interés de los datos. Esto eliminaba los ítems 22, 34 y 44, completando el 54. Estudiar las autocorrelaciones y si resultaban parecidas a las ya estudiadas en la pulsera Microsoft con el sensor acelerómetro, utilizar tanto en el sensor giroscopio como en el otro dispositivo (Motorola) las mismas conclusiones de preprocesamiento. Bajo el argumento de que las autocorrelaciones y su visualización eran similares. Esto eliminaba los ítems 18, 30 y 40, utilizando en su lugar el ítem 7. Dado que la extracción de características (ítem 12) se había hecho utilizando como referencia los artículos leídos, utilizar las mismas en ambos sensores y dispositivos, eliminado los ítems 23, 35 y 45, gracias a ser sustituidos por el 12. De la misma manera que el preprocesamiento y la extracción de características, reutilizar el estudio prospectivo, eliminado los ítems 26, 38 y 48, sustituyéndolos por el 15. Realizar la selección de características una única vez sobre el sistema de reconocimiento final en un único dispositivo y sensor que sería: Microsoft acelerómetro. Con el objetivo de ver si esto era una buena manera de mejorar los resultados en esta biometría. Eliminando los ítems 24, 36 y 46 para realizar sólo el 13. Lo que sí se seguiría haciendo serían las siguientes tareas: Para Microsoft Giroscopio: 17. Análisis visual de los datos. 19. Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 21. Análisis de autocorrelaciones de los datos. 25. Construcción de las tablas de los datos con la información estructura de entrada al clasificador. Para Motorola Acelerómetro: 2.5. PLANIFICACIÓN DE LAS ITERACIONES Y SEGUIMIENTO 49 29. Análisis visual de los datos. 31. Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 33. Análisis de autocorrelaciones de los datos. 37. Construcción de las tablas de los datos con la información estructura de entrada al clasificador. Para Motorola Giroscopio: 39. Análisis visual de los datos. 41. Visualización y estudio estadístico de los datos del corpus (dominio del tiempo y de la frecuencia). 43. Análisis de autocorrelaciones de los datos. 47. Construcción de las tablas de los datos con la información estructura de entrada al clasificador. La fecha de comienzo fue el miércoles 15 de mayo y su finalización el miércoles 29 de mayo habiendo completado todas las tareas de la pulsera Microsoft con el sensor acelerómetro, incluyendo la construcción del sistema de reconocimiento final (ítem 51), la automatización para la extracción de las zonas de interés (ítem 54) y el estudio prospectivo en todas las posibilidades del entorno experimental (ítem 15). Por otro lado, también se realizó la visualización de los datos (ítems 17, 19, 29, 31, 39 y 41), el estudio de las autocorrelaciones (ítems 21, 33 y 43) y la construcción de las tablas de los datos (ítems 25, 37 y 47), correspondientes a los sensores y dispositivos restantes. En esta iteración se han dedicado 30 horas más, ya que en el momento de finalización de las tareas correspondientes al dispositivo Microsoft y el acelerómetro se invirtieron escribiendo la memoria final del TFG. 2.5.10. Iteración 10 En esta décima iteración ya se tenía muy claro todo lo que se iba a hacer para dar por finalizado el proyecto. Como se tenían limpios los datos y construidas las tablas de características en ambos sensores y dispositivos, se planificaron las siguientes tareas. 1. Aplicar el sistema de reconocimiento final construido (ítem 51) en todas las posibilidades del entorno experimental para la pulsera de Microsoft y el giroscopio. 2. Aplicar el sistema de reconocimiento final construido (ítem 51) en todas las posibilidades del entorno experimental para el reloj Motorola y el acelerómetro. 3. Aplicar el sistema de reconocimiento final construido (ítem 51) en todas las posibilidades del entorno experimental para el reloj Motorola y el giroscopio. 50 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO 4. (Ítem 13) Análisis estadístico de las distintas características extraídas para estudiar cuáles son más discriminantes (selección de las características de interés) con la pulsera de Microsoft y el acelerómetro. 5. (Ítem 56) Realización de la memoria. Como era de esperar, al tener las cosas claras de lo que había que hacer y el código construido de cuando se había utilizado para la pulsera de Microsoft y el acelerómetro, no surgieron problemas en las 3 primeras tareas. En la selección de características, cuarta tarea planificada en esta iteración, surgieron dos maneras de actuar y se decidió probar ambas, como se explicará en el capítulo de selección de características de [5]. La fecha de comienzo fue el miércoles 29 de mayo y su fecha de finalización el miércoles 12 de junio, habiendo realizado todas las tareas pensadas para el TFG. Ahora sólo faltaba terminar de realizar la memoria (ítem 56), la cual se había avanzado mucho, tras dedicar 30 horas más. 2.5.11. Iteración 11 Esta onceava iteración es añadida a la planificación inicial que se tenía, donde se había pensado finalizar el día 3 de junio, dentro del periodo de tiempo de la iteración 10. No obstante, ya se había terminado todo el trabajo y sólo faltaba terminar de escribir la memoria, por lo que se planificaron las siguientes tareas de la tabla 2.3. 56. Realización de la memoria. Incluye versiones y revisiones. 61. Realización de la presentación para la defensa oral. La fecha de comienzo fue el miércoles 12 de junio y su fecha de finalización el miércoles 26 de junio, con todo el trabajo realizado y las memorias presentados en la solicitud de defensa de la convocatoria ordinaria de la Universidad de Valladolid. Para la iteración completa se realizaron un total de 30 horas comprendidas entre las fechas indicadas. Una vez terminadas todas las iteraciones, se muestra en la figura 2.8 el calendario con la fecha de inicio y fin reales (color naranja), los reuniones no realizadas (color amarillo con una X) y las reuniones realizadas a mayores (color rojo). Al principio se necesitaron más reuniones para ubicarse en el problema y conseguir una extracción de las zonas de interés suficientemente buena. En marzo también se realizaron más reuniones por la falta de conocimientos del procedimiento experimental seguido en biometría. En abril se empezaron a probar más clasificadores y existió el problema del sobreaprendizaje, comenzando a poner en funcionamiento la aplicación de captura de datos, lo que generó muchas más reuniones. En mayo, el tiempo se acababa y hubo que hacer reuniones para ubicar el trabajo que se incluía en la presente memoria. Mientras que en junio se realizaron reuniones para mostrar a los tutores el resultado final, realizando en paralelo la memoria, que llevo bastante más tiempo que el planificado, terminando el proyecto 20 días más 2.6. PROCESO TÉCNICO COMPLETO 51 tarde, pero a tiempo aún de la convocatoria ordinaria. Se deja una reunión pendiente después de presentar la solicitud de defensa para enseñar a los tutores la presentación PowerPoint que se utilizará en el tribunal. En la parte inferior se pueden ver los días totales que se han dedicado cada mes. 2.6. Proceso técnico completo En esta subsección se muestran todas las herramientas y librerías más relevantes que se irán utilizando a lo largo del desarrollo del proyecto, tanto las planificadas como las finalmente utilizadas. Como herramientas para la comunicación alumno-profesores: UVa Webmail alumnos: fuente de comunicación principal, enviando correos para concretar reuniones, dudas y problemas. Life Size Cloud: realización de videoconferencias durante el periodo de vacaciones de Semana Santa por la necesidad de tomar decisiones [20]. WeTransfer: herramienta para enviar archivos con una capacidad máxima permitida de 2GB [21]. Para la realización de informes, tablas y resúmenes: Overleaf: edición de la memoria final en L A TEX. Excel: realización de tablas resumen de los datos, para mostrar toda la información agrupada de manera más clara y sencilla. Word: realización de documentos auxiliares rápidos y para tomar notas. Para la edición de las imágenes incluidas en el proyecto: PhotoJoiner: unión de múltiples fotos juntas [22]. Fotor: edición de fotos, añadir texto [23]... Como lenguajes de programación: R: mayoritariamente, trabajando con RStudio [24] como editor de código, debugging y herramienta de visualización. Python: utilizando Anaconda [25] como plataforma de programación. Entre las librerías de R más relevantes: 52 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO Figura 2.8: Calendario real del desarrollo del proyecto. 2.6. PROCESO TÉCNICO COMPLETO 53 xlsx: paquete para leer, escribir y formatear archivos de Excel. Dygraphs: librería muy utilizada y realmente útil. Es una interfaz R para la biblioteca de gráficos de JavaScript de dygraphs. Proporciona facilidades para trazar datos de series temporales. Incluye [19]: •Trazar automáticamente la serie temporal. •Visualizar la serie y los ejes, los cuales son fácilmente configurables. •Funciones interactivas que permiten zoom y recorte de manera rápida y fácil, así como la señalización exacta de los puntos junto con sus valores. •Permite mostrar barras superiores/inferiores (intervalos de predicción) alrededor de la serie. •Superposición de gráficos que incluyen regiones sombreadas, líneas, puntos anotados. •Se incrusta sin problemas en documentos RMarkdown y aplicaciones web Shiny. intervals: herramienta para comparar conjuntos de puntos e intervalos. Utilizada para realizar la intersección de diversos intervalos. moments: herramienta para calcular medidas estadísticas de los datos como momentos, acumulados, coeficiente de asimetría, curtosis o test relativos. DescTools: herramienta para el cálculo de medidas estadísticas descriptivas. FNN: librería muy utilizada para el estudio prospectivo de los datos. Implementa los algoritmos de clasificación y regresión de búsqueda del vecino más cercano, KD-tree, cover-tree. PRROC: librería para el cálculo de las medidas relacionadas con las curvas ROC como el área bajo la curva (AUC). devtools: herramienta para facilitar el desarrollo de paquetes en R. Se utiliza para descargar la librería ROC de Github a través de: install_github(“davidavdav/ROC”) que permite el cálculo de la tasa de equierror (EER) a partir de la curva ROC. ggplot2: librería para mejorar de manera fácil la representación gráfica. reshape2: permite la reestructura y agregación de datos de manera flexible. stats: utilizada para representar test estadísticos basados en la búsqueda de homocedasticidad en los datos (igualdad de varianzas) con la orden fligner.test y test no paramétrico de Mann-Whitney-Wilcoxon con la orden wilcox.test. FSelector: contiene funciones para la selección de atributos de un conjunto de datos determinado. La selección de subconjuntos de atributos es el proceso de identificar y eliminar la mayor cantidad de información irrelevante y redundante que sea posible. Se ha utilizado la 54 CAPÍTULO 2. PLAN DE DESARROLLO Y SEGUIMIENTO orden relief que es un algoritmo que encuentra los pesos de atributos continuos y discretos basándose en la distancia entre las instancias. Las librerías de Python utilizadas han sido: Pandas: herramienta de manipulación de datos de alto nivel desarrollada por Wes McKinney. Está construida con el paquete Numpy y su estructura de datos clave es el DataFrame, el cuál te permite almacenar y manipular datos tabulados en filas de observaciones y columnas de variables [26]. Sklearn: biblioteca para el aprendizaje automático de software libre. Simple y eficiente para análisis de datos y Data Mining. Incluye algoritmos de clasificación, regresión y análisis de grupo entre los cuales están máquinas de vectores soporte, bosques aleatorios, Gradient Boosting, K-medias y DBSCAN. También permite técnicas de reducción de la dimensionalidad, selección de modelos y preprocesamiento. Diseñada para interoperar con las bibliotecas numéricas y científicas NumPy y SciPy [27]. Matplotlib: biblioteca para la generación de gráficos a partir de los datos contenidos en listas o arrays. Diseñada para interoperar con la biblioteca numérica NumPy [28]. Capítulo 3 Estado del Arte A lo largo de este capítulo se va a exponer la situación actual de la biometría, centrándonos en el estudio de aquellas cosas que nos afectan, como la manera de actuar con los datos o las técnicas de aprendizaje automático que se emplean, haciendo un resumen de los resultados obtenidos en investigaciones similares utilizando dispositivos ponibles y el comportamiento de las personas como patrón. El reconocimiento biométrico consiste en aplicar técnicas estadísticas y matemáticas sobre las características fisiológicas o del comportamiento de un individuo para su reconocimiento, ya sea identificación o verificación. Estos sistemas, como se ha dicho en el capítulo 1 de la Introducción, presentan una serie de ventajas, tales como que los usuarios no necesitan recordar claves complejas para su autenticación ni llevar consigo llaves, tarjetas u otros objetos físicos, que pueden perderse o transferirse. Existen sistemas biométricos tradicionales y portátiles. Los sistemas portátiles, por su naturaleza, están siempre con el usuario pudiendo almacenar los datos dentro del dispositivo, siendo capaces de leer la señal del sujeto en cualquier momento y por tanto, permitiendo la autenticación continua, mientras que los sistemas biométricos tradicionales son generalmente colocados en un lugar fijo, menos susceptibles de deteriorarse así como más fácilmente reemplazables, haciendo uso de procesos más costosos computacionalmente, ya que pueden utilizar fuentes externas de energía [6]. Ejemplo de sistema biométrico tradicional es una característica de Windows 10 llamada Windows Hello [29] que permite al usuario autenticarse usando la cara, el iris o la huella digital. La creciente popularidad de los dispositivos portátiles está llevando a nuevas formas de interactuar con otros dispositivos inteligentes y con otras personas. Los wearables equipados con una serie de sensores son capaces de capturar los rasgos fisiológicos y de comportamiento del propietario, resultando apropiados para biometría, siendo éstos los que se van a utilizar en el presente proyecto. Los sensores predominantes en los dispositivos portátiles actuales son [6]: Sensores de luz: dependiendo de la resolución del sensor, pueden ser utilizados para medir la intensidad de la luz, como por ejemplo los sensores fotopletismográficos (PPG) [30] 55 56 CAPÍTULO 3. ESTADO DEL ARTE que miden el volumen de cambio sanguíneo dentro del tejido microvascular, o proporcionar imágenes completas, como es el caso de los lectores de huellas dactilares [31] o cámaras digitales [32] que pueden capturar las características fisiológicas como la cara u otras características corporales como la forma de andar de los individuos a través de lo que se llaman técnicas de visión. Sensores de fuerza: mide la fuerza que afecta al dispositivo de medición, ya sea originada por el movimiento, ejemplo de ello es el acelerómetro tridimensional [33,34] o por la fuerza de Coriolis como hace el giroscopio o el campo magnético de la Tierra con el magnetómetro o la presión del aire con el barómetro. Sensores eléctricos: mide la actividad eléctrica de algunas partes del cuerpo, como por ejemplo, un electrocardiograma para el corazón [35] o cómo cambia una corriente cuando se aplica al cuerpo, como por ejemplo, la conductividad de la piel con un sensor de respuesta galvánica de la piel [36]. Sensores de temperatura: funcionan como una cámara infrarroja. Se captura la energía infrarroja y se transforma en una señal digital que representa la temperatura. Los sensores de temperatura de la piel generalmente se colocan a una distancia muy corta o en contacto directo con la piel. La miniaturización de la tecnología ha permitido el desarrollo de pequeños sensores de temperatura de la piel que pueden incorporarse en casi cualquier dispositivo electrónico, como los dispositivos ponibles [37]. Sensores de sonido: un micrófono traduce las ondas de sonido que viajan por el aire en una señal eléctrica. Hay micrófonos comerciales que están preparados para capturar la voz humana a una distancia razonable (60dB a 1 metro), ya que la voz de una persona se define por las características fisiológicas del sistema respiratorio de la persona [38]. Sensores de localización: El Sistema de Posicionamiento Global (GPS) consta de 32 satélites y cualquier número de receptores GPS ubicados en la superficie de la Tierra. Un receptor GPS utiliza la señal de cuatro satélites de línea de visión diferentes para triangular la ubicación del dispositivo, ofreciendo sus coordenadas (longitud y latitud), proporcionando información de comportamiento solo con respecto a la ubicación del sujeto. En este trabajo, como se explicará en el apartado 4.1, se va a trabajar con sensores portátiles de fuerza. Pero la biometría es un problema difícil en continuo estudio, con cada vez más tipos de sensores diferentes, que algún día podrán ser usados de forma complementaria para conseguir mejores resultados. Una vez adquirida una muestra de datos del usuario mediante el sensor existen dos formas de abordar el trabajo: considerando toda la muestra adquirida o dividiendo esa muestra en marcos temporales. Los artículos encontrados trabajan de la segunda forma ya que justifican que de esta manera se captura la variabilidad del individuo con el tiempo, pero dependiendo de cuál lo hace de diferente forma. Todos ellos consideran ciclos de marcha y que la forma de caminar humana 57 es un movimiento periódico, compuesto por un paso de la pierna derecha y un paso de la pierna izquierda. Es decir, un ciclo de marcha empieza cuando un pie toca el suelo y termina cuando el mismo pie toca el suelo nuevamente como se muestra en la figura 3.1. Dentro de los trabajos leídos cabe destacar [39] por utilizar solamente la dimensión Z del acelerómetro para hacer la partición del ciclo de la forma de andar, ya que afirma existir una asociación entre la fuerza de reacción del suelo y la fuerza de la señal de este eje, que forma picos de gran magnitud y busca esos cambios del eje Z para dividir la señal en ventanas. Otros como [40] utilizan el periodo de la señal para detectar los ciclos y hacer la división. Por último, en [41] se hace una revisión extensa del enfoque de ventanas, mostrando el tamaño utilizado, en segundos, de distintas publicaciones en las que se realizan diversas actividades, no solo la de caminar y se sitúan distinto número de acelerómetros en distintas posiciones, que también se indica. Considera la creación de ventanas, para cada actividad, en función del flujo de datos del sensor y los cambios que se producen, pudiendo identificar dichos cambios a través de un análisis de variaciones en las características de la frecuencia de la señal; o bien detectando el contacto inicial y final del pie con el suelo a través de la aceleración lineal del pie. Introduce la superposición entre ventanas adyacentes, lo que llamaremos “solapamiento” y demuestra que su efecto es beneficioso para el reconocimiento de actividades periódicas como caminar o correr, y estáticas como estar de pie o sentado, pero de utilidad cuestionable para la detección de actividades esporádicas, en las que su naturaleza es más compleja e intercalada. La publicación [42] considera ventanas con 20% de solapamiento y [43,44] consideran un 50%. Figura 3.1: Esquema de un ciclo de marcha. Por otro lado, casi nunca se utiliza la señal cruda de los datos, ya que un buen preprocesamiento puede ayudar a mejorar los resultados. Lo que todos los artículos hacen es eliminar el ruido, destacando [40,45–48] por hacerlo asignando pesos a los datos a través del filtro Weighted Moving Average (WMA), en [46, 47] también se eliminan los falsos mínimos a través del ciclo medio, calculando aquellos puntos fuera del rango (media ±desviacion_estandar)o bien con filtros de la mediana como en [49,50] o filtros lowpass ohighpass para eliminar las interferencias fuera de la banda como hacen [39,45,51]. La segunda técnica más aplicada es la de la interpolación por tener los datos disponibles en intervalos de tiempo irregulares, [46,47,52] aplican una interpolación de spline, mientras que [39,40,45] justifican que utilizar una interpolación lineal es suficiente y más sencillo. Por último, la mayoría de los estudios analizados normalizan los datos, tanto si trabajan en el Dominio del Tiempo como si lo hacen con las amplitudes de Fourier en el Dominio de la Frecuencia, destacando [39,46,47,51,52], pero ninguno de ellos compara el efecto de lo que ocurre si no se normalizan los datos. Una vez se ha decidido si trabajar con toda la muestra o con una división de ella en ventanas y el 64 CAPÍTULO 4. DATOS Y ANÁLISIS de minuto y medio, aproximadamente, durante 2 sesiones en diferentes días. Y dependiendo del usuario, cada día realizó el recorrido una única vez o dos. En la tabla 4.1 se muestra la información disponible de cada uno de los usuarios: 13 hombres, 7 mujeres y 1 usuario sin identificar en edades comprendidas entre 16 y 57 años, utilizando el reloj y la pulsera en la mano dominante o la opuesta en función del usuario. En la misma tabla se muestra el número de datos recogidos de cada usuario. El número total de datos es 66.1 *Usuarios que en lugar de realizar el recorrido una vez en cada sesión, lo realizaron las dos veces en la misma sesión: la primera. Usuario Sexo Edad Mano dominante Mano portadora Node datos usuario0 - - - - 2 usuario1 Hombre 21 Derecha Izquierda 4 usuario2 Hombre 57 Derecha Izquierda 4 usuario3 Hombre 50 Derecha Izquierda 4 usuario4 Hombre 50 Derecha Izquierda 2 usuario5 Mujer 53 Derecha Izquierda 2* usuario6 Hombre 21 Derecha Derecha 2 usuario7 Mujer 16 Derecha Izquierda 2 usuario8 Mujer 56 Derecha Derecha 4 usuario9 Mujer 46 Derecha Izquierda 4 usuario10 Mujer 19 Derecha Izquierda 4 usuario11 Mujer 46 Derecha Derecha 4 usuario12 Hombre 16 Derecha Derecha 4 usuario13 Hombre 49 Derecha Derecha 4 usuario14 Hombre 20 Derecha Izquierda 4 usuario15 Hombre 22 Derecha Derecha 4 usuario16 Mujer 48 Derecha Izquierda 2 usuario17 Hombre 53 Derecha Derecha 2* usuario18 Hombre 22 Derecha Izquierda 4 usuario19 Hombre 23 Derecha Derecha 2 usuario20 Hombre 21 Derecha Izquierda 2 TOTAL MUESTRAS DE DATOS DISPONIBLES 66 Tabla 4.1: Metadatos de los usuarios en la Base de Datos inicial. Se dispone de la misma cantidad de datos en los 2 dispositivos comerciales y con 2 sensores en cada uno de ellos. Los dispositivos son un reloj Motorola Moto 360 (Moto) y una pulsera Microsoft Band 2 (Micro) que habían sido ya adquiridos para un TFG anterior [3] cuyo objetivo 1El número de datos disponibles son 2 si realizó el recorrido una única vez en cada una de las dos sesiones o 4 si lo realizó dos veces, salvo las excepciones marcadas con asterisco. 4.1. BASE DE DATOS 65 fue desarrollar la aplicación móvil de recogida de datos, que fue empleada posteriormente en otro TFG [4], cuyos datos van a ser utilizados más ampliamente en este trabajo. Los dispositivos se pueden ver en la figura 4.2. (a) Microsoft Band 2 (b) Motorola Moto 360 Figura 4.2: Dispositivos disponibles. Los sensores utilizados son tanto el acelerómetro (ACC) como el giroscopio (GYR) tridimensional que poseen los dispositivos usados en la captura. Acelerómetro: mide la orientación de una plataforma fija respecto a la superficie terrestre. En esta situación podría verse como la rapidez con que algo se acelera. Giroscopio: mide la velocidad de rotación sobre un eje determinado. Las 3 componentes son X, movimiento hacia la izquierda o derecha; Y, movimiento hacia adelante o hacia atrás; Z, movimiento hacia arriba o hacia abajo. De manera resumida, al realizar cada recorrido, se va guardando en la Base de Datos la siguiente información. Identificador del usuario. International Mobile Equipment Identity (IMEI) del teléfono móvil o la herramienta utilizado para la adquisición de los datos. El IMEI es un código que identifica al aparato de forma exclusiva a nivel mundial. Dispositivo que se está utilizando (Micro o Moto). Tipo de sensor al que pertenece el dato (ACC o GYR). Timestamp: contiene tanto la fecha, como la hora con una precisión en milisegundos. Las coordenadas X, Y y Z del sensor indicado. Nombre del usuario. 66 CAPÍTULO 4. DATOS Y ANÁLISIS Número de la tarea, la sesión y la muestra para distinguir entre las diferentes tomas de datos del mismo usuario. Con ello, se construye un fichero en formato CSV para cada toma de datos de cada usuario. El fichero contiene únicamente la información necesaria, que se va a utilizar a lo largo de este trabajo. Una primera columna con el tiempo relativo, que es la diferencia de tiempo entre una captura de las coordenadas X, Y, Z y la anterior. Los datos se almacenan con este valor temporal porque es más compacto que almacenar el timestamp. Tres columnas para las coordenadas X, Y, Z correspondientes a la captura de datos que marque el tiempo relativo. En la Base de datos tienen el nombre de dato1, dato2 y dato3 para hacer referencia a las coordenadas X, Y, Z respectivamente. El recorrido dura, aproximadamente, minuto y medio, por lo que se tienen bastantes capturas para cada toma de datos de cada usuario. En la figura 4.3 se muestra un ejemplo de toma de datos, con el formato final con el que se va a trabajar. Figura 4.3: Formato de los datos que se van a utilizar. 4.2. Limpieza de los datos La limpieza de los datos tiene el propósito de eliminar redundancias, inconsistencias, ruido o outliers, tratando de buscar las mejores decisiones para encontrar la mejor solución para el resultado final. 4.2. LIMPIEZA DE LOS DATOS 67 4.2.1. Pulsera Microsoft, acelerómetro (ACC): Con el dispositivo Micro (Microsoft) y el acelerómetro, el usuario 13 presenta una señal mala para su segunda sesión y toma. Los gráficos correspondientes pueden verse en la figura 4.4 (coordenadas X, Y, Z de izquierda a derecha). La decisión ha sido eliminarla por tener una captura de datos errónea. Figura 4.4: Usuario 13, sesión 2, toma 2, coordenadas X, Y, Z respectivamente. Mientras en el resto de los usuarios no ocurría, el 19 y el 20 presentaban problemas en uno de sus dos registros de datos tomados. Como se puede ver en la figura 4.5, que corresponde con la serie de tiempo del usuario 19 en su componente Z, hay un problema en el “timestamp”: las muestras son almacenadas en el orden en que fueron tomadas, y, como se ve en la figura, hay zonas donde el timestamp no sigue este orden, produciéndose saltos temporales. No se sabe el porqué del problema, pero podría ser causado por el dispositivo o la herramienta de adquisición de los datos. Figura 4.5: Mostrar error de retroceso en los datos. La visualización de estos gráficos ha llevado a un análisis profundo de los datos numéricos originales. En ambos casos ocurre lo mismo, la presencia de valores negativos en el tiempo relativo, 68 CAPÍTULO 4. DATOS Y ANÁLISIS es decir, al calcular la diferencia de tiempo entre un punto y el anterior. Además, mientras en todos los usuarios y registros, está columna de valores empezaba en el 0, en el caso del usuario 19 empezaba en 65572 y en el usuario 20 en 33. En la figura 4.6 se muestra un ejemplo de valor negativo para el usuario 19. Figura 4.6: Error en el tiempo relativo del usuario 19. Analizando detenidamente los datos, mediante una inspección visual de las zonas con problemas, vimos que si eliminábamos las muestras con tiempo relativo acumulado negativo, la señal se reconstruía perfectamente. Es decir, es como si se hubieran añadido puntos espurios, que bastaba con quitarlos para que la señal quedara correcta. Esta fue la solución que se adoptó, aplicando directamente en la hoja de cálculo el siguiente algoritmo: 1. Crear una columna con el valor de tiempo relativo acumulado. 2. Ordenar los datos de la tabla de menor a mayor usando la columna anterior creada.2 Si existen valores negativos, son los puntos espurios, se eliminan todas las filas que los contienen. Si no existen valores negativos, no se elimina ninguna fila. 3. Eliminar la columna que contiene el tiempo relativo original. 4. Crear una nueva columna de tiempo relativo, pero ahora ya sin puntos erróneos. Empezando en valor 0 y restando los valores acumulados en ese momento con el anterior. 5. Eliminar la columna creada de acumulado, para dejar el fichero de datos con el mismo formato. 2De existir valores negativos tienen que estar al principio, ya que los datos están ordenados de menor a mayor. 4.2. LIMPIEZA DE LOS DATOS 69 En las figuras 4.7 y 4.9 se representan las 3 componentes del usuario 19 y 20 sin realizar ningún cambio. Mientras que tras aplicar el algoritmo anterior mencionado y representar de nuevo los datos, se obtienen los gráficos de las figuras 4.8 y 4.10. Comparándolos, se puede ver que la señal es la misma sin esos saltos. Se trata de señales, ambas periódicas, con un patrón más constante en el usuario 19. Figura 4.7: Usuario 19, sesión 2, toma 1, coordenadas X, Y, Z respectivamente (Micro ACC) Figura 4.8: Usuario 19 modificado, sesión 2, toma 1, coordenadas X, Y, Z respectivamente (Micro ACC). Figura 4.9: Usuario 20, sesión 1, toma 1, coordenadas X, Y, Z respectivamente (Micro ACC) Figura 4.10: Usuario 20 modificado, sesión 1, toma 1, coordenadas X, Y, Z respectivamente (Micro ACC). Se ha eliminado el usuario 0. Al principio no existían razones para hacerlo, salvo la pregunta de por qué en la tabla de los metadatos no existía información sobre dicho usuario. Los datos de partida han sido con labels ocultos, sin dar importancia al nombre del usuario, pero al visualizar 70 CAPÍTULO 4. DATOS Y ANÁLISIS la carpeta de los datos originales (sin codificar la etiqueta) y codificados se observa como falta 1 dato, correspondiente a la sesión 1, muestra 1, del dispositivo Micro con el acelerómetro, que luego sí existe en los datos con la etiqueta codificada. Otra razón que ha motivado está decisión es que al hacer el análisis visual y calcular la distancia euclídea entre las curvas que se construían con el Análisis de Fourier, de un usuario consigo mismo y con el resto, el usuario 0 era el único que presentaba una distancia relativamente grande consigo mismo como puede verse en la figura 4.11. Concluimos que fue un usuario ficticio de prueba de la aplicación móvil, por lo que los datos no se corresponden con una captura correcta. Figura 4.11: Distancias usuarios (componente X). Los colores representan: Verde oscuro: valores de distancia entre 0 y 0.02. Verde claro: distancias entre 0.02 y 0.04. Naranja claro: distancias entre 0.04 y 0.06. Naranja oscuro: distancias entre 0.06 y 0.1. Rojo claro: distancias entre 0.1 y 0.15. Rojo oscuro: distancias entre 0.15 y 0.20. Lo ideal con respecto a la figura 4.11 es que los cuadrados de la diagonal con borde negro tengan distancias pequeñas, es decir colores verde claro y oscuro o naranja claro, ya que están representando al mismo individuo y la distancia de un individuo con él mismo, idealmente tiene que ser pequeña. Y el resto de los elementos por fuera de la diagonal tengan distancias altas (colores naranjas oscuros, rojo claro y oscuro), ya que representan la distancia de un individuo con respecto al resto. 4.2. LIMPIEZA DE LOS DATOS 71 4.2.2. Pulsera Microsoft, giroscopio (GYR): Al cambiar de sensor dentro del mismo dispositivo y conocido que en ciertas ocasiones, desconocidas podían ocurrir fallos en el orden de las muestras almacenadas apareciendo valores negativos en el tiempo relativo, era de esperar que volviese a ocurrir. Además, tratándose del mismo dispositivo, los fallos debían encontrarse en los mismos usuarios, ya que los datos de ambos sensores se recogen en el mismo instante de tiempo. Efectivamente, como puede verse en las figuras 4.12 y 4.13, correspondientes a la componente Z de la segunda muestra del usuario 19 y a la primera del usuario 20, existe un retroceso de los datos. La manera de solucionarlo ha sido la misma que en el otro sensor, y los resultados son los mismos sin esos saltos. En este caso, en el usuario 19 se tiene una señal periódica buena, con mucho ruido al inicio y al final y en el usuario 20 una señal también periódica, con menos ruido. Figura 4.12: Usuario 19, sesión 2, toma 1, coordenadas Z (Micro GYR). 4.2.3. Reloj Motorola, acelerómetro (ACC): Cambiando de dispositivo sigue ocurriendo el mismo problema de obtener valores negativos en algunos instantes de tiempo relativo que genera retrocesos y problemas en la señal de los datos. En este dispositivo ocurre en la primera sesión del usuario 4 y en la segunda del usuario 19, es decir, en el mismo número de muestras que antes, pero en un usuario diferente. Esto genera sospechas de que el problema se encuentra en la herramienta de adquisición de los datos y en que se está trabajando con dispositivos comerciales, donde las cosas no son tan ideales como cuando se trabaja con herramientas diseñadas para el propio propósito del trabajo. El usuario 4 contiene al principio, un intervalo grande de tiempo donde no se han captura datos y es al final, cuando de repente hay muchos valores negativos seguidos, lo que produce más 72 CAPÍTULO 4. DATOS Y ANÁLISIS Figura 4.13: Usuario 20, sesión 1, toma 1, coordenadas Z (Micro GYR). diferencias entre la señal errónea y corregida, como puede verse en la figura 4.14. En el usuario 19 hay menos valores negativos y su comportamiento es similar al de los usuarios en la pulsera de Microsoft. Por otro lado, a través de la visualización de la serie de los datos en cada usuario, se ha visto como en la última muestra del usuario 14, correspondiente a la segunda toma de la sesión 2, se tiene una señal periódica, bastante buena, pero con una duración mucho más pequeña a la del resto de usuarios, e incluso a la del mismo usuario en las otras tomas. Además, con una diferencia bastante grande, ya que en la primera toma de la sesión 2 tarda aproximadamente 120.000 milisegundos en realizar el recorrido; cuando en la segunda toma tarda 50.000 milisegundos; y en la primera toma de la primera sesión 170.000, 3 veces más. Esto podría producir problemas en las decisiones que se tomen para construir el sistema de reconocimiento final, si se decide trabajar con tamaños grandes. 4.2.4. Reloj Motorola, giroscopio (GYR): En el otro sensor del reloj Motorola ocurre lo mismo, ya que se trata de usuarios andando en el mismo instante de tiempo con el reloj situado en la muñeca, mientras una herramienta está adquiriendo los datos que están generando los sensores acelerómetro y giroscopio, por lo que los problemas surgidos son los mismos. Los usuarios 4 y 19 presentan valores negativos de tiempo relativo siguiendo el mismo comportamiento que en el acelerómetro del mismo dispositivo, reloj Motorola. De la misma manera, el usuario 14 sigue presentando una toma de datos buena pero muy pequeña en la segunda muestra de la sesión 2. 4.2. LIMPIEZA DE LOS DATOS 73 (a) Señal errónea (b) Señal corregida Figura 4.14: Señal usuario 4, componente Y, Motorola Acelerómetro. 80 CAPÍTULO 5. CONFIGURACIÓN EXPERIMENTAL Figura 5.2: Aplicación de Fourier con y sin ventanas al usuario1, S1, M1, 1aventana Primera y segunda amplitud dominante: representa los dos valores más altos obtenidos entre las amplitudes resultantes del Análisis de la transformada de Fourier en cada una de las componentes de los datos. Primera y segunda frecuencia dominante: representa los dos valores de la frecuencia correspondientes a los dos puntos donde se consiguen las amplitudes anteriores. Área bajo la curva de Fourier (AUC) basado en splines: utiliza una interpolación de splines para calcular la cantidad de área bajo la curva formada por las amplitudes del Análisis de Fourier. Las mismas medidas estadísticas que en el dominio del tiempo, quitando el máximo y el mínimo. 5.1.3. Señal combinada Se ha trabajado combinando la señal a través del módulo (5.5), tal y como se hace en la bibliografía [47,48,50,56]. Una vez aplicado el módulo, se extraerán las características mostradas tanto en el dominio del tiempo como de la frecuencia. Modulo =√X2+Y2+Z2(5.5) Otra alternativa, menos utilizada, es el uso del arcoseno (5.6) [52,55]. La bibliografía muestra resultados similares al módulo, por lo que fue la alternativa probada en el presente trabajo. Arcoseno = arcsin Z √X2+Y2+Z2= arcsin Z Modulo (5.6) 5.2. MEDICIÓN DEL ERROR 81 Otra alternativa que se barajó y estudio en este proyecto fue fusionar las coordenadas a nivel de características, es decir, creando un vector de características resultante de juntar las de las coordenadas X, Y y Z. Esto nos daba un vector de 79 características. Las pruebas prospectivas realizadas no mostraron un buen rendimiento de esta alternativa, que, junto con el más alto coste computacional debido al mayor tamaño del vector de características, nos hizo desechar esta vía de trabajo. 5.2. Medición del error Otra decisión importante es cómo evaluar los modelos implementados con el objetivo de poder compararlos y buscar la mejor solución final. Entre las medidas más utilizadas en los sistemas biométricos se encuentran las curvas ROC (Receiver Operating Characteristic), éstas son una representación gráfica de la sensibilidad frente a la especificidad para un sistema de clasificación binario según se varía el umbral de decisión. Nuestro problema se corresponde con el de clasificación binaria, dado que, para cada usuario, se considera a dicho usuario como auténtico y al resto como usuarios impostores. Las medidas de error básicas usadas en este tipo de problemas son: Falsos positivos (False Positives o FP) o falsa aceptación: ocurre cuando se identifica a una persona no autorizada como autorizada. De manera que, si el sistema trata de verificar la identidad de una persona, un usuario impostor podría acceder de forma no autorizada. Falsos negativos (False Negatives o FN) o falso rechazo: ocurre cuando se impide el acceso a una persona autorizada. Verdaderos positivos (True Positives o TP): ocurre cuando el sistema trata de verificar la identidad de una persona y un usuario auténtico (verdadero) accede de forma correcta y es autorizada. Negativos verdaderos (True Negatives o TN): ocurre cuando el sistema trata de verificar la identidad de una persona y un usuario impostor es rechazado. Sensibilidad (True Positive Rate o TPR): proporción de usuarios auténticos que se consideran correctamente como autorizados, con respecto a todos los usuarios auténticos. En función de los términos anteriores, se puede calcular con la fórmula (5.7). Sensibilidad =TruePositive FalseNegative +TruePositive =TP FN +TP (5.7) Especificidad (False Positive Rate o FPR): proporción de usuarios impostores que se consideran erróneamente como autorizados con respecto a todos los usuarios impostores, cuyo resultado se puede obtener con la fórmula (5.8). Especificidad =FalsePositive FalsePositive +TrueNegative =FP FP +TN (5.8) 82 CAPÍTULO 5. CONFIGURACIÓN EXPERIMENTAL Tanto la sensibilidad como la especificidad tienen valores en el rango [0,1], generando una curva ROC en estos rangos donde su área se denomina AUC. Los valores de AUC se interpretan de manera que cuanto mayor sea el valor del AUC, mejor es el rendimiento del modelo. Otra medida del rendimiento muy utilizada en biometría es la tasa de equierror, que es el punto de intersección entre ambas tasas: sensibilidad y especificidad, conocido como Equal Error Rate (EER). Cuanto menor sea su valor, mejor será el sistema. La figura 5.3 muestra la especificidad en el eje de abscisas y la sensibilidad en el eje de ordenadas, generando la curva sobre su área (AUC) marcado en gris. El valor de la tasa de equierror se produce con FPR=0.2 y TPR=0.8. Figura 5.3: Ejemplo de EER a partir de la curva ROC y el AUC. Como resultado final, tenemos dos maneras de mostrar el error: De manera gráfica: como se muestra en la figura 5.3, los valores de la sensibilidad y la especificidad para distintos valores umbrales. Mediante valor numérico: utilizando el área bajo la curva ROC o la tasa de equierror explicada. Pero estos valores se pueden calcular de manera individual para cada usuario o de manera global como la media de todos los usuarios disponibles. Dado que nuestro objetivo aquí es comparar resultados, la opción gráfica es poco práctica en este caso, siendo la más habitualmente utiliza, y la que decidimos adoptar, la de utilizar valores numéricos, considerando ambas métricas, aunque mayoritariamente se va a utilizar el EER. Para la toma de decisiones se utilizará su valor medio con respecto a todos los usuarios, pero posteriormente se aprovechará la ventaja de tener pocos usuarios para hacer un estudio detallado de cada uno de ellos. 5.3. EXPERIMENTOS 83 5.3. Experimentos Teniendo en cuenta el contenido de la base de datos o corpus que estamos usando, se tienen: Diversos usuarios. Dos sesiones posibles en que se recogieron datos. S1 y S2 hacen referencia a la sesión 1 y 2 respectivamente. Un máximo de dos muestras de datos tomadas por sesión y pulsera a cada usuario, representándose como M1 y M2 para referenciar a la muestra 1 y 2 respectivamente. Para cada usuario ivamos a tener los siguientes conjuntos de datos: Conjunto de entrenamiento (train): contiene los datos del usuario auténtico que se usarán para crear su patrón. Conjunto de prueba (test): distinguiendo entre: •Muestras auténticas: Serán muestras del usuario distintas a las usadas para el entrenamiento. Se usarán para calcular la tasa de falsos negativos. •Muestras impostores: Serán muestras de otros usuarios distintos al usuario i. Simularán ataques al sistema, por lo tanto, se usarán para calcular la tasa de falsos positivos. Con respecto a la sesión y muestra, tenemos las siguientes pruebas: 1. Monosesión-Monomuestra (MonoMono): compara los datos dentro de la misma sesión y muestra, es decir, las muestras usadas para entrenamiento y para prueba auténtico del usuario son tomadas en la misma sesión. Es el caso más favorable y el que primero abordaremos para analizar los parámetros del sistema. Train: S1, M1, usuario i Test: •Test Auténticos: S1, M2, usuario i •Test Impostores: S1, M2, usuario j 6=i 2. Multisesión-Monomuestra (MultiMono): Las muestras usadas para entrenamiento y prueba auténtica son tomadas en distintas sesiones. Aquí se quiere probar la variabilidad del rasgo biométrico con el tiempo. Train: S1, M1, usuario i Test: 84 CAPÍTULO 5. CONFIGURACIÓN EXPERIMENTAL •Test Auténticos: S2, M1, usuario i •Test Impostores: S1, M2, usuario j 6=i 3. Multisesión-Multimuestra (MultiMulti): En biometría se ha demostrado que la variabilidad del rasgo con el tiempo es un problema que afecta al rendimiento del sistema. Una forma de paliarlo es intentar incluir en el modelo del usuario esta variabilidad. Una manera de hacerlo es usar para entrenamiento muestras de distintas sesiones. Esto es lo que se prueba aquí. Train: S1 y S2, M1, usuario i Test: •Test Auténticos: S1 y S2, M2, usuario i •Test Impostores: S1 y S2, M2, usuario j 6=i El protocolo experimental seguido para cada caso, Monosesión-Monomuestra, Multisesión- Monomuestra yMultisesión-Multimuestra, es el indicado. Ahora bien, otra forma que puede parecer más razonable de actuar es considerar las distintas posibilidades dentro de Monosesión- Monomuestra, que serían la indicada junto con las siguientes tres: 1. Train: S2, M1, usuario i Test Auténticos: S2, M2, usuario i Test Impostores: S2, M2, usuario j 6=i 2. Train: S1, M2, usuario i Test Auténticos: S1, M1, usuario i Test Impostores: S1, M1, usuario j 6=i 3. Train: S2, M2, usuario i Test Auténticos: S2, M1, usuario i Test Impostores: S2, M1, usuario j 6=i De la misma forma, en Multisesión-Monomuestra existirían además de la mencionada las siguientes tres: 1. Train: S1, M2, usuario i Test Auténticos: S2, M2, usuario i Test Impostores: S1, M1, usuario j 6=i 2. Train: S2, M1, usuario i Test Auténticos: S1, M1, usuario i 5.4. CLASIFICACIÓN 85 Test Impostores: S2, M2, usuario j 6=i 3. Train: S2, M2, usuario i Test Auténticos: S1, M2, usuario i Test Impostores: S2, M1, usuario j 6=i Y por último, en Multisesión-Multimuestra existiría, además de la mencionada otra más que es: 1. Train: S1 y S2, M2, usuario i Test Auténticos: S1 y S2, M1, usuario i Test Impostores: S1 y S2, M1, usuario j 6=i Utilizando todas las posibilidades se haría una especie de validación cruzada. Esto, que parece una buena idea, no lo pudimos hacer debido a las deficiencias de los datos de que disponemos, ya que no todos los usuarios tienen todas las sesiones y dos muestras en cada sesión. Actuar de esa manera nos obligaría a quedarnos solo con los que tienen todo, lo que supone un subconjunto demasiado pequeño. En nuestros datos se tienen: 11 usuarios completos, 2 usuarios con solo una sesión con dos muestras, 7 usuarios con 1 sola muestra en cada sesión y 1 usuario con 3 datos, dos de la primera sesión y sólo uno de la segunda. Por otro lado, entre todas las posibilidades, se ha selecciona la primera opción del procedimiento experimental mencionado, que utiliza como entrenamiento la primera sesión y muestra, siguiendo las pautas y bases fijadas en biometría que intentan simular el comportamiento de la vida real. Interpretando que los datos se utilizan en orden y que la primera sesión S1 y muestra M1 que se obtiene es la que forma parte del conjunto de train, la que se usa para lo que en biometría se denomina inscribir al usuario. Los sensores utilizados son tanto el acelerómetro como el giroscopio tridimensional que poseen los dispositivos usados en la captura. Esto permite 4 posibilidades (Microsoft acelerómetro, Microsoft giroscopio, Motorola acelerómetro, Motorola giroscopio), de las cuales se pueden comparar si los resultados de los sensores son similares y apropiados para trabajar de manera complementaria o si sería mejor centrarse en uno; igual que en los dispositivos, para poder ver si las conclusiones se pueden generalizar y existen posibilidades de encontrar un sistema de reconocimiento bueno para cualquier dispositivo comercial. 5.4. Clasificación Cuando se tiene un problema, se tiende a utilizar muchos algoritmos de clasificación diferentes o con pequeñas variaciones para conseguir resolverlo obteniendo el mejor resultado final. En este 86 CAPÍTULO 5. CONFIGURACIÓN EXPERIMENTAL trabajo, no se pretende resolver el problema completo, sino realizar un buen estudio prospectivo que siente las bases de esta novedosa biometría, y dado que existen muchas incógnitas: ¿con qué tamaño de ventana extraer características?, ¿qué características extraer?, ¿qué tipo de preprocesado beneficiará más a los datos?, ¿qué valor umbral fijar para permitir ventanas con autocorrelación alta?, se ha elegido un clasificador sencillo que no introduce muchos parámetros al problema. La elección es el algoritmo basado en distancias de k-vecinos más próximos. Un método simple, fácil de programar y entender si se necesita explicar a un público amplio. Además, solo necesita muestras del usuario para crear su patrón; la mayoría de los clasificadores discriminantes necesitan para su entrenamiento muestras de la clase auténtica y de la clase impostor, lo que introduce la variabilidad asociado a qué muestras de la clase impostor usar. Para nuestro problema, se puede resumir su funcionamiento a través de un bucle de usuarios auténticos y otro de usuarios impostores. Partiendo de los datos divididos en conjunto de entrenamiento yconjunto de prueba, tal como se explica en la subsección 5.3 y con el objetivo de encontrar las distancias correspondientes a los usuarios auténticos, se tendrán que seguir los siguientes pasos para cada usuario i a estudiar: 1. Para cada ventana en el conjunto de datos de prueba del usuario i, calcular la distancia entre esta ventana y cada una de las ventanas en el conjunto de entrenamiento del usuario ique se esté estudiando. 2. Con las distancias obtenidas en el paso anterior, seleccionar las kdistancias más pequeñas. Como distancia se ha usado la euclídea. Se pueden utilizar otras distancias, pero está es la más general y típicamente usada. 3. La distancia final o “score” de la muestra de prueba se obtiene mediante un estadístico (media, mediana, etc.) sobre las kdistancias del paso 2. Con el bucle anterior, se obtienen los scores para el conjunto de muestras auténticos, pero hay que realizar otro bucle que obtenga las distancias de los usuarios impostores j. En este bucle, se repiten las mismas operaciones que en el anterior, pero ahora, para las muestras de prueba del resto de usuarios, es decir, ∀j6=i. El pseudocódigo de ambos bucles puede verse en los algoritmos 1 y 2, donde las tablas de entrada del conjunto de datos train ytest contienen los atributos de interés, eliminando aquellas columnas que indican el usuario, la sesión y la muestra, ya que se va calculando una distancia entre variables, todas ellas, numéricas y se está trabajando con datos de la misma clase, sin indicar la variable respuesta. La función distanciaEuclidea(x,y) es la que calcula la distancia euclídea entre dos vectores con ncaracterísticas numéricas siguiendo (5.9). Ãn X i=1 (xi−yi)2(5.9) 5.4. CLASIFICACIÓN 87 Algorithm 1: Algoritmo para obtener los scores de los usuarios auténticos Input Tabla de datos de entrenamiento de todos los usuarios traini Tabla de datos de prueba de todos los usuarios testi Usuarios disponibles en la forma experimental usuariosDisponibles Output Scores auténticos de todos los usuarios scoreAutenticoi for user in usuariosDisponibles do n_ventanas_train ←nrow(trainuser) n_ventanas_test ←nrow(testuser) for i←1to n_ventanas_test do scores_auxiliares ←vector() for j←1to n_ventanas_train do salida ←distanciaEuclidea(testuser[i, ], trainuser [j, ]) score_auxiliares ←c(score_auxiliares, salida) end seleccion ←min(score_auxiliares) scoreAutenticouser ←c(scoreAutenticouser, seleccion) end end 88 CAPÍTULO 5. CONFIGURACIÓN EXPERIMENTAL Algorithm 2: Algoritmo para obtener los scores de los usuarios impostores Input Tabla de datos de entrenamiento de todos los usuarios traini Tabla de datos de prueba de todos los usuarios testi Usuarios disponibles en la forma experimental usuariosDisponibles Output Scores impostores de todos los usuarios scoreImpostoresi for user_train in usuariosDisponibles do for user_test in usuariosDisponibles do if user_test 6=user_train then n_ventanas_train ←nrow(trainuser_train) n_ventanas_test ←nrow(testuser_test) for i←1to n_ventanas_test do scores_auxiliares ←vector() for j←1to n_ventanas_train do salida ←distanciaEuclidea(testuser_test[i, ], trainuser_train[j, ]) score_auxiliares ←c(score_auxiliares, salida) end seleccion ←min(score_auxiliares) scoreImpostoresuser_train ←c(scoreImpostoresuser_train, seleccion) end end end end 5.4. CLASIFICACIÓN 89 El único parámetro por fijar en este algoritmo es el valor de k, el cual depende fundamentalmente de los datos. De manera general, valores grandes de kreducen el efecto de ruido en la clasificación, pero crean límites entre clases parecidas. Para los datos originales, sin ningún tipo de preprocesamiento, únicamente eliminando el ruido de manera manual, se han probado valores impares de kentre 1 y 25, tanto en el dominio del tiempo como de la frecuencia utilizando o el módulo o las 3 componentes XYZ juntas. Los resultados se pueden ver en los gráficos de las figuras 5.4 y 5.5 para el dominio del tiempo y 5.6 y 5.7 para el dominio de la frecuencia. El eje X de los gráficos de la figura 5.4, 5.5, 5.6 y 5.7 indica el valor de ky el eje Y el valor de la tasa de equierror. Idealmente es mejor cuánto EER más pequeño. Aunque hay excepciones, suele ser mejor utilizar k=1, resultando el mejor de manera global. Otra cosa que se observó analizando cada usuario es que los usuarios que tienen comportamientos extraños y diferentes frente al resto, son aquellos que llevaban el reloj/pulsera en la mano dominante. Ejemplo de ello es el usuario 8 que obtiene resultados malos, llegando incluso en el dominio de la frecuencia con el módulo a obtener EER de siempre 0.5 (igual que aleatorio) (gráfico 5.7); lo mismo le ocurre al usuario 15 obteniendo valores de 0.5 tanto en el módulo como en XYZ del dominio de la frecuencia (gráficos 5.6 y 5.7). Y resultados que aunque no son de 0.5, si son excesivamente malos con k=1 ocurre en el usuario 11 para el dominio del tiempo y las 3 componentes XYZ (gráfico 5.4). Figura 5.4: EER variando k en KNN, para cada usuario, Dominio del Tiempo XYZ. Finalmente, por su sencillez y rapidez, ya que necesita menor tiempo de cómputo, y por rendimiento se ha seleccionado el valor impar de k=1, llamando en este caso al algoritmo como Nearest 96 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES Respecto a preprocesamiento, utilizar los datos originales con el filtro de la media móvil de orden 3 en el dominio del tiempo y los datos interpolados sin normalizar las amplitudes del Análisis de Fourier en el dominio de la frecuencia. Utilizar tamaños de ventana entre 6 y 10 ciclos. Utilizar la técnica de fusión sobre los scores obtenidos con el clasificador con el estadístico de la mediana, tamaño de ventana para la fusión 4 y solapamiento 2. Para llegar al rendimiento final, volver a aplicar la fusión para los tamaños de ventana seleccionados, entre 6 y 10 utilizando una secuencia equiespaciada de valores para conseguir la misma longitud en todos los tamaños y poder aplicar, después, el estadístico de la media, siguiendo lo explicado en [5]. Como resultado, se va a obtener la tasa de equierror de cada usuario y el valor medio de todos ellos. El objetivo aquí va a ser, en primer lugar, comparar los resultados de ambos sensores (ACC y GYR). Obtener resultados similares significaría que ambos sensores son parecidos y podría ser apropiado usarlos de manera complementaria, en cambio si los resultados son malos, no sé sabrían las razones y habría que repetir y cambiar el preprocesamiento y el análisis de los parámetros para el giroscopio, ya que hemos empleado las conclusiones del experimento realizado sobre el acelerómetro. De la misma manera, comparar los resultados de los dos dispositivos (Micro y Moto) para ver si se pueden extrapolar las decisiones a “cualquier” dispositivo comercial. Si los resultados en ambos dispositivos fueran similares, sería indicativo de la independencia del sistema de reconocimiento con respecto al dispositivo, es decir, si un usuario cambia de dispositivo ponible, no hay que cambiar el sistema de reconocimiento. Utilizando en cada combinación dispositivo/- sensor los 3 procedimientos experimentales: Monosesión-Monomuestra como prueba inicial y caso más favorable por usar muestras tomadas en la misma sesión, Multisesión-Monomuestra para ver hasta dónde puede llegar nuestro sistema, probando la variabilidad del rasgo biométrico con el tiempo y Multisesión-Multimuestra como escenario intermedio utilizando muestras de distintas sesiones para intentar paliar la variabilidad del rasgo biométrico con el tiempo, como se explicó en el apartado 5.3. Para este primer objetivo de comparar sensores/dispositivos y procedimientos experimentales se va a utilizar el error medio de todos los usuarios disponibles y su visualización gráfica, para poder compararlo de manera tanto numérica como visual. El número total de usuarios disponibles en Monosesión-Monomuestra yMultisesión-Multimuestra son los mismos, 14, debido a las deficiencias de los datos de que disponemos y a que no todos los usuarios tienen todas las sesiones y dos muestras en cada sesión. En cambio, en Multisesión- Monomuestra se tienen 18 usuarios por utilizar como prueba auténtica la primera muestra de la segunda sesión, ya que la mayoría de los usuarios, no tienen dos muestras por sesión, pero sí dos sesiones con una muestra en cada una de ellas. El segundo objetivo, aprovechando que se tienen pocos usuarios, es hacer un estudio detallado de cada uno de ellos, intentando ver cuáles son mejores o peores y las razones que lo causan. Para 6.1. DOMINIO DEL TIEMPO 97 este estudio, se va a utilizar el módulo de los datos, por ser una buena alternativa al uso de las 3 componentes y haberse visto que funciona de manera muy parecida o mejor. Por último, como tercer objetivo, se va a estudiar si de verdad merece la pena utilizar ambos sensores de manera complementarias, y qué mejoras se podrían llegar a conseguir por este camino. En este caso, se va a trabajar con Multisesión-Multimuestra por ser el escenario más realista y apropiado. En este estudio, también se van a observar los resultados de la métrica (EER) para cada usuario, a modo de comparativa, para ver si los usuarios malos en un sensor mejoran con el otro. A continuación, se muestran los resultados para cada dominio por separado. 6.1. Dominio del tiempo El dominio del tiempo es el más ampliamente utilizado en la bibliografía, siendo también el dominio en el que se capturan los datos. En las tablas 6.2 y 6.3 se muestran las tasas de equierror medias, visualizadas gráficamente en las figuras 6.3 y 6.4. Lo más normal sería que en Monosesión-Monomuestra se obtuviera el mejor resultado (EER), bastante similar al procedimiento experimental Multisesión-Multimuestra, pero que los resultados empeorasen en Multisesión-Monomuestra. Esto ocurre en la componente X del acelerómetro en MICRO, la componente Y, Z y el módulo en el giroscopio de MICRO y el acelerómetro de MOTO y en la componente X, Z y el módulo del giroscopio de MOTO. Sin embargo, en otros casos no se cumple, como la componente X del giroscopio en MICRO donde Multisesión-Monomuestra funciona bien. La causa puede ser la variabilidad de los datos entre sesiones donde la sesión 2 podría ser bastante peor que la 1, que es la que se utiliza en Monosesión-Monomuestra, pero tampoco se tienen suficientes datos para extraer más conclusiones. Esto también se puede ver en los gráficos de las figuras 6.3 y 6.4, correspondientes al dispositivo de la pulsera Microsoft y al reloj Motorola respectivamente, donde se ve que la mayoría de las veces, como era de esperar, la línea verde (Multisesión Monomuestra) está por encima de las naranja y azul, pero no siempre. Por otro lado, se puede ver como los resultados son muy parecidos entre sensores y dispositivos. Si utilizamos únicamente el escenario de Multisesión-Multimuestra, la mejor tasa de equierror está en torno a los mismos valores, con diferencias no superiores al 2 % en valor absoluto (tabla 6.4). En la pulsera de Microsoft los mejores resultados se consiguen con el módulo y en el reloj Motorola con la componente X y la Y para el acelerómetro y el giroscopio, respectivamente, con diferencias de un 1 % e inferiores al 3 % con respecto a usar el módulo. Visto el rendimiento medio, pasamos al análisis detallado por individuo de la base de datos. De las tablas anteriores, podemos ver como no hay una componente que sea superior al resto tanto para acelerómetro como para giróscopo, siendo la opción que presenta, en general, mejores resultados el módulo. Por esta razón, este análisis lo vamos a realizar solo para ese caso, ya que si 98 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES Tabla 6.2: Resultados EER medio del Dominio del Tiempo (Dispositivo MICRO) Tabla 6.3: Resultados EER medio del Dominio del Tiempo (Dispositivo MOTO) (a) Acelerómetro (b) Giroscopio Figura 6.3: Resultados EER medio - Dominio del Tiempo (Dispositivo MICRO). Dominio del tiempo ACC GYR MICRO 0.1241 0.1026 MOTO 0.1142 0.124 Tabla 6.4: Resumen Mejores Resultados en Multisesión-Multimuestra - dominio del tiempo. 6.1. DOMINIO DEL TIEMPO 99 (a) Acelerómetro (b) Giroscopio Figura 6.4: Resultados EER medio - Dominio del Tiempo (Dispositivo MOTO). no la gran cantidad de resultados haría imposible extraer conclusiones. Los resultados se pueden ver en las tablas 6.5 y 6.6. Analizando cada usuario, del que se tiene información en todos los procedimientos experimentales, se puede concluir la siguiente categorización del acelerómetro de la pulsera Microsoft. Usuarios que empeoran al introducir los datos de las dos sesiones: 1, 9 Al contrario, usuarios que mejoran al introducir los datos de las dos sesiones: 8, 12 Usuarios con resultados razonablemente buenos (peor EER en MultiMono y mejor en MultiMulti): 2, 13, 14 Usuarios con resultados raros, ya que en MultiMono consiguen buena tasa de error, pero en MultiMulti y MonoMono no tan buena: 3, 11 Usuarios buenos en cualquier procedimiento experimental: 10, 18 Usuarios malos en cualquier procedimiento experimental: 15 Al cambiar de sensor en la pulsera de Microsoft, el usuario 2, 9 y 11 pasan a tener resultados razonablemente buenos en todos los procedimientos experimentales, al contario que el 10 y el 14 que pasan a tener resultados malos en todos los procedimientos experimentales. El usuario 18 también pasa a ser malo en todos los procedimientos experimentales, aunque mejora al introducir los datos de las dos sesiones (MultiMulti). Estas conclusiones pueden llevar a pensar lo que ya se sospechaba, que una combinación de ambos sensores podría ser apropiada. Al cambiar de dispositivo, al reloj Motorola, el estudio de los usuarios cambia. Para el acelerómetro se puede decir lo siguiente. 100 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES Usuarios que empeoran al introducir los datos de las dos sesiones: 2, 10, 18 Al contrario, usuarios que mejoran al introducir los datos de las dos sesiones: 11 Usuarios con resultados razonablemente buenos (peor EER en MultiMono, pero bueno en MultiMulti): 1, 12 Usuarios buenos en cualquier procedimiento experimental: 3, 8, 9, 14 Usuarios malos en cualquier procedimiento experimental: 13, 15 Al cambiar de sensor en el reloj de Motorola, el usuario 2 mejora aunque se sigue cumpliendo el hecho de que empeore al introducir los datos de las dos sesiones. El usuario 10 continúa siendo un usuario malo, no empeorando al introducir los datos de las 2 sesiones, mientras que el usuario 3, sí empeora al introducir los datos de las dos sesiones. El usuario 11 pasa a ser un usuario bueno en cualquier procedimiento experimental, mientras que el 13 que era un usuario malo, mejora en MultiMulti y los usuarios 8, 9, 12 y 14 pasan a ser usuarios malos en cualquier procedimiento experimental. Viéndose de nuevo, como una combinación de ambos sensores podría ser apropiada. La razón por la que la categorización de los usuarios es distinta en los 2 dispositivos se debe al comportamiento variable del ser humano, pudiéndose atribuir a muchos factores como la colocación de la pulsera/reloj, a que una de ellas les haya resultado más cómoda o simplemente que se la haya sujeto mejor o peor a la muñeca. No habiéndose encontrado ninguna explicación en la visualización de las series de tiempo ni en el análisis de las autocorrelaciones. Por último, y para hacer un estudio inicial del uso de ambos sensores, se va a utilizar el procedimiento experimental Multisesión-Multimuestra, como ya se ha explicado en la introducción de este capítulo. Los resultados del módulo se muestran en las tablas referenciadas como 6.7, en las cuales se han eliminado aquellos usuarios de los que no se tiene información en este procedimiento experimental. En la pulsera de Microsoft, aunque siguen existiendo usuarios con EER altos, se consiguen mejoras en muchos otros, como el 5, 8, 9, 10, 11, 12, 14 o 17, llegando a conseguir un resultado final bastante bueno de prácticamente el 6% de tasa de equierror, mucho mejor que lo que se tenía utilizando solamente uno de los dos sensores. Respecto al reloj de Motorola, ocurre lo mismo, consiguiendo un EER final usando ambos sensores del 7.6%. En ambas tablas, se puede ver, en la parte inferior, como en ambos casos prácticamente la mitad de las veces funciona mejor el acelerómetro y la otra mitad el giroscopio, mostrando como ambos sensores se pueden usar de manera complementaria. Los resultados de este mismo estudio en las componentes X, Y y Z se pueden ver en las tablas 6.8, 6.9 y 6.10, respectivamente. En todos los casos, la tasa de equierror media usando ambos sensores mejora con respecto a utilizar únicamente uno de los dos, resultando usuarios mejores tanto en el acelerómetro como en el giroscopio, indistintamente. Para verlo más rápido, si el EER del usuario se encuentra marcado con color azul claro es que funciona mejor el acelerómetro, mientras que si está marcado con azul más oscuro funciona mejor el giroscopio. Por otro lado, los 6.1. DOMINIO DEL TIEMPO 101 Tabla 6.5: Tabla completa del módulo en el Dominio del Tiempo (Dispositivo MICRO) Tabla 6.6: Tabla completa del módulo en el Dominio del Tiempo (Dispositivo MOTO) 102 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES (a) Pulsera Microsoft (b) Reloj Motorola Tabla 6.7: Combinación ACC/GYR del módulo en el Dominio del Tiempo. resultados en ambos dispositivos son muy similares, y aunque se tienen pocos usuarios y no se cumple que siempre sean buenos y malos los mismos, se complementan consiguiendo resultados del rendimiento final muy parecidos. En cada tabla se han marcado con negrita las tasas de equierror más altas, generalmente, superiores al 10 % y si se comparan los usuarios marcados, que serían los “malos”, se puede ver cómo van cambiando, no siguiendo ningún patrón concreto, pero sí tendiendo a repetirse los mismos usuarios dentro del mismo dispositivo. Se indican los usuarios malos en la tabla 6.11. Encontrándose aquí la mayor dificultad del problema que se está resolviendo, y en general de cualquier biometría, ya que está demostrado que el comportamiento humano es variable y puede verse afectado por muchos factores. Componente Usuarios con mayor EER MICRO Usuarios con mayor EER MOTO X1, 2, 3, 9, 11, 15 1, 8, 10, 15, 18 Y2, 3, 12, 14, 15 12, 13, 15, 18 Z1, 3, 8, 9, 12, 15, 17 8, 10, 12, 18 módulo 1, 15 10, 15, 18 Tabla 6.11: Resumen Usuarios EER alto Combinación ACC/GYR - dominio del tiempo. 6.1. DOMINIO DEL TIEMPO 103 (a) Pulsera Microsoft (b) Reloj Motorola Tabla 6.8: Combinación ACC/GYR de la componente X en el Dominio del Tiempo. (a) Pulsera Microsoft (b) Reloj Motorola Tabla 6.9: Combinación ACC/GYR de la componente Y en el Dominio del Tiempo. 104 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES (a) Pulsera Microsoft (b) Reloj Motorola Tabla 6.10: Combinación ACC/GYR de la componente Z en el Dominio del Tiempo. 6.2. Dominio de la frecuencia El dominio de la frecuencia es, hasta ahora, un entorno menos usado en esta biometría, pero no se ha encontrado ninguna base que diga que no se puede usar, ni nada que advierta sobre la existencia de inconvenientes para usarla. Respecto a necesidades de computo tampoco existen problemas. En el estudio prospectivo se utilizó y generaba peores resultados que el dominio del tiempo. No obstante, ahora se va a realizar un estudio más profundo, utilizando los diferentes sensores, dispositivos y escenarios experimentales. De la misma manera que antes, en las tablas 6.12 y 6.13 se muestran las tasas de equierror medias en cada procedimiento experimental, sensor y dominio, separado por dispositivos y en los gráficos de las figuras 6.5 y 6.6 la misma información de manera gráfica. El acelerómetro de la pulsera Microsoft tiene un comportamiento razonable en sus componentes X, Z y el módulo, consiguiendo los mejores resultados en los escenarios de Monosesión-Monomuestra yMultisesión- Multimuestra y los peores en Multisesión-Monomuestra, como cabía esperar, mientras que cuando ocurren cosas menos razonables, en que Multisesión-Monomuestra consigue el mejor resultado, en la componente Y, las diferencias de EER medio en los tres procedimientos experimentales son pequeñas. Estas conclusiones son las mismas que se extraen del giroscopio en ambos dispositivos, habiendo sólo un caso, que es la componente Z en el acelerómetro del reloj Motorola en que Multisesión-Multimuestra consigue el mejor resultado, bastante razonable, pero Monosesión- 6.2. DOMINIO DE LA FRECUENCIA 105 Monomuestra el peor con diferencias bastante grandes. Posiblemente las razones se encuentren en que los datos de la sesión 1, usada en Monosesión-Monomuestra sean bastante peores en esa componente, que los datos de la sesión 2. No obstante, se tienen pocos usuarios para extraer más conclusiones y conocer por qué ocurre esto. Respecto a los mejores resultados utilizando únicamente el escenario de Multisesión-Multimuestra, que pueden verse en la tabla 6.14, las tasas de equierror se encuentran en torno a los mismos valores dentro del mismo sensor, funcionando aparentemente mejor el acelerómetro que el giroscopio, con diferencias de hasta un 5%. En la pulsera de Microsoft los mejores resultados se consiguen con el módulo, igual que ocurría en el Dominio del Tiempo, mientras que en el reloj Motorola se consiguen en ambos casos con la componente X. Las diferencias del mismo sensor en distintos dispositivos son de un 2 % y 1% para el acelerómetro y el giroscopio, respectivamente. Tabla 6.12: Resultados EER medio del Dominio de la Frecuencia (Dispositivo MICRO) Tabla 6.13: Resultados EER medio del Dominio de la Frecuencia (Dispositivo MOTO) Dominio de la Frecuencia ACC GYR MICRO 0.1175 0.1681 MOTO 0.1375 0.1531 Tabla 6.14: Resumen Mejores Resultados en Multisesión-Multimuestra - dominio de la frecuencia. 112 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES 6.3. Comparación entre dominios En el estudio detallado de cada uno de los dominios, por separado, se ha podido ver como la combinación de sensores beneficiaba en todos los casos, consiguiendo mejores resultados. Las tablas 6.22 y 6.23 muestran las tasas de equierror medias en el escenario estudiado de Multisesión- Multimuestra para ambos sensores y su combinación, viéndose de manera conjunta en ambos dominios, para poder estudiar las diferencias que existen entre los dominios, una vez conseguidas las mejoras. Cada fila representa cada una de las componentes estudiadas: X, Y, Z y módulo. En la pulsera Microsoft, el módulo es lo que mejor funciona en ambos dominios, consiguiendo resultados bastante buenos en cada uno de los sensores, pero aún mejores tras su combinación, llegando a un valor medio de 6.04 % en el Dominio del Tiempo y 8.87% en el Dominio de la Frecuencia. En el reloj Motorola, en el Dominio del Tiempo funcionan bien tanto las componentes individuales como el módulo con resultados bastante similares pero consiguiendo su mejor EER medio en el módulo, de un 7.61 % tras la combinación de ambos sensores. En cambio, en el Dominio de la Frecuencia, los mejores resultados se consiguen con la componente X, tanto de los sensores individuales como tras la combinación, consiguiendo un EER medio de 0.1056 %, mientras que utilizar lo mismo con el módulo implica empeorar la tasa de equierror media en algo menos que un 2%. Por otro lado, se puede ver que en ambos dispositivos funciona mejor el Dominio del Tiempo, con diferencias inferiores al 3% con el Dominio de la Frecuencia. También se puede decir que funciona mejor la pulsera de Microsoft, con diferencias inferiores al 2 %. No obstante, el estudio se ha hecho con pocos usuarios y sería apropiado repetirlo para un Base de Datos más grande para obtener conclusiones más fiables. Componente MICRO ACC DT GYR DT ACC+GYR DT ACC DF GYR DF ACC+GYR DF X0.1347 0.1483 0.0847 0.1211 0.1791 0.0922 Y0.1804 0.1299 0.0959 0.2018 0.179 0.1356 Z0.129 0.171 0.1198 0.1475 0.2413 0.1234 módulo 0.1241 0.1026 0.0604 0.1175 0.1681 0.0887 Tabla 6.22: Resumen de la combinación de sensores en el dispositivo MICRO. Componente MOTO ACC DT GYR DT ACC+GYR DT ACC DF GYR DF ACC+GYR DF X0.1142 0.1801 0.0773 0.1375 0.1531 0.1056 Y0.1335 0.124 0.0813 0.1699 0.1789 0.1236 Z0.1336 0.1307 0.0805 0.1552 0.2146 0.1226 módulo 0.1217 0.1508 0.0761 0.1549 0.1857 0.1233 Tabla 6.23: Resumen de la combinación de sensores en el dispositivo MOTO. 6.3. COMPARACIÓN ENTRE DOMINIOS 113 En las tablas 6.11 y 6.21 se indicaban aquellos usuarios con EER alto. Se desconocen las razones por las que los usuarios malos cambian entre sensores y dispositivos, pero sí se puede apreciar una tendencia en la que los usuarios 3 y 9 se repiten dentro de la pulsera Microsoft, los usuarios 10 y 18 en el reloj Motorola, mientras que los usuarios 8 y 15 son aparentemente malos en ambos dispositivos. Lo que si es cierto y ocurre en todas las biometrías es que los sistemas fallan porque el comportamiento humano es variable. En el caso de la huella dactilar, si no sitúas bien el dedo o no hay suficiente luz en la habitación, el sistema podría no reconocerte, aquí, si no te colocas bien la pulsera, tienes prisa o estas más cansado de lo habitual, el sistema podría confundirte con otro usuario y, en consecuencia, no reconocerte consiguiendo un EER alto. Este problema es bien conocido en biometría desde 1998, cuando se publicó el primer artículo [73] que describía lo que actualmente se conoce como “animalario”. En él, categoriza a los seres humanos en 4 categorías. Ovejas: aquellos usuarios buenos, fáciles de reconocer. Cabras: usuarios difíciles de reconocer. Corderos: usuarios fáciles de imitar, siendo muy probable que una persona elegida al azar sea aceptada como cordero. Lobos: personas particularmente exitosas en imitar a otras personas, siendo muy probable que su patrón sea aceptado como el de otra persona. Tanto las cabras como los corderos y los lobos afectan negativamente al rendimiento de los sistemas, y es que lo más probable es que la población de usuarios exhiba características continuas de estos 3 animales. El documento realiza pruebas estadísticas para la existencia de estos animales y lo aplica a la evaluación del reconocimiento de la forma de hablar. No obstante, existen numerosos artículos que muestran el mismo comportamiento en otras biometrías. 114 CAPÍTULO 6. EXPERIMENTOS: RESULTADOS FINALES Capítulo 7 Adquisición de nuevos datos La disponibilidad de únicamente 20 usuarios había planteado la posibilidad de recoger nuevos y más datos, pero en un principio se había descartado y decidido aprovechar la potencia de tener pocos usuarios para hacer un análisis más detallado de cada uno de ellos, que con muchos no habría sido abarcable. El problema de que para 8 usuarios se tuvieran dos muestras de datos; mientras que para 11 usuarios se tenían cuatro y para 1 se tenían tres, por la necesidad de eliminar una toma de datos del usuario 13, ha hecho que en la forma experimental de Monosesión-Monomuestra, cuando se trabaja únicamente con la sesión 1 de los datos pero con la necesidad de que todos los usuarios utilizados tengan datos en la muestra 1 y en la muestra 2 de la sesión 1, se disponga de 14 usuarios que son bastantes pocos. Además, la ausencia de información sobre cómo fueron tomados los datos y si de verdad los usuarios estaban andando normal o si hubo algunas alteraciones, que pudieran explicar por qué unos usuarios eran mejores que otros, ha llevado en la iteración 7 a poner en marcha la aplicación Android que permite recoger datos, a pesar de la previsión de tiempo que eso suponía y la posibilidad de tener que abandonarlo sin éxito. 7.1. Puesta en marcha de los dispositivos y la APK Lo primero de todo, fue comprobar que los dos dispositivos a los que se tenía acceso seguían funcionando. Estos dispositivos son: 1. Pulsera Microsoft Band 2. 2. Reloj Motorola Moto 360 SPORT. Tras cargarlos y verificarlo, se vinculó ambos dispositivos al teléfono móvil con el que se trabajaría: LG Q6 con versión Android 8.1.0. Al encender el reloj se realizaron una serie de actualizaciones que lo llevaron a la versión de Android 7.1.1. 115 116 CAPÍTULO 7. ADQUISICIÓN DE NUEVOS DATOS Para vincular los dispositivos, puesto que el teléfono de destino era diferente al que se utilizó la última vez que se recogieron datos, era necesario restaurarlos a los valores de fábrica siguiendo los siguientes pasos: 1. En la pulsa de Microsoft: Ajustes/Símbolo de apagar/Restab. de fábrica/Restablecer disp. 2. En el reloj Motorola: Ajustes/Sistema/Desconectar y reestablecer. Para ello, también es necesario instalar en el teléfono móvil las aplicaciones: Microsoft Band y Wear OS, disponibles en la Play Store. Activar el Bluetooth en los 3 dispositivos y seguir los pasos de las propias aplicaciones de cada dispositivo para vincularlos. Después, la primera opción fue instalar en el teléfono móvil el archivo WearableSensors.apk que se tenía del anterior TFG [4], lo que llevo a que la pulsera de Microsoft sí que funcionase, recogiendo los datos correctamente al ponerlo en marcha pero el reloj Motorola, el cuál dependía de Android, no. Por tanto, se instaló Android Studio en el ordenador y se recuperaron los archivos fuentes con los que se había programado la aplicación. Todo el rato se va a trabajar con un ordenador con Windows 10. Se empezó abriendo el archivo build.gradle, que se encontraba dentro de la carpeta principal de los archivos fuente de la aplicación, en Android Studio. Una vez abierto, el proyecto está cargado y se tienen que tener las carpetas mobile y wear junto con los archivos gradle (Gradle Scripts) que forman el proyecto tal y como se ve a la izquierda de la figura 7.1. Figura 7.1: Visión Android Studio. 7.1. PUESTA EN MARCHA DE LOS DISPOSITIVOS Y LA APK 117 Evidentemente después de varios años, había muchos errores. Una manera de quitarlos y la que se ha seguido para conseguir que las cosas funcionasen consta de los siguientes pasos1: Abrir los archivos build.gradle. Se tienen 3: uno perteneciente al proyecto (Project: Wearable- Sensors) y otros dos pertenecientes a cada uno de los módulos: (Module: mobile) y (Module: wear). Modificar en ellos cada una de las cosas que aparezcan subrayadas en rojo. Cada vez que hay algo rojo, se sitúa una bombilla roja al lado de la línea de código, proporcionando algunas de las opciones posibles para solucionar el problema. Empezar con los parámetros compileSdkVersion ytargetSdkVersion (si aparecen en rojo). En este caso, te aconseja la versión que debes usar. Para este proyecto se ha utilizado la versión 28, mientras que en el anterior TFG [4] se usaba la 23. Después, intentar corregir cada línea en rojo de estos archivos con ayuda de la bombilla o buscando el error en Internet. Ir abriendo cada una de las clases del módulo Mobile dentro de la carpeta java e ir solucionando los diferentes errores subrayados en rojo de la misma manera que antes: con ayuda de la bombilla roja que proporciona Android Studio o buscando en Internet. Para saber si una clase tiene más errores, hay que mirar la parte superior derecha de la barra de desplazamiento de la clase, donde se puede ver, por ejemplo, un cuadrado amarillo como ocurre en la figura 7.1. Pueden aparecer las siguientes cosas: •Tic verde: no hay más errores. •Cuadrado amarillo: no hay más errores. Existen warnings. •Exclamación en un círculo rojo: sigue habiendo errores. Ir abriendo cada una de las clases del módulo Wear dentro de la carpeta java y actúar de la misma manera que en el paso anterior. La mayoría de los errores de las clases serán debidos a cosas que han desaparecido en la versión de Android que estás utilizando y que en las anteriores sí existía. En algunos casos, se solucionará con una frase similar a: @RequiresApi(api = api_correspondiente) que te proporcionará la bombilla roja de ayuda en Android Studio. Solucionados los errores, se ha construido el proyecto de la siguiente manera: Build>Clean Project Build>Make Project Una vez construido con éxito y conseguido los mensajes: Gradle sync started yGradle sync finished in 1 min 4 s que se pueden ver en la opción TODO que se muestra en la parte inferior de la figura 7.1, hay que hacer lo siguiente: 1Puede que estos pasos no sean los mejores. Los conocimientos de Android de la persona encargada eran limitados, ya que era la primera vez que veía un proyecto de este estilo. Un experto en estas tecnologías probablemente actuase de una manera diferente y mejor. 118 CAPÍTULO 7. ADQUISICIÓN DE NUEVOS DATOS Conectar el teléfono móvil al ordenador utilizando la opción de conexión USB “Cargando” como se muestra en la figura 7.2. En el teléfono móvil ir a Ajustes/Sistema, permitir las opciones de desarrollador presionando 7 veces el número de compilación en la información del Software [74]. En el teléfono móvil ir a las opciones de desarrollador, activar la opción “Depuración USB”. Figura 7.2: Opción USB conexión teléfono móvil-PC. Ahora mismo, si en Android Studio ejecutamos el proyecto de la opción Run>Run, veremos nuestro teléfono móvil vinculado. No obstante, el reloj Motorola requiere tener instalada la aplicación Android y para ello, hay que seguir los siguientes pasos: En la aplicación Wear OS, en los “Ajustes avanzados”, activar la opción: “Depuración por Bluetooth”. Aparecerá algo como lo de la figura 7.3 (a). Aunque el destino está conectado, el host está desconectado y es necesario que se conecte. Para ello hay que buscar el archivo “adb.exe” de Android. En mi caso se encontraba en la ruta: C:/Users/Irene Salvador/AppData/Local/Android/Sdk/platform-tools. De no existir, sería necesario instalarlo [75]. Una vez situado en esa carpeta, abrir la consola de Windows y ejecutar lo siguiente [76,77]: •adb.exe •adb forward tcp:4444 localabstract:/adb-hub •adb connect localhost:4444 Tras ejecutar las ordenes en la consola, el host aparecerá como conectado, como en la figura 7.3 (b). 7.1. PUESTA EN MARCHA DE LOS DISPOSITIVOS Y LA APK 119 (a) ANTES (b) DESPUÉS Figura 7.3: Depuración por Bluetooth Móvil-Reloj. Ahora sí, en Android Studio aparecerá tanto el teléfono móvil como el reloj Motorola. Ejecutar la opción “WearActivity” en el reloj haciendo Run>Run>WearActivity>Motorola Moto 360 y la opción “mobile” en el teléfono móvil haciendo: Run>Run>mobile>LGE LG-M700. Al ejecutarlo en el reloj se construirá la aplicación a la que se puede acceder desde Ajustes/Aplicaciones/WearableSensors. En el móvil también se creará, abriéndose directamente, como puede verse en la figura 7.4. Ahora sólo hay que elegir la opción en la aplicación del teléfono móvil: Microsoft Band o androidwear, introducir los datos: usuario, sesión, tarea y muestra, presionar el botón “ACEPTAR”, después “EMPEZAR” y comenzarán a recogerse datos como puede verse en la figura 7.5 a y b. Para recoger datos, no es necesario tener el móvil conectado al ordenador, ni las opciones de depuración activadas. Ya está instalada la aplicación y una vez funciona, no es necesario utilizar Android Studio para nada más. Al final, por falta de tiempo, y a pesar del invertido en poner en marcha la aplicación, no se han realizado nuevas capturas de datos, ya que implicaba encontrar a las suficientes personas y reunirlos 2 días diferentes. Se va a dejar como trabajo futuro, que no será complicado, ya que está en marcha tanto la aplicación Android como los credenciales necesarios para acceder a la Base de Datos. 120 CAPÍTULO 7. ADQUISICIÓN DE NUEVOS DATOS Figura 7.4: Menú aplicación WearableSensors desde el teléfono móvil. (a) ANTES (b) DESPUÉS Figura 7.5: Aplicación recogiendo datos Capítulo 8 Conclusiones y trabajo futuro 8.1. Conclusiones El trabajo expuesto permite concluir que se han cumplido todos los objetivos inicialmente planteados. Se ha realizado un análisis visual de la señal original, el cual ha permitido observar anomalías y corregirlas, optando por su eliminación manual. Con la señal limpia, se han aprovechado los análisis realizados en [5], para extraer el sistema de reconocimiento final construido con las opciones de preprocesamiento y el análisis de los parámetros, que conseguía optimizar y reducir el problema, permitiendo la realización de una aproximación inicial. Se ha probado en ambos sensores, acelerómetro y giroscopio, evaluando sus diferencias y demostrando ser similares y cómo una combinación de ambos podría generar mejores resultados. También se han contrastado los resultados con respecto al tipo de ponible usado evaluándolo en los diferentes escenarios creados en el diseño experimental (Monosesión-Monomuestra, Multisesión-Monomuestra, Multisesión-Multimuestra). Las diferencias, considerando el entorno experimental más realista, Multisesión-Multimuestra y el módulo de los datos, no han superado el 2 % en ninguno de los dos dominios y sensores. Esto muestra la posible independencia del sistema de reconocimiento con respecto al dispositivo. Se puede concluir que los resultados obtenidos son prometedores y muestran que el uso de dispositivos ponibles puede ser una alternativa muy interesante, aunque con muchas cuestiones todavía abiertas. Para poder abordar este estudio es imprescindible tener una base de datos más completa. Aunque no ha dado tiempo a ello, sí que se ha preparado el entorno de adquisición, dejándose en funcionamiento para poder realizar esa nueva adquisición de datos y continuar con el trabajo. En cuanto a las conclusiones personales, este trabajo me ha permitido poner en práctica parte de los conocimientos adquiridos en diversas asignaturas a lo largo de mis estudios, aprender 121 128 ÍNDICE ALFABÉTICO Anexos 129 Apéndice A Contenido del CD / memoria.pdf....................................Memoria del Trabajo de Fin de Grado en Ingeniería Informática . Programas construyeTablasCaracteristicas.R.........Script utilizado para construir las tablas de características. RendimientoFinal_KNN_tamanoFijo.R........Script que construye las tablas completas del rendimiento final considerando un tamaño fijo de ventana. RendimientoFinal_KNN_secuenciado.R.......Script que construye las tablas completas del rendimiento final considerando un rango de tamaños de ventana. Imágenes ....................................... Carpeta con todas las imágenes utilizadas en este documento. Por cada capítulo, se tiene una carpeta con su nombre y las imágenes correspondientes. 131 132 APÉNDICE A. CONTENIDO DEL CD Bibliografía [1] Alimarket Alimentación, 28 de enero de 2019, “Minsait lanza una solución para la compra online de frescos”, https://www.alimarket.es/alimentacion/noticia/292022/minsait-lanza-una- solucion-para-la-compra-online-de-frescos [2] Donweb agencia dde prensa, 2014, “Los 14 usos de drones que seguro no conocías”, http://agencia.donweb.com/los-14-usos-de-drones-que-seguro-no-conocias/ [3] J. M. Galán, TFG de la Escuela de Ingeniería Informática de la Universidad de Valladolid curso 2015/2016, “Wearables: Análisis de dispositivos y recogida de datos en Android para estudios biométricos” [4] Daniel González Alonso, TFG de la Escuela de Ingeniería Informática de la Universidad de Valladolid curso 2016/2017, “Estudio preliminar del uso de Wearables en reconocimiento biométrico de personas” [5] Irene Salvador Ortega, 26 de junio de 2019, “Extracción de características y clasificación para la implementación de un sistema de reconocimiento biométrico mediante dispositivos ponibles (wearables)” [6] Jorge Blasco, septiembre de 2016, “A Survey of Wearable Biometric Recognition Systems” [7] Anil K. Jain, 2004, “Multibiometric systems. Communications”, ACM [8] Roman V. Yampolskiy, 2010, “Taxonomy of behavioral biometrics”, Behavioral Biometrics for Human Identification [9] Salil Prabhakar, 2003, “Biometric recognition: Security and privacy concerns”, IEEE Security & Privacy [10] European Commission’s High-Level Expert Group on Artificial Intelligence, 18 de diciembre de 2018, “Draft Ethics guidelines for trustworthy AI”, https://ec.europa.eu/digital-single- market/en/news/draft-ethics-guidelines-trustworthy-ai [11] Ten Kettles Inc., 2014-2019, página oficial, http://www.tenkettles.com/ 133 134 BIBLIOGRAFÍA [12] Alex Andrews, 2 de junio de 2017, “Scrum Of One: How to Bring Scrum into your One- Person Operation”, https://www.raywenderlich.com/585-scrum-of-one-how-to-bring-scrum- into-your-one-person-operation [13] HMD Project Managers, 22 de agosto de 2017, “Cuales son los Principios básicos de SCRUM”, https://uv-mdap.com/blog/principios-basicos-de-scrum-metodologias-agiles/ [14] Adri Salazar, 2 de octubre de 2016, “Principios de Scrum”, http://www.prozessgroup.com/principios-de-scrum/ [15] Pablo de la Fuente Redondo, diapositivas para el curso 2018/2019, asignatura Planificación y Diseño de Sistemas Computacionales, Universidad de Valladolid [16] Project Management Institute, 2008, “A guide to the project management body of knowledge (PMBOK Guide)”, Ed. Newton Sqare. Enlace web: https://www.pmi.org/pmbok-guide- standards/foundational/pmbok [17] Sergio, 2019, “Plantillas calendario en Excel 2019”, https://ayudaexcel.com/plantillascalendario-en-excel-2019/ [18] Daniel González Alonso, última visualización el 30 de enero de 2019, “visualizacion-wearables”, https://github.com/Zalez95/visualizacion-wearables/ [19] (s.a), extraído el 20 de febrero de 2019, “dygraphs for R”, https://rstudio.github.io/dygraphs/ (https://github.com/rstudio/dygraphs/issues/29) [20] LifeSizeCloud, plataforma de videoconferencias, último acceso el 20 de junio de 2019, https://call.lifesizecloud.com/ [21] WeTransfer, almacenamiento de documentos, último acceso el 20 de junio de 2019, https://wetransfer.com/ [22] PhotoJoiner, edición de imágenes, último acceso el 20 de junio de 2019, https://old.photojoiner.net/ [23] Fotor, edición de imágenes, último acceso el 20 de junio de 2019, https://www.fotor.com/ [24] Rstudio, entorno de desarrollo, último acceso el 20 de junio de 2019, https://www.rstudio.com/ [25] Anaconda, entorno de desarrollo, último acceso el 20 de junio de 2019, https://www.anaconda.com/distribution/ [26] PandasPython, biblioteca de Python, último acceso el 20 de junio de 2019, https://www.learnpython.org/es/Pandas %20Basics BIBLIOGRAFÍA 135 [27] SklearnPython, biblioteca de Python, último acceso el 20 de junio de 2019, https://scikitlearn.org/stable/ [28] Matplotlib, biblioteca de Python, último acceso el 20 de junio de 2019, https://matplotlib.org/ [29] Joe Belfiore, 2015, “Making Windows 10 More Personal and More Secure with Windows Helloy”, https://blogs.windows.com/windowsexperience/2015/03/17/making-windows- 10-more-personal-and-more-secure-with-windows-hello/ [30] Toshiyo Tamura, 2014, “Wearable photoplethysmographic sensors—Past and present”, Electronics. [31] Davide Maltoni, 2009, “Handbook of Fingerprint Recognition”, Springer. [32] Lucas Introna and Helen Nissenbaum, 2010, “Facial recognition technology a survey of policy and implementation issues. Technical Report”, The Department of Organisation, Work and Technology, Lancaster University. [33] Pallavi Meharia and Dharma P. Agrawal, 2015, “Unobtrusive gait verification for mobile phones”, Journal of Information Privacy & Security [34] Hong Lu, 2014, “Unobtrusive gait verification for mobile phones”, ACM [35] Mohammad Derawi, 2015, “Wireless chest-based ECG biometrics”, Springer [36] Hindra Kurniawan, 2013, “Stress detection from speech and galvanic skin response signals”, IEEE 26th International Symposium on Computer-Based Medical Systems [37] Adam S. Venable, 2013, “Gender differences in skin and core body temperature during exercise in a hot, humid environment”, Internal Journal of Exercise Science: Conference Proceedings, Vol. 2. 9. [38] Kenneth Revett, 2008, “Behavioral Biometrics: A Remote Access Approach” [39] Hoang Minh Thang, 2012, “Gait Identification Using Accelerometer on Mobile Phone” [40] Mohammad Omar Derawi, 2010, “Accelerometer-Based Gait Analysis, A survey” [41] Oresti Banos, 9 de abril de 2014, “Window Size Impact in Human Activity Recognition” [42] Guannan Wu, 10 de junio de 2018, “A Continuous Identity Authentication Scheme Based on Physiological and Behavioral Characteristics” [43] Akram Bayat, 2017, “Classifying Human Walking Patterns using Accelerometer Data from Smartphone” [44] Liu Yiyan, noviembre de 2016, “An Hidden Markov Model based Complex Walking Pattern Recognition Algorithm” 136 BIBLIOGRAFÍA [45] Weitao Xu, 2017, “Gait-Watch: A Context-aware Authentication System for Smart Watch Based on Gait Recognition” [46] Samer K Al Kork, 2017, “Biometric Database for Human Gait Recognition using Wearable Sensors and a Smartphone” [47] Sherif Said, 26 de julio de 2018, “Experimental Investigation of Human Gait Recognition Database using Wearable Sensors” [48] Davrondzhon Gafurov and Einar Snekkenes, 26 de abril de 2009, “Gait Recognition Using Wearable Motion Recording Sensors” [49] Thomas Bernecker, (s.f), “Activity Recognition on 3D Accelerometer Data (Technical Report)” [50] Fan Yang, 2017, “Real-Time Human Activity Classification by Accelerometer Embedded Wearable Devices” [51] Liu Rong, 2017, “A Wearable Acceleration Sensor System for Gait Recognition” [52] Davrondzhon Gafurov, noviembre de 2006, “Biometric Gait Authentication Using Accelerometer Sensor” [53] Bing Sun, 2014, “Gait Characteristic Analysis and Identification Based on the iPhone’s Accelerometer and Gyrometer” [54] Miikka Ermes, 2006, “Detection of Daily Activities and Sports With Wearable Sensors in Controlled and Uncontrolled Conditions” [55] Chiung Ching Ho, 2010, “An Unobtrusive Android Person Verification Using Accelerometer Based Gait I” [56] Martin Reese Hestbek, 13 de abril de 2012, “Biometric Gait Recognition For Mobile Devices Using Wavelet Transform And Support Vector Machines”, 19th International Conference on Systems, Signals and Image Processing [57] Michael Fitzgerald Nowlan, 2009, “Human Identification via Gait Recognition Using Accelerometer Gyro Forces” [58] Heikki Ailisto, 2005, “Identifying people from gait pattern with accelerometers” [59] Pierluigi Casale, 2012, “Personalization and user verification in wearable systems using biometric walking patterns”, Personal and Ubiquitous Computing. [60] Ghina Dandachi, 2013, “A novel identification/verification model using smartphone’s sensors and user behavior”, 2nd International Conference on Advances in Biomedical Engineering BIBLIOGRAFÍA 137 [61] Chiung Ching Ho, 2012, “An unobtrusive Android person verification using accelerometer based gait II”, 10th International Conference on Advances in Mobile Computing & Multimedia [62] RashaWahid, 2012, “A Gaussian mixture models approach to human heart signal verification using different feature extraction algorithms”, Computer Applications for Bio-technology, Multimedia, and Ubiquitous City [63] Zhidong Zhao and Qinqin Shen, 2011, “A human identification system based on heart sounds and Gaussian mixture models”, 4th International Conference on Biomedical Engineering and Informatics [64] Zoubin Ghahramani, 2001, “An introduction to hidden Markov models and Bayesian networks”, International Journal of Pattern Recognition and Artificial Intelligence [65] J. Ross Quinlan, 2014, “C4.5: Programs for Machine Learning”, Elsevier [66] Daisuke Sugimori, 2011, “A study about identification of pedestrian by using 3-axis accelerometer”. [67] Claudia Nickel, 2012, “Authentication of smartphone users based on the way they walk using k-NN algorithm”, 8th International Conference on Intelligent Information Hiding and Multimedia Signal Processing [68] Claudia Nickel, 2011, “Using hidden Markov models for accelerometer-based biometric gait recognition”, IEEE 7th International Colloquium on Signal Processing and Its Applications [69] Alexander J. Casson, 6 de diciembre de 2016, “Gyroscope vs. accelerometer measurements of motion from wrist PPG during physical exercise” [70] Wikipedia, última edición el 20 de febrero de 2019, “Curtosis”, https://es.wikipedia.org/wiki/Curtosis [71] Wikipedia, última edición el 24 de mayo de 2018, “Asimetría estadística”, https://es.wikipedia.org/wiki/Asimetr %C3 %ADa_estad %C3 %ADstica [72] João Neto, marzo de 2013, “Fourier Transform: A R Tutorial”, http://www.di.fc.ul.pt/ jpn/- r/fourier/fourier.html [73] George Doddington, 1998, “SHEEP, GOATS, LAMBS and WOLVES. A Statistical Analysis of Speaker Performance in the NIST 1998 Speaker Recognition Evaluation” [74] Android Studio Developers, último acceso el 20 de junio de 2019, “Configurar opciones para programadores en el dispositivo”, https://developer.android.com/studio/debug/devoptions?hl=es-419 [75] shimp208, 2 de septiembre de 2018, “[TOOL]Minimal ADB and Fastboot”, https://forum.xdadevelopers.com/showthread.php?t=2317790