470 likes | 569 Views
Interactive Texturing on Objects in Images via a Sketching Interface. Kwanrattana Songsathaporn. The University of Tokyo. Henry Johan. Nanyang Technological University. Tomoyuki Nishita. The University of Tokyo. Overview. Background & System Overview Related Work
E N D
Interactive Texturing on Objects in Images via a Sketching Interface KwanrattanaSongsathaporn The University of Tokyo Henry Johan Nanyang Technological University TomoyukiNishita The University of Tokyo
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Research Background Paste textures on textured area Paste textures on blank area • Paste textures on images, and maintain underlying shapes of objects • Applications in digital image/video manipulation
Scope & Features(1/3) Drawing Photograph Interactive system for pasting textures Input image: Drawings and Photographs
Scope & Features(2/3) http://en.wikipedia.org/wiki/Texture_synthesis (upper) Textures with pattern (lower) Texture without pattern Our system supports textures regardless of their patterns
Scope & Features(3/3) Perspective Occlusion • Two features to make texturing easier • Systematic occlusion handling: create occlusion with one piece of texture • Systematic perspective handling: consistency to surrounding
System Framework Specifications using interface Objects’ Normal Vector Field Construction Texture Coordinate Calculation Input image Output image Texture image User specifications Video Texture mapping is based on normal vector field=> independent of patterns
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Parameterization • Results • Conclusions and Future Work
Texturing in Images(1/3) (a) Default grid mesh (b) Aligned vertices to texels • Liu et al., SIGGRAPH 2004 • Users align vertices on grid mesh with texels to replace textures • Not support input objects without textures • A lot of user interactions
Texturing in Images(2/3) Output image Input image Constructed normal field • Fang and Hart, SIGGRAPH 2004 • Synthesize texture on objects in images • Construct normal vector field with shape-from-shading • Constrained by the limitation of shape-from-shading • Not interactive
Texturing in Images(3/3) Designed normal vector field Paste texture Add shading • Winnemöller et al., EGSR 2009 • Use Diffusion Curves (DC) to design • Normal vector field • uv map • Construct normal vector field without shading • Require a lot of user interactions
Comparison of Methods support not support with limitations
Normal Construction Interface Specifications to transfer normal vectors 3D model from normal map • Wu et al., SIGGRAPH 2007 • Sketch-based interface: Shape palette • Transfer normal vectors from shape palettes • Easy-to-understand interface
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Two-Phase User Interface Objects’ Normal Vector Field Construction Texture Coordinate Calculation
Sparse Normal Vector Specification Convex palette Concave palette Input image Normal vector field construction using our interface
Meaning of Palettes z y x • Convex palette • Imaginary 3D image of convex palette Imagine that texturing region and shape palettes are 3D objects Monitor screen is image plane
Split Stroke Specification (a) Specify texturing region (b),(c) Subregions • Discontinuity on the normal vector field • Occlusion and edge • Split single region into subregions • Initial normal vector field of each subregion can be specified separately
Distance Between Subregions (a) split region (b) Distance between subregions = 0 (c) Distance between subregions > 0 (d) Black strip shows occluded part (e) Drag slide bar to increase distance Imaginary top view of the curtain Approximate occluded region by specifying the distance between subregions > 0
Correcting Perspective Projection • Furthest and nearest points (pink points) • Interface for specifying relative depth • Result from default perspective projection matrix • Result from corrected perspective projection matrix Specify depths at furthest and nearest point (pink points) Pink points are estimated by system
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Normal Vector Field Construction z y x Direction of x, y and z components
Normal Vector Field Construction : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Normal Vector Field Construction Aim to find this value of every pixel : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Normal Vector Field Construction Sparsely specified normal vectors : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Normal Vector Field Construction Minimize error from the specified value : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Normal Vector Field Construction Enforce smoothness : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Normal Vector Field Construction Adjacent pixels on the same subregion : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Normal Vector Field Construction Minimize curvature : set of normal specified pixels : subregion which pixel i is a member : adjacent pixels of i : set of all pixels in texturing region
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
What We Know? Next, texture mapping Normal vector field of the objects (Normal vector field construction) Corrected perspective projection (Relative depth specification)
Texture Coordinate Calculation p: (u,v) known r: (u,v) unknown Goal: Find texture coordinate (u,v) of every pixels in texturing region Subregion-by-subregion, flood-filled manner from pinpoint
As the calculation continues Initial state Flood fill p: (u,v) known r: (u,v) unknown Arithmetic weighted mean
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Results(1/2) (b) Retextured image (a) Input (c) Texture • Interaction time (mins) • Winnemölleret al. : 60 • Our system: 30
Results(2/2) (a) Input (b,c) Retextured image • Interaction time (mins) • Winnemölleret al.: 30 • Our system: 16
Limitation Distortion is visible in the green box area • Distortion cumulates at distant area from pinpoint (red point)
Overview • Background & System Overview • Related Work • Proposed User Interface for Texturing • Underlying Algorithms • Normal Vector Field Construction • Texture Coordinate Calculation • Results • Conclusions and Future Work
Conclusions • Interactive system for texturing objects in images • Independent of texture patterns • Systematically handle occlusion • Systematically handle perspective • Reduce user interactions • Produce results with reasonable shorter time
Future Work Photograph shows complex occlusion • Intuitive user interface that handles complex occlusion systematically • User study • How precisely could users perceive normal vectors on objects? • How precisely could users specify normal vectors using our interface?
Thank You Q & A
As the calculation continues Position of adjacent pixels Position of pinpoint p: (u,v) known r: (u,v) unknown