This project idea was generated based on a misunderstanding of the hackathon "code for city". Originally, our team thought the theme of the hackathon is to make something related to this specific historical city - Chengdu. Not until later on have we realized that it generally is about making anything as long as it does not bring negative effects to anyone.
This city is burdened with a long, rich history in which we can learn all about in the books and countless photographs. Though vintage photos are educational and fascinating, without having colors on them, history remains history. Our idea is to use deep learning techniques to bring "life" back to the old photos by coloring them.
The core functionality of the project is called grayscale image colorization, and the project name COLORIT! combines the words "color" and "it" together to illustrate the meaning of the functionality. The project application consists of three modules:
1. Website
A portal to showcase our team's original idea of bringing "life" to the old city, powered by the deep learning system.
The place to test the core functionality by letting users upload black and white images and see the colorized results.
The colorization functionality is accessible through RESTful API (see below) and our python module. In addition, all our work is opensourced and downloadable through github, and any contributions are welcomed.
API endpoint
Method: POST
URL: 120.79.187.171:8888/api/colorit/
body:
{
image: <a black and white image of your choice>
}
Response: base64 encoded representation of the colorized uploaded image.
This project is based on the work done on http://tinyclouds.org/colorize/
Our project does not pertain any intellectual property rights about the neural network architecture although every piece of code in the repository is written within the team
Currently the images generated by the system are predominantly sepia-toned and muted in color, which cannot be considered good performance. Suggested by multiple academic papers that we came across during implementation, the neural network architecture can be optimized to not only address the seen issues, but bring unpredictable robustness as well.
The core functionality is powered by a deep convolutional neural network written in Tensorflow, thus a trained model is mandatory to run the code.
-
Download the model (approx. 500MB) into PROJECT_ROOT/engine/resnet/models/
-
Name of the model file should always be "model.tfmodel"
-
Webdrive to the trained model: https://pan.baidu.com/s/1jJHkecY Password: nh5a