Poisson Image Editing & Terrain Synthesis Howard Zhou howardz@cc.gatech.edu Jie Sun sun@cc.gatech.edu 2003 . 4.29 Table of Contents 1. 2. 3. 4. 5. Introduction / motivation Poisson Image Editing Terrain Synthesis (Texture based methods) Future work Conclusion Table of Contents 1. 2. 3. 4. 5. Introduction / motivation Poisson Image Editing Terrain Synthesis (Texture based methods) Future work Conclusion Introduction / motivation Poisson Image Editing Seamless Texture based terrain synthesis Current method based on fractals Very limited control Terrain style adjusted by parameter tuning What if the user draws a rough sketch and supply a height map and says: “I want this to be like this” Poisson Image Editing Review Our implmentation Matlab Sparse matrix PDF solver Use conjugate gradient solver supplied by Matlab Can be faster if … Seamless insertion Inserting objects with holes Inserting transparent objects Texture flattening Result directly related to Edge detection result Local illumination changes alpha = 0.05 beta = 0.2 alpha = 0.05 beta = 0.4 Seamless tiling Good when seam is not significant Often needs to increase the contrast of the result but don’t an automatic way, maybe use histogram of the original image Seamless tiling Good when the seam is not significant Seamless tiling Show some more Seamless tiling Seamless tiling Seamless tiling Contrast can be globally fixed But how? Seamless tiling Seams not good Cannot be fixed Table of Contents 1. 2. 3. 4. 5. Introduction / motivation Poisson Image Editing Terrain Synthesis (Texture based methods) Future work Conclusion Previous approach Texture based terrain synthesis Current method based on fractals Very limited control Terrain style adjusted by parameter tuning What if the user draws a rough sketch and supply a height map and says: “I want this to be like this” Texture based terrain synthesis 1. Image analogy 2. Texture synthesis on laplacian + 3. 4. piecewise seamless tiling Graph cut / seamless tiling Separating the details Data: height map Display height map Image analogy : A :: A' : B B' A. Hertzmann, C. Jacobs, N. Oliver, B. Curless, D. Salesin. SIGGRAPH 2001 Texture by number Texture by number How do we get (A) automatically Blurring (filtering) Texture flattening using edge detection result or contour Image analogy + (texture flattening + blurring) Laplacian Synthesis Regard laplacian as a particular texture Texture synthesis Integrate Results Terrain Terrain Problems & possible solutions Depend on the boundary conditions Use the boundary attached to the Laplacian There is only one unique solution of this linear system Lost the power of Poisson editing Should use a non-conservative gradient field Graph cut + seamless tiling Laplacian removing boundary (since the boundary is known) Image smoothing edge (1 D) Using Poisson Solver Terrain Analysis The detail of the terrain differs at different altitude Terrain = f ( altitude ) Altitude = g ( style ) Example: Terrain map Low Frequency - Altitude High Frequency – as a function of Altitude Proposed Algorithm Use “Copy & Paste” methods to generate an altitude map Add high frequency probabilistically as indexed by the altitude map Graph cuts/Image Quilting to make it seamless Table of Contents 1. 2. 3. 4. 5. Introduction (motivation) Re-illumination Changing viewpoint Future work Conclusion Future Work Other texture methods (Graph cut, stocastic?) Stylized map generation from real map Real map from stylized map Map vs. terrain Conclusion Implemented poisson image editing Tried several texture based terrain synthesis methods Lots to be done! Questions ?