Skip to content

mameli/Artifact_Removal_GAN

Repository files navigation

Artifact removal GAN

In this work, we devise a neural network to remove from an image the artefacts of the most used compression format: JPEG. The structure of the model is based on the Generative Adversarial Network (GAN) design. This particular architecture is composed of two elements that are competing with each other: the Generator and the Discriminator.

U-net is used as the Generator of the model. This component takes a JPEG image as input and it outputs the same image without the artefacts.

To train the model we use the NoGAN technique. Thanks this method, the training of the neural network is more stable and the model can reach better results.

The key feature of the development of the model is the usage of the perceptual loss function: Learned Perceptual Image Patch Similarity (LPIPS). This function was created to mimic human vision judgements and it is used to measure the similarity between two images.

For more details: ACM publication


Architecture

original

The neural net is based on the DeOldify model.

We used MobileNet as the U-Net encoder, LPIPS as loss function and DIV2k as dataset.

The metrics used are:

Installation

conda env create --file environment.yml
conda activate arnet_env

create_images.ipynb to test


Results

Original:

original

GAN:

GAN

Crop

JPEG GAN

Original:

original

GAN:

GAN

JPEG GAN

Comparison to the ground truth

High resolution JPEG GAN

Video Demo

Video demo gan youtube