• No se han encontrado resultados

Sistema automatizado de detección de anomalías en la forma de caminar

N/A
N/A
Protected

Academic year: 2020

Share "Sistema automatizado de detección de anomalías en la forma de caminar"

Copied!
77
0
0

Texto completo

(1)UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDUSTRIAL Grado en Ingenierı́a Electrónica y Automática Industrial TRABAJO FIN DE GRADO. Sistema automatizado de detección de anomalı́as en la forma de caminar Paula Álvarez Gutiérrez Cotutor (si lo hay): Miguel Hernando Gutiérrez Departamento: Ingenierı́a Eléctrica, Electrónica Automática y Fı́sica Aplicada. Tutor: Alberto Brunete González Departamento: Ingenierı́a Eléctrica, Electrónica Automática y Fı́sica Aplicada. Madrid, Septiembre, 2017.

(2) ii.

(3) UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDUSTRIAL Grado en Ingenierı́a Electrónica y Automática Industrial TRABAJO FIN DE GRADO. Sistema automatizado de detección de anomalı́as en la forma de caminar. Paula Álvarez Gutiérrez Miguel Hernando Gutiérrez. Alberto Brunete González.

(4) iv.

(5) v Copyright c 2017. Paula Álvarez Gutiérrez Esta obra está licenciada bajo la licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported (CC BY-NC-ND 3.0). Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/deed.es o envı́e una carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, EE.UU. Todas las opiniones aquı́ expresadas son del autor, y no reflejan necesariamente las opiniones de la Universidad Politécnica de Madrid..

(6) vi.

(7) vii. Tı́tulo: Sistema automatizado de detección de anomalı́as en la forma de caminar Autor: Paula Álvarez Gutiérrez Tutor: Alberto Brunete González Cotutor: Miguel Hernando Gutiérrez. EL TRIBUNAL Presidente: Vocal: Secretario:. Realizado el acto de defensa y lectura del Trabajo Fin de Grado el dı́a ....... de .................... de ... en .........., en la Escuela Técnica Superior de Ingenierı́a y Diseño Industrial de la Universidad Politécnica de Madrid, acuerda otorgarle la CALIFICACIÓN de:. VOCAL. SECRETARIO. PRESIDENTE.

(8) viii.

(9) Agradecimientos A mi familia, en especial a mis padres y a mi hermana, por estar siempre ahı́. A mis amigos y al resto de compañeros de clase, por hacer de estos cinco años la gran experiencia que han sido. A mis compañeros de laboratorio, por prestarse siempre gustosamente a ayudarme y hacer de conejillos de indias en las pruebas. Por supuesto también agradecer a mi tutor y mi cotutor, Alberto y Miguel, la ayuda recibida durante este tiempo y el haberme dado la oportunidad de realizar este proyecto. Y por último, a todos aquellos con los que me he cruzado en la vida, para bien o para mal, porque si no nos hubiéramos cruzado quizá no estarı́a escribiendo estas lı́neas.. ix.

(10) x. AGRADECIMIENTOS.

(11) Resumen Este proyecto tiene como misión dotar a la comunidad médica de un sistema de análisis de la marcha más sencillo y accesible que los que se usan actualmente, siendo además fiable y preciso. Para recoger los datos de la marcha se ha usado el dispositivo Kinect para Xbox One por sus prestaciones, mejoradas con respecto a su versión anterior. Se han estudiado distintos montajes para realizar las pruebas, con el sensor estático y en movimiento, para determinar su viabilidad y poder ofrecer distintas propuestas en función del espacio y de los recursos de los que se disponga. Para ello se han usado un carrito auxiliar, un robot móvil y una cinta de andar. En cuanto a la interfaz, se ha diseñado de forma sencilla, con una única ventana a través de la que se puede controlar el estado de la prueba de un vistazo. Una vez finalizada la prueba, un informe recoge todos los datos adquiridos para analizarlos en profundidad. Para crear la aplicación se ha usado el entorno de desarrollo Visual Studio 2015 y C# como lenguaje. Palabras clave:. Kinect, marcha, C#.. xi.

(12) xii. RESUMEN.

(13) Abstract This project has as mission giving the medical community a simpler and more accessible gait analysis system than the ones that are used nowadays, being also reliable and accurate. We used the Kinect for Xbox One device to collect gait data because of its performances, improved with regard to its previous version. Different mountings have been studied to make the tests, with the sensor static and in movement, to determine its viability and to offer different proffers depending on the available space and resources. For that we used an auxiliary cart, a mobile robot and a treadmill. As for the interface, it has been designed in a simple way, with an only window through which it is possible to control the state of the test at one glance. Once the test is over, a report gathers all the acquired data to analyze it in depth. To create the application it has been used the developing environment Visual Studio 2015 and C# as language. Keywords:. Kinect, gait, C#.. xiii.

(14) xiv. ABSTRACT.

(15) Índice general Agradecimientos. IX. Resumen. XI. Abstract. XIII. Índice. XVI. 1. Introducción 1.1. Motivación del proyecto . 1.2. Objetivos . . . . . . . . . 1.3. Materiales utilizados . . . 1.4. Marco teórico . . . . . . . 1.4.1. Marcha normal . . 1.4.2. Marcha patológica 1.5. Estructura del documento. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 1 1 1 2 2 2 4 4. 2. Estado del arte 2.1. Dispositivos similares a Kinect 2.1.1. Intel RealSense . . . . 2.1.2. Xtion . . . . . . . . . 2.1.3. CamBoard pico . . . . 2.1.4. Structure Sensor . . . 2.2. Proyectos con Kinect . . . . . 2.2.1. Rehabilitación . . . . . 2.2.2. Educación . . . . . . . 2.2.3. Uso en comercios . . . 2.2.4. Interfaces sin contacto 2.3. Análisis de la marcha . . . . . 2.4. E-Motion . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 7 7 7 7 8 8 8 8 9 10 10 11 11. 3. Diseño del sistema 3.1. Componentes del sistema 3.1.1. Kinect . . . . . . 3.1.2. Plataformas . . . 3.2. Entorno de trabajo . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 13 13 13 16 17. . . . .. . . . .. . . . .. xv.

(16) ÍNDICE GENERAL. xvi. 4. Diseño e implementación 4.1. Diseño . . . . . . . . . . . . . 4.2. Implementación . . . . . . . . 4.2.1. Entornos de desarrollo 4.2.2. Librerı́as . . . . . . . . 4.2.3. Conteo de pasos . . . . 5. Resultados y discusión 5.1. Resultados . . . . . . 5.1.1. Vista lateral . 5.1.2. Ventanas . . . 5.1.3. Cinta . . . . . 5.1.4. Pasos . . . . . 5.2. Discusión . . . . . . 5.2.1. Vista lateral . 5.2.2. Ventanas . . . 5.2.3. Cinta . . . . . 5.2.4. Pasos . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . .. 19 19 22 23 24 24. . . . . . . . . . .. 37 37 37 38 44 47 47 47 47 48 48. 6. Gestión del proyecto 49 6.1. Planificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.1. Evolución del planteamiento . . . . . . . . . . . . . . . . . . . 49 6.2. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7. Conclusiones 51 7.1. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.2. Desarrollos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 A. Anexo A. 53. Bibliografı́a. 57.

(17) Índice de figuras 1.1. Ciclo de la marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6.. Intel RealSense . . . . . . . . . . . . . . . . . . . . . . . . . . Structure Sensor . . . . . . . . . . . . . . . . . . . . . . . . . Médico y paciente usando VirtualRehab . . . . . . . . . . . . Imágenes del funcionamiento de Shopperception . . . . . . . . Cirujano utilizando el sistema GestSure durante una operación Distintas formas de estudio de la marcha . . . . . . . . . . . .. . . . . . .. . . . . . .. . . . . . .. . 8 . 9 . 9 . 10 . 11 . 12. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6.. Kinect para Xbox One . . . . . . . . . Componentes de Kinect . . . . . . . . Sistema de coordenadas de Kinect . . . Robot Marvin . . . . . . . . . . . . . . Cinta de andar . . . . . . . . . . . . . Montaje del sistema completo con cinta. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 14 15 15 16 17 18. Diagrama de clases . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrama de secuencia . . . . . . . . . . . . . . . . . . . . . . . . Pantalla principal . . . . . . . . . . . . . . . . . . . . . . . . . . . Aviso de altura de pies no válida . . . . . . . . . . . . . . . . . . Diálogo de introducción de la distancia entre la superficie de apoyo el suelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6. Diálogo de guardado del archivo de resultados . . . . . . . . . . . 4.7. Aviso de error al guardar el nombre o la ubicación del archivo . . 4.8. Menú de asignación de gráficas . . . . . . . . . . . . . . . . . . . 4.9. Vista de la interfaz durante la grabación . . . . . . . . . . . . . . 4.10. Informe de resultados . . . . . . . . . . . . . . . . . . . . . . . . . 4.11. Altura de paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12. Ancho de paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.13. Tórax-cadera en el eje x . . . . . . . . . . . . . . . . . . . . . . . 4.14. Tórax-cadera en el eje y . . . . . . . . . . . . . . . . . . . . . . . 4.15. Tórax-cadera en el eje z . . . . . . . . . . . . . . . . . . . . . . . 4.16. Cadera derecha en el eje x . . . . . . . . . . . . . . . . . . . . . . 4.17. Cadera derecha en el eje y . . . . . . . . . . . . . . . . . . . . . . 4.18. Cadera izquierda en el eje x . . . . . . . . . . . . . . . . . . . . . 4.19. Cadera izquierda en el eje y . . . . . . . . . . . . . . . . . . . . . 4.20. Tórax-hombros en el eje x . . . . . . . . . . . . . . . . . . . . . . 4.21. Tórax-hombros en el eje z . . . . . . . . . . . . . . . . . . . . . . 4.22. Longitud de paso . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . y . . . . . . . . . . . . . . . . . .. . . . .. 20 20 21 21. . . . . . . . . . . . . . . . . . .. 22 22 23 23 24 24 25 26 26 27 27 28 28 29 29 30 30 31. 4.1. 4.2. 4.3. 4.4. 4.5.. xvii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de andar. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . ..

