captura movimientgfho

Download Captura Movimientgfho

Post on 12-Jan-2016

3 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

hfgh

TRANSCRIPT

  • UNIVERSIDAD SIMON BOLIVARDECANATO DE ESTUDIOS PROFESIONALES

    COORDINACION DE INGENIERIA DE LA COMPUTACION

    Captura de movimiento de personas con multiples sensores Kinect

    Por:Alfonso Ros, Ismael Mendonca

    Realizado con la asesora de:Prof. Carolina Chang

    PROYECTO DE GRADOPresentado ante la Ilustre Universidad Simon Bolvar

    como requisito parcial para optar al ttulo deIngeniero en Computacion

    Sartenejas, Abril 2012

  • RESUMEN

    La captura de movimiento se basa en un conjunto tecnicas y metodos para el registro de

    movimientos de un actor que se desenvuelve en una escena para su posterior analisis. Estos

    metodos son empleados en una gran variedad de areas como la industria del entretenimiento,

    el deporte, la medicina, la seguridad, entre otras.

    El sensor Kinect desarrollado por Microsoft es un dispositivo disenado con el proposito

    de realizar captura de movimiento para su consola de videojuegos XBOX. La introduccion de

    dicho sensor al mercado y el desarrollo de controladores libres para el mismo han impulsado

    la creacion de nuevas aplicaciones por parte de desarrolladores en todo el mundo.

    Actualmente, el software dedicado a esta tarea es de alto costo o de codigo cerrado. El

    presente trabajo comprende el desarrollo de un sistema para realizar captura de movimiento

    de un individuo utilizando multiples dispositivos Kinect. Para esta tarea se implemento un

    algoritmo de aprendizaje de arboles de decision llamado Randomized Decision Forests [25].

    Este algoritmo es capaz de aprender ciertas caractersticas de un conjunto de imagenes

    de profundidad con el fin de clasificar los pxeles de una imagen y as obtener la pose de la

    persona. Para el entrenamiento del algoritmo, se sintetizaron imagenes utilizando programas

    de diseno como Maya y Motion Builder. El clasificador arrojo resultados de clasificacion su-

    periores al 60 % de los pxeles de una imagen, ademas de soportar corridas en tiempo real.

    Las imagenes sinteticas como datos de entrenamiento resultaron convenientes por su facilidad

    y precision de etiquetamiento y por su capacidad de generalizacion para los datos reales.

    El clasificador implementado puede ser utilizado no solamente para reconocer poses de

    personas, sino para cualquier otro problema de reconocimiento de objetos. El clasificador se

    adapta dependiendo de los datos de entrenamiento suministrados, no es necesario ningun

    cambio en la estructura logica del mismo.

    Para estimar la posicion de las articulaciones del esqueleto se utilizo mean-shift [28] sobre

    las regiones clasificadas para obtener dichas posiciones. Una vez obtenidos dichos puntos por

    cada sensor, se integran las vistas de los mismos, utilizando una aproximacion basada en

    descomposicion de valor singular [2].

    iii

  • Indice general

    Indice general IV

    Indice de cuadros VIII

    Indice de figuras IX

    Glosario 1

    1. Introduccion 2

    2. Marco teorico 5

    2.1. Captura de movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.2. Sensor Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.2.1. Controladores para el Kinect . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3. Sustraccion de fondo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.3.1. Mezcla de Gaussianas . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.4. Transformaciones morfologicas en imagenes (Erosion y dilatacion) . . . . . . 10

    2.5. Busqueda de contornos en imagenes binarias . . . . . . . . . . . . . . . . . . 11

    2.6. Algoritmo RamerDouglasPeucker para reducir los vertices de una curva . . 13

    2.7. Mean Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2.8. Matriz dispersa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.8.1. Formato Yale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.9. Arboles de decision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.10. Bosques aleatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.10.1. Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.11. Calibracion de una camara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.11.1. Parametros extrnsecos . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.11.2. Parametros intrnsecos . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.12. Vision estereo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.12.1. Problema de correspondencia . . . . . . . . . . . . . . . . . . . . . . 20

  • 2.12.2. Problema de reconstruccion . . . . . . . . . . . . . . . . . . . . . . . 21

    2.13. Transformacion rgida entre dos conjuntos de puntos . . . . . . . . . . . . . 21

    2.14. Busqueda Local (Local Search) . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.15. Algoritmo Genetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3. Diseno e implementacion del clasificador y propuesta de esqueleto 23

    3.1. Imagenes de profundidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.2. Datos de entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.2.1. Codificacion de las imagenes para entrenamiento . . . . . . . . . . . . 25

    3.2.2. Etiquetamiento de imagenes . . . . . . . . . . . . . . . . . . . . . . . 25

    3.3. Implementacion de los arboles aleatorios . . . . . . . . . . . . . . . . . . . . 25

    3.3.1. Funcion de atributo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.3.2. Estructura de los nodos . . . . . . . . . . . . . . . . . . . . . . . . . 26

    3.3.3. Clasificacion de un pxel . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.3.4. Entrenamiento del arbol . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.4. Paralelizacion del entrenamiento con MPI . . . . . . . . . . . . . . . . . . . 28

    3.5. Pre-procesamiento de imagenes en tiempo real . . . . . . . . . . . . . . . . . 29

    3.5.1. Sustraccion de fondo . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    3.5.2. Compresion de imagenes . . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.5.3. Flood fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.6. Definicion de las articulaciones del esqueleto . . . . . . . . . . . . . . . . . . 32

    4. Diseno e implementacion de integracion de multiples vistas 35

    4.1. Calculo de la transformacion rgida . . . . . . . . . . . . . . . . . . . . . . . 35

    4.1.1. Representacion de la transformacion rgida . . . . . . . . . . . . . . . 36

    4.1.2. Metodo de calibracion estereo . . . . . . . . . . . . . . . . . . . . . . 37

    4.1.3. Metodo de descomposicion aplicado sobre ambos esqueletos . . . . . . 38

    4.1.4. Justificacion del metodo empleado . . . . . . . . . . . . . . . . . . . . 39

    4.2. Estrategias para mejorar el resultado final . . . . . . . . . . . . . . . . . . . 39

    4.2.1. Error asociado a una solucion . . . . . . . . . . . . . . . . . . . . . . 39

    4.2.2. Transformacion rgida entre puntos acumulados . . . . . . . . . . . . 40

    4.2.3. Promedio de matrices de transformacion rgida . . . . . . . . . . . . . 40

    4.2.4. Mejoramiento iterativo (Busqueda local) . . . . . . . . . . . . . . . . 41

    4.2.5. Algoritmo genetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    v

  • 4.2.6. Construccion del esqueleto final . . . . . . . . . . . . . . . . . . . . . 45

    5. Experimentos y resultados 46

    5.1. Algoritmo RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    5.1.1. Descripcion general de los experimentos . . . . . . . . . . . . . . . . 47

    5.1.2. Entrenamiento para imagenes sinteticas . . . . . . . . . . . . . . . . . 50

    5.1.3. Entrenamiento para imagenes reales . . . . . . . . . . . . . . . . . . . 51

    5.1.4. Comparacion de imagenes sinteticas contra imagenes reales . . . . . . 53

    5.2. Compresion de imagenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    5.2.1. Aplicacion de Flood Fill sobre una imagen clasificada . . . . . . . . . 54

    5.3. Algoritmos utilizados para refinamiento de la matriz de transformacion . . . 56

    5.3.1. Descripcion general de los experimentos . . . . . . . . . . . . . . . . 56

    5.3.2. Comparacion entre el desempeno de cada algoritmo . . . . . . . . . . 57

    6. Conclusiones y recomendaciones 59

    A. Conceptos relacionados 69

    A.1. Definiciones matematicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    A.1.1. Matriz de rotacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    A.1.2. Transformacion rgida . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    A.1.3. Sistema de ecuaciones inconsistente . . . . . . . . . . . . . . . . . . . 71

    A.1.4. Centroide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    A.2. Modelo de camara estenopeica . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    A.3. Distorsion de lentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    A.3.1. Distorsion radial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    A.3.2. Distorsion tangencial . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    A.4. Descomposicion de valor singular . . . . . . . . . . . . . . . . . . . . . . . . 74

    A.5. Metodo para hallar la transformacion rgida usando la descomposicion de va-

    lores singulares . . . . . . . . . . . . . .