Synthesis of Compact Textures for real-time Terrain Rendering Nader Salman 22 juin 2007 Encadrant : Sylvain Lefebvre.

Slides:



Advertisements
Similar presentations
Inverse Texture Synthesis
Advertisements

Lapped textures Emil Praun Adam Finkelstein Hugues Hoppe
Image Quilting and Apples
Andrew Nealen and Marc Alexa, Discrete Geometric Modeling Group, TU Darmstadt, 2004 Fast and High Quality Overlap Repair for Patch-Based Texture Synthesis.
1.  Texturing is a core process for modeling surface details in computer graphics applications › Texture mapping › Surface texture synthesis › Procedural.
Lvdi Wang Tsinghua University Microsoft Research Asia Lvdi Wang Tsinghua University Microsoft Research Asia Kun Zhou Zhejiang University Kun Zhou Zhejiang.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Texture Synthesis Tiantian Liu. Definition Texture – Texture refers to the properties held and sensations caused by the external surface of objects received.
Maryia Kazakevich “Texture Synthesis by Patch-Based Sampling” Texture Synthesis by Patch-Based Sampling Real-Time Texture Synthesis By Patch-Based Sampling,
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
Image Quilting for Texture Synthesis & Transfer Alexei Efros (UC Berkeley) Bill Freeman (MERL) +=
Overview of Texture Synthesis Ganesh Ramanarayanan Cornell Graphics Seminar.
Order-Independent Texture Synthesis Li-Yi Wei Marc Levoy Gcafe 1/30/2003.
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros1,2 William T. Freeman2.
Parallel Controllable Texture Synthesis Sylvain Lefebvre, Hugues Hoppe SIGGRAPH (3),
A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.
Texture Splicing Yiming Liu, Jiaping Wang, Su Xue, Xin Tong, Sing Bing Kang, Baining Guo.
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
Image Editing Work Pixel-based Methods  Adobe Photoshop, GIMP, SuperGoo.
Andrew Nealen and Marc Alexa, Discrete Geometric Modeling Group, TU Darmstadt, 2003 Hybrid Texture Synthesis Andrew Nealen Marc Alexa Discrete Geometric.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Graphcut Texture: Image and Video Synthesis Using Graph Cuts
Image Pyramids and Blending
Filtering Approaches for Real-Time Anti-Aliasing /
SIGGRAPH 2003 Jingdan Zhang, Kun Zhou, Luiz Velho, Baining Guo, Heung-Yeung Shum.
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
Efficient Editing of Aged Object Textures By: Olivier Clément Jocelyn Benoit Eric Paquette Multimedia Lab.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Volumetric Illustration: Designing 3D Models with Internal Textures Shigeru Owada Frank Nielsen Makoto Okabe Takeo Igarashi The University of Tokyo Sony.
Light Using Texture Synthesis for Non-Photorealistic Shading from Paint Samples. Christopher D. Kulla, James D. Tucek, Reynold J. Bailey, Cindy M. Grimm.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
Rendering Forest Scenes in Real-Time EGSR 2004 Philippe Decaudin Fabrice Neyret GRAVIR/IMAG-INRIA, Grenoble, France.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Terrain Synthesis by Digital Elevation Models Howard Zhou, Jie Sun, Greg Turk, and James M. Rehg
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Continuous Model Synthesis Paul Merrell and Dinesh Manocha In SIGGRAPH Asia 2008 발표 : 이성호.
Poisson Image Editing & Terrain Synthesis Howard Zhou Jie Sun
Texture Optimization for Example-based Synthesis Vivek Kwatra Irfan Essa Aaron Bobick Nipun Kwatra.
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros (UC Berkeley) William T. Freeman (MERL) Siggraph01 ’
1 Reconstructing head models from photograph for individualized 3D-audio processing Matteo Dellepiane, Nico Pietroni, Nicolas Tsingos, Manuel Asselot,
TextureAmendment Reducing Texture Distortion in Constrained Parameterizations Yu-Wing TaiNational University of Singapore Michael S. BrownNational University.
Efficient Local Statistical Analysis via Integral Histograms with Discrete Wavelet Transform Teng-Yok Lee & Han-Wei Shen IEEE SciVis ’13Uncertainty & Multivariate.
Synthesizing Natural Textures Michael Ashikhmin University of Utah.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
112/5/ :54 Graphics II Image Based Rendering Session 11.
Towards Real-Time Texture Synthesis With the Jump Map Steve Zelinka Michael Garland University of Illinois at Urbana-Champaign Thirteenth Eurographics.
Mesh Quilting For Geometric Texture Synthesis Kun Zhou et al. In SIGGRAPH 2006 발표 이성호 2009 년 4 월 15 일.
2D Texture Synthesis Instructor: Yizhou Yu. Texture synthesis Goal: increase texture resolution yet keep local texture variation.
Graphcut Textures Image and Video Synthesis Using Graph Cuts
Two Patch-based Algorithms for By-example Texture Synthesis Bruno Galerne MAP5, Université Paris Descartes 1 Master 2 Traitement.
Geometry Synthesis Ares Lagae Olivier Dumont Philip Dutré Department of Computer Science Katholieke Universiteit Leuven 10 August, 2004.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Texture Synthesis by Image Quilting CS766 Class Project Fall 2004 Eric Robinson.
Data-driven Architectural texture mapping Texture mapping Un-textured 3D sceneTextured output Textured Architectures 由于建筑物的3D model和 textures均属于structured.
Eigen Texture Method : Appearance compression based method Surface Light Fields for 3D photography Presented by Youngihn Kho.
SIGGRAPH 2007 Hui Fang and John C. Hart.  We propose an image editing system ◦ Preserve its detail and orientation by resynthesizing texture from the.
Image Stitching II Linda Shapiro EE/CSE 576.
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
Detail Preserving Shape Deformation in Image Editing
Image Stitching II Linda Shapiro CSE 455.
Mesh Parameterization: Theory and Practice
A Comparative Study of Depth Map Coding Schemes for 3D Video
Image Quilting for Texture Synthesis & Transfer
Image Stitching II Linda Shapiro EE/CSE 576.
Scalable light field coding using weighted binary images
Patch Textures: Hardware Implementation of Mesh Colors
Presentation transcript:

