Inspiration

Color the Sky’s intention, as a project, is to create a machine learning model capable of colorizing black and white or grayscale images and providing those colorized images as output. This particular project’s scope is presently limited to a focus on colorizing images of the sky, which is what the model was trained on. The aim of doing this is both provide the basis for an image colorization model for future use and to educate on the process of creating and applying such a model.

What it does

Given an input image, Color the Sky resamples to a 512x512 px resolution to standardize the images placed in the raw_image folder. The resized images are output into the feature folder, which is when the trained model steps in. The Color the Sky model takes the black and white images in the feature folder and applies colorization. The model looks at the difference between the gray scale and the colored images and tries to tune it’s parameters to map one image to another. The model consists of several convolution layers and uses the Adam optimizer to learn the parameter. The result after training is a model that can take any image that resembles the training data and produce a colorized version of it.

How I built it

The program is built using Python with TensorFlow with the Keras API, Numpy, and Pillow. The images are processed using Java, JDK-11.0.8 with the Java util, awt, io, and imageio packages. IDE: PyCharm, IntelliJ

Challenges I ran into

With the limited timeframe of the Hackathon, both creating the framework for and training the model was a challenge.

Sourcing sufficient and satisfactory training data for the project was also something that had to be done. There are many datasets available online for projects such as these, but given the focus on training using images of the sky, a custom dataset was produced by crawling Google and Yandex image results and then sorting those images.

While a usable model was produced, there are limitations to the accuracy of the colorization. However, as aforementioned, given the time frame within which this was produced, it is serviceable in its primary application.

Built With

Share this project:

Updates