Inspiration
A recent research paper for ENGL 202C on the destructive potential of Generative Adversarial Networks inspired me to see some of the actual productive potential of this revolutionary technology.
What it does
RosterGAN allows the user to navigate and edit a roster of people who don't actually exist. With names, profile pictures, and bios, users can remove and delete individuals. The models in this functional prototype can be toggled between either NFL athletes or a school staff, with the potential to expand to other use areas. This would be useful in generating a unique and immersive experience for maximizing replay value in the entertainment industry, bolstering sports statistics by generating a fictional training base, or preparing education majors to enter a classroom of diverse students without ever leaving their computer.
How we built it
RosterGAN's AI is implemented using Python, while its user interface runs on Angular. Angular communicates to an exposed Flask API via Angular's builtin HTTP component to retrieve data. A dataset of NFL player images was first corrected using an MTCNN facial recognition model and then entered into a GAN built using Tensorflow Keras, the discriminator and generator each composed of about 6 distinct layers. Bios and names are generated via a Markov model operating on text bases available on the internet and from the NFL teams' official websites.
Challenges we ran into
The main challenge was having time to train the model sufficiently. The current images produced are low quality and there's much room for improvement if there were more time to run the model's training cycle.
Accomplishments that we're proud of
Even with a relatively small training set the software is able to generate diverse results. This project involved various different types of AI working together, which is difficult to balance and optimize. In the end the product is more than satisfactory for a limited window to train and build these models while attempting to manage their training tendencies effectively.
What we learned
This project showed that GAN's are not as immediately effective as other types of AI and require much longer to train to a satisfactory threshold. Similarly, Markov models leave room for improvement in human-readable text as the natural language processing ability of AI continues to grow.
What's next for RosterGAN
RosterGAN has massive applicability across a wide variety of fields. Training the models to accurately represent more of these types of people, such as students in a classroom, would make the service more usable. Allowing users to configure their own sets - and allowing RosterGAN to simply serve as the engine driving the process - would be a viable direction to proceed. Additional training to improve results from the models would also be an obvious next step.
Built With
- angular.js
- angularmat
- flask
- imageslicer
- keras
- matplotlib
- mtcnn
- node.js
- numpy
- pil
- python
- tensorflow
- tqdm
Log in or sign up for Devpost to join the conversation.