sistema inteligente para reconocimiento de género...

42
Sistema inteligente para reconocimiento de género mediante el sensor Kinect Autor: Diego Samaniego Riera Directora: Valery Naranjo Ornedo Fecha de comienzo: 01/07/2012 Lugar de trabajo: LabHuman

Upload: vukien

Post on 14-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento

de género mediante el sensor Kinect

Autor: Diego Samaniego Riera

Directora: Valery Naranjo Ornedo

Fecha de comienzo: 01/07/2012

Lugar de trabajo: LabHuman

Page 2: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante
Page 3: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

1 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Objetivos

El principal objetivo de esta investigación es encontrar un modelo que prediga de manera altamente fiable el

género de una persona por medio de una técnica novedosa y no invasiva. Los objetivos específicos son:

• Identificar las coordenadas espaciales de las articulaciones del esqueleto humano a partir del uso del

sensor Kinect de Microsoft y mediante una aplicación realizada en C++.

• Extraer las características particulares de cada individuo como distancias o ángulos entre articulaciones.

• Usar las características extraídas en un sistema de aprendizaje supervisado, capaz de generar tras un

proceso de entrenamiento, el modelo de predicción deseado.

Metodología

Esta investigación empezó con un estudio en profundidad del estado de arte de las distintas tecnologías

empleadas como: sensor Kinect, clasificador SVM y la norma UNE-EN ISO 7250-1 (Definiciones de las

medidas básicas del cuerpo humano para el diseño tecnológico), entendiendo así de mejor manera el

problema. Con la información extraída de la literatura se desarrollaron distintos métodos propios.

Primero, se extrajeron 15 coordenadas espaciales de las articulaciones del esqueleto humano (cabeza,

cuello, hombros, codos, muñecas, tórax, caderas, rodillas y pies) gracias a una herramienta del sensor Kinect

denominada “Squeleton Tracking”, la cual está basada en un algoritmo que identifica las partes del cuerpo de

la persona que está en el campo de visión del sensor. En segundo lugar, se calcularon distintas medidas

(distancias y ángulos) a partir de las coordenadas de las articulaciones. A continuación, se analizó cuál de las

características antropométricas calculadas aportaba más información para el reconocimiento de género.

Finalmente, se desarrollaron métodos de optimización dentro del proceso de actuación del clasificador, lo

que permite encontrar en un menor tiempo el mejor modelo fruto del entrenamiento.

Desarrollos teóricos realizados

La extracción de características del esqueleto humano como largo del brazo, antebrazo, tibia o fémur, se basó

en las recomendaciones explicadas en la norma ISO UNE EN 7250-1.

Se usó la librería LIBSVM, la cual es un software integrado para la clasificación de vectores de soporte.

Toda la experiencia aprendida sobre el funcionamiento del clasificador fue adquirida en base a las guías

prácticas de uso proporcionadas por sus creadores. Además se usó el método f-score detallado en una de sus

guías, el cual fue muy útil para encontrar las características que mayor información proporcionaban, siendo

capaces de elegir un menor número de características, con el objetivo de disminuir el tiempo que conlleva la

búsqueda de un modelo óptimo para la predicción.

Desarrollo de prototipos y trabajo de laboratorio

Los prototipos desarrollados se detallan de la siguiente manera:

• Extracción de coordenadas espaciales, proceso realizado mediante el sensor kinect, el cual es controlado

desde una aplicación en C++, dichas coordenadas equivalen a 15 puntos de las articulaciones del

esqueleto humano.

• Extracción de características, a partir de las coordenadas anteriores se debe hallar valores como

distancias entre articulaciones o ángulos de las articulaciones formados con los ejes X, Y o Z, proceso es

realizado en Matlab.

Page 4: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 2

• Optimización del sistema de Aprendizaje supervisado, mediante la librería LIBSVM desarrollada para

Matlab. Este procedimiento consiste en una fase de entrenamiento, otra de optimización de parámetros y

por último la fase de predicción del clasificador, el cual mediante el método de Validación Cruzada

“Cross-validation” escoge el modelo.

Resultados

Los resultados obtenidos se consideran prometedores ya que han alcanzado porcentajes muy cercanos al cien

por cien, teniendo en cuenta dos variaciones del método “Cross-validation: k-fold”, para k=15, 5.

Los resultados con ambos variaciones del método fueron similares, diferenciándose en el tiempo y coste

computacional, siendo el más rápido el método 5-fold que además era superior en precisión y probabilidad

estimada de acierto en un punto porcentual aproximadamente.

El valor de precisión del sistema de aprendizaje supervisado usando el método de “Cross-validation: 5-

fold” fue de: 97.02%. En cuanto a la probabilidad de acierto en el caso de los hombres y de las mujeres fue:

95.38% y 96.12 respectivamente.

Líneas futuras

La utilización del sensor kinect en el reconocimiento de género abre las puertas para ampliar la investigación

de una manera distinta a la convencional. Después de haber realizado este estudio a partir de las medidas

antropométricas estáticas queda como paso inmediato el reconocimiento del género mediante el uso de

medidas antropométricas dinámicas, estos dos procedimientos pueden implementar en tiempo real.

Hoy en día existe una tabla que recopila información de las medidas antropométricas de la población

laboral de España establecida en los años 1992 y 1996, esta tabla contiene medidas antropométricas (ambos

sexos) que coinciden con las detalladas en la norma UNE EN ISO 7250-1. Partiendo de los datos de estas

tablas se puede intentar hacer una clasificación de género.

Ampliando más aún esto, se podría implementar un sistema de regresión, en el que partiendo de los

puntos de las articulaciones del esqueleto humano extraído por el sensor Kinect se pueda descubrir las

medidas antropométricas de nuevos sujetos, es decir usar dicho sensor para realizar medidas antropométricas

tanto estáticas como dinámicas, ya que actualmente estas medidas se hacen mediante técnicas invasivas o por

modelos 3D que son muy costosos.

Publicaciones

Estamos esperando a ampliar la base de datos de los sujetos para mandar el trabajo a algún congreso

internacional.

Abstract

Este trabajo presenta un método novedoso en el reconocimiento del género no invasivo. Este método se

divide en tres pasos: extracción de 15 puntos que corresponde a las articulaciones del esqueleto humano en 5

diferentes posturas mediante el sensor Kinect; la selección y extracción de características basadas en medidas

antropométricas (Norma UNE_EN ISO 7250-1) y por último el uso del clasificador SVM el cual mediante la

técnica de validación cruzada se encarga de evaluar cuán óptimo es el sistema de aprendizaje supervisado con

el modelo escogido después de un proceso de entrenamiento, optimización de parámetros y predicción.

Autor: Diego Samaniego Riera, email: [email protected] Director: Valery Naranjo Ornedo, email: [email protected] Fecha de entrega: 03-12-2012

Page 5: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

3 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

ÍNDICE

I. Introducción .................................................................................................................................... 4

I.1. Estado del arte ......................................................................................................................... 5

I.1.1. Basado en la cara ............................................................................................................ 5

I.1.2. Basado en el cuerpo ........................................................................................................ 7

II. Metodología ................................................................................................................................... 8

II.1. Sensor Utilizado: Kinect........................................................................................................ 8

II.1.2. Funcionamiento del sensor Kinect ................................................................................ 8

II.1.3. OpenNI .......................................................................................................................... 9

II.2. Antropometría ..................................................................................................................... 11

II.2.1 Definición ..................................................................................................................... 11

II.2.2. Fuentes de variabilidad de los datos antropométricos ................................................. 11

II.2.3. Norma UNE-EN ISO 7250-1:2010 ............................................................................. 12

II.3. Clasificador: Support Vector Machine SVM ...................................................................... 13

II.3.1. Generalización. ............................................................................................................ 13

II.3.2. Separación Lineal ........................................................................................................ 14

II.3.3. Separación No lineal ................................................................................................... 18

II.3.4. Kernels más usados ..................................................................................................... 19

II.3.2. Librería LIBSVM ........................................................................................................ 20

III. Desarrollo de prototipos ............................................................................................................. 22

IV. Resultados .................................................................................................................................. 29

IV.1.Validacion cruzada de 15 iteraciones o “15-fold Cross-validation” ................................... 29

IV.2. Validación cruzada de 5 iteraciones o “5-fold Cross-validation” ...................................... 31

IV.3 Prueba del modelo .............................................................................................................. 33

V. Discusión ..................................................................................................................................... 34

VI. Conclusión y líneas futuras ........................................................................................................ 37

Agradecimientos .............................................................................................................................. 38

Bibliografía ...................................................................................................................................... 38

Page 6: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect

I. INTRODUCCIÓN

La identificación de los atributos demográficos de los seres humanos como edad, género y origen

étnico ha sido de alto interés en los últimos años. Tales atributos pueden desempeñar un papel muy

importante en tareas como: interacción hombre maquina, biomet

demográficos y la publicidad dirigida; siendo é

importante por su alto número de aplicaciones y posible rentabilidad económica.

Una de las aplicaciones en el campo de la publici

estadística de la cantidad de personas que se han parado frente a un anuncio y el tiempo que lo han

visto, separando estos datos en

importante para los agentes de marketing de un producto comercial. Pero la mayor ventaja es el

recoger toda esta información sin usar técnicas invasivas como encuestas con cuestionarios

molestos para el usuario.

En general el uso de la tecnología para la detección e identifi

demográficos presenta un problema que se puede abordar mediante una técnica de aprendizaje

supervisado que se divide en: detección del ser humano, pre procesamiento, extracción de

características y clasificación.

El sensor Kinect de Microsoft se encarga de detectar al ser humano que se encuentre en su

campo de visión, para en lo posterior realizar un procesamiento de imagen

identificar las coordenadas espaciales de las artic

en base a esas coordenadas, se hace la extracción de características, a continuación se utiliza una

técnica para discriminar las características menos importantes consiguiendo así una disminución de

las mismas, lo que proporciona una reducció

posterior clasificación.

Por último, mediante el método “

precisión y la probabilidad estimada de acierto del Sistema de Aprendizaje Supervisado

Fig. 1. Puntos

Sistema inteligente para reconocimiento de género mediante el sensor Kinect

La identificación de los atributos demográficos de los seres humanos como edad, género y origen

étnico ha sido de alto interés en los últimos años. Tales atributos pueden desempeñar un papel muy

importante en tareas como: interacción hombre maquina, biometría, antropometría, estudios

la publicidad dirigida; siendo ésta última la que se puede considerar como la más

importante por su alto número de aplicaciones y posible rentabilidad económica.

Una de las aplicaciones en el campo de la publicidad dirigida consiste en recopilar información

estadística de la cantidad de personas que se han parado frente a un anuncio y el tiempo que lo han

visto, separando estos datos en género o incluso edad, lo que se convierte en información

agentes de marketing de un producto comercial. Pero la mayor ventaja es el

recoger toda esta información sin usar técnicas invasivas como encuestas con cuestionarios

En general el uso de la tecnología para la detección e identificación de los atributos

demográficos presenta un problema que se puede abordar mediante una técnica de aprendizaje

