427.jpg

Image Colorizer using Neural Networks

This was the final project for my graduate course CS520 - Introduction to Artificial Intelligence. Given grayscale images, the goal was to produce a colorised version of these images. I used a neural network as our model but kept it very simple:

  • A Feed-forward Neural Network

  • 3 Layers

  • Hidden Neurons - 10, 20, 10

  • Last layer had a single neuron for a pixel’s RGB value. Hence, the output is always between 0 to 255

  • Mini Batch Stochastic Gradient was used for the optimisation

  • Sigmoid activation for all layers and Linear activation for the last layer

Also, I did not use any external library and created the neural network from scratch using just Numpy and Python. It can be used to create neural networks with different layers, different number of neurons in each layer and different activations for each layer (Leaky ReLU, ReLU, Sigmoid and Linear)