(18) ÍNDICE DE FIGURAS. xviii. 4.23. Tórax-central en el eje x . . . . . . . 4.24. Tórax-central en el eje z . . . . . . . 4.25. Número de pasos . . . . . . . . . . . 4.26. Extremo del pie derecho en el eje y . 4.27. Extremo del pie izquierdo en el eje y 4.28. Tobillo izquierdo en el eje y . . . . . 4.29. Tobillo derecho en el eje y . . . . . . 4.30. Ventana de Visual Studio 2015 . . . . 4.31. Ventana de Matlab . . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. 5.1. Prueba lateral . . . . . . . . . . . . . . . 5.2. Muestra a filtrar . . . . . . . . . . . . . 5.3. Enventanado de Haar . . . . . . . . . . . 5.4. Enventanado de Bartlett . . . . . . . . . 5.5. Enventanado Binomial . . . . . . . . . . 5.6. Enventanado de Hann . . . . . . . . . . 5.7. Enventanado de Hamming . . . . . . . . 5.8. Enventanado de Blackman . . . . . . . . 5.9. Enventanado de Blackman angostado . . 5.10. Enventanado propio . . . . . . . . . . . . 5.11. Comparación de filtros . . . . . . . . . . 5.12. Prueba a 110 cm . . . . . . . . . . . . . 5.13. Prueba a 160 cm . . . . . . . . . . . . . 5.14. Prueba a 250 cm . . . . . . . . . . . . . 5.15. Prueba a 300 cm . . . . . . . . . . . . . 5.16. Longitud de paso y aumento de la cuenta. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. 31 32 32 33 33 34 34 35 35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de pasos .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. 37 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47. 6.1. Diagrama de planificación . . . . . . . . . . . . . . . . . . . . . . . . 50 A.1. A.2. A.3. A.4.. Diagrama Diagrama Diagrama Diagrama. UML UML UML UML. de de de de. MainWindow . BodiesManager BodyDistances . Graphics . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 54 55 55 55.

(19) Índice de tablas 6.1. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50. xix.

(20) xx. ÍNDICE DE TABLAS.

(21) Capı́tulo 1. Introducción Cada año muchas personas sufren caı́das debido a la edad, enfermedades... La mayorı́a de estas caı́das podrı́an prevenirse si se hiciera un estudio de la marcha de la persona. En la actualidad, estos estudios se realizan en espacios amplios, con materiales caros y a veces molestos para el paciente. Este proyecto pretende crear una nueva forma de análisis más barata, inocua para el paciente y menos aparatosa. RoboHealth1 es un proyecto que cuenta con la participación de la Universidad Carlos III de Madrid, la Universidad Politécnica de Madrid, el LAMBECOM (Laboratorio de Análisis del Movimiento, Biomecánica, Ergonomı́a y COntrol Motor) de la Universidad Rey Juan Carlos e IMDEA Materiales (Instituto Madrileño De Estudios Avanzados en Materiales). Su objetivo es el desarrollo de robots asistenciales y de rehabilitación en entornos inteligentes hospitalarios, contribuyendo a la mejora del Sistema Nacional de Salud. Los pacientes a los que va dirigido poseen movilidad reducida, una capacidad cognitiva limitada y enfermedades crónicas. Está dividido en cuatro subproyectos, uno de los cuales, que se centra en la creación de entornos inteligentes de asistencia y rehabilitación, es en el que se integra el proyecto que nos ocupa.. 1.1.. Motivación del proyecto. La idea de este proyecto surge de proyectos anteriores, en los que se implementaron sistemas de detección de caı́das en hogares en los que residen personas de la tercera edad. Este proyecto pretende ir más allá, diseñando una interfaz que permita detectar anomalı́as en la forma de caminar, para ası́ anticiparse a la caı́da y prevenirla. Puesto que la forma de andar, o mejor dicho sus defectos, pueden ser significativos de diversas enfermedades, este sistema también puede ayudar en el diagnóstico de dichas enfermedades.. 1.2.. Objetivos. Los objetivos principales de este proyecto son dos: La obtención de diversos parámetros espacio-temporales del movimiento humano, fundamentales para el estudio de la marcha. Para ello se ha utilizado el 1 http://robohealth.es/. 1.

(22) 2. CAPÍTULO 1. INTRODUCCIÓN. dispositivo Kinect. La generación de informes con los resultados obtenidos, para que puedan ser analizados posteriormente por los especialistas de manera sencilla y en diferentes plataformas, com Excel o Matlab. Además hay otros dos objetivos complementarios: El desarrollo de una interfaz de monitorización continua, para que se pueda seguir en tiempo real la evolución de algunos de los parámetros. La utilización del sensor Kinect sobre plataformas móviles y estáticas. Se trata de comparar distintos métodos de posicionamiento del sensor para observar si existe alguno con el que el uso que se pretende no sea viable o cuál ofrece mejores resultados.. 1.3.. Materiales utilizados. El hardware utilizado en este proyecto ha sido: Cinta de andar Laufband Elite 700 950281. Kinect para Xbox One de Microsoft: es el dispositivo utilizado para realizar la monitorización de los pacientes. Los recursos software usados han sido: Visual Studio 2015: es el entorno de desarrollo utilizado para crear la interfaz. Matlab R2015a: es el software usado para visualizar los resultados de las pruebas y para realizar las pruebas para elegir ventana. SDK de Kinect para Windows 2.0: es el kit de desarrollo de software necesario para obtener la información proporcionada por el sensor. Dynamic Data Display: es la librerı́a utilizada para generar las gráficas de monitorización.. 1.4.. Marco teórico. La detección de anomalı́as de la marcha, o anomalı́as en la forma de caminar, es el objetivo principal de este proyecto. Para poder conseguirlo y para poder comprender mejor de qué trata este documento se va a explicar qué tipos de anomalı́as existen y de qué enfermedades pueden ser indicativas. Pero para eso también hay que saber en qué consiste una marcha normal. 1.4.1.. Marcha normal. Un ciclo de marcha (figura 1.1. Fuente2 ) se define desde el contacto de uno de los talones hasta el siguiente contacto del mismo talón con el suelo, definición que coincide con la de zancada, ası́ que otra manera de definirlo podrı́a ser la serie de 2 https://ft-mecanicabiociencias.wikispaces.com/share/view/26758977.

(23) 1.4. MARCO TEÓRICO. 3. Figura 1.1: Ciclo de la marcha. acontecimientos que suceden durante una zancada. Por lo tanto cada pierna tiene ciclos equivalentes desfasados medio ciclo en el tiempo. Está compuesto por dos fases: la fase de apoyo, que supone el 60 % del ciclo y la fase de oscilación, que supone el 40 % restante. Según el número de pies apoyados en cada momento el ciclo posee dos fases de apoyo monopodal y otras dos de doble apoyo. Cada periodo de doble apoyo dura aproximadamente un 10 % del ciclo total. Según [10] los valores normales en terreno llano de algunos parámetros de la marcha de interés para este proyecto son: La longitud de paso, que es la distancia entre el apoyo inicial de un pie y el apoyo inicial del pie contrario, depende en gran medida de la altura de la persona, según autores [1] está entre 40 y 75 cm. La anchura de paso, que es la distancia entre los puntos medios de ambos talones, es de unos 10 cm. La cadencia, que es el número de pasos por unidad de tiempo, está entre 100 y 120 pasos por minuto. La velocidad de marcha espontánea en adultos oscila entre 75 y 80 m/min, o 1,25 y 1,33 m/s. Hay que tener en cuenta que estos valores son una media, ya que son distintos para cada persona. Dependen de la estatura, el sexo... Incluso en una misma persona cambian con la edad. Como se explica en [3] la velocidad disminuye, ası́ como la longitud de paso, la cadencia y la altura de paso. Por el contrario la anchura de paso y la fase de doble apoyo aumentan..

