ÍNDICE INTRODUCCIÓN PRIMERA PARTE: EVALUADOR DE GESTOS

Slides:



Advertisements
Presentaciones similares
Configurar un curso (Función del profesor) Editar el nombre, el nombre corto y el informe (que se muestra en la portada) Escoger la formato del curso y.
Advertisements

Iniciación al Power Point
Procesamiento de cadenas
Fuerza y movimiento.
Curso de Microsoft® Word 2010
TEMA 7 CINEMÁTICA Primera Parte.
PROYECTO FIN DE CARRERA.  Introducción y Motivación  Fundamentos del Sistema QbH  Diseño e Implementación  Test y Resultados  Conclusiones  Trabajo.
PROGRAMACION DE ESTRUCTURAS DE DATOS
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
GESTOR DE BASES DE DATOS RELACIONALES
ACOTACIÓN EN AUTOCAD.
POWER POINT Ing. Evelyn Riveros H..
TRADUCTOR DE UN PROGRAMA
Ingeniero Anyelo Quintero
Funcionamiento Básico
Biograma Introducir datos en una matriz. Elegir método para máximos y mínimos. Calcular los máximos y mínimos observados. Límites.
J. Trinidad Guillen Bonilla, H. Guillen Bonilla, A. Guillen Bonilla,
DR. ERNESTO SUAREZ.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Lección 8 Botones, objetos de texto y de línea
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Mt. Martín Moreyra Navarrete.
Raúl Heiras Andazola Edgar A. Robles Reyes Luis Alonso Ramos Fdez Diseño de Robots Dr. Carlos F. Pfeiffer Octubre 22, 2003.
Trabajo de Fin de Grado Realizado por FRANCISCO LUNA PEREJON Dirigido por OCTAVIO RIVERA ROMERO MIRA: Elaboración de herramientas para la experimentación.
Asignación de Espacio No Contiguo
INTEGRANTES : Guillermo Fuenmayor Franklin Diaz Daniel Linares República Bolivariana de Venezuela Ministerio de Educación Superior La Universidad del Zulia.
INTRODUCCIÓN A MICROSOFT EXCEL 2007
© 2012 Microsoft Corporation. Todos los derechos reservados. Programar una reunión de Lync Si utiliza Outlook, puede programar una reunión de Lync mediante.
Introducción a la aplicación Lync de la Tienda Windows
Reconocimiento y resolución de ecuaciones impresas Luis Fernández Pérez Marco Antonio Formoso Trigo.
TUTORIAL DE MANEJO DE PRODUCTOS SYSCOM CON EDRAWINGS.
Aplicación de estructuras de datos
Detección de Silencio Basado en Umbral de Energía Auto-Ajustable Redes de Alta Velocidad Presentan:Felipe Galaz Cristian Romero Profesora: Marta Barría.
TRANSFORMACIONES ISOMÉTRICAS
Reconocedor de Señales de Tráfico Verticales
Publicación de bases de datos Access en la web
Animación en Flash MX Conceptos Basicos.
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
CINEMÁTICA Movimiento Rectilíneo Uniformemente Acelerado (MRUA) O
INTRODUCCIÓN Se lo define como un programa para PRESENTACIONES. En sus orígenes estaba orientado a la creación de diapositivas para esquematizar contenidos.
Ingeniería Agrícola en caballos de paso fino Juan G. Ríos Juan G. Ríos Dep. Ingeniería civil Uprm Mayagüez Primer semestre
Televisores 3D José Luis León Hidalgo. Televisión 3D La Televisión 3D se refiere a un televisor que permite visualizar imágenes en 3 dimensiones, utilizando.
Editor de fotografías Programa: GIMP (y 2). MUY IMPORTANTE El formato JPG está basado en filtros y algoritmos de compresión que provocan una pérdida.
MICROSOFT OFFICE Power Point.
Es un programa sorprendente con un diseño mejor y más eficaz que el de las versiones anteriores. Pero quizás le resulte poco familiar. Por ese motivo.
III. Generación de documentos corporativos
MEDICIÓN DE LA VELOCIDAD DE LA LUZ
Cómo acceder a Microsoft Word El acceso al software dependerá de cómo se haya efectuado la instalación del producto, esto es desde el paquete Microsoft.
Instituto Tecnológico Superior de Libres Organismo Público Descentralizado del Gobierno del Estado de Puebla Microsoft Office Word 2007.
Colegio de bachilleres plantel n°14
Microsoft Power Point Tema: “Como manejo del Power Point como herramienta estudiantil”.
SISTEMA OPERATIVO WINDOWS.
1.¿Qué es? El Microsoft PowerPoint es un programa que permite hacer presentaciones, y es usado ampliamente los ámbitos de negocios y educacionales. 1.1¿Para.
Introducción a phpMyAdmin
Pixelación de imágenes avanzada usando el algoritmo slic
Sistema Operativo S.O..
Hardware Parte física de una computadora. Dispositivos Es todo aquello que esta conectado a la computadora, los cuales tienen una función específica.
Reconocimiento de cara basado en “espectrocara”
Matrices Pág. 1. Matrices Pág. 2 Se llama matriz traspuesta de A, y se representa por A t a la matriz que resulta de intercambiar las filas y las columnas.
LA MECANICA Es la rama de la física que estudia el movimiento de los cuerpos. Lo vamos a abordar desde dos enfoques: CINEMÁTICA: Solamente se hace una.
DETECCION DE SEÑALES BINARIAS EN RUIDO GAUSSIANO El criterio de toma de decisión fue descrito por la ecuación Un criterio muy usado para escoger el nivel.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
NPI – Kinect v2 Francisco Gea Martínez Francisco Pérez Hernández.
OPTIMIZACION DEL DESEMPEÑO DE ERROR
Informática Extracurricular UNAJ 1 6 Clase 6 PowerPoint.
P O W E R P O I N T CONCEPTOS BÁSICOS 1.
Que es Power Point? Es un programa diseñado para hacer presentaciones con texto esquematizado, fácil de entender, animaciones de texto e imágenes, imágenes.
Unidad 7: Programas de presentaciones multimedia y hojas de cálculo
PRÁCTICA PARA EL MANEJO DEL GPS PREPARACIÓN ANTES Y DESPUÉS DE LA SALIDA A CAMPO
Escuela Superior Politécnica de Chimborazo Facultad de Administración de Empresas Escuela de Ingeniería en Marketing Jonathan Yamasca Tercero 2.
Transcripción de la presentación:

