UNIVERSIDAD POLITÉCNICA SALESIANA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD POLITÉCNICA SALESIANA"

Transcripción

1 UNIVERSIDAD POLITÉCNICA SALESIANA SEDE CUENCA CARRERA DE INGENIERÍA ELECTRÓNICA Tesis previa a la obtención del Título de: Ingeniero Electrónico DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA PARA EL ANÁLISIS DEL MOVIMIENTO HUMANO USANDO SENSORES KINECT AUTORES: Chuya Sumba Jorge Patricio María del Cisne Cuenca Soto Kleyner Manuel Delgado Guaraca Director: Ing. Patricio Fernando Urgilés Ortiz Cuenca - Ecuador 2013

2 DECLARATORIA DE RESPONSABILIDAD Los conceptos desarrollados, análisis realizados y las conclusiones del presente trabajo, son de exclusiva responsabilidad de los autores. Se autoriza el uso total o parcial de esta tesis a la Universidad Politécnica Salesiana con nes académicos. Cuenca, 23 Septiembre de Jorge Chuya María del Cisne Cuenca Kleyner Delgado i

3 Ing. Fernando Urgilés, Director de Tesis. CERTIFICO Que la presente tesis ha sido desarrollada bajo todos los reglamentos estipulados por la Universidad Politécnica Salesiana y ha cumplido con todos los requerimientos para su aprobación. Atentamente Ing. Fernando Urgilés DIRECTOR DE TESIS ii

4 JUSTIFICACIÓN iii

5 El análisis del movimiento humano forma parte del estudio de la biomecánica y en la actualidad plantea retos interesantes, que si bien presentan cierto grado de dicultad, las implicaciones que sus resultados ofrecen en distintas áreas son de gran utilidad. La información que genera el análisis de movimiento puede ser clasicada dentro del conjunto de señales biométricas que pueden ser medidas sin la necesidad de usar métodos invasivos y que ofrecen información cualitativa y cuantitativa del sujeto de análisis. Esta información se puede utilizar para diversos nes que van desde la detección y análisis de anomalías físicas, aprendizaje y mejoramiento del rendimiento físico en deportistas, hasta el reconocimiento de individuos que representan cierto grado de peligrosidad en la comunidad, ya sea en lugares públicos como aeropuertos, terminales o bancos, entre otros. Sin embargo, las herramientas comunes usadas para el análisis de movimiento suelen tener, en un laboratorio especializado, un alto valor económico; esto diculta e inclusive imposibilita el análisis académico/cientíco por parte de diversas instituciones interesadas en realizar estudios sobre el análisis de movimiento. En la actualidad, el país no cuenta con muchos Centros Especializados en el Análisis de Movimiento; dado su alto costo de implementación y uso, así como su difícil acceso para la realización de estudios. Estos centros según su tipo se clasican en: básicos, de gama media y gama alta. En función del tipo de centro sus costos varían considerablemente, así como la precisión y los métodos de análisis. Por lo general, se usan cámaras de video de alta denición, cámaras optoelectrónicas, marcadores y software especializados. Las tendencias en la investigación actual referente al análisis de movimiento, se enfocan en el desarrollo de herramientas de bajo costo pero con las mismas funcionalidades, incluso eliminando del protocolo estándar algunos procesos tradicionales, tales como el uso de marcadores. Por lo tanto, el presente proyecto de tesis propone la implementación de un sistema enfocado al análisis del movimiento humano, contando con el aval y nanciamiento del Grupo de Investigación en Ingeniería Biomédica (GIIB) de la Universidad Politécnica Salesiana, formando parte del proyecto: Diseño de una herramienta para la adquisición de datos del movimiento del cuerpo humano. iv

6 OBJETIVOS v

7 Objetivo General: Diseñar e implementar un sistema para el análisis del movimiento humano usando sensores Kinect. Objetivos Especícos: Investigar los modelos biomecánicos, cinemáticos y las tecnologías desarrolladas enfocadas al análisis de movimientos. Programar los algoritmos para la implementación del sistema diseñado, basados en los lenguajes de programación para los controladores del sensor Kinect. Adquirir los datos generados por los sensores Kinect necesarios para el sistema. Procesar los datos entregados por los sensores Kinect mediante técnicas de procesamiento digital de señales y modelos estocásticos. Realizar pruebas del sistema de análisis de movimiento. Analizar los resultados obtenidos del Sistema de análisis del movimiento humano. vi

8 La perfección es una pulida colección de errores. -Mario Benedettivii

9 AGRADECIMIENTOS Una virtud de las personas es reconocer y agradecer el aporte de otras para llegar a tener éxito en la vida. Por esto damos gracias en primer lugar a nuestras familias por ser los pilares fundamentales en nuestras vidas, ser el apoyo incondicional en este período de estudio y enseñarnos a luchar para conseguir nuestras metas y objetivos. A nuestros amigos quienes de una u otra forma han colaborado para la culminación de esta tesis. A nuestro director Ing. Fernando Urgilés por ser nuestro guía, colaborador y amigo, y a todos los integrantes del Grupo de Investigación en Ingeniería Biomédica por toda la ayuda brindada durante el desarrollo de este proyecto. Gracias a todos... Mayer, Jorge y Kleyner viii

10 RESUMEN ix

11 El sistema de análisis de movimiento (SAM) es un proyecto de investigación que se desarrolló e implementó en el Grupo de Investigación en Ingeniería Biomédica (GIIB) de la Universidad Politécnica Salesiana. El proyecto está formado por tres etapas: captura de movimiento, reconstrucción y animación tridimensional. Este sistema se basa en la tecnología de cámaras de profundidad que ofrece el dispositivo Kinect. Para el diseño e implementación se considera principalmente las características técnicas que presenta el dispositivo: los ángulos de incidencia (vertical horizontal), las distancias de reconocimiento (mínima máxima), la velocidad de procesamiento del dispositivo y los ángulos de elevación del motor. En el ambiente de trabajo se debe considerar factores externos tales como: la cantidad de luz natural, supercies (reectantes y absorbentes) e inmuebles que pueden generar falsos positivos en el proceso de adquirir el esqueleto del usuario. La etapa de captura de movimiento consta de un arreglo de dos dispositivos (Kinect 0 Kinect 1), este arreglo captura los movimientos mediante 20 puntos que representan las articulaciones que forman el esqueleto del usuario. Para realizar un mejor análisis, al esqueleto se lo ha dividido en 7 secciones. Este análisis se lo realiza de dos formas: todo el cuerpo o por secciones. Existen tres niveles que determinan los parámetros de suavizado durante la adquisición de datos, estos datos se almacenan en un archivos.txt para su posterior análisis. Para determinar la precisión de las trayectorias adquiridas se utiliza los siguientes datos estadísticos: media, mediana y desviación estándar. También se emplea un ajuste polinomial de los datos de cada eje para igualar su número de muestras, con esto calcula la correlación y el p-value para determinar la similitud y la probabilidad estadística de los mismos. La etapa de reconstrucción tridimensional utiliza dos dispositivos (Kinect 2 - Kinect 3) y la librería Kinect Fusion del software Kinect for Windows SDK 1.7 de Microsoft. La altura del usuario es fundamental para los cálculos, porque el ángulo de incidencia no cubre por completo al usuario. Por esta razón, la reconstrucción se la realiza en dos etapas (superior e inferior), para obtener una reconstrucción total se necesita adquirir los datos del usuario tanto frontal como posterior. Estos datos se guardan en archivos.obj para realizar el proceso de modelado y animación tridimensional en la plataforma Blender. Para que el modelo tridimensional imite los movimientos que realiza el usuario, se emplea una comunicación OSC. Donde, la interfaz principal adquiere los datos del usuario y los envía a la plataforma de Blender. x

12 Índice general 1. Introducción Análisis Biomecánico Modelo Biomecánico Análisis de Movimiento Segmentación del Cuerpo Humano Técnicas de Análisis Biomecánico y Cinemático Sistemas de Grabación de Video Sistemas Fotográficos de Captura Sistemas Computarizados Captura de Movimiento Dispositivo Kinect XBOX Componentes Especificaciones Técnicas Controladores y Plataformas OpenKinect: Libfreenect Controladores OpenNI/NITE Microsoft Kinect SDK Consideraciones Diseño e Implementación del Sistema Espacio Físico Etapa 1: Captura de Movimiento Etapa 2: Reconstrucción Tridimensional Cálculos Adquisición de Datos Captura de Movimiento Cámara Cámara de Profundidad Esqueletización Reconstrucción Tridimensional Kinect Fusion Modelo de Reconstrucción Tridimensional Modelado y Animación Tridimensional Blender Bloop Station Cuaterniones y Rotaciones Validación del Sistema Iluminancia Histogramas Entropía Rangos de Estabilidad Captura de Movimiento Reconstrucción Consideraciones

13 ÍNDICE GENERAL ÍNDICE GENERAL 3. Análisis de Captura de Movimiento Precisión Espacial Angular Captura de Trayectorias Análisis de la Cadera Centro Validación de Estadística Consideraciones Análisis del Modelado y Animación Tridimensional Generación del Modelo Tridimensional Animación Tridimensional Construcción del Esqueleto Método Rigging Identificación de Huesos Método Skinning Model Método Weights Painted Mode Animación Comunicación OSC Almacenamiento Archivos BVH Consideraciones Resultados y Aplicaciones Protocolo de Experimentación Captura de Movimiento Reconstrucción Tridimensional Resultados Obtenidos Captura de Movimiento Reconstrucción Aplicaciones del SAM Motion Capture (BVH) Animación Juegos Patrones Biométricos Rehabilitación Biomecánica Ocupacional Robótica Brazo Robótico: Robot Bípedo: Seguridad de Sistemas Industriales Conclusiones y Recomendaciones 64 A. Anexo A 66 A.1. Iluminancia A.2. Histogramas B. Anexo B 69 B.1. Precisión B.2. Captura de Trayectorias B.2.1. Cadera Centro B Hombres B Mujeres B.2.2. Tabla de Valores T-test

14 ÍNDICE GENERAL ÍNDICE GENERAL C. Anexo C 81 C.1. MANUAL C.1.1. Guía de instalación C Controladores C Software para el desarrollo de aplicaciones C Plataforma de animación digital C.1.2. Guía de Usuario C Avatar 3D (Segunda Interfaz) C Plataforma Blender C Comunicación OSC ( Kinect - Blender ) D. Presupuesto SAM 96 E. Protocolo del Sistema de Análisis de Movimiento (SAM) 97 F. Lista de Usuarios 99 Bibliografía 100 3

15 Índice de figuras 1.1. División de los planos anatómicos [1] Estructura de un modelo biomecánico [2] Segmentos del cuerpo hurmano [3] Segmentación del cuerpo humano [3] Movimiento del centro de masa del cuerpo [3] Vista superior de la trayectoria del centro de masa [3] Componentes del sensor Kinect [4] Vista interior de los componentes del sensor Kinect. [5] Etapa 1. Perspectiva del espacio físico para la captura de movimientos del SAM Etapa 1. Vista superior del espacio físico para la captura de movimiento Etapa 1. Vista lateral del espacio físico para la captura de movimiento Etapa 2. Espacio físico para la reconstrucción tridimensional del usuario Etapa 2. Vista superior para la reconstrucción tridimensional del usuario Etapa 2. Vista lateral para la reconstrucción tridimensional del usuario Diagrama de bloques general del Sistema de Análisis de Movimiento Diagrama de bloques general de la interfaz principal del sistema Interfaz principal de la aplicación del Sistema de Análisis de Movimiento Diagrama de bloques general para el control de la cámara del dispositivo Diagrama de bloques general para la cámara de profundidad del dispositivo Diagrama de bloques general para la esqueletización y captura de movimiento (a) Segmentación del usuario, (b) ángulos entre las articulaciones Diagrama de bloques general para la Reconstrucción Tridimensional del sujeto Interfaz de usuario para la Reconstrucción Tridimensional Diagrama de bloques general para la Transmisión OSC Diagrama de bloques general para la Transmisión OSC Niveles de Iluminancia Artificial en la Zona de Trabajo Niveles de Iluminancia Natural en la Zona de Trabajo Imágenes de profundidad en el ambiente de trabajo sin usuario Distribución promedio de la distancia absoluta de los objetos en el ambiente sin usuario Imágenes de profundidad en el ambiente de trabajo con usuario Distribución promedio de la distancia absoluta de los objetos en el ambiente con usuario Distribución de datos de distancia absoluta d del cuadro A.4 (Kinect 0) Distribución de datos de distancia absoluta d del cuadroa.4 (Kinect 1) Valores de la entropía para el ambiente de trabajo sin usuario Kinect 0 y Kinect Valores de la entropía para el ambiente de trabajo con usuario (Kinect 0 y Kinect 1) Vista superior de los rangos de reconocimiento para el Kinect Precisión ( %) de la posición de las articulaciones para el nivel Medio del segmento HAT Precisión ( %) de la posición de las articulaciones para el nivel Medio del Aparato Locomotor Precisión ( %) de los ángulos entre las articulaciones para el nivel Medio Capturas de movimiento del grupo usuario 1 hombres, en cada uno de los modos Capturas de movimiento del grupo mujeres: usuario 2, en cada uno de los modos Capturas de movimiento del grupo hombres: usuario 2, para el modo medio desde el Kinect 0 y Kinect

16 ÍNDICE DE FIGURAS ÍNDICE DE FIGURAS 3.7. Capturas de movimiento del grupo hombres: usuario 2, para el modo medio desde el Kinect 0 y Kinect Desplazamiento, velocidades y aceleraciones estimadas por los Kinect 0 y Kinect 1 del usuario 2 hombres (a) y mujeres (b) Acople de las cuatro partes del modelo tridimensional generado por el SAM Modelo tridimensional procesado con las herramientas Sculpt Mode de Blender 2.68 del sujeto Identificación de los huesos Método Skinning Model Proceso Armature Deform usado en Blender para corregir los errores de acople del modelo tridimensional con el esqueleto Método Weights Painted Mode usado para el acople del modelo tridimensional con el esqueleto del sujeto Animación final Jerarquía de los huesos en los archivos BVH Datos de movimiento que se almacenan en los archivos BVH Reconstrucciones de Usuarios Mujeres Reconstrucciones de Usuarios Hombres Brazo Robótico A.1. Tendencia de los valores promedio de iluminancia en la zona de trabajo con luz artificial [lux] durante distintas etapas del día A.2. Tendencia de los valores promedio de iluminancia en la zona de trabajo con luz natural [lux] durante distintas etapas del día B.1. Valores porcentuales de precisión ( %) de la posición [x, y, z] de las articulaciones en el arreglo de Captura de Movimiento para los parámetros de suavizados en Bajo del segmento HAT B.2. Valores porcentuales de precisión ( %) de la posición [x, y, z] de las articulaciones en el arreglo de Captura de Movimiento para los parámetros de suavizados en Bajo del segmento Aparato Locomotor B.3. Valores porcentuales de precisión ( %) de la posición [x, y, z] de las articulaciones en el arreglo de Captura de Movimiento para los parámetros de suavizados en Alto del segmento HAT y el Aparato Locomotor B.4. Valores porcentuales de precisión ( %) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento para los parámetros de suavizados en Bajo.. 71 B.5. Valores porcentuales de precisión ( %) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento para los parámetros de suavizados en Alto.. 71 B.6. Capturas de movimiento del grupo usuario 2 hombres, en cada uno de los modos B.7. Capturas de movimiento del grupo usuario 3 hombres, en cada uno de los modos B.8. Capturas de movimiento del grupo usuario 4 hombres, en cada uno de los modos B.9. Capturas de movimiento del grupo usuario 5 hombres, en cada uno de los modos B.10. Capturas de movimiento del grupo mujeres: usuario 1, en cada uno de los modos B.11. Capturas de movimiento del grupo mujeres: usuario 3, en cada uno de los modos B.12. Capturas de movimiento del grupo mujeres: usuario 4, en cada uno de los modos B.13. Capturas de movimiento del grupo mujeres: usuario 5, en cada uno de los modos C.1. Add-on Bloop C.2. Add-on Nui C.3. Menús principales C.4. Menús principales C.5. Formato RGB C.6. Menú Archivo C.7. Menú herramientas C.8. Esqueletización C.9. Submenú de Captura C.10. Submenú parámetros

17 ÍNDICE DE FIGURAS ÍNDICE DE FIGURAS C.11. Valores de los Smooth Parameters C.12. Submenú Blender C.13. Menú de profundidad C.14. Datos de Profundidad Color y Usuario C.15. Submenú de propiedades C.16. Imagen con Colores Invertidos y Escala De Grises C.17. Kinect Info C.18. Histogramas C.19. Trayectorias C.20. Selección de los segmentos C.21. Captura de imágenes C.22. Interfaz Reconstrucción 3D C.23. Control motor y rangos de reconocimiento C.24. Menú Opciones de la Interfaz Reconstrucción 3D C.25. Archivos de reconstrucción C.26. Importar archivos C.27. Importación de los archivos.obj a Blender C.28. Acople de los archivos mediante la herramienta Join Mesh C.29. Herramientas de Sculpt Mode C.30. Cambiar el color de la textura C.31. Método Individual para ingresar el esqueleto C.32. Método Rigging C.33. Identificación Huesos C.34. Método With Automatic Weights C.35. Método Skinnig Model C.36. Método Weight Paint Mode C.37. Utilización del método Weight Paint en cada segmento C.38. Menús principales C.39. Kinect Blender

18 Índice de cuadros 1.1. Segmentos del modelo la figura 1.2 [2] Características del dispositivo Kinect [6], [4], [7] Características de los controladores OpenNI y Microsoft SDK [4], [7] Tabla de la resolución de los formatos de las imágenes disponibles en el sistema Tabla para los valores de los parámetros de suavizado preestablecidos para el SAM Pertenencia de la captura de posición y ángulos entre las articulaciones del cuerpo Rangos de estabilidad y reconocimiento de los usuarios para los sensores Kinect 0 y Kinect Distancias usadas para la reconstrucción de varios usuarios Estaturas de la población de hombres y mujeres, extracto del cuadro 2.5 (Chaffin et al., 2006)[8] Estatura (en metros) y edades de los voluntarios para las pruebas del SAM Correlación R entre los ejes [x, y] del modo Medio y Bajo del Kinect 0 y Kinect Correlación R entre los datos del Kinect 0 y Kinect Estadística de los valores en metros [m] del Kinect 0 y Kinect 1 de la Cadera Centro en modo Medio Valores de desplazamiento, velocidad y aceleración en las intersecciones de las curvas del Kinect 0 y Kinect Análisis del t-test entre las muestras en el modo Medio del Kinect 0 y Kinect 1 para el grupo hombres y mujeres Asignación del ID de los huesos del esqueleto en Blender A.1. Valores promedio de iluminancia en la zona de trabajo con luz artificial [lux] durante distintas etapas del día. Las unidades de las distancias están en [m] A.2. Valores promedio de iluminancia en la zona de trabajo con luz natural [lux] durante distintas etapas del día. Las unidades de las distancias están en [m] A.3. Medición de la distancia absoluta (sin unidades) con referencia al Kinect 0 & 1 del ambiente de trabajo sin usuario A.4. Medición de la distancia absoluta (sin unidades) con referencia al Kinect 0 & 1 en el ambiente de trabajo con usuario B.1. Valores porcentuales de precisión (%) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento B.2. Valores porcentuales de precisión (%) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento B.3. Análisis del t-test entre las muestras en el modo Medio del Kinect 0 y Kinect 1 para el grupo hombres y mujeres D.1. Presupuesto del proyecto SAM D.2. Cierre de Proyecto E.1. Datos del Usuario F.1. Lista de Usuarios

19 Capítulo 1 Introducción El estudio de movimiento del cuerpo humano permite analizar las características propias de cada individuo, para en función de los resultados, diagnosticar patologías que puedan ser tratadas por especialistas. De igual forma, las mismas técnicas pueden ser usadas para desarrollar aplicaciones enfocadas a juegos de realidad aumentada, interacción en tiempo real, entre otros. Los métodos para el análisis de movimiento han evolucionado rápidamente perfeccionándolos y creando nuevos métodos más precisos y eficientes Análisis Biomecánico La biomecánica es la aplicación de métodos y técnicas de la ciencia mecánica, que sirve para el análisis y comprensión de los sistemas biológicos ya que analiza las propiedades mecánicas de los tejidos, sistemas y el movimiento de los organismos vivos, y tiene como finalidad tratar con la descripción técnica y anatómica de los movimientos que se utilizan en la medicina. Para este análisis el cuerpo se divide en segmentos, figura 1.1. [9]. La descripción del movimiento anatómico humano explica el movimiento entre los huesos y el rango de cada articulación en tres planos del cuerpo. Figura 1.1: División de los planos anatómicos [1]. Plano frontal o coronal, que divide el cuerpo en partes anterior y posterior. Plano transversal que divide el cuerpo en partes superior e inferior. Plano sagital o lateral que divide el cuerpo en partes derecha e izquierda. 8

20 Modelo Biomecánico CAPÍTULO 1. INTRODUCCIÓN El cuerpo humano puede ser modelado como un conjunto de segmentos rígidos, los cuales varían dependiendo de la intención del análisis. Por ejemplo, si estamos interesados en el estudio de la marcha podemos elegir una configuración de referencia como se muestra en la figura 1.2, [2]; los nombres de cada segmento del modelo se encuentran en la cuadro 1.1. Figura 1.2: Estructura de un modelo biomecánico [2]. N SEGMENTOS R Sistema de referencia inercial 9 Parte superior del brazo derecho 1 Pelvis (parte inferior del cuerpo) 10 Antebrazo derecho 2 Cintura (parte medio del cuerpo) 11 Mano derecha 3 Tórax (parte superior del cuerpo) 12 Muslo derecho 4 Parte superior del brazo izquierdo 13 Pierna derecha 5 Antebrazo izquierdo 14 Pie derecho 6 Mano izquierda 15 Muslo izquierdo 7 Cuello 16 Pierna izquierdo 8 Cabeza 17 Pie izquierdo Cuadro 1.1: Segmentos del modelo la figura 1.2 [2]. Los segmentos que participan en la movilidad se agrupan en cuatro segmentos de las extremidades inferiores y son [3]: Cintura: Transmite la fuerza que se ejerce sobre ella y la adaptación de la pelvis, que se inclina o se balancea en respuesta al apoyo unilateral, ya que la locomoción afecta alternativamente ambos miembros inferiores. Cadera y muslo: Proporcionan al miembro inferior la posibilidad de desplazamiento en las tres direcciones del espacio, siendo siempre el muslo el segmento más móvil. 9

