Non-Photorealistic Rendering

You can upload your images and try out some of our non-photorealistic rendering methods.
Click here to see some stylised video re-rendering using one of our techniques.

There are many approaches to non-photorealistic rendering. We have investigated several different styles as outlined below.

Our first approach takes noisy range images as input and uses them to produce 3D pen-and-ink style portraits. For models of moderate complexity it is real-time, allowing the pose and drawing style to be modified interactively. The algorithm first finds sections of suggestive contours, then chains them by carefully considering whether they are compatible. The style can be controlled, allowing varying stroke type, thickness, smoothness, and opacity. A further development of this approach is to use deviation from a mean face to exaggerate features for caricaturing.


Our second approach renders images in a highly abstracted manner, reminiscent of the art of later Matisse, or Kandinsky. The image is segmented at multiple scales using graph cut, and a variety of simple shapes (e.g. circles, triangles, squares, superellipses and so on) are fitted to each region. The system automatically chooses the shape that best represents the region; the choice is made via a supervised classifier so the "best shape" depends on the subjectivity of a user.

arty arty

Continuing with this idea we combine lines (white as well as black to give highlights) with dark and light tonal blocks which can be abstracted or decorated in various ways. This allows us to achieve a combination of realism (e.g. recognisable portraits) with abstraction. There is a three-tone version (black and white lines and regions applied to a gray canvas):

barack barack barack barack

as well as a two-scale, two-tone version (black and white):

barack barack barack barack barack barack
barack barack barack barack barack barack

Separately we had developed a circular thresholding algorithm. We found that applying it to the hue component of an image, and then uniformly colouring each hue class, can give attractive results (both two and three class thresholding are shown below):

plane plane plane
buildings buildings buildings

The circular thresholding algorithm can also be used to apply "spot colour" to emphasise certain colourful regions in the image (which can be rendered in various stylised ways):

bird bird bird
students students students

Another modification is a specialised portrait version, that creates a "puppet" style, and also a version inspired by the artist Julian Opie.

obama obama obama

A different approach to stylization that we have taken attempts to find global linear structures in the image and emphasise them, which could potentially involve extreme geometric distortion, forcing the linear structures to align horizontally and vertically:

vase vase

guard guard

Another approach to portraits was taken, in which watercolour styling was applied, with an emphasis on retaining the recognisability of the people by preserving the important facial features:

watercolour watercolour

Processing portrait images in a line drawing style was done using a GAN:

More details are given in:

return to Paul Rosin's homepage