1. Introduction

Colorful Image Colorization is an algorithm that takes in a black & white photos and returns the colorized version of it. The algorithm uses deep learning to classify objects/regions within the image and color them accordingly.

Note: we've recently added batchable IO to this algorithm for interfacing with VideoTransform and other batch image processing work.

Note: When using batched images and the default 5 minute timeout, a safe maximum batch size is 20.

Input:

  • (Required) Image Data API Url, Web (http/https) Url, binary image,base64 encoded image or an array of data API URLs / web URLs.
  • (Optional) Output image location, if input is an array, output location should be an array of equal size.

Output:

  • Output image location.

Note: The first call to this algorithm will take a bit longer than sequential calls to due algorithm initialization. All following calls will be significantly faster.

2. Examples

Example 1.

  • Parameter 1: Data API Url
{
    "image": "data://deeplearning/example_data/lincoln.jpg"
}

Output:

{
  "output": "data://.algo/deeplearning/ColorfulImageColorization/temp/lincoln.png"
}

Example 2.

  • Parameter 1: HTTPS Url
{
    "image": "https://s3.amazonaws.com/algorithmia-assets/algo_desc_images/deeplearning_ColorfulImageColorization/lincoln.jpg"
}

Output:

{
  "output": "data://.algo/deeplearning/ColorfulImageColorization/temp/lincoln.png"
}

Example 3.

  • Parameter 1: Base64 image
{
    "image": "data:image/png;base64....",
}

Output;

{
  "output": "data://.algo/deeplearning/ColorfulImageColorization/temp/output.png"
}

Example 4.

  • Parameter 1: HTTPS Url
  • Parameter 2: Output file save location.
{
  "image": "data://deeplearning/example_data/lincoln.jpg",
  "location": "data://.algo/temp/test42.png"
}

Output:

{
  "output": "data://.algo/deeplearning/ColorfulImageColorization/temp/test42.png"
}

Example 5.

  • Parameter 1: An array of HTTPS Urls
{  
   "image":[  
      "data://deeplearning/Temp/sample_image_1.png",
      "data://deeplearning/Temp/sample_image_2.png",
      "data://deeplearning/Temp/sample_image_3.png"
   ]
}

Output:

{
  "output": [
    "data://.algo/deeplearning/ColorfulImageColorization/temp/f8ca262c-a728-4866-9215-1e1684a4b83f.png",
    "data://.algo/deeplearning/ColorfulImageColorization/temp/fc523e24-7db4-4f36-801d-2fbb33af6f95.png",
    "data://.algo/deeplearning/ColorfulImageColorization/temp/61e1a08f-6527-4d1a-b61e-299386950ede.png"
  ]
}

Example 6.

  • Parameter 1: An array of Data API Uris
  • Parameter 2: An array of file save paths (Data API URL's) must be the same length as parameter 1
{  
   "image":[  
      "data://deeplearning/Temp/sample_image_1.png",
      "data://deeplearning/Temp/sample_image_2.png",
      "data://deeplearning/Temp/sample_image_3.png"
   ],
   "location":[  
      "data://.algo/temp/sample_output_1.png",
      "data://.algo/temp/sample_output_2.png",
      "data://.algo/temp/sample_output_3.png"
   ]
}

Output:

{  
   "output":[  
      "data://.algo/deeplearning/ColorfulImageColorization/temp/sample_output_1.png",
      "data://.algo/deeplearning/ColorfulImageColorization/temp/sample_output_2.png",
      "data://.algo/deeplearning/ColorfulImageColorization/temp/sample_output_3.png"
   ]
}

3. Credits

For more information, please refer to http://richzhang.github.io/colorization/ or Zhang, Richard and Isola, Phillip and Efros, Alexei A (2016). Colorful Image Colorization. arXiv preprint arXiv:1603.08511.

Demo image were retrieved from Wikipedia under Public domain:https://en.wikipedia.org/wiki/Abraham_Lincoln#/media/File:A%26TLincoln.jpg

Writing good docs:

Communicate Value

A good introduction should make it clear why someone might use your API.

Show and Tell

Give examples of using your API and explain those examples.

Easy to Skim

Ensure your docs are structured such that familiar users can quickly jump to the content they want.

Current

Revisit your docs after making breaking changes or adding new features to keep them up-to-date.