Synthesis of Compact Textures for real-time Terrain Rendering Nader Salman 22 juin 2007 Encadrant : Sylvain Lefebvre

Motivations Need for large textures –Simple repetition: low quality Texture synthesis from example –Pre-computation: Need to store large result Limited memory! –Image Compression: Rendering: Hinders sequential coding Block based: Fixed rate (÷ 6) –Our approach : Synthesize compact textures, that can be efficiently decoded at rendering time [Garber 1981, Popat & Picard 1993, Efros & Leung 1999, Wei & Levoy 2000, Ashikhmin 2001, Hertzmann et al 2001, Tong et al 2002 …]

Our approach Inspired by patch-based synthesis –Patch-based Synthesis [Praun et al 2000, Liang et al 2001, Efros and Freeman 2001, Kwatra et al 2003]

Our approach Inspired by patch-based synthesis –Record patch positioning and stitching (instead of final image) –Decode at rendering time Main difficulties: –Adapt synthesis for compact encoding –Prepare for efficient decoding on GPU

Exemplar Positioning 12 Cuts 3 Stitch Our approach

A first example Memory size: –Full image: 805 MB ( result size: 16K x16K ) –Our encoding: 26 MB ( patch size: 128x128 ) Exemplar (1024x1024) Synthesis Result Compact representation

Overview Introduction Our approach –Patch positioning –Optimal cuts –Seam removal Results and performance Future Work –Multiple materials –Slope –GPU Decoding

Our approachExemplar Positioning 1 2 Cuts 3 Stitch 1. Positioning Exemplar Scan exemplar Choose best fit patch Place patch Memorize position ? Patch position Compact representation

Exemplar Positioning 1 2 Cuts 3 Stitch Our approach

Why do we cut?

Graph cut A B Construct graph such that: Graph Mincut  Best Seam A ∞ ∞ ∞ B ∞ ∞ ∞ Potential Seam Cost Constraint A B Seam A B [Kwatra 2003]

Graph cut Problem with encoding: –Cut can be arbitrary  Expensive to store! Our approach –Constrain cuts to be 1D functions –Still search for optimal!

Our approachExemplar Positioning 12 Cuts 3 Stitch 2. Optimal Cuts Current output A B B Constrained arcs Bidirectional arcs One D. Seam Horizontal Overlap Image Vertical Overlap Image Compact representations

Exemplar Positioning 12 Cuts 3 Stitch Our approach

