jueves, 19 de abril de 2012

La importancia de elegir un buen set de entrenamiento

En la entrada inmediatamente anterior se menciona el proceso de entrenamiento de las redes neuronales, así como el modo en que capturamos imágenes de entrenamiento para nuestra red neuronal.

Pensando en conseguir que el sistema sea capaz de reconocer gestos de diferentes personas, con manos en posiciones levemente distintas e inclinaciones variadas aun conservando el gesto en si, realizamos una serie de capturas para la base de datos en las que movíamos la mano, variando significativamente el ángulo, la posición del brazo, la separación de los dedos... Después de dividir la base de datos en set de entrenamiento y set de test y de entrenar la red, terminamos por encontrarnos con unos resultados algo peores de lo esperado.

No fue inmediato darnos cuenta de que nuestro exceso de celo resultó más perjudicial que otra cosa para nuestro sistema. Algunos de los movimientos capturados, a pesar de conservar características propias de su gesto original, como el número de dedos extendidos, tenían una inclinación tan exagerada que pasaban a tener características de otras imágenes e inducían a error a la red neuronal. De esta forma la red neuronal se fijaba en características como el ángulo del brazo por encima de los dedos extendidos y se equivocaba clasificando las imágenes.

En las siguientes capturas para creación de base de datos limitamos la variación de los gestos.

En este punto del desarrollo nuestra red tenía doce neuronas de salida, una por gesto; de esta forma cuando la entrada era un fondo vacío, sin mano, lo detectaba como una mano de canto (gesto que menos pixels activos tiene). Le hemos añadido una neurona más de salida correspondiente al fondo, para lo cual precisamos también de un set de entrenamiento. Realizamos una función simple de matlab que genera una serie de imágenes de fondos con algunos píxeles de ruido en posición aleatoria (uno, dos o tres por imagen) y la utilizamos para entrenar la red.

No hay comentarios:

Publicar un comentario