¡¡Chacho!! Que la lías, mira p`alante

Anuncio
¡¡Chacho!! Que la lías, mira p’alante
Beatriz Torre Jiménez
Grado en Ingeniería en Sistemas de Telecomunicaciones
[email protected]
Índice
Introducción .................................................................................................................................. 2
Motivación y Campos de aplicación .............................................................................................. 3
Hough Random Forest para detección de objetos y estimación de la pose ................................. 5
Entrenamiento .......................................................................................................................... 5
Entrenamiento con imágenes de profundidad ..................................................................... 6
Entrenamiento con imágenes de color ................................................................................. 7
Etapa de estimación .................................................................................................................. 8
Estimación en imágenes de profundidad .............................................................................. 8
Estimación en imágenes RGB ................................................................................................ 9
Resultados y conclusiones........................................................................................................... 11
Análisis en imágenes de profundidad ..................................................................................... 11
Análisis en imágenes RGB ....................................................................................................... 13
Conclusiones del análisis comparativo de ambos resultados ................................................. 15
Futuras líneas de trabajo ............................................................................................................. 18
Bibliografía .................................................................................................................................. 20
1
Introducción
A pesar de que conducir es una tarea prácticamente rutinaria para la mayoría de nosotros, sigue
siendo una actividad arriesgada que requiere de mucha atención por nuestra parte. Siempre se
nos dice que el problema es la velocidad y no respetar los límites, quizás también se hace
referencia al estado de las calzadas o incluso la meteorología, pero si analizamos el problema
con curiosidad científica y nos fijamos en las estadísticas, vemos que en 1 de cada 2 accidentes
graves ocurrido en el 2012, ha habido cierto grado de despiste o falta de atención [1]. Así pues,
si nuestra intención es reducir esta tasa y mejorar la seguridad, debemos centrarnos en reducir
las fuentes de distracciones, pero... ¿es eso posible? ¿es fácil? ¿es factible? A priori parece
complicado: sólo hay que ver el gran presupuesto en publicidad para marquesinas de autobús o
carteles que hay en las autopistas. Rótulos luminosos, carteles móviles, diseños enfocados en
captar nuestra atención… en principio parece difícil resistirse a algo que ha sido específicamente
diseñado para que nos fijemos. Así que en este trabajo que presentamos, vamos a rodear el
obstáculo: en vez de eliminar las fuentes de distracción, vamos a detectar cuando el usuario se
distrae y cuando dicha distracción supone un peligro grave y, de esta forma, alertarle
convenientemente. Para ello vamos a recurrir a técnicas de machine learning y visión por
computador. Lo que hemos hecho es entrenar a un ordenador a medir distintos parámetros en
el usuario y entender si está mirando lo que tiene en la carretera o está distraído mirando un
cartel de excelentes Miguelitos de la Roda y no ve que el coche de delante se ha parado por
culpa del atasco.
En este trabajo vamos a presentar un modelo de regresión que es capaz de estimar el acimut,
cenit y altura del rostro de una persona, fijando como punto de referencia la nariz. Para ello
hemos entrenado el modelo utilizando un algoritmo de la familia de los bosques de decisión
conocido como Hough Random Forest. Dicho entrenamiento utiliza como fuente de información
una base de datos de imágenes de personas, anotada cada imagen con cada uno de los tres
parámetros a estimar. De esta forma, el algoritmo tratará de encontrar una función que, partiendo
de unas características de entrada, halle una función de transformación no lineal que permita
calcular los parámetros deseados. A continuación, si definimos una función de error entre este
mapeo y los valores anotados, podremos abstraer el problema y reducirlo a un problema
matemático de optimización. [2]
2
Motivación y Campos de aplicación
El ejemplo que se menciona en la introducción, de distraerse con un cartel y chocarse con el
coche de delante, no es fruto de la imaginación, sino que es un caso que me toca de cerca, lo
que, unido a otras circunstancias, me ha llevado a interesarme por este campo. Como podemos
ver, este trabajo es de aplicación directa, ya que el estudio de cómo mejorar la seguridad en la
conducción es algo muy actual. Sin embargo, esta no es su única aplicación, la estimación de la
pose puede servir para muchos campos distintos. Sin ir más lejos, para el desarrollo de
experiencias 3D. Como podemos ver en la Figura 1, Amazon utiliza 4 cámaras integradas en las
esquinas de su ultimo teléfono móvil para ser capaz de adaptar las imágenes mostradas por su
pantalla al ángulo desde el cual las estamos visualizando, de esta forma es capaz de conseguir
un efecto tridimensional: si mueves el teléfono podrás ver que hay detrás de la esquina del
edificio de la Figura 2.
Figura 1 Presentación de la característica “dynamic perspective” del teléfono Fire Phone de Amazon.
3
Figura 2. : Integración de “dynamic perspective” con Google Maps. Esta tecnología proporciona una experiencia
inmersiva mucho mayor.
Una aplicación muy importante de esta tecnología estaría en su uso como interfaz para personas
con movilidad reducida. Utilizando una simple (y barata) webcam, una persona parapléjica
podría, mediante pequeños movimientos de la cabeza, utilizar un ordenador de forma totalmente
independiente y sin necesidad de pedir ayuda a otra persona (ver Figura 3)
Figura 3. Persona parapléjica interactúa con un ordenador de forma autónoma.
4
Hough Random Forest para detección de objetos y
estimación de la pose
Para detectar y estimar la pose de la cabeza partimos de un sistema basado en Hough Random
Forest (HFR) [1]. Este clasificador consiste en un conjunto de árboles de decisión que
previamente han sido entrenados de forma aleatoria.
Entrenamiento
Inicialmente se va a detallar cómo se realiza el entrenamiento de estos árboles ya que resulta
fundamental para poder comprender cómo se ha realizado la estimación. Se va a partir de un
conjunto de imágenes anotadas, que contengan tanto la posición de la cabeza cómo su
localización en la imagen. Posteriormente de dichas imágenes se extraen de forma aleatoria un
conjunto de parches. Los parches vendrán definidos de la siguiente manera,
Ecuación 1
Dónde ci es una etiqueta de clasificación. Se asigna valor “1” si el parche se encuentra en la cara
y “0” si está en cualquier otra zona, considerándose que pertenece al fondo de la imagen. θ i =
(θ1, θ2) (θ1 es la medida de localización y θ2 la de pose), e Ii representa la apariencia del parche
(los valores de los píxeles). El siguiente objetivo consiste en construir los árboles de decisión,
agrupando en una misma hoja los parches que posean una información similar. En una primera
fase se van a considerar todos los parches en un único nodo, denominado nodo raíz (S). Para
realizar la primera división en dos grupos, el modelo necesita encontrar aquel clasificador
sencillo, denominado en este trabajo test binario, que separa los parches del conjunto de entrada
S, en dos subconjuntos SD y SI de modo que la entropía de estos subconjuntos sea mínima. En
este caso los nodos son optimizados para minimizar la entropía de clasificación utilizando las
etiquetas ci de los parches, o las medidas de localización θ1 o pose θ2. Véase la Figura 4.
Figura 4. Asignación de los conjuntos de entrenamiento a cada nodo.
5
Según se trabaje con imágenes de profundidad o RGB, las definiciones tanto de los test binarios
como de las funciones de entropía utilizadas son diferentes, por lo que posteriormente se
detallarán estas ecuaciones para cada uno de los casos.
Entrenamiento con imágenes de profundidad
Al trabajar con imágenes de profundidad, los test binarios φ(I) son definidos como:
Ecuación 2
dónde, F1 y F2 son dos rectángulos asimétricos localizados en el interior del parche, τ es el
umbral que se encarga de definir cuál será finalmente el resultado binario e I(q) representa el
valor del píxel de la imagen de profundidad. La Ecuación 2 muestra que, la función de test binaria
empleada se basa en la resta de los valores medios de los dos rectángulos asimétricos definidos
en el interior del parche, un ejemplo se muestra en la Figura 5.
Figura 5. Ejemplo de parche de entrenamiento (Rectángulo rojo, el de mayor tamaño), dentro del cual, los
rectángulos F1 y F2 representan la elección de las zonas sobre las que realizar la función binaria de test, en el
presente parche.
También es necesario definir la función de entropía que vamos a emplear. En este caso seguimos
la formulación propuesta en [1]. Dicha entropía se divide en dos partes. La primera realiza la
medida de regresión Hr(P), la cual indica la impureza tanto en coordenadas (θ 1) como en
orientación (θ2) incluidos en los parches, y se encuentra reflejada en la Ecuación 3:
Ecuación 3
En esta ecuación, Σ representa la matriz de covarianza de las distribuciones Gaussianas
computadas a partir de los vectores θ n, para n ∈ [1, 2], lo cual representa los vectores de
localización y orientación, comentados anteriormente en esta sección. La segunda parte de la
entropía realiza la medida de incertidumbre en las etiquetas de clasificación (c i), por ello se
conoce como entropía de clasificación. Su expresión matemática es la siguiente:
6
Ecuación 4
dónde K = 1, y p(c = k|P) se corresponde con la probabilidad de clasificación, la cual es
aproximada por la cantidad de parches con etiqueta de clasificación k en todo el conjunto de
parches P , dividida por el número total de parches.
Finalmente, en los nodos terminales o hojas, se almacenan tanto las probabilidades de
clasificación p(c = k|P), como las distribuciones continuas de los parámetros de pose de la
cabeza: p(θ1 = N(θ1; θ1, Σ1) y p(θ2 = N(θ2; θ2, Σ2). Tanto la probabilidad de clasificación como los
vectores de offset y de orientación, son obtenidos por las hojas a través de los parches de
entrenamiento que llegan a las mismas.
Entrenamiento con imágenes de color
En este tipo de imágenes, la apariencia Ii (Ecuación 1) de cada parche se distribuye a lo largo de
32 canales. Es decir, para cada parche, computamos 32 características visuales, consistentes
en: 3 canales de color, los valores absolutos de las derivadas de primer y segundo orden para x
e y, finalmente, 9 canales correspondientes a la característica HOG (Histograms of Oriented
Gradients) [3]. Con el objetivo de reducir el ruido en dichos canales, se les procesa mediante
sendos filtros de máximos y mínimos, por lo que se dispone finalmente, de C = 32 canales de
características, 16 para el filtro de máximos, y 16 para el de mínimos.
El test binario es similar al estudiado anteriormente para imágenes de profundidad, pero ahora
se encuentra dotado de una mayor estabilidad, como consecuencia de la inclusión de cuatro
rectángulos asimétricos en cada parche, en lugar de dos. Como se puede observar en la
Ecuación 5, la operación se basa en la resta de, la suma de los valores de uno de los 32 canales
(el canal identificado como τ1) computada en la región R1, y la suma de los valores del mismo
canal en otras 3 regiones. Destacar que la posición de estas regiones se obtiene de forma
aleatoria, como en el caso de las imágenes de profundidad.
Ecuación 5
Una vez definida la función binaria, el resultado del test de cada nodo viene dado por el sistema
mostrado a continuación, dónde τ2 es el umbral que se optimiza y fija dependiendo del nodo en
el que caiga el parche.
Ecuación 6
La entropía utilizada para hallar la incertidumbre en los datos etiquetados en cada parche, se
representa mediante tres ecuaciones matemáticas, cada una de las cuales, se refiere a un
aspecto distinto de las anotaciones mencionadas. Atendiendo a la siguiente ecuación de la
impureza de clasificación:
7
Ecuación 7
se debe notar la presencia en la misma de la entropía de clasificación:
Ecuación 8
La siguiente expresión hace referencia a la incertidumbre presente en las anotaciones de
coordenadas:
Ecuación 9
Adicionalmente a esta última ecuación, se ha empleado un criterio de pureza encargado de medir
el nivel de incertidumbre en las anotaciones de orientación de la pose en cada parche.
Ecuación 10
Esta ecuación está basada fundamentalmente en operar con la diferencia entre la información
de la orientación, presente en una etiqueta θj2, y la información de la orientación media θA2 de
todo el resto de parches de zona facial. El cálculo analítico de la orientación media obtenida
proviene del concepto de media de cantidades circulares, y más concretamente, del cálculo de
ángulos medios, cuya forma matemática se presenta de la siguiente forma:
Ecuación 11
Finalmente, en los nodos hoja, se almacenan tanto las probabilidades de clasificación
p(c
=k|P), como las distribuciones continuas de los parámetros de pose de la cabeza:
p(θ1 =
N(θ1; θ1, Σ1) y p(θ2 = N(θ2; θ2, Σ2). Tanto la probabilidad de clasificación como los vectores de
offset y de orientación, son obtenidos por las hojas a través de los parches de entrenamiento que
llegan a las mismas.
Etapa de estimación
Estimación en imágenes de profundidad
Una vez que se ha conformado el árbol se puede proceder a realizar la tarea de estimación. Para
estimar la pose de la cabeza en una imagen de profundidad, primero se extraen diversos parches
de la misma, los cuales son lanzados por todos los árboles del bosque, y recorren el camino de
8
forma guiada como consecuencia de los test binarios emplazados en cada nodo, los cuales van
a encaminar cada parche al nodo hijo izquierdo o al derecho. La probabilidad
p(c = k|P )
presente en las hojas evalúa la magnitud informativa de la hoja, es decir, que los parches que
caigan en hojas donde la concentración de parches de cara sea baja, serán marcados como
parches de fondo (y no cara).
Dada una imagen de profundidad, en la Figura 6 podemos observar cómo se han obtenido
diversos parches, posteriormente siendo clasificados como positivos (pertenecientes a la
cabeza), menos el que aparece de negro, ya que se encuentra localizado en la zona de los
hombros. Este último parche no se tendrá en cuenta a la hora de realizar las votaciones pos
posicionamiento y orientación de la pose. Por lo tanto, sólo serán aceptados los parches que
caigan en una hoja, cuya p(c = k|P ) = 1, así como serán filtradas las hojas con una covarianza
Gaussiana mayor que el límite fijado en un parámetro maxv = 400 (dicho límite puede ser
modificado si se desea). Una vez las hojas han determinado qué parches pertenecen a la cabeza,
votan por diferentes localizaciones y estimaciones de la pose. La estimación final se corresponde
con la localización y la pose más votada. Además, las votaciones referentes a cada uno de los
parches de la cabeza se ubican en las proximidades de la nariz cómo se puede observar
claramente a través de los puntos de color. Una vez realizadas las votaciones, la agrupación que
disponga de un mayor número de las mismas, será la que proporcione los resultados finales que
se emplearán para la representación final de la pose mediante un cilindro gráfico (véase Figura
6 b).
Figura 6. Etapa final del proceso de estimación, votación y representación. a) Votaciones realizadas empleando los
diferentes parches extraídos de una imagen de profundidad, b) Representación gráfica a modo de cilindro, de la
situación de la cabeza y orientación de la pose facial. (Imagen tomada de [1]).
Estimación en imágenes RGB
En este caso el procedimiento que se va a seguir es diferente. Los parches irán cayendo en los
nodos terminales de cada árbol realizando las votaciones por parte de los parches almacenados
en dichos nodo hoja. Una vez más, solo votarán los parches de las hojas cuya concentración de
parches de cara sea elevada. De este modo identificamos si el parche de test pertenece a la cara
o al fondo. Las hojas de cada árbol acumulan sus votaciones en el espacio de Hough, donde al
finalizar los procesos de votación de todas las hojas, se realiza un proceso de suavizado. La
estimación final se toma como el valor con mayor número de votos presentes en el espacio de
Hough. En la Figura 7 se puede observar cómo, a partir del fragmento de la imagen total
9
seleccionado como rostro, se realiza la votación en el espacio de Hough, se realiza la tarea de
suavizado, y finalmente se obtienen unos valores a modo de resultado, que el demostrador
utiliza para la localización y representación tanto del centro de la cabeza, cómo de la orientación
de la pose.
Figura 7. Pasos desde la votación a la representación. a) Acumulación de votaciones realizadas por la totalidad de
las hojas del bosque en el espacio de Hough. b) Estado del espacio tras realizar el proceso de suavizado. c)
Representación de la estimación de la pose, de acuerdo con los parámetros con número máximo de votaciones,
facilitados por el detector.
10
Resultados y conclusiones
Como se ha visto se puede realizar la estimación de pose tanto en imágenes de profundidad
como en imágenes RGB, ya sean extraídas a partir de cámaras de baja resolución o webcams.
A continuación se mostrarán tanto los resultados cuantitativos como los cualitativos obtenidos.
Para los primeros se ha hecho uso de la base de datos BIWI [1].
Análisis en imágenes de profundidad
La estimación en imágenes de profundidad se caracteriza por su velocidad, lográndose un
refresco por imagen estimada a una velocidad de actualización muy próxima a los 30 fotogramas
por segundo. La combinación de una velocidad de ejecución totalmente a tiempo real con el alto
grado de precisión en las estimaciones, hace que el detector de pose, en su versión de
profundidad, sea una herramienta ágil y dinámica de cara a la obtención de la pose deseada. A
continuación, en la Figura 8 podemos observar una secuencia de imágenes tras la realización
sobre las mismas del proceso de estimación.
Figura 8. Secuencia de imágenes de profundidad tras la representación de la pose a través de un cilindro.
Como puede observarse, las estimaciones se caracterizan por un alto grado de precisión, sin
importar la dirección de la pose. En algunos casos, como por ejemplo en la Subfigura (g),
determinadas zonas del pelo no se muestran dentro de la nube de puntos, lo que viene motivado
por la no reflexión del rayo infrarrojo, desde dicha zona, de vuelta hacia el emisor de IR, y no por
una excesiva distancia del usuario a la cámara. Además, cabe destacar el uso de la densificación,
mediante polígonos triangulares, de la nube de puntos, para resaltar en mayor magnitud la figura
del usuario experimental, lo que conlleva a una mayor claridad en la muestra de resultados.
En los diversos experimentos el usuario se ha situado a una distancia de entre 60-70 cm, de
manera que el sensor IR ejecute su función de forma correcta (no excede la distancia umbral de
1 metro) y garantizando de este modo unos resultados óptimos.
11
Se debe destacar también que el estimador responde muy bien ante oclusiones u ocultaciones
parciales del rostro, que aunque dificulta la tarea de estimación permite una mayor varianza en
las votaciones de las hojas de los árboles de Hough. En la Figura 9 se muestran los resultados
obtenidos ante la presencia de un obstáculo frente al rostro. En general se obtienen resultados
muy precisos a excepción de la Subfigura (g), donde la oclusión interfiere con el exceso de
píxeles en el rostro, provocando un error en los resultados entregados por el estimador.
Figura 9. Muestras experimentales de la precisión y comportamiento del estimador, en presencia de oclusiones
frente al rostro.
Por último, en la Tabla 1 se muestran los resultados cuantitativos del estimador en el caso de
imágenes de profundidad.
Tabla 1. Tabla de resultados cualitativos en la estimación de imágenes de profundidad: niveles de error, pérdidas y
tiempo de estimación.
Haciendo uso de la base de datos BIWI [1], se han realizado tres experimentos de análisis del
nivel de error tanto en la estimación del centro, como de la orientación de la pose, para
diferentes números de parches extraídos a la hora de realizar la estimación de las imágenes. El
número de parches a omitir entre los que se utilizan para la estimación, viene dado por el
12
parámetro de pasos, a menor nivel de pasos, mayor número total de parches serán analizados.
Para un mayor número de parches extraídos, la precisión tiende a aumentar, y el tiempo
empleado en la estimación se ve incrementado, como consecuencia de disponer de una mayor
cantidad de parches a analizar.
Análisis en imágenes RGB
En este caso, dado que se trabaja con imágenes en RGB y el número de características que se
deben extraer es elevado (32), la velocidad alcanzada por el demostrador es de 1FPS.
A continuación, en la Figura 10 se muestran los resultados obtenidos para una configuración tal
que implica que el estimador de pose realiza la votación de 1 de cada 2 píxeles del fragmento de
imagen introducido al mismo. Este hecho facilita agilizar el proceso de estimación, al no analizar
la totalidad de la imagen. En términos de precisión, se observan los buenos resultados obtenidos,
en todas las diferentes poses mostradas, incluso habiendo realizado el experimento en un
entorno no controlado, dónde se pueden observar carteles y sillas de fondo, que podrían
despistar al estimador de pose.
Figura 10. Estimaciones de pose y detección de cabeza en imágenes RGB.
Posteriormente se ha realizado un experimento del mismo tipo y en las mismas condiciones que
el anterior con la diferencia de que ningún parche ha quedado exento de ser analizado por el
estimador. Si analizamos las imágenes, la relación velocidad-precisión ha decrecido de manera
notable con respecto al grupo de imágenes anterior. La velocidad se ha visto reducida, sin
embargo la precisión no ha aumentado de una forma claramente visible (véase Figura 11).
13
Figura 11. Secuencia de imágenes RGB bajo el proceso de estimación de pose.
Por otro lado, si realizamos un análisis de diferentes poses en las que el rostro se encuentre
hacia arriba observamos como la precisión en la estimación de la pose decrece notablemente.
En la Figura 12 se observan diversos fotogramas en los que apreciamos la disminución de
precisión.
Figura 12. EstimacióndeimágenesRGBenpersonascuyaposeseencuentraorientadahaciaarriba.
Como se ha observado anteriormente para el análisis de imágenes en profundidad, el estimador
de la aplicación para RGB también es funcional en presencia de oclusiones o elementos que
14
dificulte la visualización del rostro, aunque en aquellos casos, su precisión de estimación se vea
reducida proporcionalmente a la magnitud o tamaño de la oclusión presente entre el sensor de
imagen de la cámara y la cabeza del usuario. Las imágenes de la Figura 13 muestran lo robusto
que es el estimador utilizado, con respecto a la ocultación de fragmentos del rostro, a la vez que
también muestra los errores claros y puntuales del mismo, cuando el nivel de oclusión es
demasiado alto, cómo es el caso de las Subfiguras (f) y (h).
Figura 13 Secuencia de imágenes de estimación, en presencia de oclusiones, para demostrar la robustez del
demostrador.
Conclusiones del análisis comparativo de ambos resultados

En imágenes de color no existe ninguna dependencia respecto de la distancia umbral
entre el usuario y el sensor de imagen de la cámara, es decir, se pueden obtener
resultados de la orientación de la pose tanto para distancias cercanas a la cámara como
para distancias mayores de un metro lo que permite una mayor flexibilidad. En la Figura
14 se comprueba lo expuesto, ya que a una distancia fija de 30 cm entre los sensores
de la cámara y el usuario, la aplicación no funciona correctamente.
15
Figura 14. Comparación del uso del demostrador par imágenes de profundidad o RGB a una distancia corta de los
sensores de la cámara.

Respecto a la dificultad de procesado, cuando se trabaja con imágenes en RGB se
necesita realizar muchas más operaciones. Por ejemplo, si se añade un detector de piel,
cómo herramienta de eliminación de zonas de la imagen no trascendentes para la
estimación, además de ser vital para realizar las estimaciones en tiempo real, añade
dificultad a la obtención de unos resultados adecuados, ya que un fallo en la selección
del fragmento que debe incluir el rostro, produce un error total en los valores finales.
En la Figura 15 se pueden observar imágenes extraídas directamente del detector de
piel, para condiciones lumínicas y emplazamientos de enfoque algo diferentes.
Figura 15 Resultados del detector de piel según la combinación de condiciones lumínicas y emplazamiento.
16
En la Figura 15 también se observa que cambio brusco de iluminación, combinado con
un cambio notable de dirección de enfoque pueden contribuir a resultados erróneos
dónde se detecte piel en píxeles del trasfondo de la imagen (véase Subfigura (c)).

A pesar de la mayor complejidad d de procesado de imagen en las imágenes RGB, los
resultados en cuánto a precisión no son necesariamente mejores en imágenes de
profundidad, ya que los HRF de ambos modos de estimación han sido sometidos a
procesos de entrenamiento diferentes y que permiten resolver el problema de forma
satisfactoria.
17
Futuras líneas de trabajo
De cara a un posterior desarrollo de este trabajo, hemos encontrado tres objetivos de estudio
muy importantes: el aumento de la precisión, el aumento de la robustez y la reducción del tiempo
de procesado. No obstante, para llevarlo al mundo industrial y desarrollar una aplicación práctica
y real, nos encontramos con que también tenemos que optimizar el espacio ocupado por el
dispositivo (cámara + procesador) más el coste de la producción, lo que incide de pleno en una
de las características más importantes que un ingeniero debe poseer: ser capaz de balancear el
grado de optimización de cada característica de tal forma que se cumplan los requisitos
económicos del proyecto sin sacrificar la funcionalidad necesaria y conseguir mantener un nivel
alto de calidad.

Aumento de la precisión: al analizar los resultados hemos podido observar que al
disponer de menos imágenes en las que el rostro se encuentra mirando hacia la parte
superior de la imagen, su precisión con respecto a otras poses distintas empeora
notablemente. Esta idea es consistente con una de las definiciones más populares del
machine learning: “un algoritmo se dice que aprende de la experiencia E con respecto
a un cierto tipo de tarea T midiendo su rendimiento como P si el rendimiento P en dicha
tarea T incrementa a medida que aumenta la experiencia E.” [4]
La manera de mejorar este aspecto, por tanto, es utilizar bases de datos mucho más
grandes y mejor balanceadas. Esto impactará directamente en el tiempo de
entrenamiento (fase de desarrollo), sin embargo el tiempo de estimación (cuando un
usuario final está utilizando la aplicación) se mantendrá constante con lo cual no
introducirá ninguna desventaja real.

Aumento de la robustez: como hemos visto, nuestro demostrador es bastante robusto
ante oclusiones, no obstante, al trabajar con cámaras en espacios abiertos tenemos que
tener en cuenta los grandes cambios de iluminación que nos podemos encontrar. Para
ello proponemos mejorar la segmentación de la piel estudiando otros modelos de color
como pueden ser el HSV[5] y el CieLAB[6].
Otra forma también muy interesante es la adición de información temporal, es decir, dejar
de analizar cada imagen de forma aislada y tratarla como un flujo de video. Es altamente
improbable que de un fotograma al siguiente exista una diferencia de la pose demasiado
grande, ya que estamos tratando con intervalos de tiempo muy reducidos. Así pues,
imponiendo restricciones espaciales de movimiento, podremos reducir muchos errores
de estimación. Una forma elegante de integrar esta información sería utilizando el
estimador conocido como Filtro de Kalman [7]. Esta herramienta matemática nos permite
predecir con gran precisión cual será la siguiente posición del punto que establezcamos
como referencia. Si detectamos que la distancia euclidea dada por el Filtro de Kalman y
por el Hough Random Forest es muy alta, podremos detectar una anomalía.

La reducción del tiempo de procesado es crucial: necesitamos poder procesar los datos
al mismo ritmo al que estos nos llegan. Para conseguir este objetivo hay multiples
enfoques y, dado que se ha implementado en uno de los lenguajes más rápidos
existentes en la actualidad, deberían probarse otras técnicas como el procesado en
paralelo. Los algoritmos que tratan con imágenes, por su carácter matricial, son unos de
los grandes candidatos a la paralelización. Este proceso podría implementarse en CPU
con unos máximos rondando los 8 hilos de procesamiento o incluso en GPU, donde nos
iríamos al rango de los millones de hilos. No obstante, esta elección influye
negativamente en el coste, en el consumo y en el espacio (dado que necesita mayor
18
refrigeración), por lo que quizás sería interesante valorar implementaciones hardware
como las FPGAs.
19
Bibliografía
[1] Dantone M. Fossati A. Gall J. Van Gool L. Fanelli, G. Random forests for real time
3d face analysis. Technical report, Computer Vision Laboratory, ETH Zurich, 2012.
ix, ix, xx, xxi, xxiii, xxiv, 1, 2, 3, 5, 7, 11, 35, 36
[2] García, M. Sistema de estimación en tiempo real de la pose de la cabeza utilizando
Kinect. (2014)
[3] Sudowe, P., Leibe, B.: Efficient use of geometric constraints for sliding-window object
detection in video. In: ICVS. (2011)
[4] Mitchell, T. (1997). Machine Learning, McGraw Hill. ISBN 0-07-042807-7, p.2.
[5] https://es.wikipedia.org/wiki/Modelo_de_color_HSV
[6] https://es.wikipedia.org/wiki/Espacio_de_color_Lab
[7] R. E. Kalman, “A new approach to linear filtering and prediction problems,”
Journal of Basic Engineering82 (1960): 35–45.
20
Descargar