DESARROLLO Y EVALUACIÓN DE UN SISTEMA DE TELEOPERACIÓN DE ROBOTS BASADO EN RECONOCIMIENTO DE GESTOS USANDO EL SENSOR KINECT Autor: Alberto González de Dios Tutor: Juan Manuel Montero Martínez

ÍNDICE INTRODUCCIÓN PRIMERA PARTE: EVALUADOR DE GESTOS Contexto Medios usados Objetivos PRIMERA PARTE: EVALUADOR DE GESTOS Introducción a Kinect Detección del Movimiento Preprocesamiento del esqueleto Algoritmo DTW Evaluador de Gestos Evaluaciones SEGUNDA PARTE: CONTROLADOR DE ROBOT Teleoperador de Robot Lego Mindstorm Conclusiones

CONTEXTO Hasta ahora… Teleoperación de robots con mandos o joysticks Manos Ocupadas Movimientos artificiales pulsando botones de un mando Necesario aprender qué hace cada botón Reconocimiento de gestos con cámaras RGB Movimientos en 2 dimensiones: sin profundidad y con distorsión (objetos lejanos más pequeños) Realización de gestos siempre de frente 2

MOTIVACIÓN - NECESIDADES Necesitamos… Teleoperación de robots mediante gestos Manos Libres Movimientos naturales Reconocimiento de gestos Movimientos en 3 dimensiones Gestos realizados en cualquier posición, no sólo de frente Reconocimiento instantáneo (algoritmo de reconocimiento eficiente) Sistema sencillo y económico 3

MEDIOS USADOS Para realizar este proyecto se utilizó… Sensor Kinect (desde noviembre de 2010) Imágenes en 3 dimensiones (cámara RGB + sensor de profundidad) Array de micrófonos incorporado Disponible Kit de Desarrollo de Software (Kinect SDK) Económico (Desde 100€) Robot Lego Mindstorm (desde julio de 2006) Sencillo de montar Disponible librerías en .Net para mover el robot (monobrick) 4