(24) 4. CAPÍTULO 1. INTRODUCCIÓN. 1.4.2.. Marcha patológica. La marcha patológica[6] puede deberse a varias causas: neurológicas, musculoesqueléticas, cardiorrespiratorias, metabólicas, farmacológicas o incluso psicológicas. Los tipos más comunes son3 : Marcha atáxica: puede ser cerebelosa, sensitiva o vestibular. Se caracteriza por un aumento de la base de sustentación, inestabilidad del tronco y desviación de la trayectoria. Marcha equina: se produce cuando la persona no puede flexionar dorsalmente el pie, y para no arrastrarlo levanta exageradamente la rodilla y posteriormente apoya el pie con la punta antes que con el talón. Las causas que lo provocan son muy variadas. Entre ellas destacan problemas en el nervio ciático, ELA, esclerosis múltiple o Parkinson. Marcha espástica o en tijeras: Consiste en un caminar rı́gido, con arrastre de los pies. Pueden causarla abscesos y tumores cerebrales, ictus, traumatismos craneales o esclerosis múltiple. Marcha hemipléjica: llamada también del segador. La persona camina lentamente apoyando el peso del cuerpo en el miembro sano, mientras que mueve el otro en arco y el brazo del lado afectado está pegado al cuerpo semiflexionado. Marcha parkinsoniana: es tı́pica de la enfermedad de Parkinson cuando está ya avanzada, aunque también se puede dar en otros casos. El tronco se flexiona hacia delante y los pasos son pequeños y rápidos, con una aceleración descontrolada que puede llevar a una caı́da. También puede producir “congelamiento” al inicio de la marcha. Marcha apráxica: está caracterizada por dificultad para iniciar la marcha, aumento de la base de sustentación, pasos cortos, poca separación de los pies con el suelo en el balanceo. Se da en personas con una demencia avanzada y en casos de hidrocefalia a tensión normal.. 1.5.. Estructura del documento. A continuación y para facilitar la lectura del documento, se detalla el contenido de cada capı́tulo. En el capı́tulo 1 se realiza una introducción al proyecto y se explica la motivación del mismo. En el capı́tulo 2 se presentan dispositivos similares a Kinect, proyectos de investigación realizados con Kinect y las formas que existen actualmente para analizar la forma de caminar. En el capı́tulo 3 se explica cómo se ha diseñado el sistema. En el capı́tulo 4 se realiza una presentación del diseño final de la aplicación y de su implementación. 3 http://www.neurowikia.es/content/tipos-de-marcha-patologica.

(25) 1.5. ESTRUCTURA DEL DOCUMENTO. 5. En el capı́tulo 5 se abordan los resultados obtenidos en las pruebas y se discuten. En el capı́tulo 6 se presentan la planificación y el presupuesto del proyecto. En el capı́tulo 7 se explican las conclusiones sacadas y los desarrollos que se pueden llevar a cabo en el futuro..

(26) 6. CAPÍTULO 1. INTRODUCCIÓN.

(27) Capı́tulo 2. Estado del arte En este capı́tulo se van a presentar diferentes dispositivos de caracterı́sticas similares a las de Kinect y diferentes tipos de proyectos de investigación realizados con el dispositivo Kinect, ası́ como las tecnologı́as que se emplean actualmente para analizar la forma de caminar de las personas actualmente. Por último se va a presentar el proyecto E-motion, un proyecto muy amplio en el que entre otras cosas se usa la Kinect para detectar la enfermedad de Parkinson en estadios tempranos a través de la forma de caminar del paciente.. 2.1.. Dispositivos similares a Kinect. Kinect no es la única cámara de profundidad que se puede encontrar en el mercado. A continuación se muestran algunas. 2.1.1.. Intel RealSense. RealSense1 es una cámara de profundidad desarrollada por Intel. Cuenta con varias versiones, las últimas son la SR300, la ZR300 y la serie D400. La SR300 está pensada para ser usada en distancias cortas, para reconocer expresiones faciales y gestos de las manos. El rango óptimo de reconocimiento está entre los 20 cm y el metro y medio. Soporta principalmente Windows. La ZR300 es más parecida a Kinect. Está pensada para distancias largas, para reconocer cuerpos enteros. Soporta principalmente Linux. La serie D400 (figura 2.1) estará disponible a partir de octubre de 2017. La principal novedad con respecto a las versiones anteriores y a la Kinect es que su frecuencia de muestreo sube hasta los 90 Hz. 2.1.2.. Xtion. Xtion, y su nueva versión Xtion 2, han sido creados por Asus. La nueva versión soporta Windows y Linux y tiene un rango de distancias de trabajo que va desde los 80 cm y los 3,5 m. Se alimenta a través de una conexión USB 3.0. 1 https://software.intel.com/es-es/realsense. 7.

(28) 8. CAPÍTULO 2. ESTADO DEL ARTE. Figura 2.1: Intel RealSense. 2.1.3.. CamBoard pico. La familia de cámaras CamBoard pico de la empresa PMD poseen rangos de trabajo de hasta 6 m y pueden llegar a funcionar hasta a 60 frames por segundo. La única versión que se comercializa por el momento, CamBoard pico flexx, soporta Windows, iOS, Linux, Android y ROS. 2.1.4.. Structure Sensor. La empresa Occipital ha creado Structure2 (figura 2.2. Fuente3 ), un accesorio para dispositivos móviles que aprovecha la cámara integrada para obtener imágenes de profundidad y detectar objetos. Puede funcionar a entre 30 y 60 frames por segundo y su rango óptimo de utilización va desde los 40 cm hasta los 3,5 m. Se alimenta a través de una baterı́a, ası́ que no tiene que estar conectado permanentemente a la corriente para funcionar. Soporta iOS, Windows, Linux y Android.. 2.2.. Proyectos con Kinect. Desde que salió a la venta, este sensor ha despertado la imaginación de investigadores y desarrolladores en todo el mundo, que lo han aplicado a multitud de disciplinas distintas. Para ilustrar esto se han escogido algunos ejemplos. 2.2.1.. Rehabilitación. En el campo de la rehabilitación se han desarrollado sistemas para que las personas que la necesiten puedan hacerla de una forma más amena y eficaz, incluso desde su casa. La empresa VirtualWare ha creado VirtualRehab4 (figura 2.3. Fuente5 ), un sistema para la rehabilitación de pacientes con enfermedades neurodegenerativas, enfermedades neuromusculares, con daño cerebral adquirido, o simplemente con 2 https://structure.io/. 3 https://technologyoutlet.glopal.com/es-ES/p-391633544/3d-lector-occipital-estructura-sensor. html?utm_campaign=en_GB&utm_medium=pr&utm_source=www.technologyoutlet.co.uk 4 http://www.virtualrehab.info 5 http://www.digitalavmagazine.com/2015/06/12/virtualrehab-3-0-anade-nuevas-funciones-y-un-brazo-robotico-para-rehabil.

(29) 2.2. PROYECTOS CON KINECT. 9. Figura 2.2: Structure Sensor. Figura 2.3: Médico y paciente usando VirtualRehab. problemas de movilidad. Fue el primer producto de rehabilitación virtual que utiliza el sensor Kinect en obtener el marcado CE como producto sanitario. Además, gracias a este sistema los terapeutas pueden crear terapias personalizadas y recibir los datos de progreso de los pacientes, y al poder realizarse la rehabilitación en el hogar del paciente se reducen las listas de espera. 2.2.2.. Educación. Kinect también se puede usar en el ámbito educativo para hacer el aprendizaje más ameno o para facilitarlo a colectivos con necesidades especiales. El SAMK[2] es un proyecto realizado en la Universidad Peruana de Ciencias Aplicadas que tiene como objetivo diseñar un sistema para mejorar el método de enseñanza de matemáticas en niños de 6 años, que además recoja datos sobre.

(30) 10. CAPÍTULO 2. ESTADO DEL ARTE. Figura 2.4: Imágenes del funcionamiento de Shopperception. los alumnos para que el profesor pueda seguir sus progresos. RAINT[9] es una aplicación desarrollada en la Universidad Veracruzana para facilitar el aprendizaje de la lectura a personas sordomudas. 2.2.3.. Uso en comercios. Hasta ahora se han desarrollado principalmente dos tipos de uso en comercios: para analizar el comportamiento de los consumidores en los establecimientos y como probador virtual de ropa. Shopperception6 (figura 2.4. Fuente7 ) es un sistema que analiza el comportamiento de los compradores frente a las estanterı́as de los supermercados, para ası́ mejorar las estrategias de marketing de las empresas, la distribución de los productos en las tiendas... Ya lo usan empresas como Walmart o Heineken Fitnect8 es un software de realidad aumentada que permite al usuario ver cómo le quedarı́an prendas de vestir y accesorios sin necesidad de probárselos fı́sicamente. Este software se puede adquirir en su página web y no sólo se puede usar en comercios, sino que también puede ser usado por particulares en sus casas. 2.2.4.. Interfaces sin contacto. Este tipo de aplicación se refiere a sistemas que permiten el manejo de equipos, como un ordenador, simplemente mediante gestos. GestSure9 (figura 2.5) es un sistema que permite a los cirujanos acceder a datos del paciente al que está operando sin tener que tocar un teclado o un ratón, que no están esterilizados; eliminando el riesgo de infecciones; agilizando las operaciones y por lo tanto haciéndolas menos costosas. La empresa española Tedesys también ha desarrollado servicios similares. Es responsable del proyecto TedCas10 , formando 6 http://www.shopperception.com/ 7 https://vimeo.com/81616342 8 http://www.fitnect.hu/ 9 https://www.gestsure.com/ 10 http://www.tedcas.com/es.

