MMSC case study in scientific computing
Image Colourisation
Report © 2026 George Hildick-Smith, shared under CC BY-NC-ND 4.0. Third party images and quotations remain the property of their owners.
Overview
Image colourisation is the process of adding colour to a greyscale image. The origins of image colourisation can be traced back to attempts in the 19th century, when an Italian church that was destroyed by a bomb in the Second World War. It contained many pieces of art work of which we had greyscale photos. From the rubble, some fragments of the original painting (and its colours) remained intact. Hence the task of colourising the photographs from minimal colour information arose.
The approach taken in this report uses a reproducing kernel Hilbert space (RKHS). It works as follows; given a small set of sample points at which the colour is known, find the smoothest function in a kernel-defined class that is consistent with those observations. This is a well-posed interpolation problem whose solution follows from the representer theorem. The kernel encodes both spatial proximity and intensity similarity, so the method automatically concentrates colour information near edges where abrupt transitions occur, and spreads it smoothly across uniform regions.
We develop a set of heuristics for selecting the kernel parameters automatically from the image itself. We do, however, alter the original problem and develop our own strategy for placing the data points using blue noise. Using heuristics removes the need for manual parameter tuning and makes the method self-contained on any input image without the need for repeated optimisation.
What I found
Overall the method worked very well, however the gradient disc struggles at the six and nine o’clock positions on the circle, where the greyscale values on either side of the boundary are nearly identical, causing colour to bleed across the edge. This is a fundamental limitation of the kernel regression approach, which relies on greyscale contrast to guide colour propagation. An approach that additionally exploited gradient direction or curvature information might be able to overcome this.