OBJETIVOS EL OBJETIVO Para conseguir este objetivo es necesario… Desarrollar y evaluar un Sistema de Teleoperación de robots basado en reconocimiento de gestos Para conseguir este objetivo es necesario… Desarrollar un Evaluador de Gestos Detectar el movimiento que corresponde a un gesto Detectar qué gesto es Integrar la librería de detección de gestos en un sistema de teleoperación de robots 5

KINECT Características: Funcionamiento Cámara RGB Sensor de Profundidad Array de Micrófonos Funcionamiento Escáner 3D de luz estructurada: Kinect proyecta con el emisor de luz infrarroja un patrón aleatorio de puntos, y la cámara infrarroja captura la luz reflejada. Como el patrón emitido es conocido por Kinect, la cámara puede obtener la información de profundidad a través de algoritmos de visión estéreo, como la correlación cruzada o la triangulación estérea. 6

KINECT – DATOS ENVIADOS Datos enviados cada 33 ms (30 FPS): Imagen en color (Imagen RGB) Imagen en escala de grises (Imagen de Profundidad) Esqueletos detectados Esqueletos Conjunto de 20 puntos que definen el esqueleto de una persona Una vez que Kinect detecta un esqueleto, realiza un seguimiento. La detección de un esqueleto necesita un procesamiento y un conjunto de imágenes nuevas, lo que se traduce en tiempo (cada imagen nueva se envía cada 33 ms). El seguimiento es un proceso mucho más simple, y que requiere sólo una imagen nueva Kinect es capaz de detectar hasta 6 personas, y realizar tracking sobre 2 de ellas a la vez 7

KINECT – RANGO DE VISIÓN Profundidad: desde 80 cm hasta 4 metros Rango Horizontal: apertura de 58º Rango Vertical: apertura de 43º A una distancia de 2.5 metros: Rango Horizontal: Desde -1.2 metros hasta 1.2 metros del Kinect Rango Vertical: Desde -1 metro hasta 1 metro del Kinect 8

MOVIMIENTO - DEFINICIÓN Variación de las posiciones de los puntos que forman el esqueleto Cantidad de Movimiento Cantidad de movimiento un punto del esqueleto P con coordenadas cartesianas (x,y,z): 𝑝 𝑝 = 𝑚 𝑣 𝑝 = 𝑚 ( 𝑑 𝑥 𝑝 𝑑𝑡 + 𝑑 𝑦 𝑝 𝑑𝑡 + 𝑑 𝑧 𝑝 𝑑𝑡 ) Cantidad de movimiento de un punto del esqueleto entre frames (∆𝑡=33 𝑚𝑠): 𝑝 𝑛 𝑝 = 𝑝 𝑝 𝑚 ∆𝑡 = 𝑥 2 − 𝑥 1 + 𝑦 2 − 𝑦 1 + 𝑧 2 − 𝑧 1 Cantidad de movimiento normalizada de un esqueleto entre frames: 𝑝= 𝑖= 1 20 𝑝 𝑛 𝑝 𝑖 = 𝑖= 1 20 𝑥 𝑖 2 − 𝑥 𝑖 1 + 𝑦 𝑖 2 − 𝑦 𝑖 1 + 𝑧 𝑖 2 − 𝑧 𝑖 1 9

MOVIMIENTO - DISTANCIA Distancia o energía entre esqueletos Suma ponderada de la distancia entre los puntos correspondientes de cada esqueleto 𝐷= 𝑖= 1 20 𝑐 𝑖 ∙𝑑( 𝑝 𝑖 𝑎 , 𝑝 𝑖 𝑏 ) La distancia es la raíz cuadrada de la energía normalizada: 𝑑 𝑝 𝑖 𝑎 , 𝑝 𝑖 𝑏 = 𝑥 𝑖 𝑏 − 𝑥 𝑎 2 + 𝑦 𝑖 𝑏 − 𝑦 𝑖 𝑎 2 + 𝑧 𝑖 𝑏 − 𝑧 𝑖 𝑎 2 Dependiendo de los pesos ci , se definen varios tipos de distancia: Distancia completa Distancia selectiva Distancia con umbral Distancia selectiva con umbral 10