(31) 2.3. ANÁLISIS DE LA MARCHA. 11. Figura 2.5: Cirujano utilizando el sistema GestSure durante una operación. parte del programa TAP (Kinect for Windows Testing and Adoption Program) de Microsoft. Esto también se puede aplicar a entornos nucleares, como se ilustra en [4]. En dicho proyecto se estudia la posibilidad de reducir el riesgo de contaminación por radiación al no entrar los operarios en contacto con la maquinaria. Esto se lograrı́a gracias a un sistema de monitorización basado en Kinect.. 2.3.. Análisis de la marcha. Para analizar la marcha hay tres tipos de parámetros observables: los espaciotemporales, los cinemáticos y los cinéticos. Los espacio-temporales son los más básicos. La manera más sencilla de estudiarlos es por simple observación y medición de los tiempos con un cronómetro. Este método ofrece pocos resultados que además no son precisos. Otra opción es la grabación de un vı́deo para su posterior análisis, lo que ayuda a fijarse más en detalles pero que sigue sin ser preciso. A veces se hacen videogrametrı́as, que son reconstrucciones tridimensionales realizadas a partir de vı́deos(figura 2.6(a). Fuente11 ). En este caso se pueden tomar más medidas y hacerlo de manera algo más precisa, pero requiere el uso de al menos 4 cámaras con una buena resolución. Todas estas medidas además tienen otro inconveniente, que los diagnósticos están basados en percepciones subjetivas del especialista que realiza la prueba. También se usan marcadores reflectantes y otro tipo de sensores (figura 2.6(b). Fuente12 ). Esta tecnologı́a ofrece buenos resultados si se usa de manera correcta, pero es muy sencillo colocar de forma errónea los marcadores, con lo que los resultados no serı́an válidos. Además, los marcadores pueden ser incómodos para el paciente.. 2.4.. E-Motion. Mención especial merece el proyecto E-Motion de la Universidad ICESI de Colombia y la Alianza i2t-Biomédica, a él pertenecen entre otros los proyectos Parkinson 11 http://patronatoderehabilitacion.com 12 http://www.uao.edu.co/ingenieria/diseno-industrial/laboratorios-diseno-industrial.

(32) 12. CAPÍTULO 2. ESTADO DEL ARTE. (a) Análisis mediante cámaras de infrarrojos. (b) Análisis mediante marcadores. Figura 2.6: Distintas formas de estudio de la marcha. Kinect System, Kimedical y Boskot. El primer proyecto que se desarrolló fue Parkinson Kinect System[8]. Se trata de un software de ayuda en la detección del Parkinson en estadios tempranos de la enfermedad. Para ello implementan el test FAB (Frontal Assessment Battery) como si fuera un juego de Kinect. Gracias a él se elimina el componente de subjetividad que tienen estas pruebas si se realizan de forma ordinaria. Un año después desarrollaron Kimedical, que es un sistema de análisis de la marcha y de la postura desde los planos coronal y sagital para ayudar en el diagnóstico del Parkinson. Actualmente siguen investigando en esta lı́nea..

(33) Capı́tulo 3. Diseño del sistema Para cumplir los objetivos propuestos para este proyecto la aplicación a desarrollar debe cumplir los siguientes requisitos: Detectar los movimientos del cuerpo del paciente al caminar. Guardarlos para analizarlos posteriormente. Dotar al paciente de algún sistema que le permita completar varios ciclos de marcha para obtener toda información necesaria. Dar la posibilidad de ver en tiempo real la evolución de algunos de los parámetros más importantes. Para conseguirlo se necesita un sistema con unos componentes y un entorno adecuados. A continuación se detallan.. 3.1. 3.1.1.. Componentes del sistema Kinect. Para cumplir el primer requisito, la detección de los movimientos del paciente, es necesaria una cámara de profundidad. El dispositivo elegido para cumplir este cometido en este proyecto es el sensor Kinect para Xbox One (figura 3.1. Fuente1 ). Kinect fue un dispositivo creado por Microsoft originalmente como accesorio para la consola Xbox pero pronto la gente se dio cuenta de su potencial en multitud de áreas y comenzó a realizar ingenierı́a inversa para poder usarla. Entonces Microsoft publicó el primer SDK y aún más gente comenzó a investigar con este dispositivo. Las caracterı́sticas de esta versión del sensor son: Detecta y muestra los esqueletos de hasta 6 personas, con 25 articulaciones por cada esqueleto. Campo de visión: 70o en horizontal y 60o en vertical. Resolución: 1920x1080 Full HD. Rango de profundidad del sensor: de 0,5 a 4,5 m. Frecuencia de muestreo: 30 Hz. 1 https://www.xatakawindows.com/tag/kinect-para-windows. 13.

(34) 14. CAPÍTULO 3. DISEÑO DEL SISTEMA. Figura 3.1: Kinect para Xbox One. Los requerimientos del sistema para el buen funcionamiento de este dispositivo son: Sistema operativo Windows a partir de Windows 8. Procesador de 64 bits. Al menos 4 GB de RAM. Doble núcleo fı́sico de 3,1 GHz o mejor. Un controlador USB 3.0 y un adaptador Kinect para Windows en el caso de que se trate de la versión Kinect para Xbox One. Tarjeta gráfica que admita DirectX 11. Para desarrollar aplicaciones es necesario descargar el SDK 2.0 y tener Visual Studio a partir de la versión del 2012. Para comprender su funcionamiento es necesario saber de qué sensores está compuesto, lo que se puede observar en la figura 3.2. Esta versión posee una cámara RGB de más resolución que la anterior versión y también se ha mejorado el sistema de audio. La mayor diferencia entre ambas versiones es la producida en el sistema de detección de profundidad. En la primera versión se usó un sensor de luz estructurada mientras que en la nueva se decantaron por un sensor de tiempo de vuelo (TOF por sus siglas en inglés), consiguiendo una precisión tres veces mayor además de que el dispositivo pueda funcionar a oscuras. La versión antigua cuenta con un proyector de infrarrojos que emite una nube de puntos con un patrón pseudo-aleatorio. Un receptor de infrarrojos colocado al lado de la cámara RGB detecta la intensidad y la distorsión de los puntos y a través de la triangulación de estos datos estima la profundidad. En el caso de la segunda versión, lo que se mide es el tiempo que tarda el rayo infrarrojo desde que es emitido hasta que es detectado por el sensor después de haber sido reflejado por los objetos del entorno. El sistema de coordenadas por el que se rigen los datos proporcionados por Kinect se muestra en la figura 3.3 (Fuente2 ). 2 https://msdn.microsoft.com/en-us/library/hh438998.aspx.

(35) 3.1. COMPONENTES DEL SISTEMA. Figura 3.2: Componentes de Kinect. Figura 3.3: Sistema de coordenadas de Kinect. 15.

(36) 16. CAPÍTULO 3. DISEÑO DEL SISTEMA. Figura 3.4: Robot Marvin. 3.1.2.. Plataformas. Uno de los objetivos de este proyecto es la utilización del sensor Kinect con diferentes plataformas. Su uso se vió rápidamente como necesario debido a que con una Kinect estática y una persona caminando hacia ella apenas sı́ se podı́a grabar un ciclo de marcha. A continuación se va a explicar qué plataformas se han usado y qué resultados se han obtenido con ellas. Móviles. Carrito auxiliar. En un principio se usó como plataforma un carrito auxiliar para proyector como plataforma de apoyo para el sensor. La idea era que una persona fuera moviendo el carrito mientras que el paciente andaba para poder grabar varios ciclos. El resultado no fue bueno, el rango de distancia para que el paciente permanezca dentro del plano es reducido y al caminar ambas personas a velocidades diferentes la detección se perdı́a continuamente. Ası́ se evidenció que este no era un buen método. Robot móvil. Vistos los problemas habidos con el uso del carrito, se barajó la posibilidad de montar el sensor en un robot. Para probar cómo funcionarı́a esta posibilidad se hizo una prueba con un robot del laboratorio, Marvin (figura 3.4), que se mueve a una velocidad constante elegida previamente por el usuario. El resultado fue mucho mejor que con el carrito manejado por una persona, el paciente se salı́a raras veces de plano. Todo esto simplemente con un robot que se mueve a una velocidad fija, con un robot que variara su velocidad manteniendo constante la distancia entre él y el paciente el resultado serı́a sensiblemente mejor. Por lo cual se considerará el uso de este tipo de robot como posible desarrollo futuro..

