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.