Poisson Image Editing & Terrain Synthesis Howard Zhou Jie Sun
Table of Contents 1. Introduction / motivation 2. Poisson Image Editing 3. Terrain Synthesis (Texture based methods) 4. Future work 5. Conclusion
Table of Contents 1. Introduction / motivation 2. Poisson Image Editing 3. Terrain Synthesis (Texture based methods) 4. Future work 5. 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
Contrast can be globally fixed But how?
Seamless tiling Seams not good Cannot be fixed
Table of Contents 1. Introduction / motivation 2. Poisson Image Editing 3. Terrain Synthesis (Texture based methods) 4. Future work 5. 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 + piecewise seamless tiling 3. Graph cut / seamless tiling 4. Separating the details
Data: height map
Display height map
Image analogy : :: : AA'BB' A. Hertzmann, C. Jacobs, N. Oliver, B. Curless, D. Salesin. SIGGRAPH 2001
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
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. Introduction (motivation) 2. Re-illumination 3. Changing viewpoint 4. Future work 5. 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 ?