supervisado que se divide en: detección del ser humano, pre procesamiento, extracción de

e Microsoft se encarga de detectar al ser humano que se encuentre en su

campo de visión, para en lo posterior realizar un procesamiento de imagen él cual se encarga de

identificar las coordenadas espaciales de las articulaciones del ser humano (Fig. 1

se hace la extracción de características, a continuación se utiliza una

técnica para discriminar las características menos importantes consiguiendo así una disminución de

las mismas, lo que proporciona una reducción en el tiempo de extracción de características y

Por último, mediante el método “Cross-Validation” se escogerá el modelo que maximice la

precisión y la probabilidad estimada de acierto del Sistema de Aprendizaje Supervisado

. Puntos extraídos de las articulaciones mediante la Kinect.

4

La identificación de los atributos demográficos de los seres humanos como edad, género y origen

étnico ha sido de alto interés en los últimos años. Tales atributos pueden desempeñar un papel muy

ría, antropometría, estudios

la que se puede considerar como la más

dad dirigida consiste en recopilar información

estadística de la cantidad de personas que se han parado frente a un anuncio y el tiempo que lo han

edad, lo que se convierte en información

agentes de marketing de un producto comercial. Pero la mayor ventaja es el

recoger toda esta información sin usar técnicas invasivas como encuestas con cuestionarios

cación de los atributos

demográficos presenta un problema que se puede abordar mediante una técnica de aprendizaje

supervisado que se divide en: detección del ser humano, pre procesamiento, extracción de

e Microsoft se encarga de detectar al ser humano que se encuentre en su

cual se encarga de

1), posteriormente,

se hace la extracción de características, a continuación se utiliza una

técnica para discriminar las características menos importantes consiguiendo así una disminución de

n en el tiempo de extracción de características y en la

” se escogerá el modelo que maximice la

precisión y la probabilidad estimada de acierto del Sistema de Aprendizaje Supervisado.

Page 7: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

5 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

I.1. Estado del arte

Históricamente las investigaciones sobre este tema usa los términos: “Reconocimiento de género” o

“Clasificación de género”, esta investigación toma estos mismos términos pero no antes de hacer

una diferenciación entre los términos: “Genero” y “Sexo”.

Tomando en cuenta el aspecto biológico, género y sexo no se relacionan entre sí. Teniendo en

cuenta las siguientes generalizaciones se puede entender esta diferencia:

Género es la construcción diferencial de los seres humanos en tipos femeninos y masculinos y

contiene un conjunto de atributos asignados a las personas a partir de la interpretación cultural

valorativa de su sexo.

Mientras que el sexo es un conjunto de características genotípicas y fenotípicas presentes en los

sistemas, funciones y procesos del cuerpo humano.

La diferencia de sexo no es un hecho meramente anatómico, pues la construcción y la

interpretación de la diferencia anatómica en ella misma es un proceso histórico y social. Que el

macho y la hembra de la especie humana difieren en su anatomía es un hecho, pero también es

siempre un hecho construido socialmente.

Encontrar estas diferencias que permitan hacer el reconocimiento de género o sexo es la tarea

que han emprendido muchas investigaciones.

El reconocimiento de género es un problema de clasificación de dos clases: hombre y mujer.

Aunque el método más utilizado es el que está basado en la cara también existen estudios que se

basan en el cuerpo humano entero.

I.1.1. Basado en la cara

El reconocimiento de género basado en la cara incluye al rostro para el reconocimiento pero puede

también incluir partes externas como el cabello y el cuello. Las imágenes de la cara de las personas

pueden ser muy variantes debido a factores como: posición de la cabeza o de la cámara, luz,

calidad de imagen e incluso factores humanos como: edad, etnia, expresión facial y accesorios

usados (ej. sombrero).

A grandes rasgos, clasificar los métodos de extracción de características para la clasificación de

género por medio de la cara se puede dividir en: métodos geométricos y basados en apariencia [1].

Los métodos geométricos se basan en las distancias de los puntos fiduciales (fiducial points), los

cuales son puntos importantes que marcan características significativas de la de la cara, como la

nariz, la boca y los ojos. Brunelli y Poggio [2] utilizaron 18 distancias punto-a-punto para entrenar

el clasificador. Fellous J.M. et al. [3] seleccionaron 40 puntos extraídos manualmente para calcular

22 distancias fiduciales normalizadas.

Los métodos basados en la apariencia, se basan en una operación o transformación realizada en

los píxeles de la imagen, que puede ser realizado globalmente (integral) o localmente (patrones)

[3]. Las relaciones geométricas se mantienen igual, lo cual es ventajoso cuando las características

Page 8: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 6

discriminatorias de sexo no se conocen con exactitud. Los valores de intensidad de píxel se pueden

usar directamente para entrenar un clasificador basándose en una red neuronal o en una Máquina

de Vectores de Soporte (Support Vector Machine SVM).

Otras formas de reconocimiento de género son las basadas en características externas a la región

de la cara como el pelo, la región del cuello [4] y la ropa [5], éstas son también las señales

utilizadas por los humanos para identificar el género. Información de contexto social basado en la

posición de la cara de una persona en un grupo de personas también pueden ser utilizada [6].

La tabla 1, muestra un resumen de los diferentes estudios realizados que se han basado en la

cara para obtener la información [7].

Primer Autor, año

Extracción de características

Clasificador Datos de

Entrenamiento* Datos de

Prueba*

Promedio de precisión

%

Lian, 2006 [8] LBP, histogram SVM,

polinomial

CAS-PEAL

1800m 1800f

CAS-PEAL

10784t 94.96

Xia, 2008 [9] LGBMP histogram

SVM-RBF CAS-PEAL

1800m 1800f

CAS-PEAL

10784t 94.96

Aghajanian, 2009 [10]

Patch-based Bayesiano Web images

16k.m 16k.f

Web images

500m 500f 89

Lu, 2009 [11] 2D PCA SVM-RBF CAS-PEAL

300m 300f

CAS_PEAL

1800t 95.33

Demisrkus, 2010 [12]

SIFT Bayesiano FERET

1780m 1780f

Video seqs.

15m 15f 90

Wang, 2010 [13]

SIFT, Gabor Adaboost Varius mixes

4659t 10-CV ~97

Alexandre, 2010 [14]

Intensity, edge, LBP

SVM-linear

FERET

152m 152f

UND set B

130m 130f

FERET

60m 47f

UND set B

171m 56f

99.07

91.19

Wu, 2011 [15] LGBP SVM-RBF CAS-PEAL

2142m 2142f

CAS-PEAL

2023m 996f ~91-97 per

set

Zheng, 2011 [16]

LGBP-LDA SVMAC

CAS-PEAL

2706m 2706f (of 9 sets)

FERET

282m 282f

CAS-PEAL

2175m 1164f

FERET

307m 121f

>=99.8 per set

99.1

Shan, 2012 [17]

LBP histogram bins

SVM-RBF LFW

4500m 2943f 5-CV 94.81

*El número de caras de hombre o mujer son representadas mediante la letra m o f; por ejemplo: 500m y 500f se refiere a 500 Caras masculinas y 500 caras femeninas. Donde no se tiene el número de caras por separado se entrega el número total de caras; por ejemplo 1000t.

Cuando la precisión es hecha en base a los resultados de la Validación cruzada, esto se indica en el campo Datos de prueba, por ejemplo 5–CV, que significa: Validación Cruzada 5-fold, cuando esto es diferente se indica el contenido del grupo de datos de prueba que se uso.

Tabla1. Resultados de diferentes estudios de Reconocimiento de género, basados en la cara.

Page 9: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

7 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

I.1.2. Basado en el cuerpo

Aunque la modalidad más empleada sea el uso de imágenes frontales de la cara, estudios recientes

usan imágenes con vistas frontales y traseras del cuerpo humano completo para identificar el

género.

El primer intento de reconocer el género a partir de imágenes de todo el cuerpo se basó en

imágenes centradas y con la altura normalizada dividiendo a la imagen en varias partes [18]. Las

características de cada parte fueron extraídas mediante el descriptor: “Histogramas de Gradientes

Orientados” (HOG), que fue desarrollado previamente para la detección de seres humanos en

imágenes [19]. El descriptor HOG es capaz de capturar la información de cada parte de la imagen

que fue previamente dividida, todo esto a partir del gradiente que presenta un grado de invariancia

frente a translaciones y rotaciones [19]. Collins et al. [20] propusieron PixelHOG, que cuales son

características “dense HOG”, calculados a partir del borde del mapa. Esto se combinó con las

características de color obtenidos a partir de un histograma calculado en base a la tonalidad y

valores de saturación.

Bourdev L. et al. [21] utilizan un conjunto de patrones llamados poselets, representados con las

características extraídas mediante el descriptor HOG, histogramas de color y características de la

piel. El poselets se utilizó para entrenar el clasificador. Este método se basa en el entrenamiento del

conjunto de datos que son considerados altamente importantes como puntos clave.

El modelo llamado Características de Inspiración Biológica (“Bilogically-inspired features”

BIF) es utilizado para el reconocimiento de género por Guo et al. [22], el cual está basado en el uso

de los filtros Gabor.

Diversas técnicas de aprendizaje se han aplicado sobre las características extraídas mediante

descriptores: Local Texture Descriptor BIF y Principal Components Analysis PCA (Fourier

Descriptor). Los mejores resultados se obtuvieron tomando imágenes vistas en este orden: frontal,

posterior y finalmente mixta; utilizando BIF con PCA.

La tabla 2, muestra los resultados obtenidos de los diferentes estudios realizados que se han

basado en la cara para obtener la información [7].

Primer Autor, año

Extracción de características

Clasificador Datos de

Entrenamiento Datos de

Prueba Promedio de precisión %

Cao, 2008 [18]

HOG Adaboost variant

MIT-CBCL

600m 288f 5-CV 75

Collins, 2009, [20]

PixelHOG, color histogram

SVM- linear VIPeR

292m 291f 5-CV 80.62

Guo, 2009, [22]

BIF+PCA/LSDA SVM- linear MIT-CBCL

600m 288f 5-CV 80.6

Bourdev, 2011, [21]

HOG, color, skin pixels

SVM Atributes of People

3395m 2365f 82.4

Tabla 2. Resultados de diferentes estudios de Reconocimiento de género, basados en el cuerpo.

Page 10: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 8

II. METODOLOGÍA

En esta sección se describirá las partes en las que se dividió este estudio para el cumplimiento de

los objetivos planteados, partiendo del sensor Kinect, pasando por la extracción de características y

por último el método de clasificación supervisada: Maquina de Vectores Soporte SVM.

II.1. Sensor Utilizado: Kinect

Microsoft Research invirtió veinte años de desarrollo en la tecnología de Kinect. Sus resultados

fueron anunciados por primera vez el 1 de junio de 2009 en la Electronic Entertainment Expo 2009

como "Project Natal". El sensor de Kinect es una barra horizontal de aproximadamente 23 cm.

conectada a una pequeña base circular con un eje de articulación de rótula, y está diseñado

para ser colocado longitudinalmente por encima o por debajo del televisor (Fig. 2).

