There is a lot of graffiti in the beautiful streets of Prague. On one of walks I wish I could see my city without it. I had an idea to create a pair of lenses that I could look through. I decided to train my own model that would be able to recognize graffiti and remove it. And so I did. :)

What it does

It is an API that detects and removes graffiti from an image.

How I built it

I have collected samples of graffiti and labeled them. Using this dataset I have trained a model that detects where in the image the graffiti is. Results from this model are then fed into another model which reconstructs the image without the graffiti.

Challenges I ran into

The dataset I have collected is really small (around 200 samples), therefore I had to heavily augment the training data.

Accomplishments that I'm proud of

It works :)

What I learned

I learned how to use Azure, process videos with Keras and augment images.

What's next for DeepClean

There is still a lot of room for improvement.
Firstly I would like to focus more on data augmentation and data processing during training. Next I would like to optimize both models. The image segmentation is still quite unreliable. Also I would like to dig deeper into the amazing project PConv-Keras that I have used for the image reconstruction.

Built With

  • azure-ml
  • keras
  • pconv-keras
  • python
Share this project: