Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

Similar documents
Locality Preserving Projections (LPP) Abstract

Geodesic Paths on Triangular Meshes

Isometric embedding of facial surfaces into S 3

Research Article Polygon Morphing and Its Application in Orebody Modeling

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Freehand Voxel Carving Scanning on a Mobile Device

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Evaluation of Loop Subdivision Surfaces

Chapter 4. Clustering Core Atoms by Location

Chapter 18. Geometric Operations

Polygonal representation of 3D urban terrain point-cloud data

Isosurface Rendering. CSC 7443: Scientific Information Visualization

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

Texture Mapping with Hard Constraints

Tiled Textures What if Miro Had Painted a Sphere

Defense Technical Information Center Compilation Part Notice

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important.

calibrated coordinates Linear transformation pixel coordinates

Subdivision Surfaces

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN

CHAPTER 1 Graphics Systems and Models 3

Non-linear dimension reduction

Using image data warping for adaptive compression

Deformable Mesh Model for Complex Multi-Object 3D Motion Estimation from Multi-Viewpoint Video

Spanning Tree Seams for Reducing Parameterization Distortion of Triangulated Surfaces

Special Topics in Visualization

Surface Reconstruction from Unorganized Points

Assignment 4: Mesh Parametrization

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

NESTED AND FULLY AUGMENTED LINKS

Normals of subdivision surfaces and their control polyhedra

Multi-Scale Free-Form Surface Description

Model-based segmentation and recognition from range data

Scalar Algorithms: Contouring

Modern Multidimensional Scaling

Geometric and Solid Modeling. Problems

Generalized Tree-Based Wavelet Transform and Applications to Patch-Based Image Processing

Fuzzy Hamming Distance in a Content-Based Image Retrieval System

Stereo and Epipolar geometry

Computer Graphics I Lecture 11

REGISTRATION OF AIRBORNE LASER DATA TO SURFACES GENERATED BY PHOTOGRAMMETRIC MEANS. Y. Postolov, A. Krupnik, K. McIntosh

IN RECENT years, digital cameras for still images and

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Computed Photography - Final Project Endoscope Exploration on Knee Surface

Surface Reconstruction. Gianpaolo Palma

Final Project, Digital Geometry Processing

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques

Modern Multidimensional Scaling

Möbius Transformations in Scientific Computing. David Eppstein

Extracting consistent and manifold interfaces from multi-valued volume data sets

Topology-Invariant Similarity and Diffusion Geometry

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

REPRESENTATION REQUIREMENTS OF AS-IS BUILDING INFORMATION MODELS GENERATED FROM LASER SCANNED POINT CLOUD DATA

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Model Fabrication G. Elber 22. [16] R. Riesenfeld. Applications of B-spline approximation to Geometric Problems of

Free-Form Deformation and Other Deformation Techniques

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

TSBK03 Screen-Space Ambient Occlusion

Advanced Computer Graphics Transformations. Matthias Teschner

Level Set Extraction from Gridded 2D and 3D Data

Scalar Visualization

Fast marching methods

Correspondence. CS 468 Geometry Processing Algorithms. Maks Ovsjanikov

3D Rasterization II COS 426

Data Representation in Visualisation

Advanced visualization techniques for Self-Organizing Maps with graph-based methods

A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes

An Automated Image-based Method for Multi-Leaf Collimator Positioning Verification in Intensity Modulated Radiation Therapy

Invariant shape similarity. Invariant shape similarity. Invariant similarity. Equivalence. Equivalence. Equivalence. Equal SIMILARITY TRANSFORMATION

Manifold Parameterization

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting

Scaling the Topology of Symmetric, Second-Order Planar Tensor Fields

Brain Surface Conformal Spherical Mapping

Two-View Geometry (Course 23, Lecture D)

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Estimating normal vectors and curvatures by centroid weights

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University.

Parameterization of Triangular Meshes with Virtual Boundaries

Geometric Modeling in Graphics

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Locality Preserving Projections (LPP) Abstract

Shading. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller/Fuhrmann

9. Three Dimensional Object Representations

6. Concluding Remarks

