-2

I'm trying to understand if the project I'm thinking about is feasible or not using Neural Networks. I'm aware of apps like MakeApp and FakeApp which use neural networks to manipulate human faces.

My question is - Can modern (2018) neural networks be trained to identify aspects of human facial attractiveness and give a percentile score?

For example, given an image, I want to know if the neural network thinks this image is in the top 20% facial attractiveness. If possible, how big of a dataset I need to be able to train such network? Is it tens of thousands of human-scored images?

Alex Stone
  • 46,408
  • 55
  • 231
  • 407
  • Not sure if this is a good question for here. In principal you can do that. If you remove the photography effects, shadows, highlights etc. so the network doesn't learn to base its output on those, then also probably use can use a network that can detect facial features. Then tune/re-train that to give the attractiveness score. Then with a few hundreds or thousands labelled images can get there, need to experiment to find out really. – fireant Jan 10 '18 at 07:11
  • 1
    This is not a programming question, but a research one, which can only be answered with experimentation. – Dr. Snoopy Jan 10 '18 at 08:08

2 Answers2

2

Certainly. There is already research being done on developing deep learning / convolutional neural networks to do exactly this. Four recent references as of January 2018 are given below.

The main challenges with doing it are:

  1. Acquiring a large enough dataset (human face images and their respective attractiveness scores) with proper subject approval.
  2. The fact that attractiveness is subjective and varies with ethnic group and culture. Therefore such training data will have a broader range of labels than in more classical recognition tasks such as object detection (for which the label is binary), leading to more uncertainty in the network's predictions. For this reason most research focuses on training networks for a specific group.

This research area isn't being developed hugely (at least in academia) at the moment most likely because of ethical considerations with acquiring such sensitive data and dubious uses. I suspect that now companies like OKCupid and Match.com are or will be developing this research privately for the purposes of automatic match making.

Xu et al., A new humanlike facial attractiveness predictor with cascaded fine-tuning deep learning model, arXiv 2015, paper

Gan et al., Deep self-taught learning for facial beauty prediction, Neurocomputing 2014 paper

Wang et al., Attractive or Not?: Beauty Prediction with Attractiveness-Aware Encoders and Robust Late Fusion, ACM international conference on Multimedia 2014 paper

Shen et al., Fooling Neural Networks in Face Attractiveness Evaluation: Adversarial Examples with High Attractiveness Score But Low Subjective Score Multimedia Big Data (BigMM), 2017 IEEE Third International Conference on paper

Toby Collins
  • 823
  • 5
  • 8
0

Well I think this can be done. So first of all you need to specify the parameters for attractiveness. On what I have researched, I know 2 paarmeters that directly contribute to attractiveness are prominent jawline and cheekbones. I am sure that there are many more features that could be considered.But for the sake of examples lets take these two.

But you have to use a deep neural network. Since the different layers will contribute to simpler functions like getting the edges of face.

So the initial layers will get the edges, and after a few layers you will get the jawline and cheekbones and you can test them against your training set for attractiveness.

I am not sure how to get the training set. But you can use tinder to get images but scoring them would be an issue.

Nice idea and I hope that you could implement it for learning purpose.

Cheers.!!!

Akshay Bahadur
  • 497
  • 4
  • 11
  • 1
    @E_net4- thanks for the advice. I know that the question is off topic. But I commend his effort for thinking that. These are just my suggestions and you are most welcome to not read it. – Akshay Bahadur Jan 10 '18 at 16:26