El sensor Kinect se puede definir como: un controlador de juego libre y entretenimiento

desarrollado por Microsoft para la videoconsola Xbox 360. Kinect permite a los usuarios controlar

e interactuar con la consola sin necesidad de tener contacto físico con un controlador de

videojuegos tradicional, mediante una interfaz natural de usuario que reconoce gestos, comandos

de voz, objetos e imágenes.

El sensor Kinect se compone principalmente de:

• Una cámara tradicional (Resolución 640x480 RGB 30fps VGA).

• Un emisor de infrarrojos.

• Una cámara de infrarrojos.

• 4 Micrófonos (16bit sampling rate: 16Hz).

• Un motor.

Fig. 2. Imagen del sensor Kinect

II.1.2. Funcionamiento del sensor Kinect

Para conocer la distancia a la que se encuentra cada píxel de la imagen de profundidad emite una

constelación de puntos con el emisor infrarrojo:

Page 11: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

9 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Fig. 3: Constelación infrarroja Kinect

La Fig. 3 muestra una constelación creada por su emisor infrarrojo, esto es detectado por la

cámara infrarroja y Kinect calcula la disparidad para cada píxel (la diferencia entre donde estaba el

punto al proyectarlo a donde está en la proyección). A esto se le llama cámara de luz estructurada.

II.1.3. OpenNI

OpenNI (Open Natural Interaction) es una organización sin ánimo de lucro enfocada en el

desarrollo de tecnologías para la interacción natural (Natural Interation NI) con dispositivos.

OpenNI provee una infraestructura genérica basada en API’s (Application Programming

Interface) de código abierto para acceder a los dispositivos de interacción natural, sobre él se

instala el sensor que permite acceder específicamente a los servicios provistos por el Kinect.

Adicionalmente esta empresa desarrolla un middleware NITE (software que asiste a una aplicación

para comunicarse con otras) el cual no es de código abierto y permite acceder a funcionalidades

avanzadas como seguimiento del esqueleto en tiempo real y reconocimiento de gestos entre otras

cosas. En otras palabras se puede decir que la API’s que proporciona OpenNI sirve de puente entre

el hardware del equipo, Middleware NITE y las aplicaciones e interfaces del S.O. [23].

La Fig. 4 muestra las tres capas en las que opera OpenNI, cada capa representa un elemento

integral:

Capa superior: Representa el software que implementa aplicaciones naturales de interacción en

la parte superior de OpenNI.

Capa Media: Representa OpenNI, proporcionando interfaces de comunicación que interactúan

tanto con los sensores como con los componentes de middleware, que analizan los datos del sensor.

Capa Inferior: Muestra los dispositivos de hardware que capturan los elementos visuales y de

audio de la escena.

Page 12: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 10

Fig. 4. Muestra una vista de tres capas del Concepto de OpenNI

Una de las funcionalidades adicionales que brinda el sensor por medio de sus API opcionales es:

Skeleton Tracking o seguimiento del cuerpo (esqueleto) de un usuario en tiempo real. Por

definición es la activación de un generador de usuario para que envíe los datos del esqueleto de

dicha persona. Estos datos incluyen la ubicación de las articulaciones del esqueleto, la capacidad de

rastrear las posiciones del esqueleto y las capacidades de calibración de usuario. Esta librería nos

brinda seguimiento del cuerpo del usuario aportando las coordenadas en el espacio de cada uno de

los puntos de interés (extremidades y articulaciones). La Fig. 5 muestra como se ve la ubicación de

los puntos en las articulaciones del cuerpo, humano proceso realizado por el sensor Kinect en el

cuerpo humano.

Fig. 5. Ubicación de puntos en las articulaciones. Posición de calibración

Page 13: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

11 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

II.2. Antropometría

Desde siempre esta ciencia ha sido utilizada para aplicaciones ergonómicas y diseño de ambientes

de trabajo. La antropometría es una técnica que surge en Egipto, 3000 años antes de Cristo.

Pertenece al año 15 a.C., en el tiempo del Imperio Romano, el estudio más detallado de las

proporciones del cuerpo humano, hecho por el arquitecto Vitrubio, el cual no tuvo mayor

influencia. En la época del Renacimiento fue donde más impacto tuvo gracias a Leonardo Da

Vinci, sin duda el primer ergónomo; Leonardo recupera el nombre de Vitrubio, la conocida figura

donde se trata de describir las proporciones del ser humano perfecto, que corresponde con una

visión antropométrica: el hombre como centro del universo (Fig. 6). Al desarrollar el esquema del

círculo y el cuadrado (el Canon de las proporciones humanas) realiza un estudio anatómico

buscando la proporcionalidad del cuerpo humano, el canon clásico o ideal de belleza.

Fig. 6. El hombre de Vitrubio, Leonardo Da Vinci, 1487

II.2.1 Definición

La antropometría es la medida de las dimensiones del cuerpo humano. Esta ciencia permite conocer

el volumen espacial ocupado por un cuerpo pero también las posibilidades de alcance de un objeto

mediante un movimiento.

La descripción del cuerpo humano por las medidas es la aplicación al ser humano de métodos

fisiocientíficos para el desarrollo de estándares de diseño, de requerimientos específicos y para la

evaluación de los diseños de ingeniería, modelos a escala y productos manufacturados, con el fin

de asegurar la adecuación de todos ellos a las características de los usuarios [24].

II.2.2. Fuentes de variabilidad de los datos antropométricos

La norma UNE-EN ISO 7250-1:2010, bajo el nombre: Definiciones de las medidas básicas del

cuerpo humano para el diseño tecnológico, está compuesta por 3 partes: Parte 1, definiciones de

las medidas del cuerpo y referencias [25], los resúmenes estadísticos de las mediciones de cuerpo

de poblaciones y los valores de diseño regionales y mundiales para la utilización de las normas de

Page 14: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 12

equipamiento ISO (Organización Internacional de Normalización) son objeto de las futuras partes 2

y 3 [25].

II.2.3. Norma UNE-EN ISO 7250-1:2010

La parte 1 de la Norma ISO 7250 proporciona una descripción de las medidas antropométricas que

se pueden utilizar como base para la comparación de grupos de población.

II.2.3.1.Términos y definiciones

Algunos de los términos más usados en la norma ISO son:

Grupo de población: grupo de personas que tienen el mismo entorno o realizan alguna actividad

en común.

Plano de Frankfurt: plano horizontal normalizado que pasa por la abertura exterior de la oreja y

la arista inferior de la órbita ocular cuando el plano medial de la cabeza se mantiene vertical.

Vértex: que es el punto más alto de la cabeza.

Poplíteo: parte de la pierna opuesta a la rodilla, por donde se doble y encorva.

Eje de presión: eje del puño, coincidente con el eje longitudinal de un cilindro asido con la

mano.

La aplicación antropométrica se puede considerar estructurada en dos fases diferentes y

complementarias que son: la antropometría estática o estructural y la antropometría dinámica o

funcional.

Antropometría estructural o estática.- se encarga de las dimensiones del ser humano en reposo.

Se basa en las medidas efectuadas sobre el ser humano según las normas indicadas, las cuales

dependen de:

• La talla, peso, etc.

• El género, la edad, el medio social, el país de origen, etc.

• La ropa.

• La validez de las medidas

Antropometría funcional o dinámica.- se encarga de las medidas compuestas del ser humano en

movimiento. Valora los movimientos como sistemas complejos independientes de la longitud de

los segmentos corporales.

II.2.3.2. Medidas antropométricas Fundamentales

Existen varias medidas de varios tipos, que pueden ser tomadas con la persona de pie, sentado,

medidas funcionales definidas en la norma ISO [25] y medidas de segmentos específicos. Sobre la

base de las dimensiones antropométricas y, eligiendo las más adecuadas en función de lo que se va

a desarrollar, se toma en cuenta las medidas de segmentos específicos del cuerpo, las cuales en este

Page 15: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

13 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

estudio constituyen los principales segmentos antropométricos. A continuación se detallan estas

medidas:

• Longitud del antebrazo

• Longitud del brazo

• Longitud de la tibia

• Longitud del fémur

• Ancho de hombro

• Ancho de caderas

• Distancia del cuello al centro de los ojos

II.3. Clasificador: Support Vector Machine SVM

El inicio de la teoría en la que se basan las máquinas de vectores soporte data de los años setenta

con los trabajos de Vladimir Vapnik [26]. En los años noventa el método fue generalizado y en la

actualidad presenta un gran interés.

Las Máquinas de Vectores Soporte son estructuras de aprendizaje basadas en la teoría

estadística del aprendizaje. Se basan en transformar el espacio de entrada en otro de dimensión

superior (infinita) en el que el problema puede ser resuelto mediante un hiperplano óptimo (de

máximo margen).

II.3.1. Generalización.

Sea � un espacio de entrada, � un espacio de etiquetas, y dado una secuencia � = �⟨��,��⟩� de N

objetos etiquetados que consisten en el par: “�” (vectores) e “��” (escalar), utilizados como datos

de entrenamiento. Donde cada �� � �, ∀ � = 1, … , , son llamadas “instancias” y están asociadas

al valor de ��� � , que precisamente son conocidas como “etiqueta”.

Si hablamos de un problema de clasificación binario (Fig. 7), el espacio de etiquetas se reduce

a: � = {−1, 1}, donde cada etiqueta representa a una clase distinta, es decir: el espacio de entrada

estará formado por un conjunto de instancias “��” asociadas a una etiqueta “��” [27].

Si las clases se pueden separar de forma lineal, el plano que separa a las clases (Fig. 7), es

conocido como “hiperplano” y pueden existir infinitos, el hiperplano que proporcione la máxima

separación entre clases es conocido como “Hiperplano de Margen Maximo” (MMh, Maximal

Margin Hyperplane) y cuanto mayor sea este margen mejor funcionará el clasificador.

Los vectores soporte (Fig. 7) son aquellas instancias (de cada clase) mas próximas al hiperplano

de margen máximo, existen al menos una o posiblemente más de una instancia por clase. Este

conjunto de vectores soporte define de forma única al hiperplano de margen máximo, las instancias

restantes son irrelevantes.

Page 16: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 14

Fig. 7. Problema Binario, descripción general y distintos margen de hiperplano [27].

Pueden existir diferentes hiperplanos que solucionan el problema, pero unos son mejores que

otros de acuerdo a su margen, a mayor margen del hiperplano mejor es el clasificador, como se

aprecia en la Fig. 7.

Sin embargo, la separación entre clases puede ser de dos tipos: lineal o no lineal.

II.3.2. Separación Lineal

Presenta dos casos: caso separable y caso no separable.

Caso separable

Dada una secuencia � = �⟨��,��⟩ de datos con su etiqueta, donde �� = ℜ�, �� � {−1, 1} [28]

[29]. Suponemos que existe un hiperplano el cual puede separar linealmente las clases en positivo y

negativo, esta definido por:

��.� + � = 0 (1)

Donde � es normal al hiperplano. |�|/‖�‖ es la distancia perpendicular del origen al

hiperplano, y ‖�‖ es la norma Euclidiana de �.

