# Awesome Software for Image Coloring [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A curated list of awesome AI-powered image coloring frameworks, libraries and software. Inspired by `josephmisiti/awesome-machine-learning`. It's a good idea to explore the GitHub topic as well - [Topic "Image colorization"](https://github.com/topics/image-colorization). In comparison to the awesome list `MarkMoHR/Awesome-Image-Colorization` (which focuses on research papers), I focus on practical open-source software.

## Considerations

Most of the software runs in `Python`, and requires some kind of an AI frameworks (e.g. `Tensorflow`) - which means you may need a GPU with a configured `CUDA` toolkit to run it in a reasonable time. 

## Frameworks and libraries

### :snake: Python

#### Tensorflow

* [Automatic Image Colorization](https://github.com/Armour/Automatic-Image-Colorization) - Automatic Image Colorization using TensorFlow based on Residual Encoder Network http://tinyclouds.org/colorize/
* [Image Colorization using Convolutional Networks](https://github.com/shekkizh/Colorization.tensorflow) - Image colorization using CNNs in tensorflow.
* [Image and video colorizer](https://github.com/PrimozGodec/ImageColorization) - Image and video colorizer is package for automatic image and video colorization. Models are already trained.
* [PIC - Probabilistic Image Colorization](https://github.com/ameroyer/PIC) - Probabilistic Image Colorization https://arxiv.org/abs/1705.04258
* [Photo Coloring Using End2end CNN based Model!](https://github.com/AbdelrahmanRadwan/photo-coloring) - A Deep Learning based coloring tool, which can color a black-white or gray picture.

#### Tensorflow with GANs

* [Image Colorization with Generative Adversarial Networks](https://github.com/ImagingLab/Colorizing-with-GANs) - 
Grayscale Image Colorization with Generative Adversarial Networks. https://arxiv.org/abs/1803.05400
* [Image-colorization-using-CycleGAN](https://github.com/ArkaJU/Image-Colorization-CycleGAN) - Colorization of grayscale images using CycleGAN in TensorFlow.

#### Keras

* [Coloring Black and White photos with Neural Networks](https://github.com/emilwallner/Coloring-greyscale-images) - Coloring black and white images with deep learning.
* [JadeBlue96](https://github.com/JadeBlue96/Image-Colorization-of-Historical-Paintings) - Recolorizing grayscaled historical paintings and photos with Deep Learning using an Autoencoder CNN.
* [Image-Coloring](https://github.com/aman-chauhan/Image-Coloring) - Deep Neural Net for coloring grayscale images using local and global image features
* [Image-Colorization](https://github.com/thevarunsharma/Image-Colorization) - Automatic Image Colorization using a Convolutional Network (U-Net)

#### Fast.AI

* [DeOldify](https://github.com/jantic/DeOldify) - A Deep Learning based project for colorizing and restoring old images.

#### Caffee

* [Colorful Image Colorization](https://github.com/richzhang/colorization) - Automatic colorization using deep neural networks. "Colorful Image Colorization." In ECCV, 2016. http://richzhang.github.io/colorization/
* [Interactive Deep Colorization](https://github.com/junyanz/interactive-deep-colorization) - Deep learning software for colorizing black and white images with a few clicks. https://richzhang.github.io/ideepcolor/

#### PyTorch

* [Interactive Deep Colorization in PyTorch](https://github.com/richzhang/colorization-pytorch) - PyTorch reimplementation of Interactive Deep Colorization https://richzhang.github.io/ideepcolor/
* [Automatic Image Colorization](https://github.com/kainoj/colnet) - Automatic Image Colorization with Simultaneous Classification – based on "Let there be Color!".
* [Image colorization with GANs](https://github.com/karoly-hars/GAN_image_colorizing) - Image colorization with generative adversarial networks on the CIFAR10 dataset.
* [Colorful Image Colorization PyTorch](https://github.com/Time0o/pytorch-colorful-colorization) - A from-scratch PyTorch implementation of "Colorful Image Colorization" by Zhang et al. created for the Deep Learning in Data Science course at KTH Stockholm.
* [Colorful Image Colorization](https://github.com/Epiphqny/Colorization) - Pytorch implementation of the paper Colorful Image Colorization https://arxiv.org/abs/1603.08511
* [Square-Images-Colorization](https://github.com/done1892/Square-Images-Colorization) - Colorization algorithms for images depicting cities squares

### C++

* [Beyond Landscapes: An Exemplar-based Image colorization method](https://github.com/saulo-p/Exemplar-Image-Colorization) - Exemplar-based Image Colorization method based on superpixel segmentation and classification.

### C#

* [StyleTransfer-Colorization-SuperResolution](https://github.com/ColorfulSoft/StyleTransfer-Colorization-SuperResolution) - Demonstration implementations of neural network image processing algorithms.

## Language-based colorization

* [SketchySceneColorization](https://github.com/SketchyScene/SketchySceneColorization) - Language-based Colorization of Scene Sketches. (SIGGRAPH Asia 2019) https://sketchyscene.github.io/SketchySceneColorization/

## Implementations / apps

### iOS

* [Colorizer iOS](https://github.com/alex011235/Colorizer-iOS) - Transform grayscale photos to color photos in iOS

## :books: Relevant knowledge, books and papers

* [Awesome-Image-Colorization](https://github.com/MarkMoHR/Awesome-Image-Colorization) - A collection of Deep Learning based Image Colorization and Video Colorization papers.

* [Build a Photo Restoration App with Python](https://www.youtube.com/watch?v=xgQpalRRW3A) - YouTube tutorial from AssemblyAI on how to build a photo restoration app with Python and Flask.

## :dark_sunglasses: Related awesome lists

* [Awesome Machine Learning](https://github.com/josephmisiti/awesome-machine-learning) - A curated list of awesome Machine Learning frameworks, libraries and software.
* [Awesome Deep Learning](https://github.com/ChristosChristofidis/awesome-deep-learning) - A curated list of awesome Deep Learning tutorials, projects and communities.
* [Awesome Deep Vision](https://github.com/kjw0612/awesome-deep-vision) - A curated list of deep learning resources for computer vision.