Why stitching ? Seams might still be visible in some cases  Avoid visible discontinuities

Our approach 3. Stitching New patchExisting texture Poisson Image Editing Current position Mask [Perez et al. 2003]

Encoding of Poisson field (1) Before PoissonAfter Poisson Deformation Field (x8 for visualisation)

Encoding of Poisson field (2) Problem: –Deformation is an image as big as output! Approx ?

Compression: –Per patch Approximate as sum of 2 fields Each is a ‘flattened 1D pyramid’ –Optimize with least square argmin || Ax - b || 2 –Fast reconstruction on the GPU 1D pyramid = 1D MIP-map Encoding of Poisson field (3) High Frequency Smooth

Encoding of Poisson field (4) pSNR = 43,7 dB Output with PoissonApproximated Output High Frequencies

Output with Poisson pSNR = 50,2 dB pSNR = 43,2 dB pSNR = 46,12dB Approx. outputs

Overview Introduction Our approach –Patch positioning –Optimal cuts –Seam removal Results and performance Upcoming Work –Multiple materials –Slope –GPU Decoding

Algorithm performance Patch size (pixels) Output size (MB) Patch Size 16x16 Output 2,4 GB Patch Size 32x32 Output 542 MB Patch Size 128x128 Output 90 MB Input size: 1024 x 1024 Output size: 32K x 32K 32K x 32K  3GB uncompressed

Quick comparison Our approach [Kwatra 2003]

Overview Introduction Our approach –Patch positioning –Optimal cuts –Seam removal Results and performance Upcoming Work –Multiple materials –Slope –GPU Decoding

Conclusion Need for detailed large textures –Limited memory Contributions –High quality texture synthesis Results comparable to existing schemes –Directly into compact representation Reduced storage –Decoded at rendering time only Never stored ‘uncompressed’ First step in more general approach –Data amplification: Details at runtime from compact representation

Thank you

Compression value Output size 4k x 4k 8k x 8k16k x 16k 131k x 131k Uncompressed50 MB201 MB805 MB51 GB Our technique4 MB9 MB26 MB1.4 GB Exemplar size: 1024 x 1024 pixels Patch Size: 128 x 128 pixels Ratio improves as output gets larger Varies in this case from 12 up to 36

Compression Defauts des compression JPEG/PNG –Pas effectuable au rendu –Necessite de decompresser sur GPU Division en blocs –Compression maximale facteur 6 –Entraine des pertes significatives Or nous voulons –Facteur plus important que 6 –Pouvoir etre realise au rendu sur GPU

Calculating the compact size Output side size : S Exemplar side size : E Patch side size : P Overlap size : O Number of patches per side : n = S ÷ (P – O) Number of patches : nPatches = ceil (n) * ceil(n) Total size : total = nPatches*2 + 2*p*nPatches + e*e*3 + 2*(2*P-1)*2*nPatches

Run-time synthesis Tiles Combined to form a texture Synthesized at rendering time –Pixel-based Fine-scale variety Fast and parallel  Unique material  Complex to implement –Tile-based On-demand evaluation  Variety limited by number of tiles  Too many tiles if multiple materials  Distinctive features reveal tiling structure [Lefebvre and Hoppe 2005] [Cohen etal. 2003, Lefebvre and Neyret 2003, Wei 2004] Example

Run-time synthesis Tiles Combined to form a texture Pixel-based Fine-scale variety Fast  Still not fast enough  Unique material  Complex to implement Tile-based On-demand evaluation  Variety limited by number of tiles  Distinctive features reveal tiling structure ExemplarSynthesized [Lefebvre and Hoppe 2005] [Wei 2004]

[Perez et al 2003] Poisson image editing f* Ω g Poisson Image Editing f © Disney/Pixar 2003

Oblivion ©2006 Bethesda Softworks Bad transitions Distortion Repetitions

Multiple materials User guided Edge map Color or edge depending on material (In progress)

Steep patches Difficulty: –Adapt each step for steep patches (In progress)

Input size: 1024 x 1024 px Output size: 32K x 32K px Uncompressed output : 32K x 32K x 3 = 3 GB !!  Our algorithm : 90 MB !! Algorithm performance (1)

Contributions High quality texture synthesis –Results comparable to existing schemes Directly into compact representation –Reduced storage Decoded at rendering time only –Never stored ‘uncompressed’