A partir de este hiperplano se definen 2 hiperplanos paralelos que pasan por los vectores soporte

de cada clase (Fig. 8), siendo ��(��) la distancia más corta desde el hiperplano separador al vector

soporte de la clase positiva (negativa). Suponiendo que todos los objetos del conjunto de

entrenamiento satisfacen:

���� + � ≥ +1, para �� = +1

���� + � ≤ −1, para �� = −1 (2)

Ahora considerando los puntos para los que se cumple las igualdades de (2), los puntos que

están sobre el hiperplano ��: �.�� + � = 1 donde � es normal al hiperplano y la distancia

perpendicular desde el origen es |1 − �|/‖�‖. Similarmente para el hiperplano ��: �.�� + � =

−1 con � normal y la distancia perpendicular desde el origen |−1 − �|/‖�‖. A demás �� = �� =

1/‖�‖, quedando definido el margen como la suma de �� + �� = 2/‖�‖. Podemos en definitiva,

Page 17: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

15 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

encontrar el par de hiperplanos que dan el máximo margen minimizando la función de coste con las

restricciones impuestas en (2).

Fig. 8. Separación lineal, hiperplanos de “separación”,” H�” y “ H�”. Definiciones canónicas.

����,�

1

2 ���

sujeto a ������ + � ≥ 1, � = 1, … ,� (3)

Donde (3) es una forma equivalente de (2) y se conoce como formulación SVM primal.

Para resolver este problema se introducen N multiplicadores de Lagrange �� ≥ 0 (uno por cada

instancia) y el Lagrangiano queda como:

��, �, =1

2��� − ��������� + � − 1

��

(4)

A partir del Lagrangiano, se pueden minimizar las variables primales � y �, o maximizar las

variables duales ��. Esta formulación particular del problema se conoce como problema dual de

Wolfe.

A partir de las condiciones de Karush-Kuhn-Tucker (KKT), obtenemos:

��� ��, �, = 0 ⇒ ����� = 0 (5)

��

��� ��, �, = 0 ⇒ � = ������� = 0 (6)

��

Si remplazamos (6) en (4) y luego (5) en la expresión resultante, obtenemos el problema dual:

��, �, = ���

��

−1

2�������������

��

��

(7)

La formulación matemática SVM dual se obtiene maximizando (7), en definitiva se trata de un

problema de programación cuadrática, y la resolución del problema dual es:

Page 18: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 16

����

� = ���

��

−1

2�������������

��

��

������ � ���

��

�� = 0 (8)

� ≥ 0 ���� � = 1, … ,�

Teniendo en cuenta que max�,

���� es equivalente a �� �,

− ����, y reformulando el problema

(8) en forma matricial, el nuevo problema de optimización es:

����

� = 1

2 ���� − ���

������ � �� � = 0 (11)

� ≥ 0 ���� � = 1, … ,�

Donde �� = ��������, � es una matriz de dimensión � semidefinida positiva, siendo n el

numero de instancias y � = [1, … ,1] es un vector de todos 1’s.

Entonces a partir de (6) la solución viene dada por:

� = �������∗ = 0 (12)

��

El hiperplano separador óptimo del clasificador lineal viene dado por la siguiente función de

decisión (12) en (1):

��,���� + � = � � !�������∗�� + � �

��

" (13)

donde Ns es el número de vectores soporte, ��,� parámetros numéricos que se deben

determinar, ��∗ son los vectores soporte, � es la instancia a clasificar, �� es la clase de ��

∗ que

también es una instancia de entrenamiento, con valores +1, -1

Nótese que hay un multiplicador de Lagrange �� para cada muestra de entrenamiento. Tras

obtener una solución, aquellos puntos para los que �� ≥ 0 y que yacen sobre los hiperplanos

��,��, se denominan vectores soporte. El resto de las instancias tienen �� = 0. Por ello el vector

� se escribirá como combinación de los vectores soporte.

Caso no separable.

En este caso nos interesa relajar las restricciones (2), pero únicamente cuando sea necesario,

añadiremos un nuevo coste a la función objetivo. Es decir, se añadirá una penalización como

consecuencia de objetos mal clasificados (Fig. 9). Una forma de hacerlo es introduciendo variables

débiles � � = 1, … ,!, en las restricciones para convertirlas en:

���� + � ≥ +1 − #� , para �� = +1

���� + � ≤ −1 + #�, para �� = −1

Page 19: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

17 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

������ � ������ + � − 1 + #� ≥ 0, ���� #� ≥ 0 (14)

Fig. 9. Caso no separable. Con penalizaciones a objetos mal clasificados

El avance consiste en indicar cómo es posible aceptar puntos mal clasificados por el hiperplano,

pero penalizando su error de clasificación a través de una combinación lineal con la función

objetivo. Esta noción de soft margin permite tratar datos más realistas. Con esto para que una

muestra quede mal clasificada, el correspondiente � debe ser mayor que la unidad. El sumatorio

∑ � es, por tanto, una cota superior en el número de errores sobre el entrenamiento. Una forma de

añadir el coste de los errores a la función objetivo es intentar minimizar:

����,�,�

1

2 ��� + $�#�

��

(15)

Donde C es un parámetro ajustable; un valor grande de C equivale a una mayor penalización de

los errores. Así, el primer término hace referencia al inverso del margen y el segundo al error de

clasificación. Para los patrones que son correctamente clasificados � = 0

El problema anterior es de nuevo un problema de programación cuadrática con la propiedad de

que ni los � ni los multiplicadores de Lagrange asociados a estos, aparecen en el problema dual de

Wolfe, obteniendo expresiones similares a (8), pero con distinta restricción para ��.

����

� = ���

��

−1

2�������������

��

��

������ � ���

��

�� = 0 (16)

0 ≤ � ≤ $ ���� � = 1, … ,�

Entonces, la solución viene dada nuevamente por (12) y el hiperplano optimo definido por (13).

En cuanto al parámetro C, conforme # → 0, la solución converge a la obtenida con el hiperplano

óptimo de datos separables (sobre el problema no separable).

Page 20: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 18

II.3.3. Separación No lineal

Mediante una transformación, generalizamos en este apartado los métodos anteriores para el caso

en el que las clases no se puedan separar de forma lineal.

Para empezar, observamos que la única forma en que aparecen los datos en las ecuaciones (7) es

como productos escalares ��.�. Supongamos entonces que llevamos los datos un nuevo espacio�′,

posiblemente de dimensión infinita el cual se llamara espacio de salida �′. Este espacio de

características no es otra cosa que una transformación no lineal $ (llamado también mapeo) del

espacio de entrada � en otro espacio de dimensión mayor �′, en el que los datos ahora si son

separables linealmente [28]. De esta forma podemos aplicar sobre este nuevo espacio el

procedimiento lineal visto en el apartado anterior. Un ejemplo ilustrativo de una transformación no

lineal de este tipo se puede apreciar en la Fig. 10.

%: & → &′

� → %(�)

Fig. 10. Transformación a un espacio de mayor dimensión.

Con esto, el algoritmo de entrenamiento sólo dependerá de los datos a través de productos

escalares en �′, es decir de funciones de la forma $���.$(�). Si existiera una función kernel %,

tal que: %&��,�' = $����$(�), podríamos utilizar únicamente % en el algoritmo de

entrenamiento sin tener que conocer explícitamente $, ya que no es sencillo trabajar con $.

El teorema de Mercer (Mercer et al., 1999), establece las condiciones que deben cumplirse para

que el producto escalar en el espacio de salida se pueda escribir a través de un cierto kernel

%&��,�' = $����$(�).

Si sustituimos ���� por %&��,�' a lo largo del algoritmo de entrenamiento, obtendremos la

solución del hiperplano óptimo que separa las clases en el espacio de dimensión superior. La

separación sigue siendo lineal, pero en un espacio diferente. Este procedimiento se resume en lo

siguiente:

����,�,�

1

2 ��� + $�#�

��

Sujeto a las restricciones:

Page 21: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

19 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

����'�� + � − 1 + #� ≥ 0, ���� #� ≥ 0 (17)

Donde el vector � es una combinación de los vectores soporte transformados:

� = �����'��∗ = 0 (18)

��

Para obtener los multiplicadores de Lagrange ��, nuevamente sólo es necesario conocer el

kernel. Para ello, podemos aplicar el problema dual maximizando:

��, �, = ���

��

−1

2���������()��,�*

��

��

������ � ���

��

�� = 0 (19)

0 ≥ � ≤ $ , ���� � = 1, … ,�

Finalmente, el hiperplano separador óptimo del clasificador lineal en una dimensión superior

viene dado por la siguiente función de decisión.

��,���'�� + � = � � !�����('��∗�'(�)) + � �

��

" = � � !�����(��∗,� + � �

��

" (20)