21 CAPÍTULO 1. INTRODUCCIÓN La rodilla y pierna: Aseguran la solidez del movimiento en la locomoción vertical, proporcionan también estabilidad en la sucesión de las fases de apoyo y suspensión durante el desplazamiento y el salto. Las diferentes partes del pie: Tienen como función la adaptación al suelo en las diferentes formas de locomoción Análisis de Movimiento La kinesiología es la ciencia que analiza el movimiento humano para mejorar la eficiencia y la reducción del riesgo de lesiones. Para analizar el movimiento se usa el método cualitativo y cuantitativo. El análisis cuantitativo consiste en la medición de las variables biomecánicas y por lo general requiere de un computador para realizar los cálculos numéricos. El análisis cualitativo consiste en la observación sistemática y el criterio introspectivo de la calidad del movimiento humano con el fin de mejorar el rendimiento (Knudson y Morrison, 2007) [10]. Estos análisis ayudan a prevenir lesiones ya que proporcionan información sobre las propiedades mecánicas de los tejidos y las cargas mecánicas durante el movimiento 1. Los estudios biomecánicos proporcionan datos importantes para encontrar o confirmar una anomalía dentro de la medicina deportiva y estudios de investigación médica Segmentación del Cuerpo Humano Para entender el análisis de movimiento es necesario estudiar al cuerpo como un conjunto de segmentos unidos entre sí. El concepto de Perry (1992) [11], sugiere que hay que considerar el segmento de carga y los segmentos del aparato locomotor. En el segmento de carga se localiza la cabeza, los brazos y el tronco. Al conjunto de estos segmentos se denomina segmento HAT 2. Los segmentos del aparato locomotor incluyen: la pelvis y extremidades inferiores (pie, pierna y muslo), estos segmentos se articulan en el tobillo, rodilla, cadera y la unión lumbosacra como se muestra en la figura 1.3 [3]. Figura 1.3: Segmentos del cuerpo hurmano [3]. El segmento HAT tiene como objetivo que el movimiento que se efectúe en línea recta hacia la dirección prevista, y este puede ser definido por un centro de masa. 1 Con está información se puede diseñar terapias preventivas o de rehabilitación específicas para cada paciente [10]. 2 Representa el conjunto formado por la cabeza, brazos y torso en inglés HAT: head, arms, torso. 10

22 CAPÍTULO 1. INTRODUCCIÓN Los sistemas clínicos comúnmente usados dividen al cuerpo en siete o trece segmentos, los cuales están definidos por un sistema de coordenadas cartesianas que relacionan la anatomía ósea de cada segmento, como se observa en la figura 1.4. El modelo actual de siete segmentos tiene: dos pies (1, 2), dos piernas (3, 4), dos muslos (5, 6), y el segmento HAT (7). Con la evolución de las computadoras y la tecnología disponible, actualmente se ha elaborado un nuevo modelo en donde el cuerpo es divide en trece segmentos figura 1.4, en este modelo la parte superior consta de seis partes adicionales al modelo anterior. Las partes que se incorporan son: la cadera (11), el tronco (12), brazo (9, 10) y antebrazo (7, 8), y cabeza (13) [3]. Figura 1.4: Segmentación del cuerpo humano [3]. Durante el análisis, cada uno de los segmentos del aparato locomotor tiene su propio centro de masa fijo. El centro de masa puede cambiar significativamente por la oscilación de los brazos, tronco, flexión y el movimiento de la cabeza. Para tener la máxima eficiencia durante el movimiento, el centro de masa del segmento HAT debe moverse en una sola dirección hacia adelante, sin embargo esto no es físicamente posible, por lo que el objetivo es reducir al mínimo la oscilación horizontal y vertical del segmento. El modo de andar más eficiente requiere que el centro de masa esté fuera del plano de movimiento, figura 1.5. Figura 1.5: Movimiento del centro de masa del cuerpo [3]. 11

23 CAPÍTULO 1. INTRODUCCIÓN En la figura 1.6 se puede observar que el movimiento del centro de masa es un camino que dibuja una trayectoria sinusoidal durante el periodo del desplazamiento. Figura 1.6: Vista superior de la trayectoria del centro de masa [3] Técnicas de Análisis Biomecánico y Cinemático El caminar es un patrón de movimiento. El diagnóstico de las dificultades de una persona depende de una descripción precisa de las acciones que ocurren en cada articulación, por tal motivo la ciencia ha desarrollado varias técnicas para el análisis de movimiento. Estas técnicas han evolucionado con el tiempo proporcionado grandes avances: datos gráficos y numéricos, aspectos cinéticos y cinemáticos del movimiento, acción muscular o consumo de energía (tanto en sujetos sanos como en enfermos) 3 que tienen múltiples aplicaciones en estudios biomecánicos, en neurología, rehabilitación, fabricación de calzado o en el campo deportivo [11] Sistemas de Grabación de Video Las cámaras ofrecen un control remoto de los datos de registro y examen de movimiento de todo el cuerpo. Actualmente la tecnología registra el movimiento del sujeto para el análisis observacional o para cuantificar los datos, también puede ser utilizada como la base para un sistema de análisis cinemático de la misma manera que la fotografía ha sido utilizada; esto tiene ventajas considerables en términos de coste, comodidad y rapidez. El número de cámaras utilizadas determinan la exactitud de la grabación del movimiento. Para realizar el seguimiento adecuadamente del cuerpo y las extremidades a través del espacio se necesita de un mínimo de dos cámaras, de lo contrario se subestiman los movimientos sagitales cuando la alineación articular es oblicua al plano de la película de grabación [11]. A pesar de que puede no ser tan precisa debido a la resolución más pobre, se puede automatizar el proceso de digitalización por medio de un DSP (Procesamiento Digital de Señales por sus siglas en inglés) utilizando marcadores en la piel como puntos de referencia lo cual significa una ventaja considerable [1] Sistemas Fotográficos de Captura Este método se realiza con imágenes y consiste en fotografiar al sujeto ya sea caminando o realizando una actividad. Una vez que las fotos son procesadas, se identifican los puntos de referencia y las medidas de las coordenadas bidimensionales para luego digitalizar la imagen. El operador mueve el cursor a los puntos adecuados de la imagen y transfiere las coordenadas a una software especializado. Este método tiene como ventajas el bajo costo de los equipos y la posibilidad de alta precisión, mientras como contraparte el tiempo para procesar las fotografías es considerable [1] Sistemas Computarizados En esta técnica se fijan marcadores reflectantes a las extremidades del sujeto ya sea cerca de los centros de los conjuntos o fijados a los segmentos de cada extremidad para identificar sus posiciones y orientaciones. Los sistemas difieren en cómo localizar el centro de gravedad o centro geométrico de cada marcador de la imagen adquirida, pero se calcula generalmente utilizando los bordes de los puntos brillantes en el campo de visión. Debido a que un gran número de bordes se utilizan para calcular la posición del centro de gravedad, su posición puede ser determinada con mayor precisión en la resolución horizontal y vertical de la imagen [1]. 3 Se considera sujetos sanos a aquellos cuyos patrones de caminata son normales en función de los parámetros de [3]. 12

24 Captura de Movimiento CAPÍTULO 1. INTRODUCCIÓN Es el proceso que traduce movimientos reales a representaciones digitales, esto se logra mediante el seguimiento de un conjunto de puntos importantes en una escena por un tiempo determinado. El objetivo principal es el seguimiento en tiempo real de un número ilimitado de puntos de interés, sin limitación de espacio, a la más alta frecuencia posible con el menor margen de error (Parent et al., 2009) [12]. Se define un conjunto de puntos principales en la persona, estos se ubican en las áreas de mayor información de sus movimientos. Dichos puntos hacen referencia a las partes rígidas de la persona como las diferentes articulaciones que posee el cuerpo humano. Con el avance de la tecnología en el área computacional se ha mejorado la técnica. Estos sistemas se valen de algoritmos que mediante el análisis de la entrada de datos entregado por las cámaras, son capaces de identificar figuras humanas para la realización del seguimiento. En la actualidad existen dispositivos empleados para juegos los cuales capturan los movimientos de los usuarios usando las técnicas antes mencionadas. En función de los costos y la fiabilidad de los datos obtenidos, es factible su uso en el estudio del movimiento humano Dispositivo Kinect XBOX-360 El dispositivo Kinect (o también conocido como sensor Kinect) es un cubo rectangular de aproximadamente 0.23m de largo que se conecta a una base hexagonal unida por medio de un eje de articulación rotular [6], [4]. El sensor soporta una cámara RGB (Red, Blue, Green), un conjunto de micrófonos, un sensor de profundidad capaz de capturar el movimiento tridimensional de un cuerpo humano y tiene la capacidad de reconocer la voz y el rostro. El Kinect simultáneamente procesa la información del hardware y software [13] Componentes En la figuras 1.7 y 1.8 se muestran los componentes del sensor desde la perspectiva de uso del usuario y desde su interior respectivamente [14], [15]: Figura 1.7: Componentes del sensor Kinect [4]. Cámara RGB: entrada de 3 canales con capacidad de resolución de hasta 1280x960 en la captura de la imágenes de color. Emisor IR 4 y sensor de profundidad IR: el emisor IR emite rayos infrarrojos y el sensor de profundidad IR lee los rayos que se reflectan hacia al sensor. Los rayos reflectados son transformados en información de la distancia entre el sensor y el objeto. Ésto hace posible la adquisición de la imagen de profundidad. Arreglo de micrófonos: contiene cuatro micrófonos que capturan la información de audio. Gracias a la disposición de los micrófonos es posible grabar y determinar la dirección de la fuente de audio. 4 La radiación infrarroja es una onda electromagnética y térmica invisible e inofensiva al ojo humano. 13

25 CAPÍTULO 1. INTRODUCCIÓN Motor: permite tener una inclinación que oscila entre los ±27º adicionales al ángulo de visión vertical de la cámara. Acelerómetro: posee un rango de 2G en los tres ejes espaciales, donde G es la fuerza de gravitación. LED. Adicional a estos componentes que están integrados al dispositivo, se tiene un USB Hub por medio del cual el Kinect es conectado a la computadora 5. Figura 1.8: Vista interior de los componentes del sensor Kinect. [5] Especificaciones Técnicas Las principales características se muestran en la tabla : 1 Sensores de profundidad Kinect XBOX-360 Cámara: 640x840 CMOS, 16 bits, 30 fps. Infrarrojo: resolución 0.01m eje Z; ~ 0.003m ejes X e Y. 2 Cámara RGB VGA 640x480, 32 bits, 30 fps. 3 Micrófonos 4 Motor Ángulo inclinación:±27º. Rango: ±50º.. Cancelación ruido: 20dB. Resolución: 24 bits PCM (Pulse Code Modulation). Frecuencia: 16 khz. 5 Acelerómetro 2G/4G/8G para un rango de 2G con una precisión de ±1º. 6 Rango de profundidad 7 Ángulo de visión Min. : 0.8m a 1.2m. Max.: 3.5m a 4m. Horizontal: 57º. Vertical: 43º. Cuadro 1.2: Características del dispositivo Kinect [6], [4], [7]. 5 Para más información visitar la página web: microsoft.com/en-us/library/jj aspx. 6 El rango mínimo en el Kinect para Windows disminuye entre 0.4m a 0.8m, el máximo se mantiene [6]. 14

26 Controladores y Plataformas CAPÍTULO 1. INTRODUCCIÓN CARACTERÍSTICAS DE LOS CONTROLADORES DEL DISPOSITIVO KINECT Ventajas Desventajas SDK MICROSOFT Soporte para audio. Incluye las manos, pies y clavícula. Seguimiento de cuerpo completo. No necesita postura de calibración. Soporte para el motor de inclinación. Mejor tratamiento de articulaciones no visibles. Soporta múltiples sensores. Instalación simple. Gran cantidad de información disponible. Sistema de reconocimiento de gestos. La versión 1.7 permite correr el Kinect SDK sobre máquinas virtuales. Licencia única para uso no comercial. Mayor consumo de recursos computacionales. Solamente para Windows 7 & 8(x86 y x64). Sin soporte incorporado para grabación y reproducción. Sin soporte para transmitir los datos sin procesar del sensor infrarrojo. SDK OPENNI/NITE Uso libre y comercial. Adquiere datos de las manos para seguimiento y reconocimiento de gestos. Seguimiento de cuerpo entero. Puede calibrar la profundidad y el color de la imagen. Cálculo de la rotación de las articulaciones. Plataforma múltiple: Windows XP, Vista, 7, Linux y MacOSX Soporte incorporado para grabación y repro- ducción. Instalación complicada. Sin soporte para audio y motor de inclinación. Necesita de una postura de calibración. Articulación no visibles no son estimadas. Compatible con varios sensores, aunque la configuración y enumeración es complicada. Cuadro 1.3: Características de los controladores OpenNI y Microsoft SDK [4], [7]. Los controladores para el sensor Kinect están disponibles para el usuario en distintas modalidades de licencia, siendo los principales: OpenKinect, OpenNI y el oficial Kinect Windows SDK. Estos controladores funcionan en MacOSX10.7, Windows 7 y Ubuntu [13], [16] OpenKinect: Libfreenect Controladores Estas librerías se encuentran bajo licencia de uso libre y están soportadas por la comunidad de software libre. Los controladores desarrollados permiten acceder a las cámaras obteniendo imágenes RGB y de profundidad, también se puede acceder al control del motor, acelerómetro y el led OpenNI/NITE Desarrollado por PrimeSense 7, este entorno permite acceder a los datos de profundidad, a las imágenes RGB de la cámara, al audio del arreglo de micrófonos. OpenNI se maneja bajo licencias de código libre y comerciales. NITE es el entorno de trabajo que permite acceder directamente a la esqueletización del usuario para el reconocimiento de posturas y gestos. Tiene licencia comercial. 7 Prime Sense es la empresa israelí que desarrolló el microprocesador capaz de adquir las imágenes en 3D y que trabajó en conjunto con Microsoft en el desarrollo del sensor Kinect [16]. 15

27 CAPÍTULO 1. INTRODUCCIÓN Microsoft Kinect SDK Este entorno de desarrollo es el oficial lanzado por Microsoft. Permite acceder al motor, al arreglo de micrófonos para grabar audio, a la cámara RGB y a los datos de profundidad de las imágenes; además da seguimiento hasta dos usuarios y reconoce a seis en un área aproximada de 10m 2. A diferencia de las anteriores el desarrollo de aplicaciones en este entorno está sujeto a las licencias de uso libre de Microsoft y sus políticas comerciales. En el cuadro 1.3, se muestra una comparación entre los controladores que más prestaciones ofrecen OpenNI y Microsoft SDK Consideraciones Los datos obtenidos por el sensor Kinect y procesados por el controlador oficial permiten establecer analogías y similitudes entre los métodos empleados para el análisis del movimiento humano. Ciertas características como la esqueletización y la reconstrucción tridimensional, se asemejan a la segmentación de las articulaciones del cuerpo y a ciertos modelos biomecánicos empleados por estudios clínicos de patologías relacionadas con el movimiento humano. 16

28 Capítulo 2 Diseño e Implementación del Sistema Para el diseño del Sistema de Análisis de Movimiento (SAM) es necesario considerar las limitaciones técnicas: distancia máxima de reconocimiento, resolución de los datos de profundidad, precisión de los datos del seguimiento y la velocidad de procesamiento computacional del sensor Kinect y su controlador 1. El espacio físico está sujeto a variables externas como la cantidad de luz natural que incide en el ambiente de trabajo, superficies reflectantes y absorbentes que afectan el retorno de los haces de luz emitidos por el emisor de infrarrojos e inmuebles que pueden generar falsos positivos en la esqueletización del usuario Espacio Físico El SAM consta de 4 dispositivos Kinect, que están dividido en dos arreglos independientes entre sí, y en función de los objetivos del análisis pueden ser redistribuidos acorde a las especificaciones aquí desarrolladas y validadas. El sistema está dividido en dos etapas de adquisición de datos: captura de movimiento y reconstrucción tridimensional Etapa 1: Captura de Movimiento La etapa de Captura de Movimiento está formada por dos Kinect ubicados a los extremos del área de trabajo cuyas vistas frontales están sobre el mismo eje y altura, figura 2.1. Figura 2.1: Etapa 1. Perspectiva del espacio físico para la captura de movimientos del SAM. 1 En función del controlador, la precisión de los datos pueden variar. Para el sistema se ha escogido el controlador Kinect SDK 1.7 de Microsoft. 17

29 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA En esta etapa se usan las características del Skeleton Tracking que dan acceso a los datos X, Y, y Z para cada posición en el espacio de las articulaciones. Los valores máximos en metros de cada posición articular del esqueleto en los ejes espaciales son: X = [ 2.2, 2.2], Y = [ 1.6, 1.6] y Z = [0, 4]. Los ángulos de visión vertical y horizontal que se usan para determinar las dimensiones máximas de la área de trabajo 2 de 43º y 57º respectivamente [14], [6]. En la figura 2.2 se muestra el área iluminada donde los datos del Kinect son estables. La plataforma o zona de trabajo tiene 2.0m de largo y 1.1m de ancho y se encuentra dentro de la zona en verde de la figura 2.2. La zona de 0.2m desde los bordes de la plataforma hacia el centro tiene inestabilidad para los datos de las articulaciones de las extremidades inferiores. Las siguientes zonas implican la perdida total de datos de las extremidades inferiores y la cabeza conservando cierta estabilidad en el centro y puntos circundantes. Los puntos ciegos de los dispositivos oscilan entre los 1.2m y 0.4m en función de la altura del usuario. Figura 2.2: Etapa 1. Vista superior del espacio físico para la captura de movimiento. Desde la posición Kinect 0 y Kinect 1 se considera el origen [0, 0.8, 0]para los valores adquiridos independientemente. Los valores adquiridos Y son compensados con 0.8m ya que el Kinect independientemente de su altura interpreta que sus coordenadas son [0, 0, 0] metros en X, Y y Z.[14]. Estos valores, usados para la esqueletización y extracción de las posiciones de las articulaciones, son complementarios. Figura 2.3: Etapa 1. Vista lateral del espacio físico para la captura de movimiento. La altura de los dispositivos con respecto al piso es de 0.8m a un ángulo de inclinación del motor de 0º, ver figura 2.3. Los infrarrojos incidentes en el piso son absorbidos por la plataforma que esta hecha de un material negro no reflectante, esta característica disminuye el ruido que afecta a la reconstrucción. 2 Los ángulos de visión del Kinect se utilizan para establecer las zonas de estabilidad horizontales principalmente para la adquisición de trayectorias 18

30 Etapa 2: Reconstrucción Tridimensional CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA La etapa de Reconstrucción Tridimensional esta formada por un arreglo de dos dispositivos etiquetados como Kinect 2 y Kinect 3 cuyos planos frontales son paralelos y su altura es la misma con respecto al piso. Para esta etapa se consideran los ángulos de elevación del motor que oscilan entre 27º y 27º y el ángulo de visión vertical de43º [6]. La ubicación de esta etapa se encuentra a la mitad del espacio físico de la primera, figura 2.4. Figura 2.4: Etapa 2. Espacio físico para la reconstrucción tridimensional del usuario. La distancia a la que se encuentra cada Kinect con respecto al otro varía en función de la altura de la persona. La distancia mínima es 1.1m que corresponde al ancho de la plataforma de trabajo, y la máxima es 1.9m, figura 2.5. Figura 2.5: Etapa 2. Vista superior para la reconstrucción tridimensional del usuario. El rango de visión vertical impide la reconstrucción completa del usuario. Por tal motivo, la reconstrucción se realiza en dos fases: parte superior y parte inferior. Para el desarrollo de este proceso, es necesario conocer la estatura aproximada del usuario para realizar los cálculos que nos permite encontrar la distancia óptima para la reconstrucción, como se observa en la figura

31 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Cálculos Para calcular la altura óptima del sensor con respecto al piso d y la distancia del mismo con respecto al usuario b, se necesita conocer la altura del usuario h más una distancia adicional de 0.1m 3. Sin esta constante, el modelo se genera solamente hasta los tobillos. Para encontrar una función que relacione la distancia y altura de los sensores con respecto a la estatura del usuario se analiza el esquema de la figura 2.6. Figura 2.6: Etapa 2. Vista lateral para la reconstrucción tridimensional del usuario. Así tenemos que la altura d y la distancia b en función de la estatura h corresponden a las ecuaciones y 2.2, donde c = 0.1 y φ = ±21.5º: d(h) = 1 (h + c) (2.1) 2 b(h) = 1 4 ( ) h + c tan(φ) (2.2) El ángulo de elevación del servo motor para cada fase de reconstrucción es de θ s para la superior y θ i para la inferior, figura 2.6. Sea Θ el ángulo de elevación general del servo motor, entonces: ( ) b Θ = arctan φ (2.3) d reemplazando la ecuación 2.1 y 2.2 en 2.3 se tiene que: Θ = arctan(2tanφ) φ (2.4) al reemplazar el valor de φ en la ecuación 2.4 tenemos que Θ = ±16.73º ±17º, donde el valor positivo corresponde a θ s y el negativo a θ i. Al validar (sección 2.3) los resultados se ha descubierto que a los valores del ángulo de elevación se suman un rango de 5º para el ángulo φ positivo y negativo respectivamente 5. 3 Esta distancia es un ajuste de la altura del usuario para obtener una reconstrucción completa. 4 El ángulo φ corresponde a la mitad del ángulo de visión vertical del dispositivo Kinect. 5 Esta variación guarda relación con la estatura del sujeto a ser reconstruido y la distancia de este con respecto a los sensores. 20

32 2.2. Adquisición de Datos CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA El diseño de la arquitectura del software para la adquisición de datos del SAM se divide en tres bloques principales que representan los procesos inherentes al manejo y uso de la información proporcionada por los dispositivos Kinect y las interfaces con las que el usuario interactúa en el sistema. Figura 2.7: Diagrama de bloques general del Sistema de Análisis de Movimiento. Captura de Movimiento: proporciona la información necesaria para calibrar y ajustar el sistema al medio, su función principal es adquirir y almacenar los datos de posición y ángulos de las articulaciones del sujeto de análisis, también transmite estos datos a Blender 6 para la animación del modelo tridimensional del usuario. Reconstrucción: permite adquirir las capturas tridimensionales de los usuarios generando archivos Object (OBJ) o STereoLithography (STL) (son formatos de archivos que permiten definir geometrías en tres dimensiones) que luego son usados para el modelado en Blender 2.6x. Modelado y Animación Tridimensional: el bloque hace referencia a la animación y modelado tridimensional de las capturas de los usuarios desde las Captura de Movimiento y Reconstrucción a Blender. Para la animación se usa la comunicación OSC (Open Sound Control) que transmite la información en el espacio del sujeto [17]. Estos procesos tienen una jerarquía de funcionalidad independiente para fines específicos. Los procesos Captura de Movimiento y Reconstrucción 3D son mutuamente excluyentes 7 y su interacción es bidireccional, mientras que Modelado y Animación Tridimensional recibe los datos de los dos procesos anteriores unidireccionalmente. Las características del hardware y software usados para el desarrollo del SAM están dentro de las recomendaciones mínimas propuestas por la página oficial de Kinect for Windows 8. Hardware: CPU: Procesador: Intel(R) Core(TM) i7-2600k 3.40 GHz Memoria RAM: 16.0 GB Tarjeta de video: NVIDIA GeForce GT360 [NoDB] Sistema Operativo: Windows 7 Profesional x64-bit Kinect para Xbox360 y accesorios. Software: Tanto Captura de Movimiento como Reconstrucción 3D no funcionan juntos en la misma sesión por limitaciones de hardware y restricciones de protocolo