MOVIMIENTO - UMBRALES Sin umbral Umbral de Energía Umbral de tiempo No hay un umbral que marque el comienzo y el final de un gesto En el entrenamiento se realiza una grabación de duración fija (ej. 3 segundos) En la detección, se establece es una ventana de tiempo máxima (ej. 3 segundos) y continuamente se están comparando esa ventana con los gestos entrenados. Umbral de Energía Se define el umbral de energía como la energía mínima necesaria para cambiar de estado Considerando 2 estados básicos, reposo y gesto, superar el umbral supone iniciar el gesto; y caer por debajo del umbral, terminar el gesto. Umbral de tiempo Se define el umbral de tiempo como la duración mínima de tiempo necesaria durante la cual la energía de un movimiento tiene que estar superando un cierto umbral para cambiar de estado.

MOVIMIENTO – MÁQUINA DE ESTADOS Motivación Para filtrar el ruido es necesario aplicar umbrales de energía y tiempo. Estos umbrales definen la transición de un estado a otro, pero necesitamos establecer los estados Modelando una máquina de estados con varios umbrales de energía y tiempo, se consiguen unos umbrales dinámicos en función del estado en que se encuentre el movimiento Máquina de 4 Estados Reposo Inicio de Movimiento Movimiento Fin de Movimiento

LOS PROBLEMAS DE LA POSICIÓN Y DEL GIRADO DISTANCIA ENTRE ENTRE EL GESTO ENTRENADO Y EL EVALUADO EN DISTINTA POSICIÓN (SUMA DE LOS MÓDULOS DE LAS FLECHAS BLANCAS) DISTANCIA MÁS GRANDE QUE EL ANTERIOR DISTANCIA ENTRE EL GESTO ENTRENADO Y EL EVALUADO EN LA MISMA POSICIÓN (SUMA DE LOS MÓDULOS DE LAS FLECHAS BLANCAS) Cuando comparamos dos gestos, aparecen 2 problemas: Gesto entrenado y evaluado realizados en distinto lugar Aumenta la distancia entre los gestos iguales. Puede disminuir la distancia entre gestos distintos Gestos comparados sin estar de frente al Kinect Cambia totalmente el movimiento Solucionamos estos problemas mediante transformaciones lineales El preprocesamiento del esqueleto son transformaciones lineales en 3 dimensiones que se realizan antes de procesar los datos del esqueleto para calcular la distancia entre esqueletos En el entrenamiento (izquierda), mueve la mano izquierda El la evaluación (derecha), mueve la mano derecha Ambos gestos realizan el mismo recorrido La distancia entre los dos gestos es prácticamente cero!!! 13

PREPROCESAMIENTO DEL ESQUELETO Los preprocesamientos implementados son: Centrado Se realiza una traslación del esqueleto para situar la cadera en (0,0,1), siendo el Kinect el punto de Referencia (0,0,0) Rotado Se realiza una rotación del esqueleto para que esté siempre de frente al Kinect Dos tipos de rotado: Rotado mediante cambio de base. La nueva base está formada por: Eje X = Recta que une los hombros Eje Y = Columna vertebral Eje Z = Perpendicular a Eje X y Eje Y Rotado mediante giro sobre el eje Y (Columna Vertebral). ESQUELTO ORIGINAL ESQUELETO CENTRADO 14 ESQUELETO ORIGINAL GIRADO ESQUELETO GPROCESADO GIRADO

ALGORITMO DTW Objetivo: Camino de Alineamiento Encontrar el alineamiento óptimo entre 2 secuencias temporales Aplicado a este proyecto… Encontrar el alineamiento óptimo entre 2 gestos (secuencias de esqueletos) Camino de Alineamiento Un camino de alineamiento es una secuencia 𝑝= 𝑝 1 , 𝑝 2 , …, 𝑝 𝑛 / 𝑝 𝑖 = 𝑛 𝑖 , 𝑚 𝑖 ∈ 1,𝑁 × 1,𝑀 ∀ 𝑖 ∈ [1,𝐿] cumple las siguientes condiciones: Condición de frontera: 𝑝 1 = 1,1 ∧ 𝑝 𝐿 =(𝑁,𝑀) Condición de monoticidad: 𝑛 1 ≤ 𝑛 2 ≤ … ≤ 𝑛 𝐿 ∧ 𝑚 1 ≤ 𝑚 2 ≤ … ≤ 𝑚 𝐿 Condición de desplazamiento: 𝑝 𝑙+1 − 𝑝 𝑙 ∈ 1,0 , 0,1 , 1,1 ∀ 𝑙∈[1, 𝐿−1] 15