Donde �,(���∗�,(��� ∈ ��, b ∈ ℜ y ��

∗,� ∈ �.

Con esto lo único que necesitamos es conocer el kernel.

II.3.4. Kernels más usados

La función kernel es aquella que mapea las instancias �� a un espacio de dimensión superior.

Así pues, %&��,�' = $����$(�) es la llamada función kernel. Los kernel más comunes para el

reconocimiento y clasificación son los siguientes [30]:

Lineal: este caso es una excepción ya que aquí no se hace el mapeo a una dimensión superior,

esto se asume debido a que la librería LIBSVM (que se explicara en el siguiente apartado) aborda

la separación lineal desde el punto de vista de una función kernel lineal, la cual tiene exactamente

el mismo comportamiento que la separación lineal.

(��,�) = ����

Polinomial: la ecuación proporciona un clasificador que es un polinomio de grado p sobre los

datos.

(��,� = (+���� + �)� , + > 0 (21)

Gaussiano: la ecuación da un clasificador basado en funciones de base radial gaussianas RBF

(“Radial base function”). Este kernel es conocido como kernel RBF.

(��,� = ����‖����‖�� , + > 0 (22)

Sigmoidal: la ecuación es una función de activación sigmoidal neuronal tipo perceptron.

Page 22: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 20

(��,� = ���ℎ+���� + � (23)

Donde, γ, ) y ,� son parámetros del kernel.

II.3.2. Librería LIBSVM

LIBSVM es una librería para la máquina de vectores soporte (SVM), cuyo objetivo es ayudar a sus

usuarios para que puedan aplicar fácilmente el clasificador SVM en sus aplicaciones, teniendo una

gran popularidad en cuanto al aprendizaje automático. El paquete LIBSVM empieza su desarrollo

desde el año 2000 y actualmente es uno de los más usados para SVM, pudiéndose encontrar en la

dirección WEB: http://www.csie.ntu.edu.tw/~cjlin/libsvm.

LIBSVM soporta las siguientes tareas de aprendizaje [29]:

1. - SVC: Support vector clasification (two-class and multi-class).

2. - SVR: support vector regression.

3. - One-class SVM.

El uso típico de LIBSVM en su tarea de clasificador contiene dos pasos: primero, entrenamiento

de un conjunto de datos (datos de training) para obtener un modelo y segundo, usar el modelo

obtenido para predecir información de un conjunto de datos (datos de testing), tanto para SVC

(clasificación) y SVR (Regresión), LIBSVM aparte de entregar la precisión del sistema, puede

también tener como salida: probability estimates, que puede interpretarse como la probabilidad

estimada de acierto (verdadero positivo) o de error (falso positivo) [29].

II.3.2.1. Estructura de la información en la práctica

Abordando el problema de forma práctica, se tienen 2 tipos de datos conocidos como clases, en la

que cada tipo será diferenciado por su clase expresado con una etiqueta {-1, 1} o {0, 1}

adicionalmente, se tienen dos grupos (“train and test”), cada uno formado por datos de ambas

clases, a los que se les puede aplicar el uso típico de LIBSVM detallado líneas atrás.

Dicho de este modo, el objetivo de SVM es producir un modelo basado en los datos de

entrenamiento que pueda predecir el valor de la etiqueta del conjunto de datos de test a partir

únicamente de las características de los datos de training.

II.3.2.2. Rendimiento de las medidas.

El usuario de esta librería puede aplicar funciones para predecir las etiquetas que identifican la

clase del conjunto de datos de test. Las etiquetas que se predicen del conjunto de test pueden ser

verdaderas o falsas. La predicción de estos resultados se evalúa en función de las siguientes

medidas las cuales se toman como salida de la función de predicción:

Clasificación.

,����-��� =# .���� ���.�-�.�� -����-�������

#����/ .� .���� .� ������ × 100%

Page 23: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

21 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Regresión.

MSE (mean squared error)

012 =1��(��� − ��)�

��

r� (squared correlation coeffecient)

�� =(�3 ∑ ����� −��

�� ∑ ��� ∑ ������

���� )�

(�3 ∑ ���� −��� ∑ �����

�� �)(�3 ∑ ��� −���� ∑ ���

�� �)

Donde n es el número de instancias, en [29] se puede encontrar un ejemplo simple para empezar

con el uso de esta librería.

II.3.2.3.Organizacion del código

El paquete de LIBSVM incluye el código fuente de una librería en C++ y java, y un simple

programa para escalar los datos de entrenamiento. Además incluye librerías, interfaces y

extensiones para Matlab y Python. Este estudio se centra en las librerías para matlab, las dos

subrutinas de LIBSVM más usadas son: svmtrain y svmpredict.

La clasificación supervisada se divide fundamentalmente en 2 bloques, la Fig. 11 muestra un

diagrama que representa estos dos bloques: entrenamiento “train” y prueba “test”. En el bloque de

la izquierda se ve el entrenamiento después de la extracción de datos y de características, la

obtención de parámetros óptimos consiste en el entrenamiento con distintos parámetros hasta

encontrar el modelo que entregue la mejor predicción (esto realizado mediante Cross-validation,

que será explicado con mayor detenimiento en las siguientes secciones). En el bloque de la derecha

de la misma figura se ve el proceso de prueba “test” o predicción, el cual usa el modelo encontrado

en el bloque train, los 2 primeros pasos de este bloque son los mismos que en el bloque de train.

Fig. 11. Diagrama de bloques usado en el sistema de aprendizaje supervisado

Page 24: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 22

III. DESARROLLO DE PROTOTIPOS

El desarrollo del prototipo empieza con la colaboración de 15 parejas de personas, que

voluntariamente posaron frente al sensor Kinect. Cada persona posó en 5 posiciones distintas

permaneciendo en cada posición unos segundos con el objetivo de capturar 30 frames por cada

posición.

En forma general se puede decir que este proceso va desde la extracción de las coordenadas

espaciales de los 15 puntos del esqueleto humano por medio un programa en C++ que controla el

sensor Kinect, seguido por el traspaso de los datos anteriores a Matlab para la extracción de 24

características, posterior a esto se realizan varios procesos de entrenamiento, optimización de

parámetros, elección del modelo que mayor precisión de acierto entrega en base al método de

validación cruzada y finalmente realizar la predicción de una nueva persona en función al modelo

escogido..

Mediante el siguiente diagrama de bloques (Fig. 12) se hace una explicación visual del

procedimiento completo.

Fig. 12. Esquema completo del prototipo realizado.

A continuación se hace una breve explicación de cada bloque del esquema.

Bloque 1.- Está compuesto por la colaboración de un grupo formado por 15 hombres y 15

mujeres, personas que pertenecen al grupo de LabHuman, han sido escogidos de forma aleatoria,

este grupo está en la edad comprendida entre 23 y 42 años. A cada persona se le pidió que se situé

frente al sensor en 5 posiciones diferentes durante unos cortos instantes en cada posición, las 5

posiciones han sido elegidas en función distintos criterios que se detallan a continuación:

Posición de calibración.- posición obligatoria e ideal para la calibración del sensor.

Posición A.- posición normal con el sujeto de pie, útil para hacer la mayoría de las medidas

descritas en la norma UNE-EN ISO 7250-1:2010 [25].

Base de datos

Extracción de características

Selección de mejores características

Elección del mejor modelo

Almacenamiento del modelo

Test

Coordenadas espaciales, 15

puntos

Page 25: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

23 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Posición B.- posición con el sujeto de pie con los brazos levantados hacia adelante en forma

horizontal, posición útil para medir el alcance máximo de los brazos en cuanto a las “medidas

funcionales” descritas en la norma UNE-EN ISO 7250-1:2010 [25].

Posición C.- posición con el sujeto de pie y con los brazos extendidos a los lados de forma

horizontal.

Posición D.- posición con el sujeto de pie y con los brazos extendidos hacia arriba.

Se escogió distintas posiciones ya que es conocido que los hombres acostumbran a hacer gestos

más expansivos que las mujeres. Dado que no existen estudios empíricos sobre los atributos de la

postura, lo que plantea un desafío técnico al tratar de construir un modelo de posturas [31]. Cabe

recalcar que en cada posición se pidió a los sujetos ser lo más espontáneos posibles en cada una de

las posiciones. La Fig. 13 muestra cada una de las 5 posiciones detalladas anteriormente.

Bloque 2.- compuesto por el sensor, el cual se encarga de reconocer a los individuos que se

encuentren en su campo de visión y se prepara para recibir instrucciones sobre el tipo de

información que se desee extraer del individuo que está frente al sensor.

Bloque 3.- compuesto por un programa en C++ que incorpora las librerías de OpenNI, además

de la librería API especifica: “Squeleton Traking”, la cual se encarga de extraer las coordenadas

espaciales. La Fig. 13 muestra como el sensor coloca un punto blanco que representa la coordenada

espacial de las articulaciones.

Fig. 13. Posiciones y coordenadas espaciales puestas en las articulaciones.

a) Calibración b) Posición A c) Posición B

d) Posición C e) Posición D

Page 26: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 24

Bloque 4.- posteriormente las 15 coordenadas espaciales son guardadas en un archivo de texto,

este proceso se efectúa 30 veces (30 archivos de texto) lo que corresponde a 30 frames por cada

posición. El tiempo de este proceso en cada posición no excede más de un par de segundos.

Bloque 5.- ahora es el tiempo de matlab, el cual empieza con copiar estos archivos de texto

creados anteriormente a una nueva ubicación la cual constituye el inicio de nuestra base de datos

(BDG),

Bloque 6.- mediante el uso de matlab, se empieza a procesar estos datos, se separan en dos

carpetas: Hombres y Mujeres, dentro de cada uno se crean carpetas con el nombre de cada una de

las posiciones descritas en el bloque 1.

Bloque 7.- dentro de cada posición se crean un nuevo archivo de texto, el cual contiene en cada

fila 99 características, a este conjunto de características se denomina “instancia”, recordar que

existen 30 frames por cada persona en cada posición, esto significa que el archivo de texto tiene 30

instancias por cada uno de los sujetos., En cada fila, adicional a la instancia se ha añadido una

etiqueta que señala a que clase corresponde la instancia (‘1’ si es Hombre y ‘0’ si es Mujer). Si

hacemos números significa que se crearán 5 archivos de texto, uno por cada posición que contiene:

30 frames * 15 Hombres * 15 Mujeres = 900 filas

Además, decimos que cada fila tiene una etiqueta y 99 características, entonces podremos

imaginar que son 100 columnas. Lo que significa que tendremos una matriz de 900 x 100 para cada

posición, lo que evidentemente es una cantidad de datos muy grande, que conllevará a un alto coste

computacional.

Bloque 8.- aquí es donde empieza la verdadera actuación del clasificador SVM. La tarea de un

clasificador usualmente empieza con un paso previo el cual consiste en separar los datos en 2

conjuntos: entrenamiento y prueba. El objetivo de SVM es producir un modelo (basado en los datos

de entrenamiento) el cual predice el valor de la etiqueta de la clase de los datos del conjunto de

datos de prueba a partir únicamente de las características de cada sujeto. La guía práctica

proporcionada en la página WEB de los creadores de la librería LIBSVM [30] proporciona la

información práctica para empezar con el uso de la librería. A continuación se detallan las partes

más importantes a tener en cuenta al momento de uso de dicha librería.

Forma de las características.- SVM requiere que cada instancia (conjunto de características que

representan a un sujeto) sea representada como un vector de números reales, lo que significa que

cada una de las características que forma parte de un sujeto sea representada con un valor

numérico.

Proceso de Escalado de instancias.- una instancia es un conjunto de características que

representa a un sujeto, escalar dichas instancias antes de usar el clasificador es una tarea muy

importante, la principal ventaja del escalado es evitar que características con rangos numéricos

grandes sean dominantes frente a aquellas con rangos pequeños, además otra ventaja es evitar

Page 27: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

25 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

dificultades numéricas durante los cálculos internos que hace SVM. Lo recomendado es hacer un

escalado lineal de las características en rangos de: [-1, +1] o [0, 1].

Selección del kernel.- son 4 los modelos de kernel que se pueden escoger explicados en la

sección II.3.4, por la forma de los datos en el espacio de características se ha escogido el kernel no

lineal RBF. En general el kernel RBF es la primera opción razonable, este kernel no lineal mapea

los datos a un espacio de dimensión superior a diferencia del kernel lineal. Además, debido a la

penalización #* que se introduce en la “separación lineal, caso no separable” el comportamiento

del kernel lineal tiene el mismo desarrollo que el kernel RBF con los parámetros (C, γ),

convirtiéndose de esta manera el kernel lineal en una caso especial del kernel RBF. Con respecto al

kernel Sigmoidal, el kernel RBF con ciertos parámetros presenta el mismo comportamiento.

Otra razón es el número de hiperparámetros, los cuales aumentan la complejidad en el momento de

la selección del modelo, el kernel polinomial tiene más hiperparametros (+, ),�) que el kernel RBF

que tiene �C, γ�. Por este motivo el kernel RBF tiene menos dificultades numéricas y menos

complejidad a la hora de su aplicación.

Hay algunas situaciones en las cuales el uso kernel RBF no es adecuado. En particular cuando el

número de características es muy grande, en estos casos es recomendable usar el kernel lineal [30].

Selección de las mejores características.- al ser un estudio totalmente nuevo por usar un sensor

que no había sido utilizado para estos estudios y debido a que no existen estudios empíricos de la