33 Microsoft Visual Studio 2012 Express 9 Microsoft.NET Framework 4.5 El Kinect for Windows SDK 1.7 (x86 o x64) 10 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Ejemplos de aplicaciones en C# para Kinect for Windows: Kinect for Windows Developer Toolkit v DirectX Software Development Kit, June 2010 o versiones anteriores 12 Ejemplos proporcionados por los libros de A. Jana y J. Web & J. Ashley 13 Blender Captura de Movimiento La interfaz del proceso de Captura de Movimiento es también la interfaz principal del sistema y ofrece al usuario información sobre el estado de los dispositivos conectados. Al iniciar el programa principal por defecto se enciende el primer dispositivo conectado a los puertos USB del computador. Figura 2.8: Diagrama de bloques general de la interfaz principal del sistema. En la figura 2.8 se muestra la jerarquía de funcionamiento de la variables iniciadas. El nivel (b) muestra la región del constructor que ejecutan las variables que encienden al dispositivo conectado. Por defecto se inicia los datos del proceso Color Stream, nivel (c). En (c) se muestra las clases que determinan el estatus del hardware del dispositivo. Kinect Info entrega información acerca de la identidad del dispositivo y la dirección del puerto USB al que está conectado, estatus de conexión, Data Stream y el ángulo de elevación inicial del motor. Estos datos se muestran en Visualizar en el proceso (e). Las clases de Control Motor y Control General permiten manipular el ángulo de elevación del motor y encender o detener el dispositivo respectivamente, proceso (d). Los procesos de (e) facilitan al usuario acceder a los datos del Depth Stream y Skeleton Stream. En la figura 2.9 se muestra la interfaz principal de la aplicación que el usuario manipula para hacer uso de las características del SAM. La interfaz tiene un diseño simple e intuitivo que busca un rápido aprendizaje y acople de los usuarios a las herramientas y propiedades propuestas que engloban las necesidades principales de un sistema de análisis de movimiento Estos ejemplos están disponibles en: y respectivamente. 22

34 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Figura 2.9: Interfaz principal de la aplicación del Sistema de Análisis de Movimiento Cámara La cámara del Kinect tiene distintas resoluciones y formatos. Los formatos disponibles para las imágenes a color están codificadas como RGB, YUV o Bayer. Se puede usar una resolución a la vez [4], [14]; nivel (b), (c) y (d) de la figura Las resoluciones disponibles para cada formato son mostrados en el cuadro Figura 2.10: Diagrama de bloques general para el control de la cámara del dispositivo. El modo infrarrojo usa los datos de Infrared Stream que permite mejorar la calibración de la cámara observando el patrón de radiación infrarroja (IR) emitida por el sensor, con esta característica se 14 Para mas información visitar la página web: para el formato de color y para el formato infrarrojo. 23

35 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA establece la interferencia entre cada dispositivo. Hay que considerar que el censado del IR determina la profundidad a la que se encuentran sujetos y que cualquier interferencia puede provocar falsos positivos al momento capturar el movimiento. La opción de resolución del infrarrojo se muestra en el cuadro 2.1. Formato Color/Infrarrojo RGB YUV Bayer Infrarrojo Resolución RgbResolution640x480Fps30 RgbResolution1280x960Fps12 YuvResolution640x480Fps15 RawYuvResolution640x480Fps15 RawBayerResolution1280x960Fps12 RawBayerResolution640x480Fps30 InfraredResolution640x480Fps30 Cuadro 2.1: Tabla de la resolución de los formatos de las imágenes disponibles en el sistema. Adicionalmente se puede trabajar con imágenes de Color Invertido y Escala de Grises: nivel (d), estás características son útiles para métodos de fotografía mencionados en el capítulo 1 sección Todas la imágenes pueden ser guardas en los distintos formatos y resoluciones, nivel (e) Cámara de Profundidad La cámara de profundidad provee imágenes donde sus píxeles contienen la distancia de los objetos cercanos al plano de la cámara. Los datos de profundidad y de los usuarios segmentados en las imágenes están en milímetros 15, nivel (b) de la figura La resolución de la cámara de profundidad por defecto es de 640x480. Figura 2.11: Diagrama de bloques general para la cámara de profundidad del dispositivo. En el nivel (c) se extrae la información de la imagen de profundidad en Información Imagen que contiene la información acerca de la distancia mínima y máxima que el Kinect puede censar, de los píxeles de las imágenes y la resolución de la imagen. Los Histogramas, como se indica en [14], muestran los objetos cercanos en una distribución de datos donde el pico más alto indica al objeto más cercano respecto a la cámara. Esta información es útil para determinar como el sujeto y los objetos del ambiente influyen en el sistema. Los histogramas se muestran en el nivel (e). En el nivel (d) se muestra los diferentes procesamientos de las imágenes de profundidad. Por defecto se tiene la imagen de profundidad en Escala de Grises, además se puede elegir entre Usuario Pixel que es una imagen binaria de blanco y negro que solo muestra al sujeto segmentado y el Color Map que asigna una matriz de color en función de la distancia del usurario u objeto a la cámara IR del dispositivo. Las imágenes generadas se pueden guardar para su posterior análisis, nivel (e). 15 Para más información visitar la página web: 24

36 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Esqueletización La esqueletización permite obtener la posición en el espacio de cada articulación del usuario así como seguir sus movimientos dentro del área de reconocimiento del dispositivo. En función de las capturas se pueden determinar trayectorias y ángulos de desplazamiento, velocidades y aceleraciones, ciclos de marcha, etc., según sea el enfoque del estudio realizado [18], [19]. Los valores adquiridos están sujetos al margen de error característico del sistema dado que éste usa estimaciones de la posición real de cada articulación, [20], [21]. En la figura 2.12 se muestra el diagrama de bloques general del proceso para capturar el movimiento de la personas. En el nivel (b) se activa SkeletonStream que por defecto carga los valores de los parámetros de suavizado para la visualización del esqueleto, cuadro 2.2. Figura 2.12: Diagrama de bloques general para la esqueletización y captura de movimiento. Los parámetros de suavizado permiten obtener una mejor resolución de los datos del esqueleto aumentando el consumo de los recursos de procesamiento del hardware. Por defecto se han establecido tres niveles de suavizado que pueden ser seleccionados previo el inicio de las capturas, nivel (c). Estos son 16 : Bajo: se tiene pequeño suavizado con un mínimo retardo. Se filtran pequeños picos de información. Es útil para el reconocimiento de gestos en juegos. Medio: se obtiene una variación más significativa en el suavizado con un mayor retardo y filtrado de picos. Es bueno para sistemas que necesitan un buen suavizado y pocos saltos, sin embargo es poco recomendable para el reconocimiento de gestos. Alto: el suavizado es grande con un retardo igualmente mayor. Existe un gran filtrado de picos. Es ideal para sistemas donde un gran suavizado sea lo buscado. En desventaja se tiene un gran retardo y un lento reconocimiento de gestos. Los parámetros se activan por medio del método SkeletonStream.Enable (TransformSmoothParameters); sus valores se muestran en el cuadro Para más información visitar la página web: 17 A pesar de las especificaciones que establecen el rango para el parámetro Smoothing de [0.0, 1.0], en la práctica este valor arroja un mensaje de excepción del tipo System.ArgumentOutOfRangeException que impide la compilación de la aplicación por lo que el valor recomendado tiene que ser <

37 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Smoothing Correction Prediction JitterRadius MaxDeviationRadius Rango [0.0, 1.0] [0.0, 1.0] >= 0 >= 0 >= 0 Predeterminado Bajo Medio Alto Cuadro 2.2: Tabla para los valores de los parámetros de suavizado preestablecidos para el SAM. Establecidos los parámetros de suavizado se determinan los parámetros de la esqueletización: Sentado y Completo, nivel (d) de la figura A continuación se estable las principales diferencias y similitudes de funcionamiento entre los dos modos de captura de movimiento [6], [4] y [14] 18 : El modo Sentado captura la posición estimada o inferida de las diez articulaciones superiores del esqueleto (hombros, codos, muñeca, manos y cabeza) mientras que el modo Completo da seguimiento a las veinte articulaciones totales. En modo Completo el usuario debe pararse frente al dispositivo para ser reconocido en cambio en el modo Sentado se debe realizar algún movimiento para iniciar el seguimiento, puede reconocer usuarios en posición erguida. El modo Completo no es recomendado para capturar usuarios sentados. Se puede alternar entre los modos rápidamente reiniciando la esqueletización. La identificación del esqueleto del usuario se reasigna nuevamente. Se puede usar un solo modo con un mismo Kinect. Con diferentes Kinect se puede usar distintos modos. Ambos modos pueden dar seguimiento a dos usuarios de seis reconocidos por el sistema. El modo Sentado consume más recursos de procesamiento que el Completo. Para la adquisición de las trayectorias, el esqueleto se divide en siete secciones que corresponden al segmento HAT: Cabeza, Torso y Brazos Derecho e Izquierdo, y al Aparato Locomotor: Cadera, Pierna Derecha e Izquierda, figura Figura 2.13: (a) Segmentación del usuario, (b) ángulos entre las articulaciones. 18 Para más información visitar la página web: 26