(37) 3.2. ENTORNO DE TRABAJO. 17. Figura 3.5: Cinta de andar Fijas. La última opción es la de dejar la Kinect fija en una mesa y que el paciente camine sobre una cinta de andar frente a ella. Hay dos tipos de cintas: con motor y sin motor. Se decidió usar una sin motor porque para su misión en este proyecto no eran necesarios unos requisitos técnicos altos y ası́ el paciente puede elegir en cada momento la velocidad a la que quiere moverse, lo que puede aportar más información. Se adquirió la cinta Laufband Elite 700 950281 de la marca Schmidt Sportsworld (figura 3.5. Fuente3 ). Tiene una longitud de 118 cm, 126 cm de ancho, una altura de 62 cm y un peso de 28 kg. El peso máximo recomendado del usuario es de 100 kg. Una de las preocupaciones que se tenı́an sobre el uso de cintas era si el manillar y el monitor interferirı́an en la detección del cuerpo. Por el bajo diámetro del manillar y si se pone el monitor paralelo al suelo no se observan interferencias apreciables.. 3.2.. Entorno de trabajo. Una vez elegidos los componentes del sistema es necesario colocarlos de la forma adecuada para obtener los mejores resultados. En el caso de usar una cinta de andar el escenario serı́a el de la figura 3.6. El sensor se colocarı́a enfrentado con la cinta, con el paciente andando de cara al sensor, elevado sobre una mesa o cualquier otra superficie de apoyo. El paciente andarı́a sobre la cinta sin que la Kinect tenga que desplazarse. Esto por otra parte facilita su uso, ya que al no moverse no existe la restricción de distancia de uso que impone el cable de alimentación. 3 https://www.amazon.es/Schmidt-Sportsworld-LAUFBAND-ELITE-950281/dp/B01FIAKLFK.

(38) 18. CAPÍTULO 3. DISEÑO DEL SISTEMA. Figura 3.6: Montaje del sistema completo con cinta de andar. En el caso de usar una plataforma móvil, ya sea un carrito o un robot, el planteamiento serı́a similar: la Kinect apoyada sobre la plataforma móvil y el paciente enfrentado a ella, andando hacia la Kinect mientras que la plataforma se aleja manteniendo la distancia con el paciente lo más constante posible..

(39) Capı́tulo 4. Diseño e implementación Una vez escogidos los componentes del sistema y diseñado el entorno de trabajo, para que la aplicación cumpla los requisitos hay que realizar el diseño y la implementación de la misma.. 4.1.. Diseño. La interfaz realizada en este proyecto es una aplicación de escritorio WPF (Windows Presentation Foundation). No se partió de un proyecto vacı́o, sino del proyecto de ejemplo Body Basics que se puede descargar desde el SDK Browser (Kinect for Windows) v2.0. Ese proyecto consiste en una ventana con un cuadro en la zona central. Si el dispositivo Kinect está conectado, en ese cuadro se muestran los esqueletos detectados por el sensor. Está formado por un espacio de nombres dentro del cual está la clase MainWindow, que se encarga de todo. Para el proyecto final se han añadido al espacio de nombres tres clases: BodiesManager, BodyDistances y Graphics. BodiesManager se crea para liberar a MainWindow de la responsabilidad de crear y dibujar los esqueletos de los cuerpos detectados. También se encarga de dibujar una lı́nea roja en los lados del recuadro de la imagen si se detecta que alguna parte del cuerpo de una persona se sale del ángulo de visión del sensor. BodyDistances es la encargada de crear el vector que contiene la información que se mostrará en pantalla, y posteriormente se filtrará y se incluirá en el informe de resultados. Graphics es la clase creada para asignar a cada gráfica la información que va a mostrar y a dibujarla. Los diagramas UML de cada clase se pueden ver en el apendice A. El diagrama de la figura 4.1 es el diagrama de clases general de la aplicación y el diagrama de la figura 4.2 es el diagrama de secuencia de la aplicación cuando se está grabando y se recibe un frame en el que se ha detectado a una persona. La pantalla principal se puede ver en la figura 4.3. Visualmente está dividida en tres partes. En la parte izquierda hay un menú para configurar la altura de la superficie sobre la que camina el paciente y el contenido de las gráficas. Debajo del menú están los botones de comienzo y final de grabación y un espacio reservado para que cuando se esté realizando la grabación aparezcan en pantalla en tiempo 19.

(40) 20. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. Figura 4.1: Diagrama de clases. Figura 4.2: Diagrama de secuencia. real la distancia entre los tobillos en los tres ejes, el número de pasos contados y el tiempo de grabación. En la esquina inferior izquierda además aparece un mensaje informativo sobre el estado de conexión del dispositivo Kinect. La parte central está reservada para la imagen del sensor y en la parte derecha están situadas las gráficas. Si se pulsa el botón de comienzo sin haber introducido la distancia entre los pies del paciente y el suelo, o se ha introducido un caracter no numérico, salta el aviso de la figura 4.4 y la grabación no comienza. El diálogo de introducción de este dato se puede ver en la figura 4.5. Si se introduce un valor correcto y se pulsa “Comenzar” se abre el diálogo de guardado del archivo en el que se incluirán los resultados. En este diálogo (figura 4.6) se puede escoger el nombre, la extensión y el lugar en el que se guardará dicho archivo. Si algo no saliera bien la grabación no comenzarı́a y se informarı́a al usuario de ello (figura 4.7). Los datos de las gráficas se pueden asignar antes o durante la grabación. El menú de asignación se puede ver en la figura 4.8. Cuando se asigna el dato que se quiere observar a una gráfica el nombre del dato aparece como tı́tulo del eje y de dicha gráfica. Los datos entre los que se puede escoger para ser representados en las gráficas son: la distancia entre los tobillos en el eje z (que representa la longitud de paso), la distancia entre los tobillos en el eje x (que representa el ancho de paso), el movimiento de los tobillos izquierdo y derecho en el eje y (que representa la distancia.

(41) 4.1. DISEÑO. 21. Figura 4.3: Pantalla principal. Figura 4.4: Aviso de altura de pies no válida. que toman los pies con el suelo en la fase de oscilación) y el tórax a la altura de los hombros (que representa el movimiento lateral del tórax a la altura de los hombros). Si todo ha ido bien se comenzará a grabar la prueba y se verá una imagen como la de la figura 4.9. En ella se puede observar como si la grabación está en curso aparece un icono de grabación a la derecha del botón “Comenzar”. Si se pulsa “Terminar” dicho icono desaparece. También se puede ver en el recuadro central el esqueleto de la persona que está realizando la prueba. Los huesos pueden ser de seis colores: rojo, naranja, verde, azul claro, azul ı́ndigo y violeta. Si alguna articulación no se detecta correctamente se infiere, para distinguirlas en la imagen las articulaciones inferidas se dibujan de color amarillo, y los huesos se dibujan de menor grosor y color gris. Se ha decidido no dibujar los huesos de los brazos para que no entorpezca la visión de los del resto del cuerpo. El informe de resultados que se genera se puede guardar como un archivo txt o un archivo csv, como se puede ver en la figura 4.6. En cualquiera de los dos casos el formato de escritura del archivo es csv, facilitando la interpretación del archivo por parte del software que se vaya a utilizar para visionar los resultados. Como se puede ver en la figura 4.10 el contenido de este archivo está estructurado en columnas, cada una de las cuales corresponde a un parámetro distinto. La primera fila la componen los nombres de los parámetros, el resto de filas son los valores de cada parámetro.

(42) 22. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. Figura 4.5: Diálogo de introducción de la distancia entre la superficie de apoyo y el suelo. Figura 4.6: Diálogo de guardado del archivo de resultados. en los sucesivos frames. Los parámetros guardados son: el tiempo; la distancia entre los tobillos en los tres ejes; el movimiento en el eje y del tobillo izquierdo, el tobillo derecho, el extremo del pie izquierdo, el extremo del pie derecho, la cadera izquierda, el tórax a la altura de la cadera y la cadera derecha; el movimiento en el eje x de la cadera izquierda, la cadera derecha, el tórax a media altura, el tórax a la altura de los hombros y el tórax a la altura de la cadera; el movimiento en el plano sagital de el tórax a la altura de los hombros, a media altura y a la altura de la cadera y por último el número de pasos. Las gráficas de los resultados obtenidos después de realizar una prueba se presentan en las figuras 4.11 a 4.29.. 4.2.. Implementación. Para el desarrollo del software de este proyecto se ha empleado Visual Studio 2015 como entorno de desarrollo y C# como lenguaje. Por otra parte, se ha usado Matlab para analizar los resultados obtenidos en las pruebas y para realizar los filtrados con ventanas..

(43) 4.2. IMPLEMENTACIÓN. 23. Figura 4.7: Aviso de error al guardar el nombre o la ubicación del archivo. Figura 4.8: Menú de asignación de gráficas. 4.2.1.. Entornos de desarrollo. Visual Studio. Como ya se ha comentado, el entorno de desarrollo usado para la creación de la aplicación de este proyecto ha sido Visual Studio 2015. Es un entorno de desarrollo creado por Microsoft para sistemas operativos Windows. La pantalla principal, que se puede ver en la figura 4.30, se puede personalizar para que resulte más cómodo al programador.. Matlab. Matlab (MATrix LABoratory) es un IDE (Entorno de Desarrollo Integrado) igual que Visual Studio, creado por MathWorks. Posee gran cantidad de prestaciones que se pueden ampliar añadiendo nuevas toolboxes. Como ya se ha comentado anteriormente se ha usado para procesar los datos obtenidos en las pruebas y escoger la ventana más apropiada..

