Interactive Digital Photomontage

Aseem Agarwala1     Mira Dontcheva1     Maneesh Agrawala2     Steven Drucker2     Alex Colburn2     Brian Curless1     David Salesin1,2     Michael Cohen2    

1University of Washington     2Microsoft Research

We describe an interactive, computer-assisted framework for combining parts of a set of photographs into a single composite picture, a process we call "digital photomontage." Our framework makes use of two techniques primarily: graph-cut optimization, to choose good seams within the constituent images so that they can be combined as seamlessly as possible; and gradient-domain fusion, a process based on Poisson equations, to further reduce any remaining visible artifacts in the composite. Also central to the framework is a suite of interactive tools that allow the user to specify a variety of high-level image objectives, either globally across the image, or locally through a painting-style interface. Image objectives are applied independently at each pixel location and generally involve a function of the pixel values (such as "maximum contrast") drawn from that same location in the set of source images. Typically, a user applies a series of image objectives iteratively in order to create a finished composite. The power of this framework lies in its generality; we show how it can be used for a wide variety of applications, including "selective composites" (for instance, group photos in which everyone looks their best), relighting, extended depth of field, panoramic stitching, clean-plate production, stroboscopic visualization of movement, and time-lapse mosaics.

Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker, Alex Colburn, Brian Curless, David Salesin, Michael Cohen. Interactive Digital Photomontage. ACM Transactions on Graphics (Proceedings of SIGGRAPH 2004), 2004.

SIGGRAPH 2004 pre-print (6MB PDF)

Video (7 min, 720x480, 140 MB, MPEG4 AVI)

Source Code and Executable
The photomontage executable, and source code released under the GPL, can be found here.

Results and Data

Family portrait
Full-resolution image stack and result
Creating a clean plate
Full-resolution image stack and result
Extended depth-of-field
Full-resolution image stack and result
Wire removal
Full-resolution image stack and result
Panoramic stitching
Data set courtesy of Rick Szeliski
Full-resolution image stack and result
Object re-lighting
Full-resolution image stack and result
Full-resolution image stack and result