ALGORITMO DTW Obtención del Camino óptimo Se calcula la matriz de distancias acumuladas: D es la distancia acumulada, y c es el coste o distancia entre dos esqueletos Se obtiene el camino óptimo empezando por 𝑝 𝐿 = 𝑁,𝑀 y : Aplicación al reconocimiento de gestos Se compara el gesto detectado con cada uno de los gestos de entrenamiento, y aquél cuya distancia acumulada en el último punto, D(N,M), sea menor, es el gesto buscado. 16

EVALUADOR DE GESTOS Elementos clave del Evaluador de Gestos La librería, donde se implementa todas las funcionalidades del evaluador de gestos El Kinect La base de datos La aplicación gráfica, que hace uso de la librería , del Kinect y de la base de datos

EVALUADOR DE GESTOS – LIBRERÍA ¿Por qué se usa una librería? Porque así desde cualquier aplicación que queramos usar las funcionalidades y la potencia del evaluador de gestos, simplemente importando esta librería. En la librería se implementa: Preprocesador de esqueletos (centrado y rotados) Grabador y Reproductor de gestos Los gestos se graban escribiendo en un fichero de texto por cada frame en binario: el tiempo transcurrido desde el último frame, el plano del suelo y, como un objeto serializado, todos los esqueletos detectados . Los gestos se reproducen lanzando eventos después de cada tiempo transcurrido entre frames con el contenido de cada frame grabado. Algoritmo DTW Reconocedor de gestos 18

EVALUADOR DE GESTOS – BASE DE DATOS ¿Por qué usar una base de datos? El acceso a la información es mucho más rápido que en ficheros de texto Se pueden realizar consultar sobre grandes cantidades de datos filtrando los resultados. Ideal para extraer datos concretos de las evaluaciones: Datos guardados en base de datos Usuarios Configuraciones Evaluaciones Gestos, pero sólo la referencia al archivo de texto con cada gesto. Datos no guardados en base de datos La información de los esqueletos se guardan como objetos serializados en ficheros de texto. Al ser datos muy grandes y en binario, es mejor guardarlos en ficheros de texto para no sobrecargar la base de datos. 19

EVALUADOR DE GESTOS – BASE DE DATOS MySQL porque es rápido, gratuito y existe un conector para C# Implementación con EntityFramework (EF) mediante la técnica Code First EntityFramework es un conjunto de APIS de .Net que permite interactuar con bases de datos. Existen 3 técnicas para interactuar con bases de datos: Code First: se escribe el código y EF genera la base de datos a partir del código Database First: se crea la base de datos y EF genera entidades POCO para usar en el código Model first es un método donde se diseña la base de datos, y EF genera la base de datos y el código Code First: Cada clase se mapea en una tabla de la base de datos, y cada propiedad de la clase, se mapea en una columna de la tabla. Se puede modificar la estructura de la base de datos, y EntityFramework regenera la base de datos automáticamente. 20

EVALUADOR DE GESTOS – BASE DE DATOS Primero…. Y Entity Framework crea después…

EVALUADOR DE GESTOS – SOFTWARE Características generales Aplicación gráfica en Windows, programada en C# usando WPF con .Net 4.5 Sistema de Usuarios: Ventana principal de Login Cada usuario tiene su propia configuración, gestos entrenados y evaluaciones Dividida en dos partes Evaluación Entrenamiento Todos los parámetros de detección de gestos se pueden configurar, así como las evaluaciones y el entrenamiento A las secciones se accede pulsando los botones correspondientes, pero existe una barra de navegación en la parte superior que permite volver atrás o adelante 22

