Repository for presenting results from projects in generative modeling.
For this project, I utilized my gan-kit. I experimented with a self-made dataset consisting of different perspectives of Steve because I was curious to see how interpolations between two arbitrary latent vectors would create an animation. For models trained on faces, interpolations between two latent vectors will generate a smooth transition as seen here.
I created the dataset by importing a 3D-model of Steve into Unity and creating a script that would revolve around the model and capture images from different angles. A subset of the dataset is visualized below, with rescaling applied and colors removed.
With a trained model, I generate different perspectives using arbitrary latent vectors.
The generator quickly learnt that it is not necessary to create images showing Steve's face, as it is more detailed than the back of his head, and that the discriminator would still accept these. Therefore, most inputs will result in images showing the back of Steve.
The three GIFs below shows how interpolating between latent vectors simulates a rotation animation.
An interesting effect occured where a certain point between two vectors would switch the direction the model faces. This can be seen in the two GIFs below.
Switch front to back | Switch back to front |
---|---|
This was my first attempt at Generative Adversarial Networks. All models would fail after some training due to mode collapse.