The problem we chose to solve is image super resolution. Essentially, it is upscaling a low-resolution image. We chose this problem as we wanted to tackle a unique and challenging machine learning problem in computer vision.

Originally, we experimented with convolutional neural networks and considered a GAN model, however, with some research and advice, we decided to use an autoencoder architecture. This project ended up presenting many obstacles. The first of which is being able to handle a large dataset (Torchvision's CelebA). Due to the size of the dataset and our lack of compute, the model takes a long time to train.

We are most satisfied with the PSNR metric of 26.81. This measures the peak signal to noise ratio of the output. A rating between 20-30 is considered good for a super-resolution model. In order to improve the model in the future, we would find a way to increase compute which would not only allow us to increase training times but also allow us to make the model deeper by adding more layers. Additionally, we might try improving the model by adding features such as skip connections.

Built With

Share this project:

Updates