EVALUADOR DE GESTOS – SOFTWARE En la sección de entrenamiento Se puede realizar un entrenamiento automático o que el sistema pare después de entrenar cada gesto. Una vez parado, podemos reproducir el gesto, volver a grabarlo o entrenar el siguiente gesto. Los gestos a entrenar son configurables. Por defecto hay 11 gestos, todos correspondientes a movimientos con los brazos Para entrenar cada gesto, primero se reproduce una animación para que el usuario realice la misma acción Los gestos entrenados se pueden reproducir, volver a grabar o borrar. En la reproducción de gestos, se puede: Reproducir a distinta velocidad (más rápido o más lento) Manejar la vista en 3 dimensiones, rotando o moviendo la vista 23

EVALUADOR DE GESTOS – ENTRENAMIENTO

EVALUADOR DE GESTOS – SOFTWARE En la sección de evaluación Se puede realizar una evaluación automática o que el sistema pare después de entrenar cada gesto. Una vez parado, podemos reproducir el gesto, volver a grabarlo o entrenar el siguiente gesto. Tres tipos de evaluación: Gestos configurados. Gestos aleatorios Sólo detección de gestos Para evaluar cada gesto, primero se reproduce una animación para que el usuario realice la misma acción Después de cada evaluación, se pueden calcular los resultados de la evaluación pulsando en la opción de Calcular Evaluación. Los resultados de las evaluaciones son guardados en base de datos 25

EVALUADOR DE GESTOS – DETECCIÓN

RESULTADOS DE LA EVALUACIÓN CONFIGURACIÓN DE LA EVALUACIÓN PANTALLA DE REGISTRO RESULTADOS DE LA EVALUACIÓN CONFIGURACIÓN DE LA EVALUACIÓN EN MODO LIBRE CONFIGURACIÓN DE LA DETECCIÓN DE MOVIMIENTO CONFIGURACIÓN DE LA EVALUACIÓN REPRODUCIR GESTOS GRABADOS PANTALLA INICIAL PÁGINA PRINCIPAL EVALUADOR DE GESTOS – PLATAFORMA

EVALUACIONES Se han realizado 3 evaluaciones diferentes: Evaluación de 11 gestos con el cuerpo de frente a Kinect Evaluación de 11 gestos con el cuerpo girado 45º respecto al Kinect Evaluación de 16 gestos: 11 gestos del entrenamiento y 5 gestos no entrenados Con 7 perfiles de configuración en cada evaluación: Por Defecto Esqueleto Centrado Esqueleto Centrado y Rotado mediante Cambio de Base Esqueleto Centrado y Rotado mediante Giro sobre el eje Y Esqueleto Centrado y Rotado - Desplazamiento (Sakoe-Chiba) = 2 Esqueleto Centrado y Rotado - Desplazamiento (Itakura) = 2 Esqueleto Centrado y Rotado - Distancia selectiva con umbral 28

EVALUACIONES Con 11 gestos entrenados: 29 Ambas Manos Abajo - Subir y Bajar Ambas Manos Abajo - Subir y Bajar de Frente Ambas Manos Abajo - Subir por completo y Bajar de Frente Mano Derecha Abajo - Subir y Bajar Mano Derecha Abajo - Subir y Bajar de Frente Mano Derecha Abajo - Subir por completo y Bajar de Frente Mano Izquierda Abajo - Subir y Bajar Mano Izquierda Abajo - Subir y Bajar de Frente Mano Izquierda Abajo - Subir por completo y Bajar de Frente Saludo Mano Derecha Saludo Mano Izquierda 29

EVALUACIONES Por cada evaluación se analizan: Umbrales de rechazo 30 Los gestos acertados Las distancias de los gestos detectados y la distancia entre el gesto detectado y el siguiente gesto más próximo Gráficas con probabilidad acumulada de distancia y probabilidad acumulada de distancia normalizada por el número de frames Matrices de confusión para distintos umbrales de rechazo Tabla de valores de Acierto y Valor F-1 para distintos umbrales de rechazo Umbrales de rechazo Hay dos tipos de umbral de rechazo: UDG - Umbral de rechazo teniendo en cuenta la distancia del gesto detectado: Distancia máxima que puede tener un gesto detectado para no ser descartado UGDS - Umbral de rechazo teniendo en cuenta la distancia entre el gesto detectado y el segundo Distancia mínima que puede haber entre el gesto detectado y el segundo más próximo para no ser descartado 30

