Skip to content
imaged

Grayscale colorization

Colorful Image Colorization (eccv16)

Add plausible color to a grayscale photo in one pass.

BSD-2-Clause
Explore model

About this model

The eccv16 colorization model from Zhang et al. (2016). Takes the L channel of a grayscale image at 256x256 and predicts the ab channels in CIE Lab space. The family merges them with the original L and converts back to RGB.

The build is a fresh ONNX export of the official colorization_release_v2 weights. On M1 Max with CoreML, warm runs land at 28 ms. Output is a plausible colorization, not a ground-truth match.

What you can build

  • Add color to family archive photos for printing.
  • Tint historical newsroom images for a documentary cut.
  • Generate a colored preview from a black-and-white scan.
  • Run an A/B colorization test across a photo collection.

Variants & downloads

Choose the build for your app

Model files are being prepared.

Explore the model’s examples, source links, and integration notes while download variants are added.

Example inference

Input
A grayscale version of the Wikimedia cat photograph.
Output
The same cat photograph with the colorization model's predicted colors.

Performance

Results depend on the device, runtime, and test conditions. Each measurement keeps its own context.

M1 Max, macOS 15, ONNX Runtime 1.17

See original catalog hardware notes · CPU

255.6 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 350.6

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

M1 Max, macOS 15, ONNX Runtime 1.17

See original catalog hardware notes · CoreML

28.2 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 226.97

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

RTX 2060, Ubuntu 24.04, ONNX Runtime 1.24.3

See original catalog hardware notes · CUDA

39.3 ms

Warm inference

Catalog reference · variant unspecified

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

Integration examples

Vision SDK integration

cpp

#include "imaged/sdk.hpp"
#include "imaged/families/colorization/colorization_family.hpp"

imaged::SDK::AI ai;
auto& config = ai.getOptions();
config.set("colorizer.model", "weights/colorizer.onnx");
config.set("colorizer.inference.provider", "coreml");

imaged::SDK::ColorizationFamily family;
family.load(config);

imaged::SDK::Image image;
image.load("grayscale.jpg");

auto result = family.run(&image);
auto& colored = std::get<imaged::SDK::ImageResult>(result).image;
colored.save("colorized.jpg");