Repalette is a tool for automatic image recoloring to a given color palette of 6 color.

I’ve worked on this project during the 2019-2020 winter. During that time, I was really obsessed with Linux customization (also known as “ricing”). A common problem was finding a wallpaper that aligned with a given color palette. It became a problem as I was frequently changing it.

Frustrated by the lack of a good general image recoloring tool, I did some research and found a paper describing the PaletteNet GAN-based NN architecture created to solve this problem.

Following the paper, I’ve implemented PaletteNet, scraped Design Seeds to download images alongside their color palettes, and trained the GAN for the image recoloring task. The project was also published as simple FastAPI-based app in a Docker image.

While I haven’t completed the second step of GAN fine-tuning (my new real job kicked in), the pre-trained version kinda worked and has been useful too.

Note that this occured before the diffusion models boom.

Click to reveal recolored version

See also: Reddit announcement post