(44) 24. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. Figura 4.9: Vista de la interfaz durante la grabación. Figura 4.10: Informe de resultados. 4.2.2.. Librerı́as. SDK de Kinect para Windows 2.0. Entre otras cosas este Kit de Desarrollo de Software contiene las librerı́as necesarias para desarrollar aplicaciones con Kinect. La librerı́a usada en este caso es Microsoft.Kinect. Dynamic Data Display. Para el dibujo de las gráficas se ha usado la librerı́a Dynamic Data Display. Con esta librerı́a se pueden crear todo tipo de gráficos: diagramas de sectores, de barras, gráficas lineales y más tipos de gráficas 2D y 3D. Fue creada por CodePlex pero actualmente pertenece a Microsoft. 4.2.3.. Conteo de pasos. El algoritmo creado para contar los pasos que da el paciente en vivo se puede ver en el código 4.1. Se trata de una máquina de estados. Cuando la prueba comienza nos encontrarı́amos en el estado 0. Cuando la distancia entre tobillos en el eje z (longitud.

(45) 4.2. IMPLEMENTACIÓN. 25. 12. Distancia entre tobillos en eje y (cm). 10. 8. 6. 4. 2. 0 0. 0.5. 1. 1.5. 2. Tiempo (ms). 2.5. 3 ×10 4. Figura 4.11: Altura de paso. de paso) se encuentra entre 0 y 4,5 cm se pasa al estado 1. Si estando en el estado 1 la longitud de paso crece hasta estar por encima de 13,5 cm se pasa al estado 2. En este estado se aumenta en una unidad la cuenta de los pasos e inmediatamente se pasa al estado 3, para evitar que la cuenta aumente en más de una unidad. Si estando en el estado 3 la longitud de paso vuelve a estar entre 0 y 4,5 cm se vuelve al estado 1. Código 4.1: Conteo de pasos 1 2. i f ( f l a g p a s o s == 0 && b o d y D i s t a n c e s [ 2 ] >= 0 && b o d y D i s t a n c e s [ 2 ] < 4 . 5 ) f l a g p a s o s ++;. 3 4 5. i f ( f l a g p a s o s == 1 && b o d y D i s t a n c e s [ 2 ] > 1 3 . 5 ) f l a g p a s o s ++;. 6 7 8 9 10 11 12 13. i f ( f l a g p a s o s == 2 ) { p a s o s ++; f l a g p a s o s ++; } i f ( ( f l a g p a s o s == 3 ) && b o d y D i s t a n c e s [ 2 ] >= 0 && b o d y D i s t a n c e s [ 2 ] < 4 . 5 ) flag pasos = 1;.

(46) 26. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. 16. 15. Ancho de paso (cm). 14. 13. 12. 11. 10 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.12: Ancho de paso. 7. 6. Tórax-cadera en eje x (cm). 5. 4. 3. 2. 1. 0. -1 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.13: Tórax-cadera en el eje x. 2.5. 3 ×10 4.

(47) 4.2. IMPLEMENTACIÓN. 27. 98. 97.5. Tórax-cadera en eje y (cm). 97. 96.5. 96. 95.5. 95. 94.5. 94 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.14: Tórax-cadera en el eje y. 288. 286. Tórax-cadera en eje z. 284. 282. 280. 278. 276. 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.15: Tórax-cadera en el eje z. 2.5. 3 ×10 4.

(48) 28. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. 14. 13. Cadera derecha en eje x (cm). 12. 11. 10. 9. 8. 7. 6 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.16: Cadera derecha en el eje x. 98.5. 98. Cadera derecha en eje y. 97.5. 97. 96.5. 96. 95.5. 95. 94.5. 94 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.17: Cadera derecha en el eje y. 2.5. 3 ×10 4.

(49) 4.2. IMPLEMENTACIÓN. 29. 0. -1. Cadera izquierda en eje x (cm). -2. -3. -4. -5. -6. -7. -8. -9 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.18: Cadera izquierda en el eje x. 98.5. 98. 97.5. Cadera izquierda en eje y. 97. 96.5. 96. 95.5. 95. 94.5. 94. 93.5 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.19: Cadera izquierda en el eje y. 2.5. 3 ×10 4.

(50) 30. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. 10. Tórax-hombros en eje x (cm). 8. 6. 4. 2. 0. -2. -4 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.20: Tórax-hombros en el eje x. 276. Tórax-hombros en eje z (cm). 274. 272. 270. 268. 266. 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Figura 4.21: Tórax-hombros en el eje z.

(51) 4.2. IMPLEMENTACIÓN. 31. 60. Longitud de paso (cm). 50. 40. 30. 20. 10. 0 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo de paso (ms). Figura 4.22: Longitud de paso. 8. 7. Tórax-central en eje x (cm). 6. 5. 4. 3. 2. 1. 0. -1. -2 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.23: Tórax-central en el eje x. 2.5. 3 ×10 4.

(52) 32. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. 281 280 279. Tórax-central en eje z (cm). 278 277 276 275 274 273 272 271 270 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.24: Tórax-central en el eje z. 40. 35. Número de pasos. 30. 25. 20. 15. 10. 5. 0 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.25: Número de pasos. 2.5. 3 ×10 4.

(53) 4.2. IMPLEMENTACIÓN. 33. 30. Extremo del pie derecho en eje y (cm). 28. 26. 24. 22. 20. 18. 16. 14. 12 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.26: Extremo del pie derecho en el eje y. 30. Extremo del pie izquierdo en eje y (cm). 28. 26. 24. 22. 20. 18. 16. 14. 12 0. 0.5. 1. 1.5. 2. 2.5. Tiempo (ms). Figura 4.27: Extremo del pie izquierdo en el eje y. 3 ×10 4.

(54) 34. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN. Tobillo izquierdo en eje y (cm). 35. 30. 25. 20 0. 0.5. 1. 1.5. 2. 2.5. 3 ×10 4. Tiempo (ms). Figura 4.28: Tobillo izquierdo en el eje y. 34. Tobillo derecho en eje y (cm). 32. 30. 28. 26. 24. 22. 0. 0.5. 1. 1.5. 2. Tiempo (ms). Figura 4.29: Tobillo derecho en el eje y. 2.5. 3 ×10 4.

(55) 4.2. IMPLEMENTACIÓN. 35. Figura 4.30: Ventana de Visual Studio 2015. Figura 4.31: Ventana de Matlab.

(56) 36. CAPÍTULO 4. DISEÑO E IMPLEMENTACIÓN.

(57) Capı́tulo 5. Resultados y discusión En este capı́tulo se van a presentar los resultados obtenidos tras las diferentes pruebas. Posteriormente se discutirán.. 5.1.. Resultados. En esta sección se exponen los resultados obtenidos en las diversas pruebas realizadas. Se han estudiado distintas formas de filtrar la señal y de colocar la cinta de andar con respecto a la Kinect. 5.1.1.. Vista lateral. Tal y como se va a comentar en la sección 6.1.1, en un principio la idea era grabar al paciente tanto frontal como lateralmente. Los resultados obtenidos en una de las grabaciones laterales han sido los siguientes: 70. 60. Longitud de paso (cm). 50. 40. 30. 20. 10. 0 0. 500. 1000. 1500. Tiempo (ms). Figura 5.1: Prueba lateral 37. 2000. 2500.

(58) 38. CAPÍTULO 5. RESULTADOS Y DISCUSIÓN. 5.1.2.. Ventanas. Los datos de profundidad obtenidos por el sensor tienen cierto ruido, como se puede apreciar en la figura 5.2. Para eliminarlo, o por lo menos suavizarlo, se ha optado por el uso de una ventana. Las ventanas[5] son funciones matemáticas que sirven para evitar discontinuidades al procesar digitalmente secuencias de muestras en pequeños espacios muestrales cuando éstas son demasiado grandes para ser procesadas de una vez. Existe una gran variedad de ventanas. Para escoger la mejor para esta aplicación se han probado las siguientes: Haar. Tiene un comportamiento temporal similar al de un pulso rectangular. Su ecuación es: N −1 X wHaar;N (n) − δ(n − l) (5.1) l=0. En forma vectorial queda como: wHaar;5 − [1, 1, 1, 1, 1]. (5.2). Bartlett. Su comportamiento temporal se asemeja al de un pulso triangular. Se expresa de las siguientes formas: wBartlett;N (n) −. N −1  X l=0. N −1 N −1 − l− 2 2. wBartlett;5 − [0, 1, 2, 1, 0].  δ(n − l). (5.3) (5.4). Binomial. Esta ventana es similar a un pulso gaussiano. Se puede describir como: N −1 X ClN −1 δ(n − l) wBinomial;N (n) − (5.5) l=0. donde ClN −1 =. (N − 1)! (N − 1 − l)!l!. wBinomial;5 − [1, 4, 6, 4, 1]. (5.6) (5.7). Hann. Se comporta temporalmente como medio ciclo de una señal cosenoidal normalizada a la unidad. Su ecuación es:   N −1  X 2πl wHann;N (n) − a0 − a1 cos δ(n − l) (5.8) N −1 l=0 donde a0 =0,5 y a1 =0,5 1 1 wHann;5 − [0, , 1, , 0] 2 2. (5.9). Hamming. Su comportamiento es igual que el de la ventana Hann, puesto que se definen igual, según la ecuación 5.8. La diferencia entre ambas ventanas está en el valor de las constantes. En este caso son:.