postura [31], se escogieron muchas características para ser extraídas para cada sujeto en cada

posición. El proceso de extracción de características mientras menos características tenga más

rápido será, a demás, es muy importante para este estudio identificar las características que mayor

información aporten al momento de la clasificación de género.

Debido a lo anteriormente mencionado, es necesario encontrar un método que seleccione las

mejores características llamado “F-score”.

F-score: es una técnica sencilla que genera una medida de discriminación entre dos conjuntos

de datos (números reales). En otras palabras, es un proceso que genera p valores llamados F-score

a partir de 2 conjuntos (hombre y mujer) de n instancias con i características cada instancia, es

decir genera un valor numérico positivo por cada una de las i-ésima característica que representa a

una persona. Mientras más alto sea el valor de F-score correspondiente a la i-ésima característica

teóricamente más discriminatoria será dicha característica. Así pues, se ha usado este criterio para

la seleccione de características [32]. En la practica esta es una técnica simple y generalmente

bastante efectiva, siguiendo el criterio anterior, nosotros hemos calculado el F-score para todas las

características, luego tomamos algunos umbrales posibles escogidos empíricamente, de esta manera

se eliminan las características que estén por debajo del umbral seleccionado. Este proceso se

repitió en varias ocasiones hasta obtener un número considerable de características menor que el

original, siempre y cuando este número menor de características no afecte la precisión del sistema

Page 28: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 26

de aprendizaje. . Cabe añadir que este proceso se puede hacer tanto con las instancias normales

como escaladas, ya que durante los experimentos realizados se demostró que el resultado es

exactamente igual.

Además de la técnica anterior, internamente la librería LIBSVM hace una selección de

características, es por esto que finalmente el método de selección de características se denomina:

“F-score for Feature Selection F-score + SVM”. La Fig. 14 muestra el procedimiento completo de

selección de características.

Fig. 14. Selección de características.

Con el proceso realizado en este bloque se han encontrado las características que mas

información aportan para clasificación de genero, 24 han sido las características escogidas, en

adelante estas características serán las únicas que se extraigan de cada sujeto, disminuyendo así el

tiempo que conlleva la extracción de características y los procesos de entrenamiento y predicción

del sistema de aprendizaje supervisado, recordando que anteriormente eran 99.

Bloque 9.- la elección de un modelo en cada una de las 5 posiciones, es sin duda una de las

tareas más importantes debido a que este modelo es lo único que se utilizará en lo posterior para

hacer la predicción de un nuevo sujeto, sin la necesidad de volver a hacer los procesos de

entrenamiento, optimización de parámetros o elección de mejores características.

Page 29: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

27 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

El método que se usa para esta selección es el denominado “Croos-validation” [30]. La “Cross-

validation” es útil para saber cómo de preciso es un modelo que será utilizado en la práctica, la

Fig. 15 muestra el un diagrama de flujo que se sigue para la elección del modelo que mejor

representa a toda la población de nuestra base de datos.

24 Caracteristicas

V-fold

Dividir los datos de

train en k sub-sets

Tomar (k-1) subset

para train y 1 para test

Optimiza

ción

Modelo

(i)=Modelo

Repetir k veces

Escoger el modelo que mejor

Accuracy y probability_estimada

de acierto tenga

Modelo_optimo

Fig. 15. Proceso de “Cross-validation k-fold”

