Converting a colored image to grayscale is not a big deal. The simplest way to do this is to remove the RGB channels from the image and get the last layer of it. Have you ever thought about the other way around? This means colorizing an image when given the grayscale one. The process is so complicated than you think because each and every pixel of the image should be colorized manually. Then, the person who colorizes the photo should possess some editing skills in Photoshop or any other editing platform. This is not an optimum solution to the problem because this takes lots of time and effort but can’t even get the perfect colored image. One of our clients who runs a photography studio wanted us to automate the whole process and come up with a good solution.
One of the major challenges was how can we colorize each object of the image with different colors. For an example, let’s say when we input an old black and white photo of a scenery, the system should detect the sky, trees, leaves, and other objects of the image separately and color them. On the other hand, what if the user inputs a different photo apart from a scenery. To solve this problem, we have to come up with a larger dataset to train the AI model and should ensure that the model will colorize all the pixels of the image despite the number of objects.
Since the project required an AI solution, we had to allocate some time to research and development before starting the implementation. We had to conduct deep research on image feature learning which is derived from computer vision. We finally came to a compromise that the Deep Convolutional Generative Adversarial Neural Network should be trained along with Places365 data to solve this problem. Data pre-processing techniques had to write from the sketch before training the model. Thereafter, we had to come up with a threshold value to evaluate the model’s accuracy. After dealing with all the problems we accomplish the end goal while delivering a great product to the client.