(59) 5.1. RESULTADOS. 39. a0 =0,53836 y a1 =0,46164 Y la forma vectorial por lo tanto queda como: wHamming;5 − [0, 0767, 0, 5384, 1, 0, 5384, 0, 0767]. (5.10). Blackman. Tiene un comportamiento temporal definido por una serie de Fourier. Su ecuación es la siguiente:. wBlackman;N (n)−. N −1  X.  a0 − a1 cos. l=0. 2πl N −1. .  + a2 cos. 4πl N −1.  δ(n−l) (5.11). donde a0 =0,42 a1 =0,5 y a2 =0,08. wBlackman;5 − [0, 0, 34, 1, 0, 34, 0]. (5.12). Blackman angostado. Tiene un espectro que requiere un menor ancho de banda. Está definido por:. wBlackmanang;N (n) =. N −1 X. a0 δ(n − l) − a1. l=0 N −1 X. + a2. l=0. N −1 X l=0.  cos. 4πl N −1.  cos. 2πl N −1.  δ(n − l) − a3. . N −1 X l=0. δ(n − l)  cos. 6πl N −1.  δ(n − l) (5.13). donde a0 =0,35875 a1 =0,48829 a2 =0,14128 y a3 =0,01168. wBlackmanang;5 − [0, 0001, 0, 2175, 1, 0, 2175, 0, 0001]. (5.14). Propia. Con el fin de explorar el mayor número de posibilidades se ha probado a variar el valor de los pesos de forma manual, definiendo una nueva ventana con la siguiente expresión vectorial: wP ropia;5 − [1, 2, 4, 2, 1]. (5.15). Tomando como muestra para la comparación de filtros la de la figura 5.2 se ha realizado el filtrado con cada una de las ventanas, obteniendo los siguientes resultados:.

(60) 40. CAPÍTULO 5. RESULTADOS Y DISCUSIÓN 45 Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. 1.55. 1.6 ×10 4. Tiempo (ms). Figura 5.2: Muestra a filtrar. Haar 45 Haar Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. Tiempo (ms). Figura 5.3: Enventanado de Haar. Bartlett. 1.5. 1.55. 1.6 ×10 4.

(61) 5.1. RESULTADOS. 41. 45 Bartlett Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. 1.55. 1.6 ×10 4. Tiempo (ms). Figura 5.4: Enventanado de Bartlett. Binomial 45 Binomial Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. Tiempo (ms). Figura 5.5: Enventanado Binomial. Hann. 1.5. 1.55. 1.6 ×10 4.

(62) 42. CAPÍTULO 5. RESULTADOS Y DISCUSIÓN 45 Hann Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. 1.55. 1.6 ×10 4. Tiempo (ms). Figura 5.6: Enventanado de Hann. Hamming 45 Hamming Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. Tiempo (ms). Figura 5.7: Enventanado de Hamming. Blackman. 1.55. 1.6 ×10 4.

(63) 5.1. RESULTADOS. 43. 45 Blackman Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. 1.55. 1.6 ×10 4. Tiempo (ms). Figura 5.8: Enventanado de Blackman. Blackman angostado 45 Blackman angostado Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. Tiempo (ms). Figura 5.9: Enventanado de Blackman angostado. Propia. 1.55. 1.6 ×10 4.

(64) 44. CAPÍTULO 5. RESULTADOS Y DISCUSIÓN 45 Propia Valores obtenidos. 40. Longitud de paso (cm). 35. 30. 25. 20. 15. 10. 5. 0 1.2. 1.25. 1.3. 1.35. 1.4. 1.45. 1.5. 1.55. 1.6 ×10 4. Tiempo (ms). Figura 5.10: Enventanado propio. Para poder comparar mejor los efectos de las ventanas entre sı́ se presenta un detalle de la muestra filtrada por todas las ventanas en la figura 5.11. 40. 35. Longitud de paso (cm). 30. Haar Binomial Hann Hamming Blackman Blackman angostado Propia Valores obtenidos. 25. 20. 15. 10. 5. 0 2.62. 2.64. 2.66. 2.68. 2.7. Tiempo (ms). 2.72. 2.74. 2.76 ×10 4. Figura 5.11: Comparación de filtros. 5.1.3.. Cinta. Con el objetivo de obtener los resultados más precisos posibles y con el menor ruido se han realizado pruebas colocando la cinta de andar a distintas distancias de.

(65) 5.1. RESULTADOS. 45. la Kinect. Para comparar se presentan a continuación muestras de la longitud de paso a cuatro distancias distintas. A 110 cm los resultados han sido los siguientes: 70. 60. Longitud de paso (cm). 50. 40. 30. 20. 10. 0 0.8. 1. 1.2. 1.4. 1.6. 1.8. 2. 2.2. 2.4 ×10 4. Tiempo (ms). Figura 5.12: Prueba a 110 cm. Los resultados a 160 cm han sido:. 50. Longitud de paso (cm). 40. 30. 20. 10. 0 1. 1.2. 1.4. 1.6. 1.8. Tiempo (ms). Figura 5.13: Prueba a 160 cm. 2. 2.2. 2.4 ×10 4.

(66) 46. CAPÍTULO 5. RESULTADOS Y DISCUSIÓN. A 250 cm se ha obtenido: 60. Longitud de paso (cm). 50. 40. 30. 20. 10. 0 2000. 4000. 6000. 8000. 10000. 12000. 14000. 16000. Tiempo (ms). Figura 5.14: Prueba a 250 cm. Por último los resultados obtenidos a 300 cm han sido:. 60. Longitud de paso (cm). 50. 40. 30. 20. 10. 0 0.8. 1. 1.2. 1.4. 1.6. 1.8. Tiempo (ms). Figura 5.15: Prueba a 300 cm. 2. 2.2. 2.4 ×10 4.

(67) 5.2. DISCUSIÓN. 5.1.4.. 47. Pasos. La figura 5.16 muestra el momento en que se percibe un nuevo paso y se aumenta la cuenta, tomando como referencia la distancia entre los tobillos del paciente. 50. Longitud (cm) Número de pasos. 45. 40. 35. 30. 25. 20. 15. 10. 5. 0 1.7. 1.8. 1.9. 2. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Tiempo (ms). ×10 4. Figura 5.16: Longitud de paso y aumento de la cuenta de pasos. 5.2.. Discusión. En esta sección se exponen las conclusiones sacadas de los resultados vistos en la sección anterior (sección 5.1). 5.2.1.. Vista lateral. Al grabar lateralmente la mitad del cuerpo que está más cerca del sensor tapa a la otra mitad del cuerpo, haciendo que sus valores sean inferidos. Los valores inferidos son valores calculados por probabilidad y por lo tanto no son fiables y producen resultados extraños. Por ello se descartó el uso de las grabaciones laterales. Esto no supuso un gran perjuicio, ya que como Kinect recoge información en los tres ejes simplemente con la grabación frontal se obtiene toda la información necesaria. 5.2.2.. Ventanas. Como se puede ver en la sección 5.1.2, los pesos de las ventanas de Bartlett y Hann cuando la longitud del filtro es cinco son iguales, y por lo tanto el resultado del filtrado con estas ventanas es el mismo (figuras 5.4 y 5.6). Por ello no se ha incluido la ventana de Bartlett en la gráfica comparativa (figura 5.11)..