38 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA HAT Locomotor Segmentación Sujeto Segmento Posición Articulaciones Ángulos Articulaciones Cabeza Cabeza Hombro Hombro Hombro Centro Centro (HCR) Centro (HCL) Torso Hombro Hombro Hombro Hombro Hombro Centro Centro Derecho Izquierdo Centro (SCR) Centro (SCL) Brazo Hombro Codo Muñeca Mano Hombro Codo Muñeca Derecho Derecho Derecho Derecha Derecha Derecho Derecho Derecha Brazo Hombro Codo Muñeca Mano Hombro Codo Muñeca Izquierdo Izquierdo Izquierdo Izquierda Izquierda Izquierdo Izquierdo Izquierda Cadera Cadera Cadera Cadera Centro Centro Centro Centro Derecha Izquierda Derecho Izquierdo Inferior Pierna Cadera Rodilla Tobillo Pie Cadera Rodilla Tobillo Derecha Derecha Derecha Derecho Derecho Derecha Derecha Derecho Pierna Cadera Rodilla Tobillo Pie Cadera Rodilla Tobillo Izquierda Izquierda Izquierda Izquierdo Izquierdo Izquierda Izquierda Izquierdo Cuadro 2.3: Pertenencia de la captura de posición y ángulos entre las articulaciones del cuerpo. Las articulaciones que forman parte de los segmentos pertenecen a la serie Joint del esqueleto generado con los datos de SkeletonStream [4], [14] y [21], tabla En el nivel (e), el algoritmo 2.1 muestra el método básico para adquirir la posición de cada articulación. Algoritmo 2.1 Método usado para la captura de la posición de la cabeza del usuario. El lenguaje de programación usado es CSharp (C#). void sensor_skeletonframeready(object sender, SkeletonFrameReadyEventArgs e) { Skeleton[] skeletons = null; using (SkeletonFrame frame = e.openskeletonframe()) { if (frame == null) return; skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.copyskeletondatato(skeletons); this.viewmodel.isskeletonstreamenabled = this.sensor.skeletonstream.isenabled; } var x = skeleton.joints[jointtype.head].position.x, var y = skeleton.joints[jointtype.head].position.y, var z = skeleton.joints[jointtype.head].position.z; } Con la posición se puede calcular la distancia entre cada articulación [22]. Para este cálculo se tiene que P = (p 1, p 2,..., p n ), Q = (q 1, q 2,..., q n ) y R = (r 1, r 2,..., r n ) son las posiciones en el espacio euclidiano R n donde n es un número entero no negativo R + de las articulaciones del esqueleto del usuario, por lo que d (P,Q) se muestra en la ecuación 2.5. d (P,Q) = PQ = n (p i q i ) 2 ; n = 1, 2, 3,... (2.5) i=1 19 Si se escoge el modo Sentado se debe considerar que los datos del torso los valores de la articulación Centro no son adquiridos. 27

39 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Para el cálculo de los ángulos entre dos articulaciones se consideran tres puntos en R n y se usa la siguiente fórmula con el producto punto [23], [24], [25]: cos(θ) = PQ QR PQ QR = n i=1 (p i q i )(q i r i ) n n ; n = 1, 2, 3,... (2.6) (p i q i ) 2 (q i r i ) 2 i=1 donde el método implementado en C# usa el arccos de la ecuación 2.6 para obtener el valor de θ en grados 20. i=1 Algoritmo 2.2 Método para el cálculo de la distancia entre dos articulaciones del esqueleto en el espacio R n. El lenguaje de programación usado es CSharp (C#) [14]. private float GetJointDistance(Joint firstjoint, Joint secondjoint) { float distancex = firstjoint.position.x - secondjoint.position.x; float distancey = firstjoint.position.y - secondjoint.position.y; float distancez = firstjoint.position.z - secondjoint.position.z; return (float)math.sqrt(math.pow(distancex, 2) + Math.Pow(distanceY, 2) + Math.Pow(distanceZ, 2)); } Los valores de la distancia d (P,Q) y el ángulo θ no son constantes, aún si el usuario está estático, esto debido al método de estimación de la posición y a factores ambientales[20]. Las variaciones pueden disminuir o aumentar en función de los parámetros de suavizado del nivel (c) figura El siguiente nivel (e) realiza la Transmisión Open Sound Control (OSC) 21 para la animación del modelo tridimensional en Blender, el código implementado en C# se muestra en el algoritmo 2.3. Aquí también se realiza el guardado de la información recopilada en archivos formato Texto. Algoritmo 2.3 Método implementado en Captura de Movimiento para la adquisición la posición del usuario para la Transmisión OSC hacia Blender. El lenguaje de programación usado es CSharp (C#). using (SkeletonFrame frame = e.openskeletonframe()) { if (cbxblender.ischecked==true) { int i = 1; foreach (Skeleton skeleton in skeletons) { if (skeleton.trackingstate == SkeletonTrackingState.Tracked) { client.sendskeletondata(skeleton, i); this.drawskeleton(skeleton); i++; } } } } 20 Para que θ se muestre en grados es necesario convertir de radianes a grados los valores entregados por defecto por la clase Math de C#.. 21 Open Sound Control es un protocolo que permite comunicar instrumentos de música, computadoras y otros dispositivos multimedia y fue pensado para compartir información musical en tiempo real sobre una red [26]. Para más información visitar la página web: 28

40 Reconstrucción Tridimensional CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA El proceso de Reconstrucción Tridimensional es independiente de la Captura de Movimiento y para iniciarlo se debe presionar el botón Avatar3D de la figura 2.9, por lo que Sensor Kinect del nivel (b), el Kinect Info del nivel (c), Control General y Control Motor del nivel (d) y Visualizar del nivel (e) son los mismos métodos usados para la Captura de Movimiento con la particularidad de que en vez de un solo Kinect ahora se usan dos. Figura 2.14: Diagrama de bloques general para la Reconstrucción Tridimensional del sujeto. En la figura 2.15 se muestra la interfaz de usuario del proceso durante la reconstrucción tridimensional de la parte superior de una de los voluntarios para la validación del SAM, aquí se observa los ángulos de inclinación de los motores (pueden ser manipulados independientemente), los rangos de reconocimiento del área de reconstrucción y el estatus del proceso, la información de los sensores y las opciones de formatos disponibles para el guardado. Para guardar hay que pausar el proceso. Figura 2.15: Interfaz de usuario para la Reconstrucción Tridimensional. 29

41 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Kinect Fusion Para generar un modelo tridimensional, el sistema usa la librería Kinect Fusion del Kinect SDK 1.7. Esta librería permite realizar el escaneo de objetos y crear modelos tridimensionales en tiempo real usando el sensor Kinect. Para obtener una reconstrucción de calidad, la posición de los Kinect deben estar acorde a la mostrada en la figura 2.4, nivel (b) y (d) de la figura 2.14 [27] 22. Las características del Kinect Fusion son: Rastreo: utiliza sólo los datos de profundidad del sensor. Se basa en la variación de la profundidad en cada fotograma para determinar las diferentes posiciones de los objetos en la escena. Volumen de Reconstrucción: se compone de pequeños cubos en el espacio, que se denominan vóxeles 23. El valor de la variable VoxelsPerMeter determina el tamaño que un vóxel representa a escala real. La combinación de vóxeles en los ejes X, Y y Z por metro permite especificar un volumen con diferentes tamaños y resoluciones. Kinect Fusion reconstruye el modelo mediante la integración de los datos de profundidad, la reconstrucción se realiza desde múltiples vistas. El área de reconstrucción se determina empleando el control de rangos de reconocimiento propios de la librería. Para cambiar la localización y orientación de una escena es necesario desplazar el sensor de tal manera que se fusionen los datos de profundidad con la posición de la persona u objeto y así poder realizar la reconstrucción del volumen. A continuación se describen las etapas de reconstrucción del modelo tridimensional: Primera Etapa: en esta etapa se realiza la conversión de la matriz de datos de profundidad sin procesar, los cuales se convierten en dos tipos de datos: depthfloatbuffer (datos de profundidad en coma flotante) y PointCloudBuffer (conjunto de puntos en un espacio tridimensional). Segunda Etapa: se calcula la posición y orientación de la cámara mediante algoritmos de alineación iterativos[28]. Existen dos algoritmos: NuiFusionAlignPointClouds: se utiliza para alinear la nube de puntos 24 calculados a partir de la reconstrucción con la nueva nube de puntos entrante generada con los datos de profundidad del Kinect. AlignDepthToReconstruction: proporciona mayor precisión en el seguimiento de la cámara al trabajar con un volumen de reconstrucción. Sin embargo, esto puede ser menos robusto para reconocer los objetos que se mueven en una escena. Tercera Etapa: en esta última etapa se integran los datos de profundidad del sensor en una sola representación de volumen que corresponde al espacio que se encuentra al frente del dispositivo. Esta integración se hace de forma continua, identificando también cambios dinámicos en la escena Modelo de Reconstrucción Tridimensional La reconstrucción del usuario se realiza en dos fases: superior e inferior. Durante este proceso, el Kinect 2 adquiere los datos de la parte frontal y el Kinect 3 de la parte posterior del usuario, como se muestra en la figura 2.6. Estos datos se guarda en archivos con formato OBJ o STL, nivel (e) de la figura Los cuatro archivos se importan en la plataforma Blender, la cual se emplea para realizar modelados tridimensionales. En esta plataforma se realiza el acople de las cuatro partes que forman el modelo de reconstrucción tridimensional del sujeto. El modelo acoplado tiene pérdida de datos por los puntos ciegos que no son iluminados por la nube de puntos y por lo general se encuentran en las partes laterales. Para rellenar estos espacios se usan las herramientas de rellenado y suavizado de Blender explicadas en el capítulo Para más información visitar la página web: 23 El vóxel (del inglés volumetric píxel) es la unidad cúbica que compone un objeto tridimensional. 24 Una nube de puntos es un conjunto de puntos de datos en un sistema de coordenadas tridimensional que con frecuencia están destinadas a representar la superficie externa de un objeto [29]. 30

42 Modelado y Animación Tridimensional CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA El proceso de Modelado y Animación Tridimensional recibe los datos de posición e identificación de las articulaciones del usuario. En la figura 2.16 se muestra la jerarquía de funcionamiento del proceso donde el servidor OSC, nivel (b), se encuentra dentro del programa principal de Captura de Movimiento recibiendo los datos del algoritmo 2.3. El método del proceso esta implementado en el algoritmo 2.4. Figura 2.16: Diagrama de bloques general para la Transmisión OSC. Algoritmo 2.4 Método implementado en Captura de Movimiento para la transmisión de los datos desde el servidor OSC hacia Blender. El lenguaje de programación usado es CSharp (C#). class OscSender { private static readonly TransportType TransportType = TransportType.Udp; private static readonly IPAddress MulticastAddress = IPAddress.Parse(" "); private static readonly int Port = 7110; private static readonly IPEndPoint Destination = new IPEndPoint(MulticastAddress, Port); private static readonly string AliveMethod = "/osctest/alive"; private static volatile bool ssendmessages; private static OscBundle sbundle; private static OscMessage smessage; private static OscClient soscclient; } public void sendskeletondata(skeleton skeleton_data, int i) { IPEndPoint sourceendpoint = new IPEndPoint(IPAddress.Loopback, Port); sbundle = new OscBundle(sourceEndPoint); smessage = new OscMessage(sourceEndPoint, "/skeleton", soscclient); } foreach (Joint joint in skeleton_data.joints) { OscMessage oscmessage = new OscMessage(sourceEndPoint, "/skeleton", soscclient); oscmessage.append(joint.jointtype.tostring()); oscmessage.append(i.tostring()); oscmessage.append(joint.position.x.tostring()); oscmessage.append(joint.position.y.tostring()); oscmessage.append(joint.position.z.tostring()); oscmessage.send(destination); } 31

43 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA El envío de la información al cliente OSC es mediante el protocolo User Datagram Protocol (UDP) con una dirección IP y puerto de enlace 7110 con un método OSC Alive OSCtest. El cliente OSC se encuentra implementado en el script Natural User Interfaz (NUI) y el script Bloop lee los datos generados por el NUI para realizar la animación, éstos están desarrollados en Python 25. Ambos se activan como add-ons para Blender, nivel (c) y (d). El esqueleto del modelo en tridimensional y los movimientos realizados por el usuario se almacenan en archivos Biovision Hierarchy (BVH), nivel (e) [30]. BVH es un formato de archivo tridimensional que guarda los datos jerárquicos que representan los huesos del esqueleto, junto con el posicionamiento de cada una de sus partes en cada fotograma de la animación [31]. Este formato consta de dos partes, la primera sección detalla la jerarquía y pose inicial del esqueleto y la segunda sección de movimiento describe los datos del canal para cada muestra Blender Bloop Station Bloop es un add-on para Blender que permite al usuario animar personajes tridimensionales en tiempo real y combina captura de movimientos, títeres digitales 26 y comandos de voz que controlan la configuración del sistema. El resultado es una forma de interacción que no interrumpe el flujo de trabajo de los usuarios y es ampliamente utilizado en las industrias de juegos, cine y televisión. En la figura 2.17 se observa la interfaz entre Captura de Movimiento y Blender con el add-on NUI y Bloop activados.[30]. Figura 2.17: Diagrama de bloques general para la Transmisión OSC. Bloop se desarrolló con la versión descontinuada Kinect for Windows SDK Beta 2.0 por lo que sus líneas de código son incompatibles con la versión oficial Kinect for Windows SDK 1.7. En la versión oficial se introdujeron grandes cambios en la API (Application Programming Interface). Para cambiar la sintaxis del código de Bloop a la versión oficial es necesario considerar las siguientes diferencias entre la versión Beta y la oficial SDK 1.7 del controlador Kinect for Windows: Los espacios entre los nombres de las clases cambian de Microsoft.Research.Kinect.Nui a Microsoft.Kinect. El objeto que controla el flujo de datos cambia del tipo Runtime al objeto de tipo KinectSensor y permite grabar una matriz estática que contiene los datos de todos los sensores Kinect conectados al PC. 25 Phyton es un software libre que posee estructura de datos de alto nivel y un enfoque simple pero eficaz a la programación orientada a objetos. Para más información visitar la página web: 26 Para más información acerca de las animaciones en Blender visitar la página web: php/doc:2.6/manual/your_first_animation/2.animating_the_gingerbread_man 32

44 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA KinectSensor permite la lectura del flujo de datos de la cámara, profundidad y del esqueleto. En la versión Beta este proceso no se puede observar. Por ejemplo, en la versión oficial se usa el objeto ImageFrame en vez del PlanarImage y crea una matriz de bytes para la generación de imágenes en sus distintos formatos y resoluciones. El suavizado de datos (Transform Smooth Parameters) es menos complejo en la versión Beta que en la oficial. Estos parámetros en la versión SDK 1.7 son habilitados durante el flujo de datos. Para la transmisión de datos a las articulaciones se tiene en cuenta los siguientes aspectos 27 : Jerarquía: se establece una jerarquía de huesos en función de las articulaciones definidas por el sistema de seguimiento del esqueleto. Especificación: los huesos son especificados en relación a los huesos principales o padres y las articulaciones circundantes. Rotación: proporciona la cantidad de rotación en el espacio tridimensional y la dirección del hueso a partir de la matriz ósea. El eje cartesiano de referencia del objeto en el espacio es el hueso padre. Orientación Absoluta del Jugador: la rotación del centro de la cadera proporciona la orientación absoluta del usuario en las coordenadas espaciales de la cámara Cuaterniones y Rotaciones Las rotaciones son importantes para la animación virtual y la robótica ya que permite determinar los ángulos entre uniones o articulaciones, la orientación de los cuerpo y los parámetros de las cámaras bidimensionales o tridimensionales[32]. En general se considera que los cuaterniones son la mejor representación de la rotación tridimensional. Un cuaternión es una forma alternativa de representar rotaciones en cualquier eje y tienen ventajas sobre otros métodos, por ejemplo la rotación de ángulos de Euler 28 tiene problemas de Gimbal Lock 29. Matemáticamente un cuaternión q es una extensión de los números complejos expresados como: i 2 = j 2 = k 2 = ijk = 1. La rotación usando cuaterniones está definida como la suma de un escalar y el vector q = (q 1, q 2, q 3 ) expresada en la ecuación 2.7 [33], [34]: q = q 0 + q = q 0 + q 1 i + q 2 j + q 3 k (2.7) La representación con vectores unitarios de la rotación se define en la ecuación 2.8. El ángulo θ está en radianes alrededor del eje definido por el vector u = [u x,u y,u z ]: q = q 0 + q = cos θ 2 + usin θ 2 (2.8) A continuación se muestran algunas características que favorecen el uso de los cuaterniones para la adquisición de las rotaciones y desplazamientos en la animación del modelo tridimensional implementado por medio de scripts programados en Python que funcionan como add-ons en Blender: La representación de una rotación es más compacta en un cuaternión (4 números) que en una matriz ortogonal (9 números). Es más sencillo de interpretar para el desarrollo de video juegos. Permite hacer rotaciones suaves. Robusto a errores de redondeo durante la concatenación de rotaciones. Las rotaciones se realizan mediante la multiplicación de cuaterniones. No hay Gimbal Lock. 27 Para más información visitar la página web: 28 En este método, para cada eje hay un valor que especifica la rotación alrededor de él, se tienen tres variables [x, y, z] en el espacio R 3 donde la rotación se expresa como R = R x (γ)r y (β)r z (α). 29 Gimbal Lock es la pérdida de un grado de libertad que ocurre cuando dos de los tres ejes necesarios para las rotaciones tridimensionales son llevados a la misma dirección. 33

45 2.3. Validación del Sistema Iluminancia CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Dadas las condiciones del ambiente del SAM en las que no se tiene un control directo sobre el grado de incidencia de la luz natural se consideró definir un rango de horas laborables en el día en las que se pueda obtener los mejores resultados sin temor a interferencias en la captura de datos. Para definir la distribución de la luz ambiente en la zona de trabajo se procedió a medir la iluminancia [lux] desde el Kinect 0 como punto inicial [0m] hasta el Kinect 1 como extremo final [5.5m] a una altura de 0.8m con respecto al suelo y corresponde a la altura a la los dispositivos censan los datos. Se definen dos condiciones ambientales: con luz artificial (luminaria fluorecente) y con luz natural (ausencia de luz artificial) 30, los datos adquiridos se muestran en los cuadros A.1 y A.2 del anexo A respectivamente. En base a la experimentación se concluye que el rango horario para realizar la captura de movimientos es desde las 16:00 hasta las 20:00 horas, con preferencia hacia las horas con ausencia de luz solar. Esto concuerda con las recomendaciones dadas por parte del fabricante de que la luz natural afecta al desempeño de los sensores Kinect ya que en la práctica los haces luz solar que se reflejan sobre superficies lizas, ya sean espejos o ventanas, generan falsos positivos o que provocan inestabilidad al determinar la posición de las articulaciones del esqueleto. El rango horario se cumple sin importar si las capturas se realizan con luz artificial ya que esta no contiene todas las frecuencias de luz que afectan al sensor como si lo hace la luz solar. El en la figura 2.18 y 2.19 se muestran la iluminancia a lo largo de la zona de trabajo con iluminación artificial y natural respectivamente. Figura 2.18: Niveles de Iluminancia Artificial en la Zona de Trabajo Figura 2.19: Niveles de Iluminancia Natural en la Zona de Trabajo. 30 Los datos de luz natural se vieron afectados por la luz artificial emitida desde laboratorios adyacentes pero sus valores en la práctica no son significativos. 34

46 Histogramas CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Mediante el análisis de la distribución de los datos de profundidad en la zona de trabajo se puede determinar la forma en que los objetos influyen en las capturas. La interfaz principal del usuario provee de la herramienta Histogramas para observar en tiempo real como es esta interacción de los sensores con el ambiente. En la figura 2.20 se muestran las imágenes de profundidad generadas por los sensores Kinect 0 y Kinect 1 y en la figura 2.21 se muestra la distribución de los histogramas de la Distancias Absolutas a la que se encuentran los objetos con respecto al sensor IR del Kinect, el método usado para la adquisición de estos valores se describe en [14]. Para el cálculo de la distancia absoluta se tiene que d = d máx(d), donde d es la distancia de los objetos con respecto al sensor y máx(d) es el valor máximo de la distancia d en esa iteración del código usado para la adquisición de estos datos. En el cuadro A.3 se muestran los datos adquiridos para Kinect 0 y Kinect 1 en la disposición mostrada en la figura2.2 donde se observa que los valores de la mediana y la media, el primer y tercer cuartil se asemejan entre sí indicando que el método es robusto. Los valores de la desviación estándar son altos debido a los valores atípicos presentes en los datos adquiridos. En promedio la media y la desviación estándar para el Kinect 0 y Kinect 1 son µ k0 = 84,µ k1 = 129, y σ k0 = 20, σ k1 = 22 respectivamente. Figura 2.20: Imágenes de profundidad en el ambiente de trabajo sin usuario. Figura 2.21: Distribución promedio de la distancia absoluta de los objetos en el ambiente sin usuario. La distribución de los datos en el ambiente de trabajo se ven alteradas con la presencia del usuario llevándola hacia la izquierda de la distribución mostrada en la figura 2.21, las barras con mayor acumulación de datos representan al usuario, el resto de mucha menor magnitud a los objetos cercanos al sensor Kinect. Al igual que los datos anteriores la distribución se ve afectada por los valores atípicos 35

47 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA del sistema. Para realizar el análisis de la distribución se escogió al azar cinco voluntarios que permanecieron estáticos en el centro de la zona de trabajo. Los valores promedio de la media y la desviación estándar para el Kinect 0 y Kinect 1 son µ k0 = 33, µ k1 = 29 y σ k0 = 8, σ k1 = 8 respectivamente y se muestran en las distribuciones de la figura Figura 2.22: Imágenes de profundidad en el ambiente de trabajo con usuario. Figura 2.23: Distribución promedio de la distancia absoluta de los objetos en el ambiente con usuario. En las figuras 2.24 y 2.25 se muestran los boxplot del cuadro A.4 donde se aprecian los valores mínimos y máximos, el primer y tercer cuartil, la mediana o valor central y los valores atípicos de los datos adquiridos. Aquí se observa que la distribución por lo general está desplazada e inclinada hacia la izquierda para todos los usuario para cada uno de los sensores, lo que corresponde con la distribución promedio mostrados en los histogramas de la figura Los valores atípicos si bien repercuten en el cálculo de la media y la desviación estándar, no implican que la interpretación de los histogramas como indicadores de la distribución de la distancia de los objetos y el usuario en el ambiente de trabajo sea errónea. Nuestro análisis se basa fundamentalmente en el estudio de valores estadísticos robustos como son la mediana y los cuartiles de cada boxplot de los usuarios participantes en el experimento. Hay que considerar que si bien los histogramas mostrados aquí no guardan mucha similitud en referencia a los dados por el sistema en tiempo real, los patrones de la figura 2.23 son válidos. El análisis de datos acumulados para encontrar el patrón de los histogramas corresponde a la adquisición de n = muestras adquiridas para cada uno de los cinco experimentos para los cinco usuarios. 36

48 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Figura 2.24: Distribución de datos de distancia absoluta d del cuadro A.4 (Kinect 0). Figura 2.25: Distribución de datos de distancia absoluta d del cuadroa.4 (Kinect 1) Entropía Para determinar el patrón de incidencia de los infrarrojos sobre el ambiente de trabajo con y sin usuario se usa el análisis de la entropía de las imágenes infrarrojas 31 adquiridas en el nivel (c) del proceso Color Stream mostrado en la figura La entropía es la medida de la aleatoriedad de una señal transmitida, es decir determina la incertidumbre que lleva su información. Se mide en bits y define la cantidad de información contenida en la fuente de transmisión a partir de la información particular de cada salida. Si todas las salidas tiene la misma probabilidad, la entropía será máxima. La ecuación 2.9 muestra el cálculo para la entropía E [35]: donde p i contiene los datos del histograma de la imagen infrarroja. E = p i log(p i ) (2.9) Al calcular la entropía del ambiente de trabajo obtenemos el nivel de aleatoriedad de las rayos infrarrojos los cuales nos indican las zonas reflectantes y absorbentes del sistema. En la figura 2.26 se 31 Las imágenes infrarrojas por defecto se crean en escala de grises. 37

49 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA muestra que la mayor concentración de bits se da en los emisores de los infrarrojos de los sensores y en la parte central de la plataforma de la zona de trabajo. La imágenes fueron adquiridas dentro del rango horario con presencia de luz natural, esto se puede observar en la imagen generada por el Kinect 1 en la esquina superior donde hay una gran acumulación de datos cercanos al máximo de bits de la escala de medición. Figura 2.26: Valores de la entropía para el ambiente de trabajo sin usuario Kinect 0 y Kinect 1. La entropía con usuario se muestra en la figura 2.27, y se observa que la acumulación de datos generados por el patrón IR se concentran principalmente en el usuario. Esto implica que los datos adquiridos para la esqueletización y por ende la captura de movimiento son confiables, ya que la ausencia de superficies reflectantes evita los falsos positivos. Hay que observar que los datos de la cabeza que entrega el Kinect 1 se ven afectados por el cabello negro de los usuarios 32 como se aprecia en la acumulación de bits de la figura 2.27 que ronda desde los 0 hasta los 0.5 bits, esta información nos ayuda a determinar los parámetros de suavizado y así poder reducir la inestabilidad de las coordenadas de la posición. La vestimenta que se recomienda (y que fue usada para la obtención de las imágenes IR) para los usuarios deben ser ajustadas al cuerpo y de materiales no absorbentes, ya que mejoran considerablemente la resolución de la captura de movimiento y la reconstrucción tridimensional. Figura 2.27: Valores de la entropía para el ambiente de trabajo con usuario (Kinect 0 y Kinect 1). 32 No todos los tipos de cabello son iguales, por ejemplo los usuarios con cabello claro muestran un menor rango pérdida de información. 38

50 Rangos de Estabilidad Captura de Movimiento CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Los valores de distancias mostradas en el cuadro 2.4 y observadas en la figura 2.28, representan los rangos de estabilidad para la captura de movimiento donde las variables analizadas son: la distancia u del Kinect con respecto a la plataforma donde los valores presentan inestabilidad en las extremidades inferiores y la cabeza, y u 1 implica la pérdida total de los valores de las posiciones de las articulaciones; la distancia v representa la distancia de máxima de estabilidad y que corresponde al largo de la plataforma de la zona de trabajo; y el valor de distancia w que es el rango de neutral dentro y fuera de la plataforma. Estas variables cambian en función de la estatura del sujeto 33. Las medidas del largo de la zona trabajo del SAM es de 5.6m y el ancho de 2.6m. Figura 2.28: Vista superior de los rangos de reconocimiento para el Kinect 1. Rangos de Estabilidad y Reconocimiento Dispositivo Usuario Estatura u[m] v[m] w[m] u 1 [m] Media DE IC 95% [2.25, 1.75] [1.83, 1.45] [1.49, 1.05] Kinect Media DE IC 95% [2.11, 1.77] [1.83, 1.49] [1.32, 1.02] Kinect 1 Cuadro 2.4: Rangos de estabilidad y reconocimiento de los usuarios para los sensores Kinect 0 y Kinect Los rangos de estatura guardan relación a la distribución mostrada en [8] para ciudadanos estadounidenses, ya que en el país no investigaciones ni bases de datos confiables para usarlas como fuente de referencia, sin embargo se estimó un estatura promedio para ambos sexos que se ajuste a la referencia. 39

51 CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA Reconstrucción Para realizar la reconstrucción del modelo en tridimensional, es necesario determinar la altura del sensor con respecto al piso y la distancia entre el sujeto. Para agilitar la reconstrucción se propone el siguiente protocolo: Calcular la distancia mínima de reconocimiento, por defecto se establecen los valores de calibración del Kinect Fusion entre 0.35 para el mínimo y 1.0 a 1.5 para el máximo. Calcular la altura de los sensores en función de la estatura del usuario usando la ecuación 2.1. Calcular la distancia entre el sensor y el usuario usando la ecuación 2.2 y aplicar simetría para los dos sensores Kinect. Determinar los ángulos de inclinación del sensor para reconstruir la parte superior y la inferior del sujeto, por cálculos se establecen que los estándar del ángulo de elevación Θ es de ±17º. Para casos atípicos, donde no se reconstruyen completamente las extremidades inferiores (pies), se propone la adicionar un ángulo de compensación φ que oscila entre los 5º. En el cuadro 2.5 se muestran las distancias necesarias para la reconstrucción completa de varios voluntarios con un ángulo de elevación Θ = ±17º. Esto es compatible con el esquema de la figura Distancias Reconstrucción Tridimensional Usuario h[m] d[m] d 2 [m] b[m] Cuadro 2.5: Distancias usadas para la reconstrucción de varios usuarios Consideraciones Para poder obtener un sistema robusto para la Captura de Movimiento y Reconstrucción Tridimensional se consideraron las recomendaciones del fabricante y la información bibliográfica disponible de los sensores y su programación en C#. La metodología seguida se enfoca en el diseño de la zona de trabajo acoplándonos a al ambiente de trabajo disponible, por lo que en la arquitectura del software se incluyen herramientas, que si bien no influyen en la captura de movimiento, nos permiten validar el sistema para cualquier ambiente y así determinar si es viable o no implementar el sistema. La arquitectura del software está orientada hacia una continua actualización y mejora del sistema de adquisición de datos de tal forma que no se vean afectados los procesos (Captura de Movimiento, Reconstrucción Tridimensional y Modelado y Animación Tridimensional) mostrados en la figura 2.7. Los métodos y clases del código están divididos y clasificados para facilitar la compatibilidad entre las nuevas versiones del controlador o una mejora de la interfaz de usuario. Para la validación del SAM se consideran variables que influyen directamente en la interacción de los sensores con el ambiente y los sujetos/usuarios en el arreglo propuesto e implementando. Para cualquier alteración de la disposición de los sensores, los valores mostrados pueden variar y no corresponder a los mostrados en este trabajo, sin embargo se puede afirmar que el protocolo propuesto es válido y fácil de reproducir. 34 El cuadro 2.5 muestra los valores calculados para la reconstrucción de los voluntarios ordenados según su estatura ascendentemente, siendo los valores repetidos obviados por no ser importantes para lo que se quiere demostrar en esta sección del capítulo. 40

52 Capítulo 3 Análisis de Captura de Movimiento 3.1. Precisión Para calcular la precisión del sistema al momento de estimar los valores de los ángulos entre las articulaciones y su posición espacial, bajo las condiciones ambientales de trabajo y el arreglo de sensores establecido, se mide la variación promedio de valores adquiridos durante un tiempo t cualquiera (para el experimento es de aproximadamente 30s) en un rango de oscilación definido por los parámetros de suavizado indicados en la tabla 2.2 del capítulo 2. El usuario permanece estático durante las mediciones. En los cuadros B.1 y B.2 del anexo B se observan las mediciones de la media, mediana y la desviación estándar para cada uno de los modos: Bajo, Medio y Alto. En base a la información estadística y las observaciones durante las experimentaciones, se establece que el parámetro que mejor resolución y estabilidad ofrece es el Medio Espacial En las figuras 3.1 y 3.2 se observan el grado de precisión para cada articulación en el espacio para el segmento HAT y el Aparato Locomotor, respectivamente. La diferencia en la precisión entre los dispositivos en el arreglo corresponde a la perspectiva que se tiene del sujeto, el Kinect 0 captura la postura frontal mientras que el Kinect 1 la posterior 2. Las posiciones de la Cabeza, el Centro, las Muñecas y las Manos presentan valores menores a la media general. En el caso de la Cabeza el cabello de los usuarios influye en la estimación, y para las Muñecas y las Manos el error es característico del controlador [20]. Figura 3.1: Precisión (%) de la posición de las articulaciones para el nivel Medio del segmento HAT. 1 El parámetro Alto ofrece ventajas relativamente mejores en relación al Medio, pero hay que considerar el coste computacional que su utilización implica. 2 La recomendación es realizar la captura de movimiento en una postura frontal con respecto al sensor. 41

53 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO La variabilidad de la posición del Centro se debe a las características de la población de muestra tomada para el cálculo. Las articulaciones del Aparato Locomotor son estables para el Kinect 0, mientras que para el Kinect 1 la precisión varía conforme se va descendiendo hacia los pies. La media para el segmento HAT del Kinect 0 y Kinect 1 es µ HAT K0 = y µ HAT K1 = y la desviación estándar σ HAT K0 = y σ HAT K1 = Para el Aparato Locomotor se tiene que la media es µ AL0 = y µ AL1 = y la desviación estándar σ ALK0 = y σ ALK1 = Figura 3.2: Precisión (%) de la posición de las articulaciones para el nivel Medio del Aparato Locomotor Angular El cálculo de los ángulos está en función de la posición espacial entre las articulaciones que forman el ángulo, por lo que cualquier perturbación afecta directamente en su valor. La tendencia mostrada en la figura 3.3 corresponde a la obtenida con la captura solo de la posición, existiendo variación entre las articulaciones de las Muñecas para el Kinect 0 y los Tobillos para el Kinect 1. Figura 3.3: Precisión (%) de los ángulos entre las articulaciones para el nivel Medio. En la tabla B.2 del anexo B se muestran los datos estadísticos para la precisión de los ángulos de cada uno los parámetros usados por el SAM. La media para valores angulares es µ K0 = y µ K1 = y la desviación estándar σ K0 = y σ K1 = tanto para el Kinect 0 y Kinect 1 respectivamente. 42

54 3.2. Captura de Trayectorias Análisis de la Cadera Centro CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO Una de las aplicaciones a las que se puede orientar el SAM es el análisis de trayectorias de las personas. El análisis cinemático del sujeto de estudio se centra en la posición de la Cadera Centro del esqueleto capturado por los Kinect 0 y Kinect 1. Esta posición se encuentra entre la intersección de los planos usados como referencia, figura 1.1 del capítulo 1. Al tener una posición tridimensional se pueden visualizar los planos Transversal (XZ), Sagital o Lateral (Y Z) y Frontal (Y X) desde una perspectiva Anterior (Kinect 0) y Posterior (Kinect 1) así como su desplazamiento en el espacio en tres dimensiones. En el cuadro 3.2 se muestra la muestra de usuarios voluntarios para el análisis, la mayoría de sujetos están entre el primer quintil y la mediana de la distribución poblacional de referencia [8] 3. Medidas Antropomórficas (en metros) Hombres Mujeres 5% 50% 95% 5% 50% 95% Estatura Cuadro 3.1: Estaturas de la población de hombres y mujeres, extracto del cuadro 2.5 (Chaffin et al., 2006)[8]. Estaturas (en metros) y Edad de los Sujetos del Estudio Hombres Mujeres Edad Estatura Cuadro 3.2: Estatura (en metros) y edades de los voluntarios para las pruebas del SAM. A continuación se establecen el protocolo seguido y recomendado para la captura de la trayectoria: Se debe calibrar la altura y la incidencia de los rayos IR de los sensores en función de las condiciones del ambiente trabajo. El sujeto debe usar ropa ceñida al cuerpo y de materiales no absorbentes. Se eligen los parámetros de captura y se espera a que el sistema reconozca la posición estática del usuario, para poder iniciar con la adquisión. Los datos de posición espacial y la variación angular se guardan automáticamente en la carpeta desde donde se ejecuta el programa principal del SAM. Para el análisis de resultados, los archivos texto se exportan a programas especializados. Para las pruebas se pidió a los sujetos que se ubiquen a 1.8m de distancia del Kinect 1 con vista frontal hacia el Kinect 0, luego se les indicó que se desplacen directamente hacia el Kinect 0 y viceversa cronometrándose el tiempo de caminata sobre la plataforma. Los algoritmos de análisis de los resultados para los tres modos se implementaron en Octave/Matlab. En el cuadro 3.3 se muestra la correlación entre los valores de los ejes [x, y] para cada sujeto, el análisis se centra en los modos Bajo y Medio ya que la resolución y el coste computacional son mejores en relación al modo Alto. Los valores de los ejes x b y x m son valores del mismo evento independientes entre sí. Para el cálculo de la correlación, primero se obtienen los coeficientes de un polinomio de cuarto grado que se ajuste a las curvas de los ejes, ecuación 3.1 [36], esto es útil para disminuir el error provocado por el sesgo en la discretización de los datos, luego se mide la correlación entre los 3 No existen datos confiables acerca de la estatura en el país, pero inferimos en base a la observación y datos empíricos que los sujetos masculinos y femeninos están dentro de la media nacional. 43

55 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO polinomios de ajuste de los ejes correspondientes para cada modo Bajo y Medio del Kinect 0 y Kinect 1. Con la correlación se puede inducir el grado de precisión de los datos, cuando es cercana a 1 o 1 indica un alto grado de acierto con una proporcionalidad directa o inversamente proporcional, mientras que una cercana a 0 indica una débil o nula relación [36] 4. donde n = 4, para los datos de nuestro sistema. f (x) = p 1 x n + p 2 x n p n x + p n+1 (3.1) Modo Medio Correlación Entre los Valores del Modo Bajo y Medio Hombres Mujeres Kinect 0 Kinect 1 Kinect 0 Kinect 1 Bajo # Ejes x b y b x b y b x b y b x b y b x m y m x m y m x m y m x m y m x m y m Cuadro 3.3: Correlación R entre los ejes [x, y] del modo Medio y Bajo del Kinect 0 y Kinect 1. Kinect 0 Correlación R entre el Kinect 0 y Kinect 1 modo Medio Kinect 1 Hombres Mujeres # x m y m z m x m y m z m x m y m z m x m y m z m x m y m z m x m y m z m x m y m z m Cuadro 3.4: Correlación R entre los datos del Kinect 0 y Kinect 1. 4 El valor de la correlación no necesariamente indica que las cuervas sean iguales, pero sirve como un fuerte indicador del comportamiento de las mismas. 44

56 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO Las correlaciones para el modo Medio muestran que los datos de la cadera centro corresponden a un mismo patrón de movimiento. Hay que considerar que el desface y el efecto espejo afectan los resultados por lo que se recomienda trabajar con valores absolutos en los ejes x e y para visualizarlos en las gráficas, los valores de correlación no se ven afectados. El eje z siempre es positivo e inversamente proporcional en relación directa entre los dispositivos, cuadro 3.4. La correlación de z m en general es negativa y cercana a 1, los valores de posición en este eje disminuyen para el Kinect 0 y aumentan para Kinect 1 linealmente. Figura 3.4: Capturas de movimiento del grupo usuario 1 hombres, en cada uno de los modos. 45

57 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO En las figuras 3.4 y 3.5 se muestran las trayectorias capturadas en los planos del modelo cinemático para los usuarios 1 y 2 del grupo de hombres y mujeres respectivamente. En las curvas se observan las formas sinusoidales del desplazamiento tanto para el plano transversal como para el lateral. En el plano frontal las curvas generadas son producto de la oscilación de los ejes y sirven para definir los rangos de los mismos [37]. Las curvas mostradas corresponden a los modos Bajo, Medio y Alto. Figura 3.5: Capturas de movimiento del grupo mujeres: usuario 2, en cada uno de los modos. 46

58 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO El desfase de las curvas se explica por la variación de la caminata de la persona al momento de repetir los proceso para los distintos modos, sin embargo el patrón se mantiene. El modo Bajo y Medio tienen un comportamiento similar con una buena resolución. En Alto se tiene el mismo patrón y comportamiento que las anteriores pero su resolución disminuye ya que el número de muestra es menor y espaciadas. Los límites de los ejes x e y tienen un sesgo que está en función de las probabilidades correspondientes a la exactitud del sistema. Las capturas de los demás usuarios se muestran en el anexo B.2.1. El cuadro 3.5 muestra los valores mínimos, máximos y la media de los planos de cinemáticos del usuario 1 y 2 del grupo de hombres y mujeres respectivamente, capturados en el modo Medio. Estos valores indican los límites de la oscilación en cada plano para los datos de la cadera centro. Las perspectivas de los sensores en el ambiente de trabajo afectan sesgando la información, provocando un desplazamiento en los ejes verticales de los valores del Kinect 0. H Usuario 1 M Usuario 2 Transversal Lateral Frontal Transversal Lateral Frontal Datos Estadísticos del Modo Medio Mínimo Mediana Máximo Media Desviación Estándar Kinect Kinect Kinect Kinect Kinect Kinect Kinect Kinect Kinect Kinect Kinect Kinect Cuadro 3.5: Estadística de los valores en metros [m] del Kinect 0 y Kinect 1 de la Cadera Centro en modo Medio. Figura 3.6: Capturas de movimiento del grupo hombres: usuario 2, para el modo medio desde el Kinect 0 y Kinect 1. 47

59 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO Para el Usuario 1 Hombres, la media µ mk0 = y µ mk1 = nos dan un sesgo en el eje vertical del plano Frontal de 0.01m para el Kinect 0 con una desviación estándar media de µ mk0k1 = El sesgo medio para los planos Transversal y Lateral es de 0.102m. Para el Usuario 2 Mujeres, la media µ mk0 = y µ mk1 = nos dan un sesgo en el eje vertical del plano Frontal de 0.081m para el Kinect 0 con una desviación estándar media de µ mk0k1 = El sesgo medio para los planos Transversal y Lateral es de m. Figura 3.7: Capturas de movimiento del grupo hombres: usuario 2, para el modo medio desde el Kinect 0 y Kinect 1. Con los datos del desplazamiento, mediante el uso de métodos numéricos se pueden calcular su primera derivada que representa la curva de velocidad y la segunda derivada que es la aceleración del sujeto en una escala de tiempo, cuadro 3.6. Se calcula los coeficientes del polinomio de cuarto orden que se ajusta de curva para el desplazamiento en el eje z en función del tiempo. El tiempo se extrae de los valores cronometrados y se genera un vector del mismo tamaño que las muestras adquiridas. Cinemática: Desplazamiento [m], Velocidad [m/s] y Aceleración [m/s 2 ] Kinect 1 Kinect 0 # z k1 k0 t k1 k0 v k1 k0 t k1 k0 a k1 k0 t k1 k0 Hombres Mujeres Cuadro 3.6: Valores de desplazamiento, velocidad y aceleración en las intersecciones de las curvas del Kinect 0 y Kinect 1. Los polinomios del desplazamiento para el usuario 2 hombres se muestra en la ecuación 3.2 y 3.3 y para el usuario 2 mujeres en las ecuaciones 3.4 y 3.5, en el mismo sentido de dirección de movimiento: desde el Kinect 1 al Kinect 0. Ecuación de desplazamiento para el usuario 2 hombres: 48

60 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO z k0 (t) = t t t t (3.2) z k (t) = t t t t (3.3) Ecuación de desplazamiento del usuario 2 mujeres: d K0 = x x x x (3.4) d K1 = x x x x (3.5) La figura 3.8 muestran el comportamiento de las curvas de desplazamiento, velocidad y aceleración para los dos sensores observando la relación de proporcionalidad inversa de los mismos. Los valores puntos de intersección que se muestran en el cuadro3.6 representan el valor medio de cada uno de los cálculos. Estos datos concuerdan con los expuestos por [11] donde la velocidad media de desplazamiento de una persona oscila entre los [1.5, 3.0][m/s] desde la caminata hasta el trote lento. Figura 3.8: Desplazamiento, velocidades y aceleraciones estimadas por los Kinect 0 y Kinect 1 del usuario 2 hombres (a) y mujeres (b) Validación de Estadística Para el análisis estadístico se parte de la hipótesis de que las medias x mk0 = x mk1. Mediante el cálculo del t-test para dos variables independientes se determina la validez de nuestra hipótesis nula para un nivel de confianza de α = En el cuadro 3.7 se muestra el cálculo del valor del p, el intervalo de confianza, el valor t test, los grados de libertad de la distribución t y s que es el valor de la desviación estándar entre las variables independientes, ecuación 3.7. Las variables s k0 y s k1 son desviaciones estándar, y n 1 y n 2 el tamaño de las muestras de los ejes del SAM tanto para el Kinect 0 como el Kinect 1 en el modo medio. La ecuación 3.6 y 3.7 sirven para la validación el análisis de la hipótesis nula [36]. s = t test = x mk0 x mk1 (3.6) s 2 k0 n 0 + s2 k1 n 1 (n 0 1)s 2 k0 + (n 1 1)s 2 k1 (3.7) n 0 n 1 2 El valor de cambia entre h = [1, 0]. Cuando h = 1 la hipótesis inicial es nula, y h = 0 la hipótesis se válida. La desviación estándar s media para los ejes indica la variación del intervalo de confianza. Dado que el intervalo no contiene 0 se refuerza la idea de que la probabilidad de que las medias san iguales no sean producto de variaciones aleatorias que afecten la fiabilidad de los resultados. 49

61 CAPÍTULO 3. ANÁLISIS DE CAPTURA DE MOVIMIENTO Hombres Mujeres T-test para los Datos Entregados por el Kinect 0 y Kinect 1 # h p CI t test d f s 1 2 x mk0 x mk x10 60 [0.074, 0.091] y mk0 y mk x [0.155, 0.161] z mk0 z mk x10 15 [0.364, 0.594] x mk0 x mk x10 5 [0.017, 0.044] y mk0 y mk x10 33 [0.038, 0.030] z mk0 z mk x10 5 [0.215, 0.586] Cuadro 3.7: Análisis del t-test entre las muestras en el modo Medio del Kinect 0 y Kinect 1 para el grupo hombres y mujeres. Para nuestro análisis la hipótesis de que nuestros valores se encuentran en el 5% de coincidencia se refuta. Lo que nos indica que hay una fuerte probabilidad de que nuestros valores coincidan en el intervalo del 95% de la distribución normal. Por ende los ejes de las coordenadas de los Kinect 0 y Kinect 1 son válidos para analizar los patrones de la trayectoria del movimiento de la cadera. El cuadro B.3 del anexo B.2.2 muestra los resultados del t-test para todos los sujetos analizados con el SAM Consideraciones Al analizar los datos entregados por los sensores en el arreglo propuesto en el SAM se debe considerar que la información es una aproximación basada en probabilidades y que está sujeta a condiciones ambientales, indumentaria de los sujetos y calibración de los dispositivos. En este capítulo se ha determinado las características de la información que presentan el sistema para casos específicos de análisis como es el de la trayectoria humana en la caminata normal tanto para hombres como para mujeres, sin embargo el análisis se puede extender a cualquier aplicación en la que se necesite usar las coordenadas rectangulares de la posición de una de las articulaciones que presenta el sistema. Los métodos estadísticos como la correlación y el t-test validan la confiabilidad del sistema al usar los sensores como retroalimentación de la información adquirida. 50

62 Capítulo 4 Análisis del Modelado y Animación Tridimensional Las tecnologías de captura de movimiento se utilizan para la rehabilitación de lesiones, los cuales permiten ejercitar las extremidades sin tener algún dispositivo conectado y por medio de la realidad aumentada se crean interfaces que convierten al paciente en actor principal mediante la combinación de varios movimientos dentro del entorno virtual. Además, permiten el desarrollo de mejores simulaciones empleadas en producciones cinematográficas, aumentando las expectativas en las investigaciones orientadas hacia la mejora de las técnicas de animación. Las áreas de interés que se enfocan en estas tecnologías son: diseño digital y cine, juegos, medicina, deportes y seguridad en la industria [38] Generación del Modelo Tridimensional La reconstrucción del usuario se realiza en dos fases: superior e inferior. Durante este proceso, el Kinect 2 adquiere los datos de la parte frontal, y el Kinect 3 de la parte posterior, la interfaz principal que manipula el usuario se muestra en la figura 2.15 del capítulo 2 en la sección correspondiente a la Reconstrucción Tridimensional, estos datos se almacenan en cuatro archivos OBJ que brindan mejor resolución que los archivos STL. Estos archivos se importan a Blender 2.6x para realizar el modelado tridimensional donde se acoplan de las cuatro que forman el modelo del sujeto y se unen usando la herramienta Join Mesh, figura 4.1. Figura 4.1: Acople de las cuatro partes del modelo tridimensional generado por el SAM. 51

63 CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL El modelo acoplado presenta pérdidas de datos (espacios vacíos) en las partes laterales, para rellenar estos espacios se utiliza la herramienta Grab. Figura 4.2: Modelo tridimensional procesado con las herramientas Sculpt Mode de Blender 2.68 del sujeto. Existen datos que no pertenecen al modelo tridimensional y para eliminar estos datos se emplea la herramienta Snake Hook; antes de obtener el modelo final se realiza un suavizado a su estructura por medio de la herramienta Smooth, que se encuentra en el menú Object de Blender. El modelo final se muestra en la figura Animación Tridimensional La animación tridimensional requiere del esqueleto 1 para que el modelo realice movimientos de dos formas: El primero consiste en el almacenamiento de las diferentes poses del modelo en distintos intervalos de tiempo. El segundo recibe los datos del Skeleton Stream que adquiere del sensor Kinect para generar movimientos rotacionales y desplazamientos en el modelo tridimensional Construcción del Esqueleto El esqueleto está formado por un conjunto de huesos que permiten el movimiento del modelo tridimensional. Las partes que lo constituyen son: Cabeza: es la articulación donde inicia el hueso. Cola: es la parte final del hueso. Existen dos métodos para la colocación de los huesos, en el primero cada hueso se incorpora individualmente, mientras que en el segundo se agrega un esqueleto completo; este método se denomina Rigging Método Rigging Rigging consiste en incorporar al esqueleto completo. Existen dos métodos, el primero requiere de la activación del add-on Rigify, y el segundo se importa un esqueleto de la base de datos de Blender usadas en la animación tridimensional. Al emplear la segunda opción se obtiene el esqueleto que se muestra en la figura En Blender al esqueleto del usuario estimado por el SAM se le llama armadura. 52

64 CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL Identificación de Huesos Para identificar los huesos que forman el esqueleto se les asigna un nombre a cada uno. El esqueleto es simétrico, por lo que las configuraciones que se realizan son iguales para la parte izquierda y derecha. En la asignación de nombres se emplean las terminaciones.i y.d para simplificar el proceso de generación de movimientos. Por ejemplo, para mover los brazos se necesita realizar la configuración general brazo, al cual se agrega las terminaciones brazo.i y brazo.d, por lo que el proceso es rápido. Para visualizar los nombres en el método Rigging se activa la opción Names en el menú Armature. Figura 4.3: Identificación de los huesos Método Skinning Model Skinning Model consiste en relacionar al esqueleto con el modelo tridimensional, figura 4.4, es decir se asigna vértices a los huesos de tal forma que los primeros obedezcan al movimiento de los segundos. Esto genera una deformación proporcional tanto en el esqueleto como en el modelo. Figura 4.4: Método Skinning Model. 53

65 CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL Para realizar este proceso se utiliza la opción With Automatic Weigthts del menú Armature Deform de Blender que genera grupos de vértex 2 los cuales pertenecen a cada uno de los huesos. La asignación automática de los grupos de vértices se realiza de acuerdo a la cercanía que existen entre los vértices y los huesos, por lo que en general es necesario realizar modificaciones manuales ya que en un inicio se presentan errores, figura 4.5. Figura 4.5: Proceso Armature Deform usado en Blender para corregir los errores de acople del modelo tridimensional con el esqueleto Método Weights Painted Mode Weights Painted Mode consiste en relacionar el hueso con la malla del modelo. Se lo utiliza para la creación de vértices o grupo de vértices y su funcionamiento se basa en el código de colores de ponderación 3 que van de un rango de cero a uno: el cero se representa con el color azul, y el uno con el color rojo. Este método es empleado para suavizar el movimiento de las articulaciones seleccionadas usando el proceso por código de colores de ponderación. Al seleccionar un hueso, el grupo de vértex adquiere un color rojo que permite un mayor rango de movimiento y los que tienen color azul no participan en el movimiento. Los vértices relacionados con el movimiento adquieren una mezcla de colores. Este proceso se repite para cada uno de los huesos, como se observa en la figura 4.6. Figura 4.6: Método Weights Painted Mode usado para el acople del modelo tridimensional con el esqueleto del sujeto. 2 Vertex es una estructura de datos que describe un punto en el espacio bidimensional o tridimensional. 3 El código de colores de ponderación se explica en detalle en la página: 2.6/Manual/Modeling/Meshes/Vertex_Groups/Weight_Paint. 54

66 Animación CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL Al terminar de aplicar los métodos Rigging, Skinning Model y Weigths Painted Mode, se puede empezar a manipular el modelo tridimensional como si fuera un títere, en función del movimiento de los huesos. Para realizar correctamente animaciones, es necesario tener en cuenta lo siguiente: Posición Inicial: esta posición es la de mayor utilidad para realizar animaciones por medio de la grabación de secuencias de poses. Se puede volver a colocar el esqueleto en la posición inicial al presionar Alt+R para quitar la rotación de los huesos, y Alt+G para quitar la traslación. De forma alternativa, el botón Rest Position (Posición de Descanso) del menú de Datos de Objeto, puede ser usado para mostrar temporalmente la posición original. Cinemática Inversa (Inverse Kinematic (IK)): la cinemática inversa se usa para modificar la posición de los huesos de un esqueleto con el fin de lograr una postura deseada. Este método consiste en definir primero la posición del último hueso de una cadena llamado efector final, y todos los huesos restantes de la cadena asumen una posición automática, lo cual es el resultado del cálculo que realiza el IK Solver 4. Esto permite posicionar con facilidad y precisión las manos y los pies al crear las animaciones. Cinemática Directa (Forward Kinematic (FK)): en el modo Pose se asigna la jerarquía principal a un hueso haciendo que el resto sigan el movimiento del mismo. Todos los huesos subsecuentes de la cadena no pueden ser tomados y movidos, solo se los puede rotar, este procedimiento es llamado Cinemática Directa. Usando la FK es posible hacer que el modelo tridimensional se mueva se definiendo las cuatro posturas diferentes que permiten formar las distintas fases de un paso. En la figura 4.7 se puede observar este efecto. Figura 4.7: Animación final. 4 El IK Solver mantiene la cadena sin huecos, es decir encuentra matemáticamente la posición de todos los huesos de la cadena. 55

67 CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL 4.3. Comunicación OSC La comunicación OSC emplean dos add-ons: NUI y Bloop. El primero pertenece a la categoría Animation y el segundo a Development. Estos add-ons están disponibles en la página web del proyecto The Blender Loop Station (Bloop) 5. Para establecer la comunicación mediante estos add-ons se requiere abrir el script startup de Bloop. Este script permite seleccionar las articulaciones que se desea mover. Al activar Bloop se empieza a recibir los datos del Skeleton Stream que proviene de la interfaz principal, figura 2.9 del capítulo 2, esta activación debe realizarse tanto en la interfaz como en el menú de Bloop en Blender. En el cuadro 4.1 se muestra el ID de los huesos que forman el esqueleto, las articulaciones que intervienen en la generación del movimiento de cada hueso y el segmento al que pertenecen. Es necesario indicar que en el movimiento de cada hueso siempre actúan dos articulaciones. Esqueleto del Sujeto en Blender ID Huesos Articulaciones para Generar Movimiento Segmentos Cabeza Cuello Tórax Centro Hombro.I Antebrazo.I Brazo.I Mano.I Hombro.D Antebrazo.D Brazo.D Mano.D Muslo.I Pierna.I Pie.I Muslo.D Pierna.D Pie.D Cabeza & Cuello Cabeza & Cuello Cuello & Torso Torso & Cadera centro Cuello & Hombro.I Hombro.I & Codo.I Codo.I & Muñeca.I Muñeca.I & Mano.I Cuello & Hombro.D Hombro.D & Codo.D Codo.D & Muñeca.D Muñeca.D & Mano.D Cadera.I & rodilla.i Rodilla.I & Tobillo.I Tobillo.I & Pie.I Cadera.I & rodilla.d Rodilla.I & Tobillo.D Tobillo.I & Pie.D Cuadro 4.1: Asignación del ID de los huesos del esqueleto en Blender. Cuerpo Superior Brazo Izquierdo Brazo Derecho Pierna Izquierda Pierna Derecha Además, se tiene la opción de grabar todos los movimientos que realiza el sujeto con Start Recording. Antes de iniciar la captura de movimientos se determina el tiempo de grabación e ingresa este valor en el menú Timeline, en este menú se encuentran los controles de reproducción de los movimientos que se guardan Almacenamiento Archivos BVH Blender permite almacenar la jerarquía del esqueleto y los datos de movimiento mediante de la generación de archivos BVH, estos son útiles para el análisis de movimiento rotacional. A continuación se explica la estructura de estos archivos. Jerarquía y Pose Inicial del Esqueleto: aquí se encuentra la información de la jerarquía del esqueleto y su estructura que describe los huesos y los segmentos del cuerpo. Está formada por tres elementos: Offset: muestra las coordenadas [x, y, z] iniciales. 5 The Blender Loop Station (Bloop) disponible en la página web: 56

68 CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL Channels: es el número y nombre de las variables que modifican la posición y rotación del hueso. Joint: indica las derivaciones o huesos hijos a los que está unido. Además, indica el valor de las variables de rotación de los huesos que se miden siempre con respecto al hueso padre. En la figura 4.8 se muestra la jerarquía que presentan los huesos del esqueleto que se utiliza para el desarrollo de este proyecto. Figura 4.8: Jerarquía de los huesos en los archivos BVH. Datos de Movimiento: en esta parte, se guardan los movimientos que realiza el usuario. Los datos que se almacenan son: desplazamientos y rotaciones en los tres ejes [x, y, z]. También se almacenan el número de frames (fps) 6 y la velocidad de reproducción. En la figura 4.9 se muestra las formas de onda que representan las rotaciones sobre los tres ángulos de la pierna derecha de una persona durante una caminata normal 7. Figura 4.9: Datos de movimiento que se almacenan en los archivos BVH. 6 Frame: es el número de muestras que se toman por segundo. En este proyecto la velocidad de grabación es por lo general de 5 fps. 7 Fuente para descargar archivos BVH, página web: 57

69 CAPÍTULO 4. ANÁLISIS DEL MODELADO Y ANIMACIÓN TRIDIMENSIONAL 4.5. Consideraciones Para obtener el modelo tridimensional que tenga los rangos característicos similares a los del sujeto es necesario considerar tres factores que influyen en la calidad de este modelo: la distancia existente entre los dispositivos y el sujeto, y el uso de una plataforma reflectante. Para reducir la existencia de información ajena al usuario en la reconstrucción tridimensional se usa la calibración de los rangos de reconocimiento. El arreglo de dispositivos permite adquirir los datos frontal y posterior del usuario con una cantidad mínima de pérdidas, al contrario de los laterales que tienen una alta pérdida de información porque se adquieren de forma indirecta. Con el uso de las herramientas de Blender, aquí propuestas, se procesan los datos de la reconstrucción del sujeto, aquí se acopla el modelo con el esqueleto y se anima con los datos generados en la comunicación OSC entre el Kinect y Bloop. El movimiento de la animación se guarda en archivos BVH permitiendo exportar y reproducir las capturas para su posterior análisis. 58

70 Capítulo 5 Resultados y Aplicaciones 5.1. Protocolo de Experimentación Para la experimentación del SAM se presentaron 10 sujetos voluntarios cuya población se divide en 5 hombres y 5 mujeres. Las estaturas de los sujetos se muestran en el cuadro 3.2 del capítulo 3 y se encuentran entre el primer quintil y la mediana del cuadro 3.1 del mismo capítulo. A continuación se detallan los factores que se consideraron para las etapas de captura de movimiento y reconstrucción tridimensional respectivamente Captura de Movimiento Para la definición del espacio físico se establecen dos parámetros de funcionamiento: El número de dispositivos con los que se va a realizar el análisis. Se lo puede realizar con un sólo dispositivo o con dos trabajando simultáneamente. La ubicación de los dispositivos se observan en la figura 2.1 del capítulo 2. La posición del usuario en la zona de trabajo. Para obtener mejores resultados el usuario se debe colocar en el centro de la zona de trabajo y usar ropa ceñida no reflectante ni absorbente. Antes de iniciar el proceso de captura de movimiento,se definen los modos de suavizado para los datos adquiridos. La selección de uno u otro nivel depende de la aplicación que se quiera realizar, las características de cada nivel se explican en la sección Estos niveles son: Bajo. Medio. Alto. Para la captura de movimiento del usuario se tienen dos opciones: Modo Sentado Modo Completo. Con los parámetros de funcionamiento definidos, se procede a realizar la captura de posturas y gestos. Se tiene dos formas de capturar los movimientos del usuario: Captura de movimiento por secciones. Captura de todas las articulaciones simultáneamente. La de captura de movimiento se almacenan en archivos Texto para su posterior análisis, estos poseen la información del desplazamiento en los tres ejes [x, y, z] y la rotación θ de cada una de las articulaciones del usuario. Este análisis se realiza empleando los scripts de suavizado, visualización y análisis de estadístico de las curvas implementado en Octave, Matlab y Gnuplot. 59

71 Reconstrucción Tridimensional CAPÍTULO 5. RESULTADOS Y APLICACIONES Todo el proceso inicia con la medición de la altura de la persona ya esta determina las distancias del sujeto con respecto a los sensores. El usuario debe utilizar ropa ajustada para mejores resultados. Las distancias del Kinect hacen referencia a la ubicación que debe tener el dispositivo con respecto al piso y al usuario. Para el cálculo de estas distancias se emplean las fórmulas explicadas en el capítulo 2. En este punto se calculan los ángulos de elevación necesarios para cubrir las partes superior e inferior del sujeto. En la práctica se observó que por lo general para la parte superior se tiene un ángulo de elevación de 12º y 22º para la parte inferior. En el cálculo se tiene un valor de ±17, por lo que la precisión de esta medida es de 5. El usuario debe ubicarse en el centro de la plataforma y del arreglo de dispositivo 2 y 3. La postura del usuario debe ser erguida, con las manos y las piernas ligeramente separados, como se muestra en la figura. El tiempo de reconstrucción es un factor determinante para la calidad de la reconstrucción tridimensional. El tiempo promedio para obtener una optima reconstrucción es de 45s. Se tiene la opción de congelar temporalmente los archivos en la interfaz principal. Esto permite que el usuario pueda moverse mientras se guardan los archivos OBJ. Al tener los datos de la reconstrucción del usuario guardados, se procede a realizar el modelado y la animación de la reconstrucción tridimensional, este paso se desarrolla en un tiempo aproximado de una hora Resultados Obtenidos Captura de Movimiento El análisis de la precisión se determinan calculando la media, mediana y desviación estándar. Este análisis se realiza por separado para los segmentos HAT y Aparato Locomotor de cada dispositivo Kinect. En el segmento HAT se observa que en promedio, los valores de la media µ HAT = y de la desviación estándar σ HAT = del nivel Alto indican mayor precisión en la adquisición de los datos. Mientras que, en el Aparato Locomotor µ AL = 99.49,σ AL = los datos que pertenecen al modo Medio los de mejor precisión. Por medio de la experimentación, se han identificado los parámetros adicionales que se deben considerar, estos son: los costos computacionales y las alteraciones que se presentan en los datos. Al observar los resultados, se ha determinado que el modo Medio es el que presenta mejores prestaciones para gran parte de las aplicaciones que se relacionan con la captura de movimiento. La precisión es diferente para cada dispositivo, porque esta depende de la perspectiva a la que se encuentra el usuario, el margen de error característico de los controladores y las estimaciones incorrectas que se generan por el cabello. Por esta razón, como el Kinect 0 adquiere los datos de la postura frontal del usuario, presenta una cantidad mínima de estimaciones incorrectas y un margen de error reducido, por lo que muestra mejor resolución y estabilidad en el análisis. Por otra parte, el Kinect 1 presenta una gran cantidad de estimaciones incorrectas en la cabeza, muñecas, manos, tobillos y pies. Esto sucede por la interferencia del cabello y los errores de precisión en las extremidades al recibir los datos de la parte posterior del usuario. El cálculo de la correlación nos permite definir el porcentaje de similitud entre las capturas de los modos de un mismo Kinect y de dos distintos. El valor de p-value permite calcular la probabilidad estadística de la validez de los resultados de las capturas entre los sensores dentro de la distribución normal. 60

72 CAPÍTULO 5. RESULTADOS Y APLICACIONES Reconstrucción Las pruebas realizadas durante la importación y acople de los archivos de la reconstrucción, no se aproxima al modelo original debido a las pérdidas de datos que existen los lados. Las herramientas del menú Sculpt Mode de Blender, permiten corregir la pérdida de datos rellenando las fisuras que existen en los lados para obtener un modelo exacto al usuario. Para una reconstrucción correcta se requiere que los datos importados almacenen solo la información del usuario ya que los objetos ajenos generan archivos pesados. Esto interfiere en el proceso de acople de las partes el usuario y del movimiento. En las figuras 5.1 y 5.2 se encuentran las reconstrucciones de los 10 usuarios a los que se realizó las pruebas. Figura 5.1: Reconstrucciones de Usuarios Mujeres. Figura 5.2: Reconstrucciones de Usuarios Hombres. En la animación del modelo tridimensional se aplica el método del Weights Painted Mode que permite seleccionar las articulaciones otorgándoles un valor de acuerdo al código de colores de ponderación, los vértices se mueven de acuerdo a este código. Con Bloop es posible interactuar con el dispositivo Kinect mediante la comunicación OSC para que el modelo tridimensional se mueva de forma automática. Finalmente estos datos se guardan en archivos BVH para un posterior análisis Aplicaciones del SAM En la actualidad la tecnología del sensor Kinect se usa para el desarrollo de aplicaciones en diferentes campos que involucran el movimiento del cuerpo. El reconocimiento de patrones del cuerpo es inmediato, estos son almacenados en una base de datos para realizar cualquier análisis. Estas aplicaciones se las desarrolla en las plataformas de C-Sharp (C#) ó C++, además se han creado librerías que permiten la comunicación con Matlab y LabVIEW. A continuación se detalla los campos de aplicación: Motion Capture (BVH) Animación Se emplea en cine, televisión, entre otros. Con el sistema SAM, en la etapa de movimiento se pueden importar y animar modelos ya generado de personas, animales, personajes de ciencia ficción e incluso cosas1. 1 Estas animaciones, se utiliza con mayor frecuencias en el cine. 61

73 CAPÍTULO 5. RESULTADOS Y APLICACIONES Juegos son aplicaciones que se han desarrollan en el entorno Microsoft XNA y sirven para el desarrollo de juegos en línea, además permite cargar modelos en bidimesionales y tridimensionales de una manera muy simple. Mediante los sistemas de análisis de movimiento, los creadores buscan mejorar las capacidades de los jugadores de una forma divertida. En la actualidad estos juegos han mejorado al incorporar la tecnología de Realidad Aumentada 2 donde el jugador se sienta parte del entorno de juego, figura [39] Patrones Biométricos Rehabilitación La idea central de la rehabilitación basada en realidad virtual es utilizar dispositivos de detección para capturar y evaluar cuantitativamente los movimientos de los pacientes en tratamiento con un seguimiento más preciso. Además, mediante la integración de la tecnología realidad virtual con los videojuegos, el objetivo es que los pacientes estén más motivados a participar en estas actividades físicas[40] Biomecánica Ocupacional En la actualidad se desarrollaran aplicaciones donde se almacenan los datos de los obreros llevando un registro de su trabajo de una forma automática. Esto permite observar, corregir esta postura y garantizar el bienestar del personal de trabajo, lo que representa una ventaja en el ámbito económico para la empresa porque es más barato implementar un sistema que ayude a prevenir lesiones a causa del trabajo que tener que indemnizar a un obrero por lesiones graves con un tratamiento costoso Robótica Brazo Robótico: Esta aplicación propone un nuevo esquema para la resolución de problemas del movimiento en tiempo real entre un brazo humano y un manipulador de robot, guardando y ejecutando las trayectorias que realiza el brazo humano, figura 5.3. Este sistema está teniendo gran auge en el desarrollo industrial, debido a que existen tareas que no pueden ser desarrolladas por su complejidad en un robot industrial. Mediante este sistema se busca ejecutar las acciones en conjunto con mayor eficacia y velocidad. Figura 5.3: Brazo Robótico. 2 Realidad Aumentada: es la visión directa o indirecta de un entorno físico del mundo real, cuyos elementos se combinan con elementos virtuales para la creación de una realidad mixta en tiempo real. 62

74 CAPÍTULO 5. RESULTADOS Y APLICACIONES Robot Bípedo: El cuerpo humano tiene ventajas cuando se utilizan los robots en entornos diseñados para los seres humanos, lo que facilita la comunicación multimodal con el ser humano y el aprendizaje de imitación. El RoboSapien es capaz de imitar casi por completo los movimientos de un ser humano, es controlado por un operador humano que presiona botones en un mando a distancia. Para eliminar este mando y hacerlo más eficiente, se guardan los movimientos, se los procesa y envía al robot, estos a su vez serán receptados e interpretados por el RoboSapien. El protocolo de transmisión permite aumentar o disminuir la precisión; el tiempo de ejecución puede ser o no en tiempo real Seguridad de Sistemas Industriales En la industria es necesario que existan sistemas de control, enfocados a la interacción humanorobot. Este sistema consiste en controlar el área de trabajo del robot, para permitir una interacción humano-robot eficaz. Una avanzada funcionalidad de un controlador de seguridad sería para detectar la presencia de los seres humanos al entrar en la célula robotizada y estimar su intención, mediante la visión cognitiva para detectar y seguir a los seres humanos, con el fin de generar una reacción eficaz de los robots. Una característica clave de la celda o célula robótica innovadora, es la eliminación de las barreras de seguridad que en el escenario industrial tradicional proporcionan una separación rígida entre las áreas ocupadas por los robots y los ocupados por los seres humanos, permitiendo que estas dos áreas formen una misma. Para la estimación de la intención del ser humano, se lo realiza por medio de la predicción de trayectorias, donde el humano seguirá ciertas trayectorias durante un intervalo de tiempo. Usando esta información, el sistema de control del robot puede estar al tanto de la situación actual y seleccionar el modo de interacción correcta tan pronto como la intención haya sido identificada con fiabilidad, aumentando la posibilidad de las acciones de seguridad concebidas [41]. 63

75 Capítulo 6 Conclusiones y Recomendaciones A continuación se describen los resultados obtenidos. Para el desarrollo de este proyecto se seleccionó el modelo biomecánico de 7 segmentos que consta de dos elementos: segmento HAT y Aparato Locomotor. El modelo cinemático se basa en el estudio de los movimientos que realiza el cuerpo, para este análisis se emplearon los datos de los desplazamientos realizados sobre los planos: sagital, transversal y frontal. Además, se analiza las trayectorias descritas sobre cada uno de los ejes [x, y, z]. Los planos anatómicos también se utilizan en la etapa de reconstrucción, empleando el plano frontal y transversal para dividir el cuerpo del usuario en las siguientes partes: superior e inferior, anterior y posterior. Para la adquisición de datos se usan los dispositivos Kinect ya que sus características técnicas facilitan la captura del movimiento mediante el reconocimiento de posturas y la reconstrucción tridimensional para el modelo biomecánico. El diseño de la arquitectura del software para la adquisición de datos del Sistema de Análisis de Movimiento (SAM) se dividió en tres bloques principales que representan los procesos inherentes al manejo y uso de la información proporcionada por los dispositivos Kinect. Estos bloques son: Captura de Movimiento, Reconstrucción y Modelado y Animación Tridimensional. Los lenguajes de programación usados para el desarrollo del sistema son: C Sharp (C#) y Python. Para la captura de movimiento se necesita un ambiente controlado para adquirir los datos con una buena precisión y resolución. Los parámetros medidos son: la cantidad de luz incidente, el ruido provocado por las superficies reflectantes, inmuebles y objetos que se encuentren en la zona de trabajo. Para determinar las condiciones ideales de la zona de trabajo, se realizaron los análisis de Iluminancia, Histogramas y Entropía. El análisis de la Iluminancia, con luz natural y artificial, se utilizó para determinar el rango de horas laborables en las que el SAM adquiere la información con una gran probabilidad de acierto. Los Histogramas se usaron para calcular la interferencia de los objetos por medio de la visualización de la distribución de los datos de profundidad, y la Entropía se utilizó para el análisis de la incidencia del patrón de rayos infrarrojos sobre el ambiente y el sujeto. Los datos entregados por los sensores se almacenan en formatos Texto, OBJ y BVH. Para la Validación del Sistema se verificó que el ambiente no influya negativamente en la adquisición de la información. En la etapa de Análisis de Captura de Movimiento, se obtienen las trayectorias espaciales en metros y los ángulos entre las articulaciones en grados, estos valores se almacenan en archivos Texto. Para procesar la información se implementaron scripts en Matlab, Octave y Gnuplot para realizar el filtrado, suavizado y la visualización de las trayectorias en los planos cinemáticos. Para determinar la estabilidad y exactitud de los datos se calcula la media, mediana y la desviación estándar, para el grado de similitud y proporcionalidad se calcula la correlación de los ejes con respecto a la configuración de los parámetros en los tres modos del sistema en relación a los datos entre los sensores para distintos los sujetos de estudio. Los parámetros del modo Medio son los que mejores resultados ofrecen en función de la precisión y el rendimiento del SAM. En la etapa de Análisis del Modelado y Animación Tridimensional, las geometrías que forman el modelo tridimensional del sujeto se almacenan en archivos OBJ y el proceso de modelado consiste en rellenar fisuras, filtrar elementos, suavizar la textura y acoplar las cuatro partes que forman el modelo, y para la animación se usaron scripts programados en lenguaje Phyton para establecer la comunicación entre la interfaz principal y la plataforma Blender. La secuencia de movimiento del usuario se guardan 64

76 CAPÍTULO 6. CONCLUSIONES Y RECOMENDACIONES en archivos BVH, estos archivos son usados para análisis posteriores ya conservan la jerarquía del esqueleto y el intervalo de tiempo. Al analizar los resultados de la captura de movimiento se determinó que el dispositivo Kinect 0 entrega datos con mayor precisión, mejor rango de estimación, resolución y estabilidad, esto se debe a que la captura es de la postura frontal del sujeto. La cantidad de estimaciones incorrectas son menores a las del Kinect 1 ya que éste captura la postura posterior, y por ende independientemente del análisis que se desee realizar se debe tener en cuenta que la precisión de los datos de los sensores se ven afectadas por el plano de captura del sujeto. Las articulaciones en las que la posición presenta menor grado con confianza son la cabeza causadas por el cabello y en el final de las extremidades superiores e inferiores: manos y pies. Para tener una buena calidad en la reconstrucción el parámetro principal es la altura, con esta medida se realizan los cálculos para encontrar el valor del ángulo de elevación, necesario para reconstruir por completo al sujeto, este valor tiene un margen de calibración de 5º de ajuste en el ángulo del dispositivo. También, con la altura se calcula la distancia del usuario respecto al arreglo de los sensores. A menor distancia la reconstrucción es mejor pero se pierden datos, por lo que se realizó la reconstrucción en dos etapas: superior e inferior. Se considera que mientras mayor sea el tiempo, mejor es la reconstrucción. La postura del sujeto debe permanecer estática. Para eliminar los objetos ajenos a la reconstrucción se calibra el rango de reconocimiento del Kinect Fusion. Para la animación tridimensional se diseñó la interfaz principal orientada para facilitar la comunicación OSC con Blender. Mediante los add-ons Bloop y Nui se adquieren los movimientos capturados por el Kinect y los envían a Blender para que este interprete e imite estos movimientos de rotación calculados usando cuaterniones. 65

77 Apéndice A Anexo A A.1. Iluminancia Hora Iluminación Artificial Distancia : : : : : : : : : : Cuadro A.1: Valores promedio de iluminancia en la zona de trabajo con luz artificial [lux] durante distintas etapas del día. Las unidades de las distancias están en [m]. Figura A.1: Tendencia de los valores promedio de iluminancia en la zona de trabajo con luz artificial [lux] durante distintas etapas del día. 66

78 APÉNDICE A. ANEXO A Hora Iluminación Natural Distancia : : : : : : : : : : Cuadro A.2: Valores promedio de iluminancia en la zona de trabajo con luz natural [lux] durante distintas etapas del día. Las unidades de las distancias están en [m]. Figura A.2: Tendencia de los valores promedio de iluminancia en la zona de trabajo con luz natural [lux] durante distintas etapas del día. A.2. Histogramas Variable Kinect 0 Kinect 1 Zona de Trabajo Sin Usuario Número Primer Tercer Desviación Mínimo Mediana Máximo Media Variable Cuartil Cuartil Estándar Cuadro A.3: Medición de la distancia absoluta (sin unidades) con referencia al Kinect 0 & 1 del ambiente de trabajo sin usuario. 67

79 Variable Usuario Mínimo Kinect 0 Kinect 1 APÉNDICE A. ANEXO A Zona de Trabajo Con Usuario Primer Tercer Desviación Mediana Máximo Media Cuartil Cuartil Estándar Cuadro A.4: Medición de la distancia absoluta (sin unidades) con referencia al Kinect 0 & 1 en el ambiente de trabajo con usuario. 68

80 Apéndice B Anexo B B.1. Precisión Variable Kinect 0 Kinect 1 Parámetros Media Precisión Espacial HAT Desviación Mediana Estándar Aparato Locomotor Desviación Media Mediana Estándar Bajo Medio Alto Bajo Medio Alto Cuadro B.1: Valores porcentuales de precisión (%) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento. Figura B.1: Valores porcentuales de precisión (%) de la posición [x, y, z] de las articulaciones en el arreglo de Captura de Movimiento para los parámetros de suavizados en Bajo del segmento HAT. 69

81 APÉNDICE B. ANEXO B Figura B.2: Valores porcentuales de precisión (%) de la posición [x, y, z] de las articulaciones en el arreglo de Captura de Movimiento para los parámetros de suavizados en Bajo del segmento Aparato Locomotor. Figura B.3: Valores porcentuales de precisión (%) de la posición [x, y, z] de las articulaciones en el arreglo de Captura de Movimiento para los parámetros de suavizados en Alto del segmento HAT y el Aparato Locomotor. 70

82 Precisión Angular Variable Parámetros Media Mediana Kinect 0 Kinect 1 Desviación Estándar Bajo Medio Alto Bajo Medio Alto APÉNDICE B. ANEXO B Cuadro B.2: Valores porcentuales de precisión (%) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento. Figura B.4: Valores porcentuales de precisión (%) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento para los parámetros de suavizados en Bajo. Figura B.5: Valores porcentuales de precisión (%) de los ángulos entre las articulaciones estimados por el arreglo de Captura de Movimiento para los parámetros de suavizados en Alto. 71

83 B.2. Captura de Trayectorias APÉNDICE B. ANEXO B B.2.1. Cadera Centro B Hombres Usuario 2 Figura B.6: Capturas de movimiento del grupo usuario 2 hombres, en cada uno de los modos. 72

84 APÉNDICE B. ANEXO B Usuario 3 Figura B.7: Capturas de movimiento del grupo usuario 3 hombres, en cada uno de los modos. 73

85 APÉNDICE B. ANEXO B Usuario 4 Figura B.8: Capturas de movimiento del grupo usuario 4 hombres, en cada uno de los modos. 74

86 APÉNDICE B. ANEXO B Usuario 5 Figura B.9: Capturas de movimiento del grupo usuario 5 hombres, en cada uno de los modos. 75

87 APÉNDICE B. ANEXO B B Usuario 1 Mujeres Figura B.10: Capturas de movimiento del grupo mujeres: usuario 1, en cada uno de los modos. 76

88 APÉNDICE B. ANEXO B Usuario 3 Figura B.11: Capturas de movimiento del grupo mujeres: usuario 3, en cada uno de los modos. 77

89 APÉNDICE B. ANEXO B Usuario 4 Figura B.12: Capturas de movimiento del grupo mujeres: usuario 4, en cada uno de los modos. 78

90 APÉNDICE B. ANEXO B Usuario 5 Figura B.13: Capturas de movimiento del grupo mujeres: usuario 5, en cada uno de los modos. 79

91 B.2.2. Tabla de Valores T-test APÉNDICE B. ANEXO B Hombres Mujeres T-test de las valores del Kinect 0 y Kinect 1 # h p CI t test d f σ x mk0 x mk x10 60 [0.074, 0.091] y mk0 y mk x [0.155, 0.161] z mk0 z mk x10 15 [0.364, 0.594] x mk0 x mk [ 0.006, 0.032] y mk0 y mk x10 6 [ 0.011, 0.004] z mk0 z mk x10 4 [ 0.160, 0.491] x mk0 x mk x10 69 [ 0.074, 0.091] y mk0 y mk1 1 0 [ 0.149, 0.155] z mk0 z mk x10 12 [ 0.312, 0.549] x mk0 x mk x10 73 [0.170, 0.201] y mk0 y mk x [0.052, 0.059] z mk0 z mk x10 8 [0.285, 0.593] x mk0 x mk x10 32 [0.019, 0.260] y mk0 y mk x [0.108, 0.115] z mk0 z mk [0.035, 0.245] # h p CI t test d f σ x mk0 x mk x10 4 [ 0.024, 0.019] y mk0 y mk1 1 0 [0.094, 0.099] z mk0 z mk x10 20 [0.300, 0.461] x mk0 x mk x10 5 [0.017, 0.044] y mk0 y mk x10 33 [0.038, 0.030] z mk0 z mk xX10 5 [0.215, 0.586] e2 x mk0 x mk x10 59 [ , 0.065] y mk0 y mk [ , 0.002] z mk0 z mk x10 10 [0.347, 0.661] x mk0 x mk x10 62 [0.055, 0.067] y mk0 y mk x [0.094, 0.099] z mk0 z mk x10 15 [0.311, 0.513] x mk0 x mk x [0.089, 0.097] y mk0 y mk x [0.079, 0.084] z mk0 z mk x10 8 [0.209, 0.436] Cuadro B.3: Análisis del t-test entre las muestras en el modo Medio del Kinect 0 y Kinect 1 para el grupo hombres y mujeres. 80

92 Apéndice C Anexo C C.1. MANUAL C.1.1. Guía de instalación El proyecto SAM requiere de controladores, software para el desarrollo de aplicaciones y una plataforma de animación digital. C Controladores El dispositivo Kinect necesita un controlador para su funcionamiento, este controlador es el Kinect for windows SDK1.7 y se encuentra disponible en : aspx En esta página también se encuentra el Kinect for Windows Develop Toolkit, entre sus herramientas se encuentra la librería Kinect Fusión que utilizada para la reconstrucción tridimensional. C Software para el desarrollo de aplicaciones La interfaz principal del SAM es desarrolla en Microsoft Visual Studio Express 2012 con la versión.net Framework 4 Cliente Profile. Esta software esta disponible en la página : visual-studio-express-for-windows-desktop C Plataforma de animación digital Se utiliza la plataforma de Blender 2.68 para el modelado y animación tridimensional, esta plataforma está disponible en la siguiente página: La comunicación entre la interfaz principal y Blender, utiliza los add-ons Bloop y Nui. Estos scripts están disponibles en la siguiente página: Instalación de los add-ons: 1. Pegar las carpetas Bloop y Nui en la dirección: C\archivos de programa\ Blender Foundation\Blender 2.68\script\addon. 2. Abrir Blender, en el menú File seleccionar User Preference. 3. En la ventana que se muestra en la figura A.0.1, en la categoría Animation es necesario activar Bloop. 4. Para activar el script Nui, se repite el mismo proceso en la categoría Devopment, como se muestra en la figura A

93 APÉNDICE C. ANEXO C 5. Guardar y cerrar User Preference. Figura C.1: Add-on Bloop Figura C.2: Add-on Nui C.1.2. Guía de Usuario La interfaz principal del sistema de análisis de movimiento consta de tres menús principales como se muestra en la figura A.0.3. Figura C.3: Menús principales En esta interfaz al inicio se puede observar: Frame Rate (figura A.0.4.): se visualiza el número de datos que se procesan por segundo. Formato (figura A.0.4.): Despliega una lista donde están diversos formatos para la resolución de la imagen RGB (figura A.0.5.), la selección de esta lista depende de la calidad que el usuario necesite de la imagen, sin olvidar que a mayor resolución menor es la adquisición de datos por segundo. 82

94 APÉNDICE C. ANEXO C Figura C.4: Menús principales Figura C.5: Formato RGB Menú Archivo: Se despliega un submenú (figura A.0.6), que tienen la funcionalidad de ejecutar y detener el sensor Kinect, guardar y salir de todo el programa Figura C.6: Menú Archivo Menú Herramientas: Cuando se selecciona herramientas aparece un submenú denominado esqueletización y profundidad. (figura A.0.7). Figura C.7: Menú herramientas Esqueletización.- Este hace que al jugador se le adhiera un esqueleto de color rojo (figura A.0.8). En la esqueletización hay otros submenús como se muestra en la (figura A.0.7). 83

95 APÉNDICE C. ANEXO C Figura C.8: Esqueletización Submenú Captura.- Mediante este submenú (figura A.0.9) se puede elegir la captura del esqueleto en modo Defecto (captura los puntos de todo el cuerpo) o Sentado (capturar los puntos del segmento HAT). En detener se finaliza el proceso de esqueletización. Figura C.9: Submenú de Captura Submenú Parámetros.- En este submenú se encuentra los tres niveles (figura A.0.10) de suavizado, que se utiliza para adquirir los datos de la esqueletización. Estos son: Low (Default), Medium y High. Figura C.10: Submenú parámetros Los valores de los Smooth Parameters que corresponden a cada nivel de suavizado, se los visualiza en la parte inferior de la figura A Figura C.11: Valores de los Smooth Parameters Submenú Blender.- Sirve para transmitir los datos del esqueleto a la plataforma de Blender (figura A.0.12), para que el modelo tridimensional imite los movimientos del usuario en la animación. 84

96 APÉNDICE C. ANEXO C Figura C.12: Submenú Blender Profundidad.- Este submenú se activa cuando se selecciona el check box Profundidad que se encuentra en la parte inferior derecha de la interfaz (figura A.0.13). Este submenú está compuesto por las opciones: Color y Usuario Figura C.13: Menú de profundidad Submenú Usuario.- Al activar esta opción, elimina a los objetos que se encuentra alrededor y solo captura al usuario o jugador, como se muestra en la parte derecha de la (figura A.0.14). Submenú Color.- Al activar esta opción, se asignan una variedad de colores de acuerdo a la distancia a la que se encuentren los objetos con respecto al dispositivo, parte izquierda (figura A.0.14). Figura C.14: Datos de Profundidad Color y Usuario Menú Propiedades.- Este menú (figura A.0.15) tiene tres opciones las cuales permiten invertir la imagen, cambiar a Escala de Grises y capturar imágenes (RGB o profundidad) de forma automática con intervalos de 33ms. 85

97 APÉNDICE C. ANEXO C Figura C.15: Submenú de propiedades Figura C.16: Imagen con Colores Invertidos y Escala De Grises Las siguientes pestañas a describir se encuentran en la parte inferior de la interfaz principal. Kinect info.- Permite visualizar todos los parámetros de identificación del sensor Kinect (figura A.0.17), además tiene un control para la calibración de la elevación del dispositivo. Figura C.17: Kinect Info Histogramas.- Al seleccionar el check box Profundidad, también se activa en la parte inferior la pestaña profundidad. Aquí se pueden observar los histogramas de las imágenes de profundidad, los datos de profundidad de cada píxel y los rangos máximos y mínimos de reconocimiento. (figura A.0.18) Figura C.18: Histogramas Trayectorias.- Al activar la opción esqueletización se activa la pestaña trayectorias, donde se puede seleccionar los diferentes grupos de articulaciones (figura A.0.20) que conforman el cuerpo humano, para su respectivo análisis. Los datos que se almacenan son: el ángulo que forman las articulaciones seleccionadas, además de la posición (x, y, z) y las longitudes de las mismas. 86

98 APÉNDICE C. ANEXO C Figura C.19: Trayectorias Figura C.20: Selección de los segmentos Capturas.- Al activar esta pestaña se puede capturar las imágenes (RGB o profundidad) de forma manual (figura A.0.21). Estas imágenes se almacenan en la dirección que se muestra en la parte superior derecha de la interfaz. Figura C.21: Captura de imágenes C Avatar 3D (Segunda Interfaz) Avatar.- En la parte inferior de la interfaz principal, se encuentra el botón Avatar 3D. Este permite visualizar una nueva pantalla con el nombre de Reconstrucción 3D que posee un menú Archivo, donde se despliegan los siguientes submenús: Reiniciar 3D esto sirve para actualizar los datos de la reconstrucción. Guardar, que permite almacenar los archivos de la reconstrucción (existen dos formatos) figura A.0.22 y Salir que cierra el programa de la reconstrucción 3D. Figura C.22: Interfaz Reconstrucción 3D 87

99 APÉNDICE C. ANEXO C Controles: En la parte inferior (figura A.0.23) se encuentra el menú Control Motor, aquí se coloca el valor del los ángulos de elevación para la reconstrucción, este valor modifica la elevación de los dos Kinect de forma simultánea. También, se puede controlar la elevación requeridos de cada dispositivo Kinect por separado, esto se realiza por medio de los sliders. Rangos de Reconocimiento: Estos rangos están preestablecidos (min: 0.35m y max:1.5m) y se los visualiza en los Texbox. Fps: Muestra la velocidad con la que se procesan los datos de profundidad. Figura C.23: Control motor y rangos de reconocimiento. El menú Opciones que contiene la información de los dispositivos conectados, el Estatus de cada dispositivo, opciones de almacenamiento y el botón que reinicia la reconstrucción tridimensional. Opciones.- Aquí se selecciona el formato (.OBJ o.stl) para almacenar los datos de la reconstrucción. Estatus.- Permite Iniciar o Pausar la reconstrucción que realiza cada dispositivo. La opción de Pausar se utiliza para almacenar los archivos.. Kinect Info.- Contiene la información de los dispositivos Device 1 y 2 Reiniciar.- Refresca los datos de profundidad que se utilizan para la reconstrucción. Figura C.24: Menú Opciones de la Interfaz Reconstrucción 3D En la (figura A.0.25) se muestran los archivos reconstruidos de las partes: frontal y posterior del usuario. Figura C.25: Archivos de reconstrucción 88

100 C Plataforma Blender APÉNDICE C. ANEXO C Blender se utiliza para el modelo y animación tridimensional, para esto se procede de la siguiente manera: Se abre la plataforma Blender, se direcciona al menú File, de las opciones que se despliegan se selecciona import y luego se elige Wavefront (.obj), figura A Figura C.26: Importar archivos El proceso anterior se repite hasta incorporar a Blender los 4 archivos.obj que se almacenarón desde la interfaz Reconstrucción 3D Al importar los datos de la reconstrucción se generan 4 archivos (Mesh) en la plataforma de Blender, figura A Figura C.27: Importación de los archivos.obj a Blender A continuación se procede con el modelado tridimensional, para ésto se utilizan las siguientes herramientas: Join Mesh.- es una herramienta que se utiliza para acoplar las partes que conforman el modelo, para hacer el uso de esta herramienta se debe estar en Object Mode como se muestra en la figura A.0.28, en la parte inferior de Blender. Para realizar este proceso, primero es necesario seleccionar los cuatro archivos, luego se ingresa el comando (Ctrl + J), lo que hace que estos archivos se conviertan en uno. Se requiere indicar que los archivos deben alinearse previamente para que coincidan correctamente. También, esta herramienta se la encuentra en la parte izquierda de la interfaz en el menú Object como se muestra en la figura A

101 APÉNDICE C. ANEXO C Figura C.28: Acople de los archivos mediante la herramienta Join Mesh Sculpt Mode.- Esta opción se encuentra en la parte inferior de la plataforma de Blender como se muestra en la figura A Al seleccionar este modo el cursor cambia de forma (circunferencia de color rojo). Se adiciona en la parte derecha un panel donde se encuentra herramientas para esculpir el modelo tridimensional. Snake Hook.- Esta herramienta se encuentra en el panel Sculpt Mode, sirve para retirar objetos reconstruidos que no pertenecen al usuario. Para esto se hace clic con el botón izquierdo sobre el objeto que se desea retirar y arrastrar hasta que se adicione con el modelo. Grab.- Esta herramienta permite rellenar las fisuras (pérdidas de datos) que se encuentran en los lados laterales del modelo. Consiste en alargar el Mesh (malla) hasta cubrir los espacios vacíos. Para evitar dañar el modelo es necesario cambiar el rango de incidencia y restringir el movimiento (por ejemplo que sólo se modifique el eje z) de esta herramienta. Pinch.- Sirve también para retirar objetos que no pertenecen al modelo, pero esto se lo utiliza cuando estos objetos tienen mayor área. Figura C.29: Herramientas de Sculpt Mode Textura.- Permite cambiar el color de la textura del modelo, para ello se realiza lo siguiente: 1. Cambiar de Sculpt Mode a Object Mode como se muestra con el circulo naranja en la figura A Seleccionar el modelo con clic derecho. 3. Después en la parte izquierda seleccionar en el menú Display en Shading seleccionar Matcap. En caso de no encontrar este menú presionar N. 90

102 APÉNDICE C. ANEXO C 4. Finalmente hacer clic en la circunferencia de color plomo (figura A.0.30), y se visualizará un panel con diferentes colores Figura C.30: Cambiar el color de la textura Con el modelo tridimensional listo, se procede a realizar la animación del mismo, esto se hace de la siguiente forma: Esqueleto.- El primer paso consiste en agregar un esqueleto (armature), existen tres formas de agregarlo, éstos son: Método Individual: 1. En la parte superior seleccionar el menú Add, luego elegir Armature y por último Single Bone (Figura A.0.31). 2. Seleccionar el final del hueso, cambiar de Object Mode a Edit mode 3. Al presionar la tecla E, se agregará un nuevo hueso. 4. Repetir este procedimiento hasta formar todo el esqueleto. Figura C.31: Método Individual para ingresar el esqueleto Método Rigging.- Para hacer uso de este método se requiere instalar un Add-on. 1. En el menú File, seleccionar User Preferences y luego Add-ons. 2. En la parte derecha de la nueva ventana, seleccionar la categoría Rigging para activar el Add-on Rigify, guardar y cerrar. 3. En la ventana principal seleccionar el menú File, luego elegir Armature y por último Human (Meta Rig). 91

103 APÉNDICE C. ANEXO C 4. Finalmente se puede observar un esqueleto completo con el que se puede trabajar (Figura A.0.32 ). Figura C.32: Método Rigging Método Importación.- Se realiza mediante archivos BVH. 1. En el menú principal seleccionar el menú File, luego Import y por último Motion Capture (.BVH) 2. Indicar la dirección del archivo y abrirlo. 3. El archivo que se abre contiene un esqueleto completo y una animación. Para utilizar este esqueleto es necesario eliminar la animación, copiar e importar el esqueleto a otro archivo. Identificación de los huesos: 1. En la parte del panel, seleccionar Armature como se indica con el circulo de color naranja (Figura A.0.33). 2. En el menú Display seleccionar la opción Names. Figura C.33: Identificación Huesos Acople del modelo con el esqueleto: 1. En Object Mode seleccionar el cuerpo del modelo, después con Shift seleccionar el esqueleto (Armature). Se puede observar que el cuerpo es de color oscuro y el esqueleto (Armature) es de color claro. (Figura A.0.34) 92

104 APÉNDICE C. ANEXO C 2. Al pulsar Ctrl P en la pantalla de Blender se visualizará un menú, elegir With Automatic Weights. Al realizar esto, se agrega automáticamente el Modifier Armature y se crean varios Vertex Group (Grupos de vértices) que se asigna a cada uno de los huesos del esqueleto. Figura C.34: Método With Automatic Weights Método Skinnig Model.- Este método se utiliza para corregir los errores que se producen en la asignación de los grupos de vértex. 1. Seleccionar el modelo y cambiar Edit Mode. 2. En la parte superior del panel seleccionar Data como indica la circunferencia de color celeste. Se podrá visualizar el grupo de vertex que relacionan al esqueleto con el modelo. 3. En el menú Vertex Groups se puede seleccionar cada sección del cuerpo. Si hay errores se puede remover con el botón (Remove) y se vuelve asignar cada grupo con el botón Assign, para verificar si la asignación es correcta se usan los botones Select y Deselect, figura A Figura C.35: Método Skinnig Model Método Weights Painted Mode : Este método se utiliza para suavizar el movimiento de cada una de las articulaciones. 1. Ingresar al mode Weigth Paint como se muestra en la Figura A.0.36 con el circulo de color celeste. 2. Con la asignación automática de los grupos de vértex, estos grupos se pintan de color rojo. Para suavizar el movimiento, los extremos de cada hueso se deben presentar un color amarillo y en la parte externa un color verde. Se puede cambiar el tamaño del pincel en la parte izquierda denominada Brush en la opción de Radius. Para ello se pulsa F, se arrastra el ratón para aumentar o reducir esto es de una forma rápida. 93

105 APÉNDICE C. ANEXO C 3. El peso (weight) va de acuerdo al código de colores de ponderación, por ejemplo en las uniones (articulaciones) de los segmentos van de un color amarillo (weigh = 0.8) o verde (weight = 0.6) según la movilidad figura A Este proceso se realiza para cada uno de los huesos como se muestra en la figura A Figura C.36: Método Weight Paint Mode Figura C.37: Utilización del método Weight Paint en cada segmento C Comunicación OSC ( Kinect - Blender ) Esta comunicación permite enviar los datos Skleton Stream que adquiere el dispositivo Kinect hacia Blender, permitiendo que el modelo tridimensional imite los movimientos del usuario en tiempo real. Para establecer esta comunicación, es necesario realizar lo siguiente: 1. En Blender se instala los add-ons Bloop y Nui. 2. En la ventana principal de Blender, por medio del Text Editor se abre el script startup.py (figura A.0.39). Se especifica si se desea mover todo el cuerpo o un determinado segmento. En este script es necesario presionar el botón Run Script para guardar las configuraciones realizadas. 3. Es necesario presionar el botón Star Bloop en el menú de Bloop de la interfaz principal de Blender, figura A En la interfaz principal del proyecto SAM, se selecciona transmitir en el submenú Blender que pertenece al menú Herramientas, figura A Para guardar la sesión de movimiento, es necesario presionar el botón Recording (figura A.0.40). 6. Por último, para realizar un análisis posterior, la sesión de movimiento de almacena en archivos.bvh esto se realiza desde el menú File de la interfaz principal de Blender. 94

106 APÉNDICE C. ANEXO C Figura C.38: Menús principales. Figura C.39: Kinect Blender 95

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

Srta. Johana Sancho Culcay

Srta. Johana Sancho Culcay DISEÑO Y CONSTRUCCIÓN DE UN EXOESQUELETO DE 6 GDL PARA POTENCIAR LAS CAPACIDADES EN PERSONAS QUE HAN PERDIDO LA MOVILIDAD PARCIAL DEL MIEMBRO SUPERIOR DERECHO Autores: Investigador Principal: Investigador

Más detalles

TUTORIAL KINOVEA REALIZADO POR: YESICA MORENO, Laboratorio de Biomecánica Universidad Manuela Beltrán RODRIGO ARGOTHY,

TUTORIAL KINOVEA REALIZADO POR: YESICA MORENO, Laboratorio de Biomecánica Universidad Manuela Beltrán RODRIGO ARGOTHY, TUTORIAL KINOVEA REALIZADO POR: YESICA MORENO, Laboratorio de Biomecánica Universidad Manuela Beltrán RODRIGO ARGOTHY, Laboratorio de Biomecánica Universidad Manuela Beltrán CARLOS COLLAZOS, Laboratorio

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1 Introducción 1.1 Antecedentes La producción musical, en su mayoría, se ha valido de distintos tipos de software computacional para realizar la edición de composiciones musicales. De toda la

Más detalles

Programa Tracker : Cómo generar Vectores y sumarlos

Programa Tracker : Cómo generar Vectores y sumarlos Programa Tracker : Cómo generar Vectores y sumarlos Esta guía explica cómo usar vectores, la posibilidad de sumarlos, presentar los resultados directamente en pantalla y compararlos de forma gráfica y

Más detalles

CAPÍTULO 4. DISEÑO CONCEPTUAL Y DE CONFIGURACIÓN. Figura 4.1.Caja Negra. Generar. Sistema de control. Acumular. Figura 4.2. Diagrama de funciones

CAPÍTULO 4. DISEÑO CONCEPTUAL Y DE CONFIGURACIÓN. Figura 4.1.Caja Negra. Generar. Sistema de control. Acumular. Figura 4.2. Diagrama de funciones CAPÍTULO 4 37 CAPÍTULO 4. DISEÑO CONCEPTUAL Y DE CONFIGURACIÓN Para diseñar el SGE, lo primero que se necesita es plantear diferentes formas en las que se pueda resolver el problema para finalmente decidir

Más detalles

Ing. Benoît FROMENT MODULO 4 4.2 FOTOGRAFIAS AEREAS

Ing. Benoît FROMENT MODULO 4 4.2 FOTOGRAFIAS AEREAS 4.2 FOTOGRAFIAS AEREAS 1 - DESARROLLO DE LA FOTOGRAFIA AEREA El hombre, para enfrentar los problemas que le plantea la organización y el desarrollo del medio que habita, se ha visto obligado a crear novedosas

Más detalles

PRÁCTICAS DE GESTIÓN GANADERA:

PRÁCTICAS DE GESTIÓN GANADERA: PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta

Más detalles

4. DESARROLLO DEL SISTEMA DE INFORMACIÓN REGISTRAL AUTOMATIZADO

4. DESARROLLO DEL SISTEMA DE INFORMACIÓN REGISTRAL AUTOMATIZADO 4. DESARROLLO DEL SISTEMA DE INFORMACIÓN REGISTRAL AUTOMATIZADO 4.1. Reseña del Proyecto En el año 1995, la Oficina Registral de Lima y Callao (ORLC), con el objetivo de mejorar la calidad de los servicios

Más detalles

UNIDAD 6 Fotogrametría

UNIDAD 6 Fotogrametría UNIDAD 6 Fotogrametría La fotogrametría es la técnica de obtener mediciones reales de un objeto por medio de la fotografía, tanto aérea como terrestre Las fotografías se las realiza con una cámara métrica

Más detalles

Proyecto de Digitalización del Archivo Histórico de las Compañias

Proyecto de Digitalización del Archivo Histórico de las Compañias Proyecto de Digitalización del Archivo Histórico de las Compañias VII REUNIÓN DE RESPONSABLES DE SISTEMAS DE INFORMACIÓN San Pedro Sula, Honduras, del 6 al 8 de Julio 2005 SUPERINTENDENCIA DE COMPAÑÍAS

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Guía 1: Sistemas de referencia y coordenadas ArcGIS 10 o ArcGis 10.1

Guía 1: Sistemas de referencia y coordenadas ArcGIS 10 o ArcGis 10.1 Guía 1: Sistemas de referencia y coordenadas ArcGIS 10 o ArcGis 10.1 La localización de los lugares en la superficie terrestre y su representación sobre un plano requieren de dos procesos distintos: en

Más detalles

BASES FÍSICAS DE LA ULTRASONOGRAFÍA DEL Dr. CABRERO

BASES FÍSICAS DE LA ULTRASONOGRAFÍA DEL Dr. CABRERO BASES FÍSICAS DE LA ULTRASONOGRAFÍA DEL Dr. CABRERO Con el título fundamentos de la ultrasonografía pretendemos resumir brevemente las bases físicas y fundamentos técnicos de la ecografía. Los ultrasonidos

Más detalles

11 Número de publicación: 2 321 587. 51 Int. Cl.: 72 Inventor/es: Kunigita, Hisayuki. 74 Agente: Elzaburu Márquez, Alberto

11 Número de publicación: 2 321 587. 51 Int. Cl.: 72 Inventor/es: Kunigita, Hisayuki. 74 Agente: Elzaburu Márquez, Alberto 19 OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA 11 Número de publicación: 2 321 587 51 Int. Cl.: G06T 11/60 (2006.01) G06T 15/00 (2006.01) G06Q 30/00 (2006.01) 12 TRADUCCIÓN DE PATENTE EUROPEA T3 96 Número

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

SISTEMA DIÉDRICO PARA INGENIEROS. David Peribáñez Martínez DEMO

SISTEMA DIÉDRICO PARA INGENIEROS. David Peribáñez Martínez DEMO SISTEMA DIÉDRICO PARA INGENIEROS David Peribáñez Martínez SISTEMA DIÉDRICO PARA INGENIEROS David Peribáñez Martínez Valderrebollo 20, 1 A 28031 MADRID 1ª Edición Ninguna parte de esta publicación, incluido

Más detalles

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION Como hemos dicho anteriormente, los instrumentos de medición hacen posible la observación de los fenómenos eléctricos y su cuantificación. Ahora

Más detalles

TEMA 6. ILUMINACIÓN. 6.2. Intensidad y difuminación. Prólogo y rectificación del curso

TEMA 6. ILUMINACIÓN. 6.2. Intensidad y difuminación. Prólogo y rectificación del curso 1 TEMA 6. ILUMINACIÓN. 6.2. Intensidad y difuminación Prólogo y rectificación del curso Según nuestra concepción de esta acción formativa gratuita que estamos realizando desde www.miguelturra.es el equipo

Más detalles

Unidad: Representación gráfica del movimiento

Unidad: Representación gráfica del movimiento Unidad: Representación gráfica del movimiento Aplicando y repasando el concepto de rapidez Esta primera actividad repasa el concepto de rapidez definido anteriormente. Posición Esta actividad introduce

Más detalles

Innovación a su alcance 9000 3D. Sistema de imágenes extraorales KODAK 9000 3D

Innovación a su alcance 9000 3D. Sistema de imágenes extraorales KODAK 9000 3D Innovación a su alcance 9000 3D Sistema de imágenes extraorales KODAK 9000 3D El futuro empieza hoy 3D es lo último en tecnología La radiografía dental ha evolucionado; la tecnología del futuro se encuentra

Más detalles

El presente reporte de tesis describe los procesos llevados acabo para el diseño y

El presente reporte de tesis describe los procesos llevados acabo para el diseño y CAPITULO 1.-INTRODUCCIÓN El presente reporte de tesis describe los procesos llevados acabo para el diseño y construcción de un prototipo de sensor de torque. El primer paso, consistió en realizar un estudio

Más detalles

Menús. Gestor de Menús

Menús. Gestor de Menús Menús Para dar acceso a las categorías, artículos y generar espacio para los módulos se deben crear menús, éstos son enlaces a determinado recurso en el portal Web, sin ellos no es posible visualizar ninguno

Más detalles

Programa de Criminología UOC

Programa de Criminología UOC Programa de Criminología UOC Trabajo Final de Grado Presentación Descripción La asignatura en el conjunto del plan de estudios Campos profesionales en que se proyecta Conocimientos previos Objetivos y

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

1.2 Qué es un Sistemas de Información Geográfica?

1.2 Qué es un Sistemas de Información Geográfica? 1.1 Introducción En los últimos años, se ha desarrollado software especializado que permite el manejo de cartografía por computadora, favoreciendo a diferentes áreas, en el proceso de toma de decisiones.

Más detalles

Sistemas de Calidad Empresarial

Sistemas de Calidad Empresarial Portal Empresarial Aljaraque Empresarial Sistemas de Calidad Empresarial 1 ÍNDICE 1. INTRODUCCIÓN. 2. CONCEPTO DE CALIDAD Y SU SISTEMA. 3. MÉTODO PARA IMPLANTAR UN SISTEMA DE GESTIÓN DE LA CALIDAD. 4.

Más detalles

RAPID TYPING. Qué es?

RAPID TYPING. Qué es? RAPID TYPING Qué es? Rapid Typing es un programa de mecanografía, orientado a los más pequeños por su música y apariencia, pero válido para cualquiera que quiera aprender a teclear correctamente y con

Más detalles

OBJETIVO Nº 1.2.NORMALIZACION

OBJETIVO Nº 1.2.NORMALIZACION OBJETIVO Nº 1.2.NORMALIZACION La ISO (International Standarization Organization) es la entidad internacional encargada de favorecer la normalización en el mundo. Con sede en Ginebra, es una federación

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

Investigadores de la Universitat Ja u m e I d e C a s t e l l ó h a n desarrollado un sistema de reidentificación

Investigadores de la Universitat Ja u m e I d e C a s t e l l ó h a n desarrollado un sistema de reidentificación OFERTA TECNOLÓGICA El objetivo del sistema no es conocer la identidad exacta de un individuo, sino ser capaz de detectar su presencia en diferentes escenarios capturados por distintas cámaras, asociar

Más detalles

PLAN DE MÉTRICAS EN OCHO PASOS

PLAN DE MÉTRICAS EN OCHO PASOS PLAN DE MÉTRICAS EN OCHO PASOS Primera parte Ing. Esteban Vargas Asesor en Calidad Pro-Software Introducción a las métricas Qué son métricas de software? Las métricas de software son medidas que se usan

Más detalles

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX Oracle VirtualBox es una aplicación de código abierto (Open Source) permite crear una máquina virtual en nuestro ordenador de forma que podemos ejecutar un Sistema

Más detalles

MICRÓFONOS. Conceptos básicos

MICRÓFONOS. Conceptos básicos MICRÓFONOS Conceptos básicos Un micrófono es un dispositivo capaz de convertir la energía acústica en energía eléctrica. El valor de la tensión de la energía eléctrica es proporcional a la presión ejercida

Más detalles

Digitalización de imágenes con ayuda del histograma

Digitalización de imágenes con ayuda del histograma Digitalización de imágenes con ayuda del histograma Apellidos, nombre Vicente Atienza Vanacloig (vatienza@disca.upv.es) Departamento Centro Informática de Sistemas y Computadores (DISCA) Escuela Técnica

Más detalles

ERGO KINECT VISION RESUMEN

ERGO KINECT VISION RESUMEN ERGO KINECT VISION Gabriela Guadalupe Reyes Zárate a, Ana Lilia Reyes Herrera a, Ximena Leticia Jiménez Bermúdez a, Rafael Ignacio Cabral Perdomo a., Hugo Gustavo González Hernández a. José Eduardo Villanueva

Más detalles

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04 Autorización Este documento entra en vigor a partir del 2 de agosto del 2005, a través de su autorización por parte del Dr. Francisco Javier Rojas Monroy, Coordinador de Operaciones, Calidad y Teclogía

Más detalles

Lincamiento técnico para la migración de equipos de cómputo de la Universidad de Costa Rica, hacia el Sistema Operativo Windows 10.

Lincamiento técnico para la migración de equipos de cómputo de la Universidad de Costa Rica, hacia el Sistema Operativo Windows 10. Página 1 de 6 Versión: 1.0 Para: Gestores de Tecnologías de Información, Administradores de Recursos Informáticos (RID) y Comunidad Universitaria. Justificación: Hacia finales de Julio de 2015 la empresa

Más detalles

Guía breve para la. Versión abreviada del Manual para la. evaluación de desempeño y potencial

Guía breve para la. Versión abreviada del Manual para la. evaluación de desempeño y potencial Guía breve para la evaluación de desempeño y potencial Versión abreviada del Manual para la evaluación de desempeño y potencial Febrero 2013 INSTITUCIONES PÚBLICAS SUSTENTADAS EN EL BUEN DESEMPEÑO DE SUS

Más detalles

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M. MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA Elaborado por: Julián A. Hernández M. PONTIFICIA UNIVERSIDAD JAVERIANA CALI SANTIAGO DE CALI 2011 CONTENIDO Pág. INTRODUCCIÓN...3 1. ANÁLISIS

Más detalles

SERA. Sistema de Estimación de Riesgo Agropecuario. Manual de uso. 2012 versión del manual: 2

SERA. Sistema de Estimación de Riesgo Agropecuario. Manual de uso. 2012 versión del manual: 2 SERA Sistema de Estimación de Riesgo Agropecuario Manual de uso 2012 versión del manual: 2 Índice 1 INTRODUCCIÓN... 3 2 MANEJO DE ACTIVIDADES Y ARCHIVOS... 5 3 ACTIVIDADES AGRÍCOLAS... 8 3.1 DATOS DEL

Más detalles

Información Científica y Tecnológica

Información Científica y Tecnológica Información Científica y Tecnológica Tutorial para la edición de imágenes científicas mediante Adobe Photoshop CS6 v13.0 y Microsoft office Powerpoint Introducción En los lineamientos para publicar de

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Contexto. Definiendo el DATOS

Contexto. Definiendo el DATOS P ara explicar los cálculos que deben llevarse a cabo, iremos proponiendo algunos datos, que aunque de carácter demostrativo, tratan de ser lo más ajustados posible a la realidad. Definiendo el Contexto

Más detalles

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA I. INTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA 1.1. Informática Informática (Información Automática) es la ciencia y la técnica del tratamiento automatizado de la información mediante el uso de ordenadores.

Más detalles

Digitalización y carga de documentación electrónica por Entidades Colaboradas. Normas

Digitalización y carga de documentación electrónica por Entidades Colaboradas. Normas Digitalización y carga de documentación electrónica por Entidades Colaboradas Normas Dirección General del Catastro Julio de 2014 Página 1 HOJA DE CONTROL DEL DOCUMENTO TÍTULO SUBDIRECCIÓN FECHA CREACIÓN

Más detalles

Guía Maestra Digital (GMD) Manual de instrucciones de uso

Guía Maestra Digital (GMD) Manual de instrucciones de uso Guía Maestra Digital (GMD) Manual de instrucciones de uso Qué es y para qué sirve La Guía Maestra Digital es un material interactivo que ha sido específicamente diseñado por Edinumen con el objetivo de

Más detalles

d s = 2 Experimento 3

d s = 2 Experimento 3 Experimento 3 ANÁLISIS DEL MOVIMIENTO EN UNA DIMENSIÓN Objetivos 1. Establecer la relación entre la posición y la velocidad de un cuerpo en movimiento 2. Calcular la velocidad como el cambio de posición

Más detalles

PROGRAMACIÓN CREATIVA PARA EL APRENDIZAJE DE LAS MATEMÁTICAS Y LA RESOLUCIÓN DE PROBLEMAS CON SCRATCH

PROGRAMACIÓN CREATIVA PARA EL APRENDIZAJE DE LAS MATEMÁTICAS Y LA RESOLUCIÓN DE PROBLEMAS CON SCRATCH PROGRAMACIÓN CREATIVA PARA EL APRENDIZAJE DE LAS MATEMÁTICAS Y LA RESOLUCIÓN DE PROBLEMAS CON SCRATCH Álvaro Molina Ayuso, I.E.S. La Pedrera Blanca, Chiclana de la Frontera (Cádiz) RESUMEN. En este taller

Más detalles

CAPÍTULO 2 ANTECEDENTES

CAPÍTULO 2 ANTECEDENTES CAPÍTULO 2 ANTECEDENTES 2.1 Educación y las Nuevas Tecnologías. La introducción en la sociedad de las llamadas "Nuevas Tecnologías" (como las redes de computadoras, los sistemas de Chat, los sistemas de

Más detalles

Manual Usuario Wordpress. Índice

Manual Usuario Wordpress. Índice 2 Índice 1. Manual usuario...2 1.1 Zona de mensajes...2 1.2 Zona de usuarios...5 1.2.1 Identificarse...5 1.2.2 Registrarse...6 1.3 Categorías...6 1.4 Subscribirse...6 1.5 Archivos...7 1.6 Calendario...7

Más detalles

Anexo I. La visión. El proceso de la visión. 1. Introducción. 2. La visión

Anexo I. La visión. El proceso de la visión. 1. Introducción. 2. La visión Anexo I. La visión El proceso de la visión 1. Introducción El ojo humano ha sufrido grandes modificaciones a través de los tiempos como consecuencia de las diferentes formas de vida, desde cuando se usaba

Más detalles

Capítulo 6: Conclusiones

Capítulo 6: Conclusiones Capítulo 6: Conclusiones 6.1 Conclusiones generales Sobre el presente trabajo se obtuvieron varias conclusiones sobre la administración del ancho de banda en una red inalámbrica, basadas en la investigación

Más detalles

MEMORIA DE RESULTADOS

MEMORIA DE RESULTADOS MEMORIA DE RESULTADOS Proyecto de Innovación Educativa Virtualización del Laboratorio de Automatización de los estudios de Ingeniería Industrial de la Universidad de la Laguna 1. Introducción En este proyecto

Más detalles

A continuación pasaremos a detallar cuáles son los elementos más relevantes dentro de la comunicación y pondremos ejemplos aplicados a la venta.

A continuación pasaremos a detallar cuáles son los elementos más relevantes dentro de la comunicación y pondremos ejemplos aplicados a la venta. 3.1. ELEMENTOS DE LA COMUNICACIÓN. La comunicación es un proceso bidireccional en el que dos o más personas intercambian información, sentimientos u otras ideas mediante el uso de uno o varios lenguajes.

Más detalles

II. ELEMENTOS DE UN CENTRO ACUÁTICO II.1 Introducción Los espacios dentro de un centro acuático se centran alrededor de la alberca como el elemento

II. ELEMENTOS DE UN CENTRO ACUÁTICO II.1 Introducción Los espacios dentro de un centro acuático se centran alrededor de la alberca como el elemento II. ELEMENTOS DE UN CENTRO ACUÁTICO II.1 Introducción Los espacios dentro de un centro acuático se centran alrededor de la alberca como el elemento más importante de la estructura. Sin embargo, existen

Más detalles

Planilla de cálculo. Módulo II - OpenOffice.org Calc

Planilla de cálculo. Módulo II - OpenOffice.org Calc Planilla de cálculo Módulo II - OpenOffice.org Calc 1 OpenOffice.org Calc Índice de contenidos Introducción Fórmulas Operadores matemáticos Autorrellenar Una función especial: Autosuma Algunas funciones

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

EL ORDENADOR RECURSO TIC PARA UNA METODOLOGÍA TRANSVERSAL E INTERDISCIPLINAR: MATEMÁTICAS - TECNOLOGÍA

EL ORDENADOR RECURSO TIC PARA UNA METODOLOGÍA TRANSVERSAL E INTERDISCIPLINAR: MATEMÁTICAS - TECNOLOGÍA EL ORDENADOR RECURSO TIC PARA UNA METODOLOGÍA TRANSVERSAL E INTERDISCIPLINAR: MATEMÁTICAS - TECNOLOGÍA Resumen AUTORIA MARÍA JOSÉ ALFONSO GARCÍA TEMÁTICA INTERDISCIPLINARIEDAD MATEMÁTICAS Y TECNOLOGÍA

Más detalles

Resumen Ejecutivo. Sistemas de Gestión, Conversión y Difusión de Contenidos Audiovisuales 3D para Pantallas Autoestereoscópicas

Resumen Ejecutivo. Sistemas de Gestión, Conversión y Difusión de Contenidos Audiovisuales 3D para Pantallas Autoestereoscópicas Resumen Ejecutivo Se ha producido recientemente un fuerte incremento en la producción de contenidos audiovisuales 3D para cine y televisión, en forma de películas y grabación/retransmisión de eventos en

Más detalles

Un par de ideas sobre la cámara fotográfica

Un par de ideas sobre la cámara fotográfica Título del curso-tema/francisco Bernal Rosso/20/09/09-1/5 Imagen fotográfica Un par de ideas sobre la cámara fotográfica Qué es. Pero en pocas palabras. Título del curso-tema/francisco Bernal Rosso/20/09/09-2/5

Más detalles

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN GUÍA PARA LA PRESENTACIÓN DE NOTIFICACIONES Versión: 27/06/2012-1 ÍNDICE:

Más detalles

Página 1 de 7. Qué es Scratch?

Página 1 de 7. Qué es Scratch? Página 1 de 7 Qué es Scratch? Scratch es un software desarrollado por un grupo de investigadores (LLK) del MIT (Instituto Tecnologíco de Massachussets) con amplia experiencia en el desarrollo de herramientas

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

PRÁCTICA NÚMERO 1. MANEJO DEL OSCILOSCOPIO Y DEL GENERADOR DE SEÑALES.

PRÁCTICA NÚMERO 1. MANEJO DEL OSCILOSCOPIO Y DEL GENERADOR DE SEÑALES. PRÁCTICA NÚMERO 1. MANEJO DEL OSCILOSCOPIO Y DEL GENERADOR DE SEÑALES. 1.1. Introducción Teórica. (a) El osciloscopio El osciloscopio es básicamente un dispositivo de visualización gráfica que muestra

Más detalles

Direccionamiento IPv4

Direccionamiento IPv4 Direccionamiento IPV4 Página 1 de 15 www.monografias.com Direccionamiento IPv4 1. Direccionamiento IP 2. Componentes de una dirección IP 3. Determinación de la clase de dirección 4. Determinación de los

Más detalles

Ponencia: Mapa Geotécnico Viario de Andalucía: Una Propuesta para la Sistematización de la Información Geotécnica en la Red de Carreteras de Andalucía. Juan Diego Bauzá Castelló Ingeniero de Caminos, Canales

Más detalles

El proceso de edición digital en Artelope y CTCE

El proceso de edición digital en Artelope y CTCE El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos

Más detalles

GUÍA DE USO DE LA APLICACIÓN GESTIÓN DE TESIS PERFIL: DIRECTOR / TUTOR

GUÍA DE USO DE LA APLICACIÓN GESTIÓN DE TESIS PERFIL: DIRECTOR / TUTOR GUÍA DE USO DE LA APLICACIÓN GESTIÓN DE TESIS PERFIL: DIRECTOR / TUTOR Fase de ELABORACIÓN (Determinación y registro del tema de la TD) La norma establece para la asignación de director de tesis, un plazo

Más detalles

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el CAPÍTULO 4 Funcionamiento del Robot Después de analizar paso a paso el diseño y funcionamiento de la interfase, nos podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que

Más detalles

Asistente Liberador de Espacio. Manual de Usuario

Asistente Liberador de Espacio. Manual de Usuario 1 Manual de Usuario 2 Introducción...3 Qué es el?...3 Propósito de la aplicación...3 Precauciones y recomendaciones al momento de usar el Asistente...3 Cuándo se abre o cierra el Asistente?...4 Conceptos

Más detalles

Instructivo de Microsoft Windows

Instructivo de Microsoft Windows Instructivo de Microsoft Windows El presente instructivo corresponde a una guía básica para el manejo de los programas y la adquisición de conceptos en relación a estos utilitarios. No obstante ello, para

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Robótica Educativa para el nivel primario Descripción del kit. WeDo WeDo WeDo WeDo WeDo WeDo WeDo

Robótica Educativa para el nivel primario Descripción del kit. WeDo WeDo WeDo WeDo WeDo WeDo WeDo WeDo Robótica Educativa para el nivel primario Descripción del kit WeDo WeDo WeDo WeDo WeDo WeDo WeDo Introducción El kit de Robótica WeDo ha sido diseñado para el nivel de educación primaria, para alumnos

Más detalles

1 MANUAL DE INSTALACIÓN

1 MANUAL DE INSTALACIÓN 1 MANUAL DE INSTALACIÓN El software necesario para la ejecución de las aplicaciones se incluye en el apartado software del cd del proyecto. Aún así, a continuación se explica como poder descargar los programas

Más detalles

Requerimientos técnicos... 5. Instalación del programa... 5. Presentación... 7. Proyecto Visible Human... 7. Características de UB-Brain...

Requerimientos técnicos... 5. Instalación del programa... 5. Presentación... 7. Proyecto Visible Human... 7. Características de UB-Brain... Índice Requerimientos técnicos... 5 Instalación del programa... 5 Desinstalación del programa... 6 Comprobación de la instalación de DirectX... 6 Presentación... 7 Proyecto Visible Human... 7 Características

Más detalles

El reto de la Gestión Documental

El reto de la Gestión Documental El reto de la Gestión Documental Introducción Quizá la pregunta más habitual que nos hacemos al considerar soluciones de Gestión Documental sea cómo puedo digitalizar la enorme cantidad de documentos que

Más detalles

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los

Más detalles

CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM

CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM 59 En este tercer capítulo se presenta el diseño de un mecanismo de detección de tráfico malicioso para RedUNAM. Abarca

Más detalles

Capítulo 10 164. En la sección anterior se explicó el diseño, construcción y programación del

Capítulo 10 164. En la sección anterior se explicó el diseño, construcción y programación del Capítulo 10 164 CAPÍTULO DIEZ: PRUEBAS Y RESULTADOS En la sección anterior se explicó el diseño, construcción y programación del prototipo neumático de prótesis de pierna humana. Como se mencionó el prototipo

Más detalles

MATEMÁTICAS CON LA HOJA DE CÁLCULO

MATEMÁTICAS CON LA HOJA DE CÁLCULO MATEMÁTICAS CON LA HOJA DE CÁLCULO Podemos dar a esta aplicación un uso práctico en el aula de Matemáticas en varios sentidos: Como potente calculadora: sucesiones, límites, tablas estadísticas, parámetros

Más detalles

BALONCESTO 3º ESO Prof: Sergio

BALONCESTO 3º ESO Prof: Sergio BALONCESTO 3º ESO Prof: Sergio 1.-ORIGEN E HISTORIA DEL BALONCESTO. El baloncesto nació en EEUU en el año 1891, lo inventó un Sacerdote Canadiense llamado James Naismith, este sacerdote viajó a Massachussets

Más detalles

INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS

INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS El control automático de procesos es parte del progreso industrial desarrollado durante lo que ahora se conoce como la segunda revolución industrial. El uso

Más detalles

FASES DEL PROCESO DE RESOLUCIÓN DE PROBLEMAS

FASES DEL PROCESO DE RESOLUCIÓN DE PROBLEMAS FASES DEL PROCESO DE RESOLUCIÓN DE PROBLEMAS Varios autores han tratado de identificar y describir las distintas fases en el proceso de resolución de problemas. Polya (1945), en su modelo descriptivo,

Más detalles

LA FOTOGRAFÍA CLÍNICA EN ODONTOLOGIA

LA FOTOGRAFÍA CLÍNICA EN ODONTOLOGIA LA FOTOGRAFÍA CLÍNICA EN ODONTOLOGIA Manuel Saura Pérez Doctor en Medicina y Cirugía Especialista en Estomatología Dentista de Área de Atención Primaria. Servicio Murciano de Salud Profesor Asociado de

Más detalles

INSTRUCCIÓN DE SERVICIO NOCIONES BÁSICAS PARA DIAGRAMAS DE FLUJO. MICROSOFT VISIO

INSTRUCCIÓN DE SERVICIO NOCIONES BÁSICAS PARA DIAGRAMAS DE FLUJO. MICROSOFT VISIO INSTRUCCIÓN DE SERVICIO NOCIONES BÁSICAS PARA DIAGRAMAS DE FLUJO. MICROSOFT VISIO 2007 Fecha: 23/11/07 Autor: Aurora Estévez Ballester. TGRI Sección Normalización y Proceso Técnico Área de Bibliotecas

Más detalles

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA Fecha última revisión: Septiembre 2014 MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA MÓDULO GOTELGEST.NET MÓVIL... 3 1. INTRODUCCIÓN A

Más detalles

INDEX GUÍA INSTRUCTIVA PARA PASOS INICIALES DEL SITE BUILDER

INDEX GUÍA INSTRUCTIVA PARA PASOS INICIALES DEL SITE BUILDER GUÍA INSTRUCTIVA PARA PASOS INICIALES DEL SITE BUILDER INDEX Introducción...2 Paso 1. Diseños. La plantilla de diseños...2 1.a Diseños:...2 1.b Colores:...3 1.c Estilos:...5 Paso 2. Información...6 Paso

Más detalles

IMAGEN Y SONIDO 2º BACHILLERATO INTRODUCCIÓN

IMAGEN Y SONIDO 2º BACHILLERATO INTRODUCCIÓN IMAGEN Y SONIDO 2º BACHILLERATO INTRODUCCIÓN La materia Imagen y Sonido tiene como objetivo promover la formación de ciudadanos críticos, responsables y autónomos para la utilización, con solvencia y responsabilidad,

Más detalles

U.N.Sa. - Facultad de Cs.Económicas, Jurídicas y Sociales. Seminario de Informática Presentación

U.N.Sa. - Facultad de Cs.Económicas, Jurídicas y Sociales. Seminario de Informática Presentación U.N.Sa. - Facultad de Cs.Económicas, Jurídicas y Sociales Seminario de Informática Presentación 1 El Seminario de Informática en el Plan de Estudios El fenómeno del procesamiento electrónico de datos,

Más detalles

OPT. Núcleo Básico. Núcleo de Formación. Optativa. Nombre de la universidad. Universidad Politécnica de Pachuca. Nombre del programa educativo

OPT. Núcleo Básico. Núcleo de Formación. Optativa. Nombre de la universidad. Universidad Politécnica de Pachuca. Nombre del programa educativo Nombre la universidad Universidad Politécnica Pachuca Nombre l programa educativo Maestría en Mecatrónica Objetivo l programa educativo Formar recursos humanos altamente capacitados en los conocimientos

Más detalles

Catálogo de Productos

Catálogo de Productos Con Alt, ahora también podés. Todos podemos mejorar nuestra calidad de vida al lograr hacer aquello que nos gusta. Qué es Alt? Es una iniciativa tecnológica que nació como una solución a la demanda de

Más detalles

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N 002-2011/UIE-PATPAL - FBB

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N 002-2011/UIE-PATPAL - FBB INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N 002-2011/UIE-PATPAL - FBB Contenido 1. NOMBRE DEL AREA... 2 2. RESPONSABLES DE LA EVALUACIÓN... 2 3. CARGOS... 2 4. FECHA... 2 5. JUSTIFICACIÓN... 2 6.

Más detalles

DIBUJO I. Teórica CLASE 1

DIBUJO I. Teórica CLASE 1 DIBUJO I Teórica CLASE 1 Primera parte Objetivo del dibujo Representar sobre una superficie, formas naturales o artificiales, pensamientos e ideas o todo lo imaginado por la mente del hombre. Podemos entender

Más detalles

Manual Word 2010. Tablas

Manual Word 2010. Tablas Manual Word 2010 Tablas CONTENIDO Insertar Tabla Seleccionar tablas Eliminar Tablas Agregar - eliminar filas, columnas y celdas Combinar y dividir celdas Dividir tablas Establecer alto y ancho de la celda

Más detalles

DESCRIPCIÓN TÉCNICA SYSTEM MANAGER SOFTWARE (SMS)

DESCRIPCIÓN TÉCNICA SYSTEM MANAGER SOFTWARE (SMS) DESCRIPCIÓN TÉCNICA SYSTEM MANAGER SOFTWARE (SMS) Dossier Soporte BTP-C, Enero 2003 -pág. A.3-1 - 1. DESCRIPCIÓN TÉCNICA DEL SOFTWARE SUPERVISOR System Manager Software o SMS. Características SMS: Existen

Más detalles

INSTITUTO TECNOLÓGICO DE SALINA CRUZ

INSTITUTO TECNOLÓGICO DE SALINA CRUZ INSTITUTO TECNOLÓGICO DE SALINA CRUZ MATERIA: Redes de Computadora TEMA: Enrutamiento estático y dinámico DOCENTE: M.C. Susana Mónica Román Nájera ALUMNO: RODOLFO LOPEZ ANOTA SEMESTRE: VI GRUPO: E CARRERA:

Más detalles

El interesado ALLUS GLOBAL BPO CENTER, a través de su GERENTE DE CUENTA remite observaciones al documento CONVOCATORIA No. 009 de 20146.

El interesado ALLUS GLOBAL BPO CENTER, a través de su GERENTE DE CUENTA remite observaciones al documento CONVOCATORIA No. 009 de 20146. 20 Agosto 2014 RESPUESTAS A OBSERVACIONES HECHAS A LA INVITACIÓN 009-2014 PARA SELECCIONAR LA OPERACIÓN Y ADMINISTRACIÓN DE CONTACT CENTER PARA LA ATENCIÓN DE USUARIOS Y PRESTADORES (IPS). RESPUESTAS TECNICAS

Más detalles