3D shape from the structure of pencils of planes and geometric constraints

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

Introduction to geometry

Alternative Statistical Methods for Bone Atlas Modelling

Structure from motion

Facial Expression Morphing and Animation with Local Warping Methods

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

Barycentric Coordinates and Parameterization

Computer Graphics 7 - Texture mapping, bump mapping and antialiasing

Two Algorithms for Approximation in Highly Complicated Planar Domains

Using Isosurface Methods for Visualizing the Envelope of a Swept Trivariate Solid

Transcription:

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Gil Zigelman Ron Kimmel Department of Computer Science, Technion, Haifa 32000, Israel and Nahum Kiryati Department of Electrical Engineering Systems, Tel Aviv University, Tel Aviv 69978, Israel February 21, 2000 Abstract We present a novel technique for texture mapping on arbitrary surfaces with minimal distortions, by preserving the local and global structure of the texture. The recent introduction of the fast marching method on triangulated surfaces [9], made it possible to compute geodesic distances in Ç Ò Ð Òµ where Ò is the number of triangles that represent the surface. We use this method to design a surface flattening approach based on multi-dimensional scaling (MDS). MDS is a family of methods that map a set of points into a finite dimensional flat (Euclidean) domain, where the only given data is the corresponding distances between every pair of points. The MDS mapping yields minimal changes of the distances between the corresponding points. We then solve an inverse problem and map a flat texture patch onto the curved surface while preserving the structure of the texture. 1 Introduction The computer graphics community has made many attempts to solve the problem of mapping flat texture images onto curved surfaces. The main problems with most of the existing methods are that they Introduce large deformations and distortions to the original texture. 1

Suffer from aliasing problems, usually solved by filtering that blurs and smoothes the texture. Environment mapping [1, 2], is one technique that creates the effect of environment reflections on surfaces. It maps the original 2D texture to a sphere or a cube surrounding the surface. Then, the surface normal at each point is used to find the intersection of the reflected viewing vector with the surrounding simple object, and assigns the texture at that point to the corresponding surface point. These methods do not preserve the local area of the texture and introduce local deformations. Moreover, mapping the 2D texture onto a sphere causes distortions to begin with. In order to minimize these artifacts, one has to distort the original flat texture image before mapping onto a sphere. Bier and Sloan [3], extended the environment mapping idea and proposed a two steps procedure. First the texture is mapped onto a simple object (preferably preserving the area) and then it is mapped from the simple object to the given surface, using, for example, the surface normal s intersection with the simple object. This method also introduces visible deformations, however, it can decrease the distortions which exist in the previous methods. Kurzion, Möller and Yagel [4] try to preserve area. They use a cube as a simple surrounding object. For each point they find two curvature values in specially selected directions, and then change the density of the surrounding image respectively. This method is area preserving, however, it creates shear effects. It is also limited to smooth surfaces with ¾ continuity. Arad and Elber [5], preserve the local texture area by finding, for a specific viewing direction, the four intersection curves (in the parametric space) between a swept rectangle in the viewing direction and the surface. Then they warp the square texture image to fit the four intersection curves. The texture image is warped before mapping. This method is useful in cases where one wants to map a texture on a small portion of a surface. Bennis, Vézien and Iglésias [6], first piecewise flatten the surface and then map the texture onto each flattened part. The flattening of a region grows around an isoparametric curve selected by hand. They use a distortion metric as a control and stop the growth when the accumulated distortion exceeds a given threshold. They permit discontinuities on the mapped texture in order to minimize distortions. This paper introduces a new mapping method that preserves both the local and the global structure of the texture, with minimal shearing effects. It enables realistic texture mapping on any given surface. Our method avoids the need for an intermediate surface and does not require any smoothness of the surface. The proposed method is based on two numerical tools, the fast marching method [9] and multi-dimensional scaling [8]. In Section 2, we briefly review the 2