(68) 48. CAPÍTULO 5. RESULTADOS Y DISCUSIÓN. Con respecto a la ventana de Haar (figura 5.3), como todos los pesos son iguales el resultado es una onda demasiado suavizada, con la que se puede perder información importante y por tanto queda descartada. En el lado opuesto están las ventanas de Blackman y Blackman angostado (figuras 5.8 y 5.9 respectivamente). Como se otorga mucho más peso a la muestra central (actual) que al resto (pasadas y futuras) el resultado es una onda casi idéntica a la original, que no consigue suavizar suficientemente el ruido. El resto de ventanas son más similares entre sı́, como se puede observar en la gráfica comparativa (figura 5.11). La ventana propia es la que más suaviza de ellas y resulta casi idéntica a la ventana Binomial. Por otra parte los pesos de las ventanas de Hann y Hamming son muy parecidos, lo que hace que el resultado del filtrado mediante estas ventanas también lo sea. Finalmente, buscando un equilibrio en el suavizado se ha optado por el uso de la ventana Binomial (figura 5.5). 5.2.3.. Cinta. Comparando las figuras 5.12, 5.13, 5.14 y 5.15 se observa como a 110 cm los datos obtenidos tienen mucho ruido y no se aprecia uniformidad en los pasos. A 160 cm ya se aprecia la uniformidad en los pasos, pero los datos siguen teniendo más ruido del deseable en los máximos. A 250 cm prácticamente no hay ruido. Por último, a 300 cm vuelve a aparecer ruido en los máximos. De todo esto se concluye que el rango de distancias ideal está entre 2 m y 2,5 m. Estas pruebas han sido realizadas con la Kinect a 84 cm de altura. Tanto la altura de la Kinect como la distancia con la cinta pueden variar en función de la cinta que se use y de la altura del paciente para que el cuerpo del paciente entero entre en el ángulo de visión del sensor. Para reducir el ruido y obtener datos fiables hay que tener en cuenta otras cosas como la ropa. Durante las pruebas se observaron malos resultados en las ocasiones en las que la persona que realizaba la prueba llevaba ropa negra. Las sospechas se vieron confirmadas en [7]. Algunos tintes usados en la ropa negra pueden absorber los infrarrojos usados para detectar la profundidad. Los elementos reflectantes también pueden interferir en el sensor. Otra fuente de fallos en la detección del sensor que se ha detectado ha sido en los momentos en los que las piernas se juntaban mucho, ya que se veı́an las articulaciones inferidas. 5.2.4.. Pasos. En la figura 5.16 se aprecia como la cuenta de los pasos aumenta siguiendo perfectamente el algoritmo del código 4.1. Sin embargo, como se puede observar en la zona recuadrada de la gráfica, el conteo no es infalible. Estos errores son debidos a que una de las condiciones impuestas (lı́nea 1 del código) es que la distancia entre ambos tobillos esté comprendida entre 0 y 4,5 cm (posición de pies juntos) antes de hacerse mayor. Por la frecuencia de muestreo de Kinect, que es de 30 Hz, en algunas ocasiones no se captura ningún frame en esa banda de distancias. La probabilidad de que esto ocurra es más alta cuanto más deprisa camina la persona, ya que el tiempo de pies juntos disminuye. Aparentemente la solución más obvia es aumentar la distancia de pies juntos, pero algunos problemas de la marcha, sobre todo en ancianos, implican pasos muy cortos y en ese caso el conteo no funcionarı́a..

(69) Capı́tulo 6. Gestión del proyecto 6.1.. Planificación. La distribución en el tiempo de las tareas realizadas durante este proyecto se pueden ver en el diagrama de la figura 6.1. Este proyecto comenzó en noviembre del año 2016 y concluyó en agosto de 2017. Este proyecto ha sufrido grandes cambios desde el planteamiento inicial hasta la solución final. A continuación se detallan. 6.1.1.. Evolución del planteamiento. La primera idea era utilizar dos Kinects, una grabando frontalmente y otra lateralmente, cada una generando una serie de datos distintos que se combinarı́an para tener el informe final. El primer problema que surje es que la versión del sensor Kinect usada puede dar soporte a varias aplicaciones al mismo tiempo, pero resulta imposible usar más de una Kinect en el mismo equipo. Por lo tanto habrı́a que usar dos equipos, uno por cada Kinect, y tratar los datos generados por ambas por separado, o bien juntarlos en uno de esos dos equipos o en un tercero. Esto va en contra de las premisas de este proyecto de sencillez y bajo coste. Finalmente las grabaciones laterales fueron descartadas como se ha comentado en la sección 5.2.1. Originalmente para realizar la interfaz se partió de una aplicación para UWP (Universal Windows Platform), que permite que las aplicaciones se puedan usar no sólo en ordenadores, si no también en tablets y smartphones y permite también comercializarla en la tienda de Windows. Pero la API de esta plataforma generaba ciertas restricciones, por ejemplo a la hora de generar y guardar un archivo en un directorio elegido por el usuario. Esto hizo que se decidiera cambiar este tipo de aplicación por una aplicación de escritorio WPF.. 6.2.. Presupuesto. Los costes de este proyecto han sido sólo materiales. Se detallan a continuación:. 49.

(70) 50. CAPÍTULO 6. GESTIÓN DEL PROYECTO. Figura 6.1: Diagrama de planificación. Tabla 6.1: Presupuesto Material Kinect para Xbox One Adaptador Kinect para Windows Cinta de andar Total. Precio por unidad (e) 149,99 49,99 235. Unidades 1 1 1. Precio (e) 149,99 49,99 235 438,98.

(71) Capı́tulo 7. Conclusiones Se presentan a continuación las conclusiones sacadas tras la realización de este proyecto y de la memoria. Se incluyen además en este capı́tulo posibles desarrollos futuros para la mejora de este proyecto.. 7.1.. Conclusión. Una vez finalizado el proyecto se puede afirmar que puede ser un gran sistema de diagnóstico de enfermedades. Se trata de un sistema sencillo, que no requiere de muchos elementos: un sensor Kinect, un ordenador o una tableta y una cinta de andar. Además de constar de pocos elementos éstos no requieren ni de un presupuesto alto ni de un gran espacio, lo que permite que pueda usarse en centros que no pueden permitirse un laboratorio de marcha convencional, o incluso en el propio hogar del paciente. La interfaz diseñada es una interfaz de uso sencillo, que permite ver la información de forma clara. Sólo tiene un pequeño inconveniente, cuando se está haciendo uso de las tres gráficas y la prueba dura más de un minuto y medio la aplicación empieza a ralentizarse. Esto no supone un gran problema, ya que las pruebas actuales duran mucho menos. Los resultados obtenidos en las diferentes pruebas han sido muy satisfactorios. Han mostrado que se trata de un sistema fiable y preciso en las condiciones adecuadas y que se puede adaptar a distintos entornos.. 7.2.. Desarrollos futuros. El futuro trabajo más inmediato serı́a el de probar la aplicación con pacientes reales en un entorno hospitalario real. Otra prueba que se podrı́a realizar serı́a la de montar el sensor en un robot móvil que siguiera al paciente manteniendo la distancia constante. A medio plazo los posibles desarrollos deberı́an estar centrados en la inteligencia artificial. Se tratarı́a de introducir redes neuronales para la mejora de la cuenta de pasos y que de esta forma no dependa de la frecuencia de muestreo de Kinect. También se podrı́an aplicar para la detección automática de problemas en la marcha y la elaboración de un diagnóstico en el momento. 51.

(72) 52. CAPÍTULO 7. CONCLUSIONES. La versión de Kinect usada para este proyecto ofrece la posibilidad de ver la fuerza que ejercen los músculos de los cuerpos detectados y la frecuencia cardı́aca a través de la cara, pero sólo en algunos juegos de Xbox One. Si Microsoft decidiera liberar el código que lo permite se podrı́an añadir los datos de la fuerza de los músculos al estudio, y ası́ hacerlo mucho más completo..

(73) Apéndice A. Anexo A En este apéndice se muestran los diagramas UML de las clases del proyecto.. 53.

(74) 54. APÉNDICE A. ANEXO A. Figura A.1: Diagrama UML de MainWindow.

(75) 55. Figura A.2: Diagrama UML de BodiesManager. Figura A.3: Diagrama UML de BodyDistances. Figura A.4: Diagrama UML de Graphics.

(76) 56. APÉNDICE A. ANEXO A.

(77) Bibliografı́a [1] A. Lorena Cerda. Manejo del trastorno de marcha del adulto mayor. Revista Médica Clı́nica Las Condes, 25(2):265 – 275, 2014. Tema central: Medicina fı́sica y rehabilitación. [2] E. Chumpitaz and D. Paredes. Sistema de aprendizaje de matemática con Kinect v2. Master’s thesis, Universidad Peruana de Ciencias Aplicadas, 2016. [3] T. Villar et al. Alteraciones de la marcha, inestabilidad y caı́das. In Tratado de geriatrı́a para residentes, chapter 19. Sociedad Española de Geriatrı́a y Gerontologı́a, 2006. [4] D. Muga González. Investigación de la aplicación de la tecnologı́a Kinect en entornos nucleares. Master’s thesis, Universidad de Cantabria, 2012. [5] M. Ibarra. Matemáticas para el procesamiento digital de señales, chapter 18. Universidad Nacional Autónoma de México, 2013. [6] A. Lorena. Evaluación del paciente con trastorno de la marcha. Revista Hospital Clı́nico Universidad de Chile, 2010. [7] Microsoft. Kinect human interface guidelines v2.0, 2014. [8] S. Londo no. Parkinson kinect system, 01 2012. [9] A. Sánchez, A. Garcı́a, and J. Sánchez. Raint: Aplicación interactiva con realidad aumentada como apoyo al aprendizaje de la lectura de personas con discapacidad auditiva utilizando kinect. In Avances en el desarrollo tecnológico e investigación en el área de Tecnologı́as de la Información y Comunicación en México, pages 46–51. Asociación Nacional de Instituciones de Educación en Tecnologı́as de la Información, 2013. [10] C. Marco Sanz. Cinesiologı́a de la marcha humana normal. url:http://wzar.unizar.es/acad/cinesio/Documentos/Marcha %20humana.pdf.. 57.

(78)

Referencias

Documento similar