Coursework | November 2024
Poisson Image Editing
Image Processing by Prof Lourdes Agapito
University College London (UCL)
University College London (UCL)

"Portrait of a Youth" [1]
During my MSc in Computer Graphics, Vision and Imaging I was lecturing a module about Image Processing in which one of my student projects focused on Poisson Image Editing. It is a seamless cloning method to transfer and interpolate a frequency pattern from an arbitrary image into another solving a poisson equation for each pixel to clone. The method was first introduced by
Perez et al. in 2003. [2]
Method
We will mainly focus on guided image interpolation, which in simple terms adjusts the image intensities over region such that their gradient matches a reference gradient. This optimization is in a way separated from the color itself and alters the image on a more abstract level by remodelling the "curvature" of its intensities.
All we need is a destination image with region in which we want to clone the region from a source image described by its vector field , capturing the gradience. In theory one could come up with any without requiring , however we will stick to it for clarity.
All we need is a destination image

Minimizing the difference between and for all pixels in region can be rewritten with the following poisson equation while using a dirichlet boundary condition to ensure seamless cloning. The laplacian allows us to measure the local difference of a point and in our case the difference between the intensity of a pixel to its neighbours.
This gives us a linear system to solve for all . One can think of the below equation as some extended form of the laplacian operator to solve the minimization problem for region .

Following the method described above there are two ways to apply it for seamless cloning in images: (i) importing the gradient solely from the source image and willing to remove any details in region from the destination image (ii) mixing the gradients of source and destination over by maintaining the highest frequencies from both images and preserving ultimately detail.
In figure 3 this becomes particularly visible when comparing the specular reflections on the apple in the images but especially comparing the gradients. When importing the gradient this reflection gets blurred, when mixing it is preserved. On the other hand we showcase for reference how would look like if it would be just pasted in the destination and not interpolated, creating high, unnatural looking frequencies at .
In figure 3 this becomes particularly visible when comparing the specular reflections on the apple in the images but especially comparing the gradients. When importing the gradient this reflection gets blurred, when mixing it is preserved. On the other hand we showcase for reference how

So far the example was only a grayscale image. For multi-channel images one has to solve the above minimization problem for each individual channel independently. Figure 5-8 showcase this on the example of trasnfering the texture of a walnut onto an apple in RGB.
It is a widely known issue of using arbitrary images as textures for 3D models that by populating the geometry with the texture tile they create visible tiling seams which are not desired. Poisson image editing can be used to synthesise a seamless texture tile from any texture. With the above technique it is possible to take some arbitrary image and create a ‘tiling’ boundary condition by mirroring the edge conditions, such that when solved for one removes the tiling seam.

The effect of seamless tiling becomes particularly visible when applying it to a texture with big differences in illumination, given that textures mostly follow the same pattern when it comes to color and gradience. In such a case the method evenly distributes the illumination across the tile and the seam becomes nearly invisible even though the texture pattern does not match exactly. In figure 11 this illumination redistribution is made visible and indicates basically a complementary intensity to the original tile.


Results