MDS method. Section 3 explains how the MDS can be used for texture mapping. Section 4 presents experimental results and Section 5 gives concluding remarks. 2 The Flattening Approach MDS (Multi-Dimensional Scaling) is a set of mathematical techniques used to uncover the geometric structure of datasets. See e.g. [7]. For example, given a set of objects with proximity values amongst themselves, we can use MDS to create a 2D map of these objects, that is easier to comprehend or analyze. In this paper we use the MDS in a similar way. As proximity values we use the geodesic distances measured between every two points on the surface, and the resulting map represents the flattening of the curved surface. The flattening preserves the original geodesic distances quite well, as can be seen in Figure 1. Euclidean 400 350 300 250 200 150 100 50 50 100 150 200 250 300 350 400 Geodesic Figure 1: The error between the geodesic distance and the Euclidean distance on the flattened surface. The values were taken from the face surface shown in Figure 2. The result approximates the diagonal line, which would have been the (geometrically impossible) perfect warping result. The input to the MDS is an Ò Ò symmetric matrix Å. The Å element is the squared geodesic distance between point and point, where Ò is the number of points on the surface. We calculate the geodesic distances efficiently by using the fast marching method on triangulated domains introduced by Kimmel and Sethian 3

in [9]. This method enables us to compute geodesic distances in Ç Ò Ð Òµ where Ò is the number of triangles that represent the curved surface. Most MDS methods are based on finding the coordinates Ü, ¾ ½ Ñ where Ñ is the dimension we are interested in (in our case Ñ ¾), from the given distances. One direct and simple approach presented below is known as Classical Scaling, see [8]. It is closely related to the singular value decomposition (SVD) method, and involves the following steps Compute the Ò Ò matrix Å, as previously described. ½ Apply double centering to this matrix: ÂÅÂ, where  ¾ Á Ò ½ ½½ ¼,  is an Ò Ò matrix, ½ is a ½ Ò column of ones, and ½ ¼ is the transpose of ½. Compute the eigendecomposition of, É É ¼. We are interested only in a subset containing the largest eigenvalues and their corresponding eigenvectors. For this, the power method is an efficient numerical tool. We restrict the dimension of the solution to be two. Denote the ¾ ¾ matrix of the first 2 largest positive eigenvalues as, and denote É as the Ò ¾ matrix of their corresponding eigenvectors. The Ò ¾ coordinate matrix of classical scaling is given by É ½ ¾. Row contains the flattened coordinates of the original surface point. We thereby obtained an area preserving flattening of the surface. Computing the geodesic distances between every pair of vertices in a complex triangulated surface, and the eigendecomposition of the corresponding distance matrix is computationally expensive. In practice we select a sub-set of the vertices and apply the flattening procedure on this sub-set. The geodesic distance between each pair of points in this set is calculated using the complete surface model. Thus, after proper flattening of the sub-set of anchor vertices, we need to correctly interpolate the local coordinates in order to find the local map of the rest of the vertices. For example, in Figure 2.b we show the flattening of a 3D object shown in Figure 2.a. 3 Using MDS for Texture Mapping Local area preserving mapping of a curved surface onto the texture image plane is useful for mapping with minimal deformations. After applying classical scaling to the original surface, we get a 2D flattened version of the surface. We now have the mapping of every point on the 3D surface to its corresponding 2D flattened 4

(a) Figure 2: a. A 3D reconstruction of a face. b. The flattened texture image of the face point. Given a texture image we can easily map each point from the 2D flattened map to a point on the texture plane. Next, we would like to map the texture back to the surface. The technique is straightforward. For each vertex È on the surface (b) Find the corresponding 2D point in the flattened map. Translate the 2D coordinates to the texture image coordinates. Use this point s color as texture. If the triangulation of the surface is not dense enough, we might encounter aliasing effects. These can be solved by selectively subdividing large triangles into small ones as was implemented in our experiments. Determining the texture in the newly created vertices is done by applying the same subdivision on the 2D corresponding triangle in the texture image plane, and taking the proper interpolated colors from the corresponding image points. 5