EVALUACIONES – MATRIZ DE CONFUSIÓN 31

EVALUACIONES Ejemplo: para el perfil de Centrado y Rotado 32 Distancias y gestos acertados: Gráficas con probabilidad acumulada de distancia y probabilidad acumulada de distancia normalizada por el número de frames Matrices de confusión para distintos umbrales de rechazo Tabla de valores de Acierto y Valor F-1 para distintos umbrales de rechazo 32

COMPARATIVA DE EVALUACIONES Perfiles de configuración comparados: D - Por Defecto. Sin preprocesado. C - Centrado. CR-B - Centrado y Rotado mediante cambio de base. CR-G - Centrado y Rotado mediante giro. CR-U - Centrado y Rotado. Distancia Selectiva con Umbral Valores comparados por cada PC (Perfil de Configuración): UDG - Umbral de distancia del gesto detectado UGDS - Umbral de distancia entre el gesto detectado y el segundo AC - Porcentaje de Aciertos F1 - Valor F1 33

TELEOPERADOR DE ROBOT MINDSTORM Usamos el Robot Mindstorm porque: Puede mover brazos y piernas (servomotores en brazos y piernas) Fácil de manejar Permite enviar comandos desde un programa en C# (mediante WIFI o USB) Movimiento del Robot mediante: Voz Microsoft Speech Platform Archivo de texto con órdenes Umbral de confianza > 0.3 Gestos Integración con el Evaluador de Gestos En la configuración, se asocian los posibles movimientos del robot a los gestos entrenados.

TELEOPERADOR DE ROBOT CON GESTOS

TELEOPERADOR DE ROBOT CON VOZ

CONCLUSIONES 37 Acierto y Valor F-1 Limitaciones del Kinect: Distancia recomendada en torno a 2.5 metros del Kinect. Umbrales de energía de tiempo y tiempo para la detección de gestos : Plataforma configurable para distintos umbrales. Algoritmo DTW: Robusto en la detección de gestos con preprocesamiento del esqueleto. Sólo necesita un patrón con que comparar Perfil de configuración: Mejores resultado con el perfil Centrado y Rotado mediante cambio de base Umbral de rechazo Los mejores valores de acierto y valor F-1 se obtienen con UDG (Umbral de rechazo teniendo en cuenta la distancia del gesto detectado) Acierto y Valor F-1 Evaluaciones realizadas con valores de precisión y F-1 de más del 90% 37

PREGUNTAS Todo el material está disponible en http://alberto.gonzalezdedios.es/pfc : Código fuente del proyecto publicado en GitHub bajo licencia MIT Memoria Vídeos Transparencias

APÉNDICE…

f ~ 20 MHz → Distancia máxima = 7.5 metros KINECT 2.0 Nueva versión de Kinect (lanzamiento verano 2014) Características: Cámara 3D (Sensor CMOS 3D) Array de Micrófonos Funcionamiento Tiempo de Vuelo. Distintos tipos: Luz modulada con detector de fase: Kinect emite una señal de luz, y mide el desfase de la señal reflejada. Tiempo de vuelo directo: Kinect emite una señal de luz, y mide el tiempo que tarda la señal en ir y volver. La distancia máxima viene f ~ 20 MHz → Distancia máxima = 7.5 metros

VARIANTES DTW PARALELOGRAMO ITAKURA BANDA DE SAKOE-CHIBA

VARIAS PERSONAS EN LA ESCENA Si hay varias personas en la escena, se grabarán y se reproducirán todos los esqueletos detectados A la hora de calcular la energía, sólo se tiene en cuenta el primer esqueleto del que se está realizando tracking. Un gesto sólo tiene un esqueleto por frame (sólo un esqueleto detectado):

PERSONAS DE DISTINTO TAMAÑO Programa diseñado para que cada usuario grabe sus propios gestos de entrenamiento Sin embargo, es posible usar los gestos de entrenamiento de otra persona. Si la persona del gesto entrenado es mucho más grande o pequeña, la distancia de los gestos parecidos aumentará, y la de gestos distintos puede aumentar o disminuir. En una futura mejora, se podrían normalizar los esqueletos