¿Cómo calificaría el atractivo físico de una cara utilizando la visión artificial?

Primero, necesita un conjunto de datos de imágenes de caras donde se anota el atractivo físico de cada una. Las anotaciones pueden ser: no atractivas, atractivas, muy atractivas, etc. Puede realizar una búsqueda automática desde Google, Flickr con palabras clave como fea, atractiva, atractiva, etc. para obtener un conjunto de datos.

Luego, puede ver los descriptores faciales disponibles, generalmente utilizados para el análisis de la descripción facial. Ve con lo más fácil con el código. Los. Puedes entrenar a una modelo.

Si va a utilizar un modelo basado en heurística, puede leer algo sobre la estética facial: ¿qué tipo de características de una cara nos hacen atractivos? Es la simetría, el color de los ojos, la tasa de arrugas, el área de las cejas y la proporción de diferentes regiones de la cara, etc. Puede (al menos aproximadamente) medir estas cantidades de una imagen de cara y luego tomar una suma ponderada de cada señal que Ayuda a decidir si una cara es atractiva o no.

Me gustaría resaltar algo que la mayoría de los artículos sobre la predicción del atractivo no han tocado todavía (al menos los que mencionó la búsqueda de Scholar). Sin embargo, algunos usan conjuntos de datos pertenecientes a una etnia particular para evitar este problema. Sin embargo:

Normalmente, si tuviera un problema de clasificación / regresión, tendría datos en forma de [math] \ cup_i \, (x_i, y_i) [/ math]. Aquí, tenemos [math] x_i [/ ​​math] que representa la imagen de origen o alguna transformación de la imagen (lea: características extraídas de la imagen), y [math] y_i [/ ​​math] como la puntuación objetivo.

Sin embargo, la parte interesante de este problema es que la belleza abarca una gran diversidad y es principalmente una propiedad comparativa cuyo juicio varía de una fuente a otra (básicamente, la belleza está en los ojos del espectador). Así que simplemente pedirle a la gente que califique una imagen de una persona como ‘fea’, ‘hermosa’, ‘hermosa muerta’, etc. dará, con alta probabilidad, un conjunto de datos (si hay suficiente diversidad y volumen en el conjunto de votantes). y el conjunto de imágenes) donde la mayoría de las imágenes tienen un puntaje promedio cercano al puntaje promedio, esto se debe a las diferentes percepciones de la belleza y la selectividad personal en los puntajes para el votante individual (algunas personas califican muy extremadamente, de una manera casi binaria, muy feo o muy hermosa, y algunas personas califican el promedio para la mayoría de los casos, entre otras cosas).

Esto no es del todo incorrecto, ya que obviamente hay más personas de apariencia promedio que personas absolutamente hermosas o absolutamente poco atractivas (hablando desde un punto de vista puramente académico y superficial, no aquí para herir los sentimientos de nadie), aunque las personas voten por una La escala absoluta generará mucho ruido y terminaremos perdiendo mucha información.

Para superar esto, podríamos introducir un procedimiento de recopilación de datos comparativos: coloque dos imágenes una al lado de la otra y pregunte cuál de ellas se ve mejor. Sí, es probable que esto te lo recuerde, pero es una forma efectiva de obtener las opiniones de las personas sin introducir ruido en nuestros datos, mientras que se toman en cuenta (o se aproximan) todas las cuestiones mencionadas anteriormente: hay mucha literatura sobre agregación de rangos a partir de comparaciones por pares .

Ahora que tiene rangos / puntajes (o clases) de algún algoritmo, puede crear un modelo que tome el anterior [math] x_i [/ ​​math] y asignarlo a su puntaje / clase. Esta parte es relativamente más fácil si sus puntajes están limpios: puede entrenar un codificador automático y usar las características del mismo, puede crear una CNN muy profunda, o usar descriptores faciales ya disponibles, o si es un profesional, sus propias características se basan en en sus ideas de belleza (o de alguien más) (arrugas, simetría, tono de piel (?) etc.)

Puedes echar un vistazo a los siguientes artículos:

http://mplab.ucsd.edu/~jake/attr

Predicción automática del atractivo humano

http://vision.ucsd.edu/sites/def

http://www.cs.tau.ac.il/~ruppin/…

http://vision.cornell.edu/se3/wp

También aquí hay una implementación básica que utiliza python, opencv, scikit-learn:

Visión por computadora para predecir el atractivo