Para que la librería LIBSVM use la Cross-validation se debe escoger un rango de valores (#, +)

que son parámetros independientes entre sí y son necesarios para el funcionamiento del Kernel

RBF, este rango de valores es llamado: “Grid-search” [30], mientras más pequeño sea este rango

menor será el coste computacional usado en la Cross-validation, por otra parte, si el rango escogido

no es el apropiado, podría existir la posibilidad de que el parámetro que optimiza los resultados esté

fuera de dicho rango. La Fig. 16 muestra mediante un diagrama de flujo el proceso que se realiza

para la elección de los parámetros �#, +� que maximizan la precisión del sistema dentro del proceso

de optimización. Cabe añadir que los parámetros por defecto que usa la librería LIBSVM son muy

útiles, ya que en ocasiones pueden dar resultados iguales o hasta mejores que los resultados

obtenidos con parámetros optimizados. Este proceso de optimización debe realizarse tanto con

instancias normales como escaladas, aunque en general los resultados suelen ser siempre mejores

cuando se usan datos escalados, pero esto no significa que se deba desestimar las instancias

normales (instancias no escaladas).

Bloque 10.- este bloque detalla únicamente el almacenamiento del modelo óptimo en una

variable externa, para que así pueda ser usado en cualquier momento, este proceso se puede ver en

la parte inferior del diagrama de flujo de la Fig. 15. La forma de este modelo en matlab es una

estructura compuesta de 10 partes, a continuación un ejemplo de su forma:

Page 30: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 28

Parameters : [5x1 double]

nr_class : 2

totalSV : 526

rho : 0.0902

Label : [2x1 double]

ProbA : -19.1962

ProbB : -5.7422

nSV : [2x1 double]

sv_coef : [526x1 double]

SVs : [526x24 double]

El detalle de la forma de los parámetros que componen al modelo, puede encontrarse en un

archivo README que se encuentra ubicado dentro del paquete de la librería LIBSVM para

matlab, el cual se puede descargar de forma gratuita desde la pagina oficial de sus creadores (WEB:

http://www.csie.ntu.edu.tw/~cjlin/libsvm).

Fig. 16. Proceso de optimización de parámetros �#, +�.

Page 31: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

29 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Bloque 11.- este bloque consiste en predecir el genero de un nuevo sujeto, es decir el proceso se

divide en: extracción de coordenadas geográficas de las 5 posiciones del sujeto que se sitúa frente

al sensor kinect, luego extracción de 24 características por cada una de las 5 posiciones, para que

finalmente se pueda hacer la predicción de género a partir del modelo escogido anteriormente. Este

proceso se realiza para cada una de las posiciones y como resultado de esto se obtendrá un valor

porcentual de la probabilidad estimada de acierto de cada sujeto [29]. La Fig. 17 representa este

proceso mediante un diagrama de flujo.

Fig. 17. Predicción de género de un nuevo sujeto.

IV. RESULTADOS

El método: “Cross-validation” permite escoger un modelo que maximiza la precisión “accuracy”

del sistema de aprendizaje supervisado. Existen varios tipos de validación cruzada, el tipo escogido

en este estudio es: “Validación cruzada de k iteraciones” o “k-fold Cross-validation”, para un

numero k de iteraciones igual a 15 y 5.

IV.1.Validacion cruzada de 15 iteraciones o “15-fold Cross-validation”

Esta modalidad de validación cruzada coincide con el tipo de validación cruzada llamado

“Validación cruzada dejando uno fuera” o “leave-one-out Cross-validation” lo que a groso modo

significa: separar los datos de forma que para cada iteración tengamos una sola pareja para los

datos de prueba y todo el resto de parejas conformando los datos de entrenamiento, aunque por

contrapartida este valor de k aumentará el coste computacional, lo que en este caso es aceptable, ya

que se desea descubrir cuales son las parejas conflictivas al momento de la clasificación.

En la práctica esto significa dividir el grupo completo de datos (15 parejas) en 15 subgrupos de

igual tamaño (1 pareja). A partir de ahí se debe tomar 14 sub-grupos como datos de entrenamiento

y 1 sub-grupo como datos de prueba, este proceso de validación es repetido durante15 iteraciones,

con cada uno de los posibles sub-grupos de datos de prueba.

Page 32: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 30

Siendo el resultado final la media aritmética de la precisión y probabilidad estimada de cada una

de las iteraciones, obtenido de esta manera un único resultado que representa al grupo completo de

datos en cada una de las 5 posiciones. La precisión y la probabilidad estimada de acierto de cada

una de las posiciones se muestran en la tabla 3.

Es claro ver que la mejor posición es la “Posición A” con una precisión de 99.44% y la posición

con menor precisión es la “Posición B” con 93.11%, sin embargo esta posición tiene un margen

totalmente aceptable. Con respecto a la probabilidad estimada de acierto que se muestra en la Tabla

3, se puede ver como el hombre tiene menor porcentaje de acierto que la mujer en cada una de las

posiciones, esto significa que el hombre en media es clasificado como mujer que la mujer como

hombre.

Tipo de posición

Precisión (%) Probabilidad Estimada de acierto (%)

Hombre Mujer

Calibración 96.7778 94.9872 97.9326

Posición A 99.4444 97.3101 98.8570

Posición B 93.1111 93.1816 94.2068

Posición C 96.4444 94.9766 95.0829

Posición D 94.3333 90.8068 92.0645

Promedio 96.0222 94.2525 95.6288

Tabla 3. 15-fold Cross-validation

A continuación se muestran figuras con histogramas que representan la posición con mayor y

menor precisión.

Fig. 18. 15-fold Cross-validation, posición con precisión más alta: Posición A.

Page 33: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

31 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Fig. 19. 15-fold Cross-validation, posición con precisión más baja: Posición B.

Las Fig. 18 y 19 permiten ver la precisión y la probabilidad estimada de acierto del clasificador

en cada una de las 15 iteraciones, en estas figuras se puede ver el comportamiento que el sistema

tiene al entrenar con 14 parejas y hacer la predicción con una sola. Es de esta predicción de donde

se extrae el valor de precisión y de probabilidad estimada que es mostrada para cada una de las

parejas. Aquí se puede ver claramente los resultados de cada una de las 15 iteraciones hechas. Esto

adicionalmente ayuda a detectar aquel hombre o mujer que tiene un comportamiento más

conflictivo en el momento de pasar a formar parte del grupo de prueba, como es el caso de la mujer

de la pareja 10 o los hombres de las parejas 11 y 14, pudiendo notarse esta anormalidad de mejor

manera en la Fig. 19 que corresponde a la posición de peor comportamiento.

Como dato final se puede decir que el tiempo en este proceso fue: 688.296455 segundos

IV.2. Validación cruzada de 5 iteraciones o “5-fold Cross-validation”

Siendo k el numero de sub-grupos en los que se divide el grupo completo de datos (15 parejas), y si

anteriormente se escogió el valor de k mas alto posible (k=15), el siguiente paso será encontrar un

valor de k inferior que iguale o aumente la precisión en menor tiempo y con menor coste

computacional. Los valores de k con los que posteriormente se experimentó fueron: 10, 5 y 3. Así

pues, se obtuvieron los siguientes resultados generales, los cuales se comparan siempre con los

resultados de k=15.

Con k=10 se obtuvieron resultados similares en precisión y en tiempo de proceso, con k=5 se

obtuvo una precisión del sistema de aprendizaje superior y en menor tiempo de proceso, finalmente

con k=3 el tiempo de proceso fue mucho menor pero con una precisión del sistema muy baja, lo

cual no es bueno. Con este antecedente el valor de k escogido para extraer el modelo que maximiza

la precisión del sistema y adicionalmente reduce el coste computacional es k=5.

En la practica “5-fold Cross-validation” significa: dividir el grupo completo de datos (15

parejas) en 5 sub-grupos de igual tamaño (3 parejas), de ahí tomar 4 de estos sub-grupos para

Page 34: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 32

entrenar y 1 sub-grupo como datos de prueba. Este procedimiento se repite durante 5 iteraciones,

siendo la precisión del sistema en cada posición el promedio de estas 5 iteraciones realizadas [32].

El promedio de la precisión y la probabilidad estimada de acierto en cada una de las posiciones se

muestran en la tabla 4.

Tipo de posición Precisión % Probabilidad Estimada de acierto %

Hombre Mujer

Calibración 99.6667 96.8151 97.7415

Posición A 100 98.1229 99.0073

Posición B 94.5556 94.4726 96.2056

Posición C 97.2222 96.6984 95.4090

Posición D 93.6667 90.7750 92.2504

Promedio 97.0222 95.3768 96.1228

Tabla 4. 5-fold Cross-validation

El comportamiento en general es muy similar al anterior, excepto con un ligero aumento en los

porcentajes de un punto aproximadamente. Es evidente en este caso detectar la mejor posición

como la “Posición A”, mientras que la peor posición en este caso es la “Posición D” a diferencia

del caso anterior.

De igual manera que en el caso anterior se muestra los histogramas que representan la posición

con mayor y menor precisión.

Fig. 20. 5 fold Cross-validation, posición con precisión mas alta: Posición A

Page 35: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

33 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Fig. 21. 5 fold Cross-validation, posición con precisión más baja: Posición D

Las Fig.20 y 21 muestran la precisión y la probabilidad estimada de cada uno de los sub-grupos

en los que fueron divididos (5 sub-grupos de 3 parejas cada uno), en la Fig. 20 el comportamiento

de todos los sub-grupos es muy similar, lo que en la Fig. 21 es contrario, aquí se puede notar que el

comportamiento de los hombre o mujeres varia alrededor del 80% en los 4 sub-grupos últimos y

comportamiento normal en el primer sub-grupo. Es por esto que la “Posición D” se considera de

menor desempeño comparado con la “Posición A” representado en la Fig. 20.

En este método es más complicado identificar cuál es el hombre o mujer conflictivo de una

pareja determinada ya que existen 3 parejas en cada sub-grupo y resulta imposible con este método

deducir qué integrante de las tres parejas es conflictivo.

Como dato final se puede decir que el tiempo en este proceso fue: 161.864729 segundos.

Visto los resultados anteriores es muy claro deducir que la mejor posición para la predicción es

la “Posición A”, mientras que las 2 peores son “Posición B” y “Posición D”, aclarando que ninguna

de las posiciones entrega resultados menores al 90%, lo que hace que todas las posiciones sean

eficientes en mayor o menor porcentajes pero jamás malas en comportamiento.

La notable mejora radica en la disminución del tiempo en el proceso de cálculo, reduciéndolo en

4 veces aproximadamente. El modelo elegido por cada posición es aquel en el que el valor de

predicción y valor de probabilidad estimada de acierto (hombre y mujer) es el mas alto, este

modelo es almacenado para que posteriormente pueda ser usado en la predicción de género de un

nuevo sujeto en estudio.

IV.3 Prueba del modelo

Teniendo en cuanta el análisis anterior se ha escogido un modelo que maximiza los resultados

para cada una de las posiciones, estos modelos han salido del proceso hecho por “Cross-validation

5- fold”, siendo los modelos elegidos aquellos que mayor precisión y probabilidad estimada de

acierto han tenido en cada interacción para cada posición. Por ejemplo, la Fig. 20, representa el

proceso de Cross-validation 5- fold para la “Posición A”, en donde el modelo escogido fue el

Page 36: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 34

producido en la iteración “1” donde claramente la precisión y la probabilidad de acierto alcanza el

cien por cien. A partir de estos modelos se hace la predicción de un nuevo sujeto.

Este procedimiento consta de 2 partes: extracción de las características del nuevo sujeto y

predicción en función del modelo escogido (Fig. 17).

A continuación los resultados de este experimento.

Fig. 22. Una persona. Resultados de la predicción de una única persona.

Es muy claro ver en la Fig. 22 como el sistema implementado ha alcanzado un precisión del

100% y sobre todo una probabilidad de acierto del 100% para identificar como hombre al sujeto en

prueba.

Además de la predicción de género, este el sistema permite calcular la estatura de cada persona

mediante una regresión lineal multivariable. Los datos que fueron usados para el proceso de

regresión lineal fueron similares a la extracción de características descritas en la sección III, este

proceso corresponde a la extracción de características a partir de los 15 puntos de las articulaciones

localizados por el sensor kinect Fig. 5, dichas características son: longitud del antebrazo, longitud

del brazo, longitud de pierna y longitud de la ante pierna.

La posición que mejor comportamiento tuvo para determinar la estatura fue nuevamente la

“Posición A”. La referencia para decidir qué posición fue mejor es el error cuadrático medio, dicha

regresión hecha con las 15 parejas produjo un error cuadrático medio de: 19.8493 mm.

Con la explicación anterior se detectó que el sujeto bajo experimento es:

Género: “Hombre”, con una probabilidad del 100%, igual a la realidad.

Estatura: 1,75 metros, lo que es bastante parecido a la altura real 1,77 metros.

V. DISCUSIÓN

Tomando como resultado final, la media aritmética de la precisión y probabilidad estimada de

cada posición hemos obtenido los siguientes resultados:

Precisión = 97.02 %

Page 37: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

35 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Probabilidad de acierto de hombres = 95.38 %

Probabilidad de acierto de mujeres = 96.12%

Estos datos esencialmente sirven para medir la eficiencia del sistema de aprendizaje, teniendo

en cuenta la respuesta que tuvo el sistema al aplicar el método de “Cross-validation 5-fold”, el cual

fue el método que mejor comportamiento tuvo.

Además de esto, podemos destacar que en una de las posiciones (“Posición A”) alcanza el cien

por cien en cuanto a precisión, y una probabilidad estimada de acierto para hombres y mujeres de

98.12 % y 99.01% respectivamente, lo que se traduce en decir que no sólo el sistema acierta

completamente en la clasificación de género sino que también tiene una certeza casi absoluta en el

reconocimiento del sexo de cada persona.

Actualmente los estudios en reconocimiento de género se centran en el análisis de imágenes, ya

sean de la cara o de cuerpo entero, con imágenes frontales o traseras. En esta discusión nos

focalizaremos en los trabajos de reconocimiento de género basado en el cuerpo, ya que son lo más

parecido a este estudio.

En el 2008 Cao L. et al. [18] y Guo G. et al. [22] un año después, alcanzaron un porcentaje de

precisión de 75 y 80.6 %, respectivamente, utilizando el método de “Cross-validation 5-fold” sobre

la misma base de datos de imágenes con vistas frontales y traseras de hombres y mujeres. Ambos

estudios se diferenciaban en el método de Extracción de características y en el clasificador, siendo

Cao L. et al. [18] quien usa el descriptor HOG para extraer las características y como clasificador

“Adaboost variant”, mientras que Guo G. et al. [22], usa dos descriptores: Local Texture

Descriptor BIF y Principal Components Analysis PCA (Fourier Descriptor), y como clasificador

usa SVM- Linear.

En el 2011 Bourdev L. et al. [21], combina de cierta forma los criterios anteriores. Emplea

varios tipos de descriptores para la extracción de características, entre ellos el descriptor HOG, y

como clasificador usa la Maquina de Vectores de Soporte (SVM). Con todo ello consigue superar

en algo la precisión alcanzada por los dos estudios anteriores alcanzando una precisión de 82.4 %.

Tanto el método de evaluación de precisión como el clasificador, empleados en este trabajo,

coinciden casi en su totalidad con los utilizados en los estudios nombrados anteriormente. Esto nos

sirve como un referente para creer que las aplicaciones desarrolladas han sido correctamente

escogidas.

Si analizamos las fuentes de datos empleadas en los estudios anteriores, podemos decir que son

totalmente distintas a la nuestra, ya que usan imágenes (fotogramas) del cuerpo humano con vistas

frontales y traseras, bases de datos que ya han sido preparadas y seleccionadas con anterioridad; a

diferencia de nuestra base de datos, la cual es nueva y se basa en la localización de puntos en las

articulaciones del cuerpo humano mediante uso del sensor Kinect de Microsoft.

Nuestra base de datos consta de por: 30 frames en cada posición por cada usuario, llegando a

tener finalmente una base de datos compuesta por 15 hombres y 15 mujeres, con 30 frames cada

Page 38: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 36

uno en cada posición, en total “900 frames por cada una de las 5 posiciones”, donde cada frame

contiene las coordenadas espaciales de los 15 puntos de las articulaciones extraídas por el sensor

Kinect.

Si hablamos de la extracción de características, es claro notar que el método de extracción

empleado en este estudio, es totalmente distinto con respecto a los estudios nombrados

anteriormente, ya que nuestro estudio está basado en una fuente de datos totalmente distinta y única

en su especie, motivo por el cual se hace una extracción de características muy distinta a las

convencionales.

En la sección anterior, se dijo que la “Posición A” tiene mejor comportamiento frente a la

“Posición B” y “Posición D”, las cuales tienen menor eficiencia. Utilizando la experiencia

adquirida durante todo este estudio y, revisando el funcionamiento teórico y práctico del software y

hardware usado, se puede exponer los siguientes puntos que hablan del porqué de las diferencias en

los resultados de las distintas posiciones (tabla 5).

Posición Motivos

Calibración

Esta posición al ser la usada para la calibración del sensor, se convierte en una posición ideal

para el sensor, en esta posición el sensor puede ver todos los 15 puntos de las articulaciones

sin que nada oculte su visión directa.

Posición A

Según la norma EN ISO 7250-1:2010 esta es la posición en la que mayor número de medidas

antropométricas pueden ser extraídas. Además esta posición es la más parecida a la conocida

posición anatómica estándar del cuerpo humano, ya que es una posición que permite tener

una referencia espacial, que posibilita la descripción de cómo se disponen los tejidos, los

órganos y los sistemas del cuerpo humano (Fig. 23). Volviendo al análisis de “Posición A”

con respecto al sensor, el comportamiento es similar a la posición anterior, ya que los puntos

que el sensor ubica espacialmente sobre las articulaciones no tienen ningún tipo de

ocultamiento. Estos son los motivos por los que se cree que esta posición, junto con la

anterior, tienen el mejor comportamiento.

Posición B

En esta posición, se cree que existen puntos que son ocultados por las mismas extremidades,

es decir el brazo puede ocultar la articulación del codo y junto con el antebrazo pueden

también ocultar las articulaciones de los hombros. Esta posición fue escogida porque es

usada para hacer las medidas llamadas “Funcionales”, que sirve para medir el alcance

máximo de los brazos como detalla la norma EN ISO 7250-1:2010. El ocultamiento descrito

anteriormente es el que puede crear confusión en el proceso de reconocimiento de género.

Posición C

Al ser los hombres y las mujeres distintos en cuanto a sus posturas se escogió esta posición y

la siguiente pensando en la certeza de esta hipótesis. Esta posición no tiene ocultamiento de

ningún punto, lo que le da ventaja frente a la posición D que tiene cierto ocultamiento en los

puntos de las articulaciones de los hombros.

Page 39: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

37 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

Posición D

Esta posición resulta ser una de las que menores porcentajes de precisión tienen y se cree que

es debido al ocultamiento nombrado anteriormente. Esta posición también puede tender a ser

mala debido a que el hecho de levantar los brazos de forma vertical puede causar que los

puntos de las manos puedan salir del campo de visión del sensor.

Tabla 5. Motivos que explican las diferencias de resultados de las posiciones.

Fig.23. Posición anatómica estándar del cuerpo humano.

VI. CONCLUSIÓN Y LÍNEAS FUTURAS

El uso de una técnica novedosa para el reconocimiento de género, capaz de actuar de forma no

invasiva e imperceptible para el ser humano, y los altos márgenes de acierto obtenidos en este

estudio han abierto una nueva brecha en este campo de investigación, ya que en los últimos años

los métodos generalmente usados no han experimentado una gran variación.

• El diseño del Sistema de Aprendizaje Supervisado implementado en este estudio ha sido el

correcto, esto se ve respaldado por los resultados de precisión obtenidos que están en los

márgenes del 97 %.

• El uso de sensor Kinect con su algoritmo de seguimiento del esqueleto humano ha sido eficaz,

aún a pesar de no tener trabajos anteriores basados en este tipo de reconocimientos con los que

poder comparar. Esto se pudo confirmar haciendo una predicción de la altura estimada de las

personas a partir de las medidas calculadas sobre las extremidades del esqueleto humano.

• Partiendo del conocimiento sobre las diferencias anatómicas entre géneros, se podía pensar que

las diferencias de estaturas o tamaños de extremidades podrían ser suficientes para distinguir el

género. Sin embargo, tomando en cuenta esta premisa podrían surgir confusiones al momento

de la clasificación de género entre hombres y mujeres de estaturas similares. Es por ello que

esta investigación fue mas allá, y de entre varias características propuestas inicialmente, se

encontraron características que contenían mayor información, entre estas los llamados cosenos

directores (cos� , cos, , cos+). Con esta información se descubrió la importancia del ángulo

formado entre los “puntos de las articulaciones superiores” y el eje “Y” en concreto. El

ejemplo más claro de este particular, es el ángulo formado con el punto (coordenada espacial)

Page 40: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 38

puesto en el tórax de una persona y el eje “Y”, este punto es diferente entre hombres y mujeres

(aun siendo de la misma estatura) debido al busto de la mujer.

• Escalar los valores numéricos de las características que representan a cada individuo fue muy

importante, ya que con esto se evita que características con rangos numéricos grandes sean

dominantes frente a aquellos con rangos pequeños, también se evita que se produzcan

dificultades numéricas durante los cálculos internos del clasificador. Los modelos escogidos

surgieron a partir del proceso de entrenamiento realizado con los datos escalados, es aquí

donde fue demostrada la eficacia de escalar los valores numéricos de las características, tal

como sugería la guía práctica de la librería LIBSVM usada.

• Escoger un esquema adecuado para evaluar los datos de entrenamiento dentro de la librería

LIBSVM, consistió en una de las tareas más importantes del sistema de aprendizaje, ya que

elevar los valores de precisión del clasificador depende de este proceso de optimización, que

empieza por escalar los datos, optimización de parámetros de entrenamiento (#, +) y

evaluación de la precisión del clasificador mediante el método de Validación Cruzada.

• Al tener una base de datos considerablemente pequeña, resultó imposible separarla en datos de

“Entrenamiento” y de “Prueba”. Es por esto que fue importante encontrar un método que

permitiese escoger un modelo que abarcase los más altos porcentajes de precisión para futuras

predicciones. Siendo el método de “Validación cruzada de 5 iteraciones” el que más altos

valores de precisión consiguió.

• Después de haber obtenido buenos resultados en el reconocimiento de género a partir del uso

de medidas antropométricas estáticas, queda como paso inmediato el mismo reconocimiento a

partir de medidas antropométricas dinámicas, con esto también se consigue ampliar la base de

datos que actualmente se tiene.

• A partir de los datos extraídos del sensor kinect se podrían diseñar un sistema que realice

medidas antropométricas (estáticas y dinámicas) de forma eficaz, rápida y no invasiva, ya que

actualmente este tipo de medidas se realizan con técnicas invasivas o con modelos de 3D

bastante costosos.

AGRADECIMIENTOS

SMART AIRPORT: Sistema Inteligente de Gestión de Recursos para la Explotación de Espacios

Aeroportuarios, del Subprograma INNPACTO 2011 dentro del Programa Nacional de cooperación

Público-Privada del Ministerio de Economía y Competitividad del Gobierno de España.

BIBLIOGRAFÍA

[1] C. Benabdelkader, P. Griffin, A local region-based approach to gender classification from face images. IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Workshops, CVPR Workshops, 2005, p. 52.

[2] R. Brunelli, T. Poggio, Face recognition: features versus templates. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1993, 15(10), pp. 1042–1052.

Page 41: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

39 Sistema inteligente para reconocimiento de género mediante el sensor Kinect

[3] J.M. Fellous, Gender discrimination and prediction on the basis of facial metric information. Vision Research, 1997, 37(14), pp. 1961–1973.

[4] K. Ueki, T. Kobayashi, Gender Classification Based on Integration of Multiple Classifiers Using Various Features of Facial and Neck Images. Information and Media Technologies, 2008, 3(2), pp.479–485.

[5] B. Li, X.-C. Lian, B.-L. Lu, Gender classification by combining clothing, hair and facial component classifiers. Neurocomputing, 2011, pp.1–10.

[6] A.C. Gallagher, T. Chen, Understanding images of groups of people. IEEE Conference on Computer Vision and Pattern Recognition, 2009, pp. 256–263.

[7] B. Chon, H. Yong, G. Bok-Min, Recognizing Human Gender in Computer Vision: A Survey. In: P. Anthony, M ishizuka, and D. Lukose (Eds.): PRICAL 2012, LNAI 7458, pp. 335-346, 2012.

[8] H.C. Lian, B.L. Lu, Multi-view gender classification using local binary patterns and support vector machines. Advances in Neural Networks-ISNN, 2006, pp. 202–209.

[9] B. Xia, H. Sun, B.-L. Lu, Multi-view Gender Classification based on Local Gabor Binary Mapping Pattern and Support Vector Machines. IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence), 2008, pp. 3388–3395.

[10] J. Aghajanian, J. Warrell, S.J.D. Prince, J.L. Rohn, B. Baum, Patch-based within-object classification. 2009 IEEE 12th International Conference on Computer Vision, 2009, pp. 1125–1132.

[11] L. Lu, P. Shi, A novel fusion-based method for expression-invariant gender classification. 2009 IEEE International Conference on Acoustics, Speech and Signal Processing, 2009, pp. 1065–1068.

[12] M. Demirkus, M. Toews, J.J. Clark, T. Arbel, Gender classification from unconstrained video sequences. 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, 2010, pp. 55–62.

[13] J.G. Wang, J. Li, C.Y. Lee, W.Y. Yau, Dense SIFT and Gabor descriptors-based face representation with applications to gender recognition. 2010 11th International Conference on Control Automation Robotics & Vision, 2010, pp. 1860–1864.

[14] L.A. Alexandre, Gender recognition: A multiscale decision fusion approach. Pattern Recognition Letters, 2010, 31(11), pp. 1422–1427.

[15] T.-X. Wu, X.-C. Lian, B.-L. Lu, Multi-view gender classification using symmetry of facial images. Neural Computing and Applications, 2011, pp. 1–9.

[16] J. Zheng, B.-L. Lu, A support vector machine classifier with automatic confidence and its application to gender classification. Neurocomputing, 2011, 74(11), pp. 1926–1935.

[17] C. Shan, Learning local binary patterns for gender classification on real-world face images. Pattern Recognition Letters, 2012, 33(4), pp. 431–437.

[18] L. Cao, M. Dikmen, Y. Fu, T.S. Huang, Gender recognition from body. Proceeding of the 16th ACM International Conference on Multimedia, 2008, pp. 725–728.

[19] N. Dalal, B. Triggs, Histograms of oriented gradients for human detection. IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005, 1, pp. 886–893.

[20] M. Collins, J. Zhang, P. Miller, Full body image feature representations for gender profiling. 2009 IEEE 12th International Conference on Computer Vision Workshops, 2009, pp. 1235–1242.

[21] L. Bourdev, S. Maji, J. Malik, Describing People: A Poselet-Based Approach to Attribute Classification. 2011 IEEE International Conference on Computer Vision, 2011, pp. 1543–1550.

[22] G. Guo, G. Mu, Y. Fu, Gender from Body: A Biologically-Inspired Approach with Manifold Learning. In: Zha, H., Taniguchi, R.-i., Maybank, S. (Eds.): ACCV, 2009, Part III. LNCS, vol. 5996, pp. 236–245.

[23] OpenNi Documentation. URL http://openni.org/Documentation/ProgrammerGuide.html#Overview [24] F. Laneza Álvarez, Ergonomía y Psicología Aplicada. Manual para la formación del Especialista.

Valladolid: Lex Nova, 2009, pp 161-172. [25] EN ISO 7250-1:2010. Definiciones de las medidas básicas del cuerpo humano para el diseño

tecnológico. Parte 1: Definiciones de las medidas del cuerpo y referencias. [26] C. Cortes and V. Vapnik. Support-vector network. Machine Learning, 1995, 20, pp. 273-297. [27] Christopher J.C. Burges. A tutorial on Support Vector Machines for Pattern Recognition.Data Mining

and knowledge Discovery, 2, 121-167. 1998.

Page 42: Sistema inteligente para reconocimiento de género …repositorio.educacionsuperior.gob.ec/bitstream/28000/256/1/T... · Sistema inteligente para reconocimiento de género mediante

Sistema inteligente para reconocimiento de género mediante el sensor Kinect 40

[28] E. Boser, I. Guyon, V. Vapnik, A training algorithm for optimal margin classifiers. Proceedings of the Fifth Annual Workshop on Computational LearningTheory, 1992, pp. 144-152.

[29] C.-C. Chang and C.-J. Lin. LIBSVM : A Library for support vector machines. ACM Transactions on Intelligent Systems and Technology. Ultima actualización: Abril 4, 2012. URL: http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf

[30] C.-W. Hsu, C.-C. Chang, C.-J. Lin, A Practical Guide to Support Vector Clasification. Ultima actualización: Abril 15, 2010. URL: http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf

[31] V. Vinayagamoorthy, A. Steed, M. Slater, The Impact of a Character Posture Model on the Communication of Affect in an Immersive Virtual Environment. IEEE Transactions On Visualization And Computer Graphics, 2008, 14(5), pp. 965-981

[32] Y.-W. Chen, C.-J. Lin. Combining SVMs with Various Feature Selection Strategies. In: Feature Extraction: Foundations and Applications. (Eds): Springer, 2006, pp. 315-324