Colorizer

- Generated colorized version of a grayscale image (240 pixels X 420 pixels) using K-means clustering and Artificial Neural Network
- Explored K-means clustering algorithm to reduce the color palette of the image from 16777216 possible combinations to 29 most dominant colors
- Implemented a two Layer Artificial Neural Network consisting of 60 nodes with sigmoid activation function in the hidden layer and softmax activation function in the output layer
- Resolved ambiguity present in mapping multiple RGB values to a single grayscale value by taking a 3 X 3 window of pixels to make use of the contextual information present around a single grayscale pixel