All Projects → shekkizh → Colorization.tensorflow

shekkizh / Colorization.tensorflow

Licence: MIT license
Image colorization using CNNs in tensorflow

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Colorization.tensorflow

Squeeze and excitation
PyTorch Implementation of 2D and 3D 'squeeze and excitation' blocks for Fully Convolutional Neural Networks
Stars: ✭ 192 (+163.01%)
Mutual labels:  convolutional-networks
Deep-Learning-with-GoogleColab
Deep Learning Applications (Darknet - YOLOv3, YOLOv4 | DeOldify - Image Colorization, Video Colorization | Face-Recognition) with Google Colaboratory - on the free Tesla K80/Tesla T4/Tesla P100 GPU - using Keras, Tensorflow and PyTorch.
Stars: ✭ 63 (-13.7%)
Mutual labels:  image-colorization
GTAV-Self-driving-car
Self driving car in GTAV with Deep Learning
Stars: ✭ 15 (-79.45%)
Mutual labels:  convolutional-networks
Colorizing With Gans
Grayscale Image Colorization with Generative Adversarial Networks. https://arxiv.org/abs/1803.05400
Stars: ✭ 209 (+186.3%)
Mutual labels:  convolutional-networks
Good Papers
I try my best to keep updated cutting-edge knowledge in Machine Learning/Deep Learning and Natural Language Processing. These are my notes on some good papers
Stars: ✭ 248 (+239.73%)
Mutual labels:  convolutional-networks
Image-Colorization-CycleGAN
Colorization of grayscale images using CycleGAN in TensorFlow.
Stars: ✭ 16 (-78.08%)
Mutual labels:  image-colorization
Naszilla
Naszilla is a Python library for neural architecture search (NAS)
Stars: ✭ 181 (+147.95%)
Mutual labels:  convolutional-networks
DispNet-TensorFlow
TensorFlow implementation of DispNet by Zhijian Jiang.
Stars: ✭ 55 (-24.66%)
Mutual labels:  convolutional-networks
colorful-colorization
A from-scratch PyTorch implementation of "Colorful Image Colorization" by Zhang et al.
Stars: ✭ 33 (-54.79%)
Mutual labels:  image-colorization
deeplearning-papernotes
No description or website provided.
Stars: ✭ 22 (-69.86%)
Mutual labels:  convolutional-networks
Fcn
Chainer Implementation of Fully Convolutional Networks. (Training code to reproduce the original result is available.)
Stars: ✭ 211 (+189.04%)
Mutual labels:  convolutional-networks
Ssd Variants
PyTorch implementation of several SSD based object detection algorithms.
Stars: ✭ 233 (+219.18%)
Mutual labels:  convolutional-networks
SemiDenseNet
Repository containing the code of one of the networks that we employed in the iSEG Grand MICCAI Challenge 2017, infant brain segmentation.
Stars: ✭ 55 (-24.66%)
Mutual labels:  convolutional-networks
Keras Fcn
A playable implementation of Fully Convolutional Networks with Keras.
Stars: ✭ 206 (+182.19%)
Mutual labels:  convolutional-networks
LSUV-pytorch
Simple implementation of the LSUV initialization in PyTorch
Stars: ✭ 51 (-30.14%)
Mutual labels:  convolutional-networks
Affnet
Code and weights for local feature affine shape estimation paper "Repeatability Is Not Enough: Learning Discriminative Affine Regions via Discriminability"
Stars: ✭ 191 (+161.64%)
Mutual labels:  convolutional-networks
AdvSegLoss
Official Pytorch implementation of Adversarial Segmentation Loss for Sketch Colorization [ICIP 2021]
Stars: ✭ 24 (-67.12%)
Mutual labels:  image-colorization
colnet
🖌️ Automatic Image Colorization with Simultaneous Classification – based on "Let there be Color!"
Stars: ✭ 37 (-49.32%)
Mutual labels:  image-colorization
EDANet
Implementation details for EDANet
Stars: ✭ 34 (-53.42%)
Mutual labels:  convolutional-networks
temporal-binding-network
Implementation of "EPIC-Fusion: Audio-Visual Temporal Binding for Egocentric Action Recognition, ICCV, 2019" in PyTorch
Stars: ✭ 95 (+30.14%)
Mutual labels:  convolutional-networks

Image Colorization using Convolutional Networks

This is a long overdue project I have been trying to get working ever since I read the article by Ryan Dahl on the topic. The idea is to sematically understand concepts in an image and color them with statistical prior knowledge gained from training with a dataset.

The model was initially tested for architecture with the flowers dataset from tensorflow and later trained on the LaMem dataset from MIT.

  1. Results
  2. [Observations] (#observations)
  3. [Useful Links] (#useful-links)

Results

The idea for the model architecture is very similar to that of "Residual Autoencoder" model by Ryan with modifications. The intiution is to have the imagenet model output layer from convolution (encoder) and then do transpose convolution and fuse with pool layers. Unlike ryan I tried to fuse only the higher pooling layers and didn't want the lower level layers for color prediction - the thought being higher level layers are compositional and capture concepts and the lower level layers are closely related to the modalities of the image. The below is crude representation of the architecture.

Architecture:

Image (Only L value) -> 3x3 n64s1 -> ReLu -> VGG layer conv1_2 -> .. -> pool1 -> .. -> pool2 -> .. -> pool3 -> .. -> pool4 -> .. -> VGG relu5_4 -> conv_T 3x3 -> fuse with pool4 -> conv_T 3x3 -> fuse with pool3 -> conv_T 3x3 -> a, b value prediction for Image

Note that there is no non-linearites added after the conv transpose operation. The loss was formulated as a simple MSE between the predicted a,b and the original a,b values for the image. Training was done for about 25 epochs with the learning rate halved every 3 epochs are so. Adam Optimizer was used and the initial learning rate was set to 1e-4. As seen below the training is very slow but produces reasonable results.

Lab color space split for original colored image (top) and predicted colored image (bottom)

From the above plot we can infer that the network predicted color values comes from some conceptual understanding of the object. A few colorization results are as below. Notice how in the case of the child face the model predicts color for an image that has no color.

Left: Input - Middle: Predicted Color - Right: Original Color

Observations

  • Creating a model from scratch and training was painfully slow. Tried the residual block architecture from Perceptual Losses for Real-Time Style Transfer by Johnson et. al which was incidentally used by folks from Twitter in their paper on Photo-Realistic Single Image Super-Resolution and Super-Resolution.
    • The trained model from this architecture was able to produce green and blue colors at the right places after a few epochs but the training plateaued after that.
  • There were failures in the model based on VGG as can be seen from the image of truck and the toy although the colors were always consitent in the final model and didn't produce any patched color ouputs.
  • Prominent colors such as those for skies, trees and white background were the first colors to be learnt. Also skin tone for humans was noticeably learnt with good predictions amongst other things.

Some interesting outputs I got while working with flowers dataset. The outputs below are the results of applying the algorithm. The original colors for these flowers were nothing like that which was predicted ✌️

Useful Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].