sistema inteligente para reconocimiento de género...
TRANSCRIPT
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
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.
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
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
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.
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
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.
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.
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:
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.
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
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
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
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.
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,
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:
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
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).
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:
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.
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%
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
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
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
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
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
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.
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:
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 �#, +�.
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.
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.
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
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
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
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 %
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
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.
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)
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.
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.
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