Wouldn’t you like to know what your children would look like?
In this post I’ll take about FamilyGan. It’s a project my friends and I worked on during DataHack 2019, which won the Lightricks challenge.
This idea began as a joke, but while reading some relevant literature, we got the feeling that the data and technology are out there.
The team:
There are many datasets including pictures of fathers and sons, or mothers and daughters. Few include pictures of both father, mother, and child. The dataset we chose to work with is called TSKinFace¹.
This dataset includes 1500 pictures of triplets: father, mother, and child.
A sample from the TSKinFace dataset.
This dataset was a great choice as it was already preprocessed: cropped, scaled, and organized.
All we had left to do is think of a neural network architecture that is appropriate for this task.
While thinking of generating a picture, one cannot ignore the GAN² architecture.
GAN architecture is widely used for generating pictures. It consists of 2 neural networks, the generator network, and the discriminative network. The former learns to map from a latent space to the data distribution, while the latter distinguishes candidates produced by the generator from the true data distribution.
The objective of the generative network is to “fool” the discriminator, so therefore it constantly improves until it creates very appealing candidates (images) that are similar to the true distribution.
This architecture is so common that many even pre-trained it with a specific distribution. In our case, StyleGan³ (NVIDIA) proposed a pre-trained GAN² architecture for generating faces.
#neural-networks #data-science #data analysis