4 Experimental Results We tested our technique on results obtained using a 3D laser scanner built by the first author at the Technion. The scanner creates a textured range image on a rectangular grid, where each grid point is a perspective projection of a corresponding surface point in 3D. A sub-set of the selected vertices for the MDS was chosen as a sub-grid of this range image. In order to map the texture onto the surface with minimal distortions we take the following steps. First, we flatten the surface by classical scaling applied to the geodesic distances between a sub-set of all the surface vertices. The flattening procedure gives us a simple mapping between the plane and the surface. Since we consider only a sub-set of all the vertices we still need to locally interpolate the map for the rest of the vertices. In our experiments we have chosen to associate each bilinear patch defined between neighboring selected vertices on the surface (È Ë È Ë È Ë, and È Ë in Figure 3) to a bilinear patch defined by the corresponding vertices of the flattened surface, È Å Ë È Å Ë È Å Ë, and È Å Ë in Figure 3. We next apply a scan conversion procedure to map the points within each planar patch to a bilinear patch in 3D. For example, the point È Å Ë in Figure 3 is mapped to the point È Æ. Finally, we project the points in the bilinear patch to the actual surface point È Ë. This last step is a local procedure where in our experiments we used a simple perspective projection. A full intrinsic approach would be to use the chart defined by the local geodesic curves connecting the neighboring vertices on the surface. This chart could be easily computed via the fast marching on triangulated domains [9]. Figure 4 demonstrates how the chess-board texture fits the surface with minimal distortions. Figure 5 shows another example. 5 Conclusions We presented a simple and general feature preserving texture mapping approach with minimal distortions. Using the fast marching method on triangulated domains we calculate geodesic distances between pairs of surface points. It enables us to achieve accurate measurements that characterize the geometry of the surface, with a reasonable computational complexity. Next, we used the simplest MDS method, known as classical scaling, to flatten the surface, and used the flattened surface to back project a flat texture image onto the curved surface. The method is computationally efficient, and does not require any assumptions, such as smoothness, of the given surface. It is also unnecessary to apply any pre-warping or deformations to the original texture image. 6

P d S P a S Pc S P N P S P b S P d MDS P a MDS P MDS P c MDS P b MDS Figure 3: Left: The sub-grid rectangle s vertices selected for the MDS procedure. Each vertex corresponds to a surface point in 3D. Right: After flattening, we find four new corresponding points È Å Ë which are overlaid on the texture image. 6 Acknowledgments We thank Haim Schweitzer from the University of Texas at Dallas for raising our interest in MDS, and Gershon Elber from the Technion, Israel, for his valuable help in pointing us to related work. At TAU the research was supported in part by the Adams Super-Center for Brain Studies. References [1] J. F. Blinn and M. E. Newell, Texture and Reflection in Computer Generated Images, Comm. of the ACM, Vol 19, No. 10, Oct. 1976, pp. 542-547. [2] N. Greene, Environment Mapping and Other Applications of World Projections, IEEE Computer Graphics and Applications, November 1986, pp. 21-29. [3] E. A. Bier and K. S. Sloan, Two-Part Texture Mapping, IEEE Computer Graphics and Applications, September 1986, pp. 40-53. [4] Y. Kurzion, T. Möller and R. Yagel, Size Preserving Pattern Mapping, Proc. of IEEE Visualization 98, Research Triangle Park, NC, October 1998, pp. 367-373. 7

(a) (c) (b) (d) Figure 4: Chess board texture mapped on the head object. Shading is turned off 8

(a) Figure 5: Another example of a texture mapped on the head object [5] N. Arad and G. Elber, Isometric Texture Mapping for Free-Form Surfaces, Computer Graphics forum, 16(5), December 1997, pp. 247-256. [6] C. Bennis, J. M. Vézien and G. Iglésias, Piecewise Surface Flattening for Non-Distorted Texture Mapping, ACM Computer Graphics, 25(4), July 1991, pp. 237-246. [7] J. B. Kruskal and M. Wish, Multidimensional Scaling, Sage Publications, Beverly Hills, California, 1978. [8] I. Borg and P. Groenen, Modern Multidimensional Scaling, Theory and Applications, Springer Series in Statistics, 1997. [9] R. Kimmel and J.A. Sethian, Computing geodesics on manifolds, Proceedings of National Academy of Sciences, USA, 95(15), 1998, pp. 8431-8435. (b) 9