La detección de rostros es una aplicación muy interesante del software, pues se requiere de mucho trabajo para tratar de comprender cómo es que se forman los rostros humanos y cómo caracterizarlos de forma tal que puedan ser reconocidos. Ya tenemos cámaras y apps en los teléfonos inteligentes que de alguna manera hallan dónde se encuentran los rostros de las personas que se desean fotografiar y más aún, en ocasiones algunas apps no toman la fotografía hasta que todos los rostros aparecen sonriendo. El problema es cuando el rostro aparece de lado, o de perfil. Muchos programas no pueden manejar esta situación. Sin embargo, científicos de la Universidad de Stanford y de Yahoo Labs han trabajado en un nuevo enfoque que permite registrar los rostros a cualquier ángulo, incluso parcialmente, haciendo que la detección de los mismos sea mucho más sencilla.
Sachin Farfade y Mohammad Saberian, de Yahoo labs y Li-Jia, de la Universidad de Stanford, indican que su nuevo algoritmo es más simple y más preciso que muchos métodos alternativos. Para entender cómo es que éste trabajo hace la detección, es importante antes hablar de los avances en el 2001, en donde se dio un parteaguas por parte de los científicos Paul Viola y Michael Jones. Ambos personajes trabajaban en la tecnología de detección de rostros, tratando simplemente en hallar las caras. Reconocerlas no era su objetivo inicial. Su algoritmo buscaba una línea vertical (por ejemplo, la nariz), que cruzara con una línea horizontal (los ojos), en una “detección en cascada”. Esto ha sido demostrado como muy efectivo en el hecho de reconocer rostros viendo solamente la cabeza. De hecho, es el algoritmo que en general se implementa en las cámaras digitales y en algunas apps para tomar fotografías.
Desafortunadamente, esta técnica de Viola y Jones no es buena para hallar rostros en algún ángulo. Farfade y Saberian, junto con Li, decidieron usar otro enfoque. Emplearon un tipo avanzado de aprendizaje por computadora conocido como “deep convotional neural network” o CNN. esencialmente una base de datos muy grande de imágenes es usada para que el software entienda qué es y cómo se observa un rostro humano.
Los investigadores construyeron una base de datos conteniendo unas 200 mil imágenes de rostros y 20 millones de imágenes son rostros. Se usaron unas 50 mil iteraciones de 128 imágenes para entrenar a la red neural en su motor de detección. El resultado es una herramienta que puede ver los rostros en ángulos diferentes (incluso rostros invertidos, de cabeza) y así identificar rostros particulares en una imagen que contengas muchos.
“Evaluamos los métodos propuestos con otros métodos de aprendizaje profundo y esto mostró que nuestros resultados son más rápidos y más precisos”, indicaron los investigadores. “Planeamos usar mejores estrategias de muestreo y técnicas más sofisticadas de aumento de los datos para mejorar aún más el desempeño del método propuesto”, agregaron.
Referencias: