kun zhou - Profile on Academia.edu (original) (raw)

Papers by kun zhou

Research paper thumbnail of Watermarking 3D mesh by spherical parameterization

Watermarking 3D mesh by spherical parameterization

Computers & Graphics, 2004

In this paper, a robust 3D trianglular mesh watermarking algorithm is presented by applying spher... more In this paper, a robust 3D trianglular mesh watermarking algorithm is presented by applying spherical parameterization. First, we transform the coordinate signals of the 3D triangular mesh into spherical signals using a global spherical parameterization and an even sampling scheme. Then, ...

Research paper thumbnail of Locality Sensitive Discriminant Analysis

Linear Discriminant Analysis (LDA) is a popular data-analytic tool for studying the class relatio... more Linear Discriminant Analysis (LDA) is a popular data-analytic tool for studying the class relationship between data points. A major disadvantage of LDA is that it fails to discover the local geometrical structure of the data manifold. In this paper, we introduce a novel linear algorithm for discriminant analysis, called Locality Sensitive Discriminant Analysis (LSDA). When there is no sufficient training samples, local structure is generally more important than global structure for discriminant analysis. By discovering the local manifold structure, LSDA finds a projection which maximizes the margin between data points from different classes at each local area. Specifically, the data points are mapped into a subspace in which the nearby points with the same label are close to each other while the nearby points with different labels are far apart. Experiments carried out on several standard face databases show a clear improvement over the results of LDA-based recognition.

Research paper thumbnail of Mesh editing with poisson-based gradient field manipulation

ACM Transactions on Graphics, 2004

In this paper, we introduce a novel approach to mesh editing with the Poisson equation as the the... more In this paper, we introduce a novel approach to mesh editing with the Poisson equation as the theoretical foundation. The most distinctive feature of this approach is that it modifies the original mesh geometry implicitly through gradient field manipulation. Our approach can produce desirable and pleasing results for both global and local editing operations, such as deformation, object merging, and smoothing. With the help from a few novel interactive tools, these operations can be performed conveniently with a small amount of user interaction. Our technique has three key components, a basic mesh solver based on the Poisson equation, a gradient field manipulation scheme using local transforms, and a generalized boundary condition representation based on local frames. Experimental results indicate that our framework can outperform previous related mesh editing techniques.

Research paper thumbnail of Precomputed shadow fields for dynamic scenes

ACM Transactions on Graphics, 2005

We present a soft shadow technique for dynamic scenes with moving objects under the combined illu... more We present a soft shadow technique for dynamic scenes with moving objects under the combined illumination of moving local light sources and dynamic environment maps. The main idea of our technique is to precompute for each scene entity a shadow field that describes the shadowing effects of the entity at points around it. The shadow field for a light source, called a source radiance field (SRF), records radiance from an illuminant as cube maps at sampled points in its surrounding space. For an occluder, an object occlusion field (OOF) conversely represents in a similar manner the occlusion of radiance by an object. A fundamental difference between shadow fields and previous shadow computation concepts is that shadow fields can be precomputed independent of scene configuration. This is critical for dynamic scenes because, at any given instant, the shadow information at any receiver point can be rapidly computed as a simple combination of SRFs and OOFs according to the current scene configuration. Applications that particularly benefit from this technique include large dynamic scenes in which many instances of an entity can share a single shadow field. Our technique enables low-frequency shadowing effects in dynamic scenes in real-time and all-frequency shadows at interactive rates.

Research paper thumbnail of Gradient domain editing of deforming mesh sequences

ACM Transactions on Graphics, 2007

: A straight run is adapted to a curved path on an uneven terrain. The original deforming mesh se... more : A straight run is adapted to a curved path on an uneven terrain. The original deforming mesh sequence moves along a straight line on a plane. We first make the HORSE move along a curve using path editing, and then adapt the sequence onto the terrain using footprint editing.

Research paper thumbnail of Decorating Surfaces with Bidirectional Texture Functions

IEEE Transactions on Visualization and Computer Graphics, 2005

We present a system for decorating arbitrary surfaces with bidirectional texture functions (BTF).... more We present a system for decorating arbitrary surfaces with bidirectional texture functions (BTF). Our system generates BTFs in two steps. First, we automatically synthesize a BTF over the target surface from a given BTF sample. Then we let the user interactively paint BTF patches onto the surface, such that the painted patches seamlessly integrate with the background patterns. Our system is based on a patch-based texture synthesis approach known as quilting. We present a graphcut algorithm for BTF synthesis on surfaces, and the algorithm works well for a wide variety of BTF samples, including those which present problems for existing algorithms. We also describe a graphcut texture painting algorithm for creating new surface imperfections (e.g., dirt, cracks, scratches) from existing imperfections found in input BTF samples. Using these algorithms we can decorate surfaces with real-world textures that have spatially-variant reflectance, fine-scale geometry details, and surfaces imperfections. A particularly attractive feature of BTF painting is that it allows us to capture imperfections of real materials and paint them onto geometry models. We demonstrate the effectiveness of our system with examples.

Research paper thumbnail of Mesh puppetry: cascading optimization of mesh deformation with inverse kinematics

ACM Transactions on Graphics, 2007

We present mesh puppetry, a variational framework for detailpreserving mesh manipulation through ... more We present mesh puppetry, a variational framework for detailpreserving mesh manipulation through a set of high-level, intuitive, and interactive design tools. Our approach builds upon traditional rigging by optimizing skeleton position and vertex weights in an integrated manner. New poses and animations are created by specifying a few desired constraints on vertex positions, balance of the character, length and rigidity preservation, joint limits, and/or selfcollision avoidance. Our algorithm then adjusts the skeleton and solves for the deformed mesh simultaneously through a novel cascading optimization procedure, allowing realtime manipulation of meshes with 50K+ vertices for fast design of pleasing and realistic poses. We demonstrate the potential of our framework through an interactive deformation platform and various applications such as deformation transfer and motion retargeting.

Research paper thumbnail of Mesh quilting for geometric texture synthesis

ACM Transactions on Graphics, 2006

We introduce mesh quilting, a geometric texture synthesis algorithm in which a 3D texture sample ... more We introduce mesh quilting, a geometric texture synthesis algorithm in which a 3D texture sample given in the form of a triangle mesh is seamlessly applied inside a thin shell around an arbitrary surface through local stitching and deformation. We show that such geometric textures allow interactive and versatile editing and animation, producing compelling visual effects that are difficult to achieve with traditional texturing methods. Unlike pixel-based image quilting, mesh quilting is based on stitching together 3D geometry elements. Our quilting algorithm finds corresponding geometry elements in adjacent texture patches, aligns elements through local deformation, and merges elements to seamlessly connect texture patches. For mesh quilting on curved surfaces, a critical issue is to reduce distortion of geometry elements inside the 3D space of the thin shell. To address this problem we introduce a low-distortion parameterization of the shell space so that geometry elements can be synthesized even on very curved objects without the visual distortion present in previous approaches. We demonstrate how mesh quilting can be used to generate convincing decorations for a wide range of geometric textures.

Research paper thumbnail of 2D shape deformation using nonlinear least squares optimization

The Visual Computer, 2006

This paper presents a novel 2D shape deformation algorithm based on nonlinear least squares optim... more This paper presents a novel 2D shape deformation algorithm based on nonlinear least squares optimization. The algorithm aims to preserve two local shape properties: the Laplacian coordinates of the boundary curve and the local area of the shape interior, which are together represented in a non-quadratic energy function. An iterative Gauss–Newton method is used to minimize this nonlinear energy function. The result is an interactive shape deformation system that can achieve physically plausible results that are difficult to achieve with previous linear least squares methods. In addition to this algorithm that preserves local shape properties, we also introduce a scheme to preserve the global area of the shape, which is useful for deforming incompressible objects.

Research paper thumbnail of TextureMontage: Seamless Texturing of Arbitrary Surfaces From Multiple Images

We propose a technique, called TextureMontage, to seamlessly map a patchwork of texture images on... more We propose a technique, called TextureMontage, to seamlessly map a patchwork of texture images onto an arbitrary 3D model. A texture atlas can be created through the specification of a set of correspondences between the model and any number of texture images. First, our technique automatically partitions the mesh and the images, driven solely by the choice of feature correspondences. Most charts will then be parameterized over their corresponding image planes through the minimization of a distortion metric based on both geometric distortion and texture mismatch across patch boundaries and images. Lastly, a surface texture inpainting technique is used to fill in the remaining charts of the surface with no corresponding texture patches. The resulting texture mapping satisfies the (sparse or dense) user-specified constraints while minimizing the distortion of the texture images and ensuring a smooth transition across the boundaries of different mesh patches.

Research paper thumbnail of Subspace gradient domain mesh deformation

ACM Transactions on Graphics, 2006

In this paper we present a general framework for performing constrained mesh deformation tasks wi... more In this paper we present a general framework for performing constrained mesh deformation tasks with gradient domain techniques. We present a gradient domain technique that works well with a wide variety of linear and nonlinear constraints. The constraints we introduce include the nonlinear volume constraint for volume preservation, the nonlinear skeleton constraint for maintaining the rigidity of limb segments of articulated figures, and the projection constraint for easy manipulation of the mesh without having to frequently switch between multiple viewpoints. To handle nonlinear constraints, we cast mesh deformation as a nonlinear energy minimization problem and solve the problem using an iterative algorithm. The main challenges in solving this nonlinear problem are the slow convergence and numerical instability of the iterative solver. To address these issues, we develop a subspace technique that builds a coarse control mesh around the original mesh and projects the deformation energy and constraints onto the control mesh vertices using the mean value interpolation. The energy minimization is then carried out in the subspace formed by the control mesh vertices. Running in this subspace, our energy minimization solver is both fast and stable and it provides interactive responses. We demonstrate our deformation constraints and subspace deformation technique with a variety of constrained deformation examples.

Research paper thumbnail of Variational sphere set approximation for solid objects

The Visual Computer, 2006

We approximate a solid object represented as a triangle mesh by a bounding set of spheres having ... more We approximate a solid object represented as a triangle mesh by a bounding set of spheres having minimal summed volume outside the object. We show how outside volume for a single sphere can be computed using a simple integration over the object’s triangles. We then minimize the total outside volume over all spheres in the set using a variant of iterative Lloyd clustering that splits the mesh points into sets and bounds each with an outside volume-minimizing sphere. The resulting sphere sets are tighter than those of previous methods. In experiments comparing against a state-of-the-art alternative (adaptive medial axis), our method often requires half as many spheres, or fewer, to obtain the same error, under a variety of error metrics including total outside volume, shadowing fidelity, and proximity measurement.

Research paper thumbnail of Real-time KD-tree construction on graphics hardware

ACM Transactions on Graphics, 2008

We present an algorithm for constructing kd-trees on GPUs. This algorithm achieves real-time perf... more We present an algorithm for constructing kd-trees on GPUs. This algorithm achieves real-time performance by exploiting the GPU's streaming architecture at all stages of kd-tree construction. Unlike previous parallel kd-tree algorithms, our method builds tree nodes completely in BFS (breadth-first search) order. We also develop a special strategy for large nodes at upper tree levels so as to further exploit the fine-grained parallelism of GPUs. For these nodes, we parallelize the computation over all geometric primitives instead of nodes at each level. Finally, in order to maintain kd-tree quality, we introduce novel schemes for fast evaluation of node split costs. As far as we know, ours is the first real-time kd-tree algorithm on the GPU. The kd-trees built by our algorithm are of comparable quality as those constructed by off-line CPU algorithms. In terms of speed, our algorithm is significantly faster than well-optimized single-core CPU algorithms and competitive with multi-core CPU algorithms. Our algorithm provides a general way for handling dynamic scenes on the GPU. We demonstrate the potential of our algorithm in applications involving dynamic scenes, including GPU ray tracing, interactive photon mapping, and point cloud modeling.

Research paper thumbnail of BSGP: bulk-synchronous GPU programming

ACM Transactions on Graphics, 2008

We present BSGP, a new programming language for general purpose computation on the GPU. A BSGP pr... more We present BSGP, a new programming language for general purpose computation on the GPU. A BSGP program looks much the same as a sequential C program. Programmers only need to supply a bare minimum of extra information to describe parallel processing on GPUs. As a result, BSGP programs are easy to read, write, and maintain. Moreover, the ease of programming does not come at the cost of performance. A well-designed BSGP compiler converts BSGP programs to kernels and combines them using optimally allocated temporary streams. In our benchmark, BSGP programs achieve similar or better performance than well-optimized CUDA programs, while the source code complexity and programming time are significantly reduced. To test BSGP's code efficiency and ease of programming, we implemented a variety of GPU applications, including a highly sophisticated X3D parser that would be extremely difficult to develop with existing GPU programming languages.

Research paper thumbnail of 3D surface filtering using spherical harmonics

Computer-aided Design, 2004

This paper presents a novel approach for 3D surface filtering over two-manifold meshes. A robust ... more This paper presents a novel approach for 3D surface filtering over two-manifold meshes. A robust spherical parameterization algorithm is proposed to transform the input surface into a spherical vector function/signal. This signal is then decomposed into frequency domain using spherical harmonic transforms. Finally, traditional filtering techniques are generalized to process such spherical signals in either the frequency or spatial domain. Our major contribution is the two-phase spherical parameterization algorithm, which can handle meshes with complex shapes by incorporating local parameterization into the progressive mesh. A number of experimental examples demonstrate the potential of our algorithm. q

Research paper thumbnail of Synthesis of progressively-variant textures on arbitrary surfaces

ACM Transactions on Graphics, 2003

We present an approach for decorating surfaces with progressivelyvariant textures. Unlike a homog... more We present an approach for decorating surfaces with progressivelyvariant textures. Unlike a homogeneous texture, a progressivelyvariant texture can model local texture variations, including the scale, orientation, color, and shape variations of texture elements. We describe techniques for modeling progressively-variant textures in 2D as well as for synthesizing them over surfaces. For 2D texture modeling, our feature-based warping technique allows the user to control the shape variations of texture elements, making it possible to capture complex texture variations such as those seen in animal coat patterns. In addition, our feature-based blending technique can create a smooth transition between two given homogeneous textures, with progressive changes of both shapes and colors of texture elements. For synthesizing textures over surfaces, the biggest challenge is that the synthesized texture elements tend to break apart as they progressively vary. To address this issue, we propose an algorithm based on texton masks, which mark most prominent texture elements in the 2D texture sample. By leveraging the power of texton masks, our algorithm can maintain the integrity of the synthesized texture elements on the target surface.

Research paper thumbnail of Real-time soft shadows in dynamic scenes using spherical harmonic exponentiation

ACM Transactions on Graphics, 2006

Previous methods for soft shadows numerically integrate over many light directions at each receiv... more Previous methods for soft shadows numerically integrate over many light directions at each receiver point, testing blocker visibility in each direction. We introduce a method for real-time soft shadows in dynamic scenes illuminated by large, low-frequency light sources where such integration is impractical. Our method operates on vectors representing low-frequency visibility of blockers in the spherical harmonic basis. Blocking geometry is modeled as a set of spheres; relatively few spheres capture the low-frequency blocking effect of complicated geometry. At each receiver point, we compute the product of visibility vectors for these blocker spheres as seen from the point. Instead of computing an expensive SH product per blocker as in previous work, we perform inexpensive vector sums to accumulate the log of blocker visibility. SH exponentiation then yields the product visibility vector over all blockers. We show how the SH exponentiation required can be approximated accurately and efficiently for low-order SH, accelerating previous CPUbased methods by a factor of 10 or more, depending on blocker complexity, and allowing real-time GPU implementation.

Research paper thumbnail of Interactive relighting of dynamic refractive objects

ACM Transactions on Graphics, 2008

We present a new technique for interactive relighting of dynamic refractive objects with complex ... more We present a new technique for interactive relighting of dynamic refractive objects with complex material properties. We describe our technique in terms of a rendering pipeline in which each stage runs entirely on the GPU. The rendering pipeline converts surfaces to volumetric data, traces the curved paths of photons as they refract through the volume, and renders arbitrary views of the resulting radiance distribution. Our rendering pipeline is fast enough to permit interactive updates to lighting, materials, geometry, and viewing parameters without any precomputation. Applications of our technique include the visualization of caustics, absorption, and scattering while running physical simulations or while manipulating surfaces in real time.

Research paper thumbnail of Inverse texture synthesis

Inverse texture synthesis

ACM Transactions on Graphics, 2008

... All timing numbers are in units of seconds and are decomposed into z E-step, forward M-step, ... more ... All timing numbers are in units of seconds and are decomposed into z E-step, forward M-step, and inverse M-step. All measurements are performed on a PC with an Intel Xeon Dual-core 3.73GHz CPU and a 4GB RAM. conditions to help our subsequent optimizations. ...

Research paper thumbnail of Iso-charts: stretch-driven mesh parameterization using spectral analysis

We describe a fully automatic method, called iso-charts, to create texture atlases on arbitrary m... more We describe a fully automatic method, called iso-charts, to create texture atlases on arbitrary meshes. It is the first to consider stretch not only when parameterizing charts, but also when forming charts. The output atlas bounds stretch by a user-specified constant, allowing the user to balance the number of charts against their stretch. Our approach combines two seemingly incompatible techniques: stretch-minimizing parameterization, based on the surface integral of the trace of the local metric tensor, and the "isomap" or MDS (multi-dimensional scaling) parameterization, based on an eigen-analysis of the matrix of squared geodesic distances between pairs of mesh vertices. We show that only a few iterations of nonlinear stretch optimization need be applied to the MDS parameterization to obtain low-stretch atlases. The close relationship we discover between these two parameterizations also allows us to apply spectral clustering based on MDS to partition the mesh into charts having low stretch. We also novelly apply the graph cut algorithm in optimizing chart boundaries to further minimize stretch, follow sharp features, and avoid meandering. Overall, our algorithm creates texture atlases quickly, with fewer charts and lower stretch than previous methods, providing improvement in applications like geometric remeshing. We also describe an extension, signal-specialized atlas creation, to efficiently sample surface signals, and show for the first time that considering signal stretch in chart formation produces better texture maps.

Research paper thumbnail of Watermarking 3D mesh by spherical parameterization

Watermarking 3D mesh by spherical parameterization

Computers & Graphics, 2004

In this paper, a robust 3D trianglular mesh watermarking algorithm is presented by applying spher... more In this paper, a robust 3D trianglular mesh watermarking algorithm is presented by applying spherical parameterization. First, we transform the coordinate signals of the 3D triangular mesh into spherical signals using a global spherical parameterization and an even sampling scheme. Then, ...

Research paper thumbnail of Locality Sensitive Discriminant Analysis

Linear Discriminant Analysis (LDA) is a popular data-analytic tool for studying the class relatio... more Linear Discriminant Analysis (LDA) is a popular data-analytic tool for studying the class relationship between data points. A major disadvantage of LDA is that it fails to discover the local geometrical structure of the data manifold. In this paper, we introduce a novel linear algorithm for discriminant analysis, called Locality Sensitive Discriminant Analysis (LSDA). When there is no sufficient training samples, local structure is generally more important than global structure for discriminant analysis. By discovering the local manifold structure, LSDA finds a projection which maximizes the margin between data points from different classes at each local area. Specifically, the data points are mapped into a subspace in which the nearby points with the same label are close to each other while the nearby points with different labels are far apart. Experiments carried out on several standard face databases show a clear improvement over the results of LDA-based recognition.

Research paper thumbnail of Mesh editing with poisson-based gradient field manipulation

ACM Transactions on Graphics, 2004

In this paper, we introduce a novel approach to mesh editing with the Poisson equation as the the... more In this paper, we introduce a novel approach to mesh editing with the Poisson equation as the theoretical foundation. The most distinctive feature of this approach is that it modifies the original mesh geometry implicitly through gradient field manipulation. Our approach can produce desirable and pleasing results for both global and local editing operations, such as deformation, object merging, and smoothing. With the help from a few novel interactive tools, these operations can be performed conveniently with a small amount of user interaction. Our technique has three key components, a basic mesh solver based on the Poisson equation, a gradient field manipulation scheme using local transforms, and a generalized boundary condition representation based on local frames. Experimental results indicate that our framework can outperform previous related mesh editing techniques.

Research paper thumbnail of Precomputed shadow fields for dynamic scenes

ACM Transactions on Graphics, 2005

We present a soft shadow technique for dynamic scenes with moving objects under the combined illu... more We present a soft shadow technique for dynamic scenes with moving objects under the combined illumination of moving local light sources and dynamic environment maps. The main idea of our technique is to precompute for each scene entity a shadow field that describes the shadowing effects of the entity at points around it. The shadow field for a light source, called a source radiance field (SRF), records radiance from an illuminant as cube maps at sampled points in its surrounding space. For an occluder, an object occlusion field (OOF) conversely represents in a similar manner the occlusion of radiance by an object. A fundamental difference between shadow fields and previous shadow computation concepts is that shadow fields can be precomputed independent of scene configuration. This is critical for dynamic scenes because, at any given instant, the shadow information at any receiver point can be rapidly computed as a simple combination of SRFs and OOFs according to the current scene configuration. Applications that particularly benefit from this technique include large dynamic scenes in which many instances of an entity can share a single shadow field. Our technique enables low-frequency shadowing effects in dynamic scenes in real-time and all-frequency shadows at interactive rates.

Research paper thumbnail of Gradient domain editing of deforming mesh sequences

ACM Transactions on Graphics, 2007

: A straight run is adapted to a curved path on an uneven terrain. The original deforming mesh se... more : A straight run is adapted to a curved path on an uneven terrain. The original deforming mesh sequence moves along a straight line on a plane. We first make the HORSE move along a curve using path editing, and then adapt the sequence onto the terrain using footprint editing.

Research paper thumbnail of Decorating Surfaces with Bidirectional Texture Functions

IEEE Transactions on Visualization and Computer Graphics, 2005

We present a system for decorating arbitrary surfaces with bidirectional texture functions (BTF).... more We present a system for decorating arbitrary surfaces with bidirectional texture functions (BTF). Our system generates BTFs in two steps. First, we automatically synthesize a BTF over the target surface from a given BTF sample. Then we let the user interactively paint BTF patches onto the surface, such that the painted patches seamlessly integrate with the background patterns. Our system is based on a patch-based texture synthesis approach known as quilting. We present a graphcut algorithm for BTF synthesis on surfaces, and the algorithm works well for a wide variety of BTF samples, including those which present problems for existing algorithms. We also describe a graphcut texture painting algorithm for creating new surface imperfections (e.g., dirt, cracks, scratches) from existing imperfections found in input BTF samples. Using these algorithms we can decorate surfaces with real-world textures that have spatially-variant reflectance, fine-scale geometry details, and surfaces imperfections. A particularly attractive feature of BTF painting is that it allows us to capture imperfections of real materials and paint them onto geometry models. We demonstrate the effectiveness of our system with examples.

Research paper thumbnail of Mesh puppetry: cascading optimization of mesh deformation with inverse kinematics

ACM Transactions on Graphics, 2007

We present mesh puppetry, a variational framework for detailpreserving mesh manipulation through ... more We present mesh puppetry, a variational framework for detailpreserving mesh manipulation through a set of high-level, intuitive, and interactive design tools. Our approach builds upon traditional rigging by optimizing skeleton position and vertex weights in an integrated manner. New poses and animations are created by specifying a few desired constraints on vertex positions, balance of the character, length and rigidity preservation, joint limits, and/or selfcollision avoidance. Our algorithm then adjusts the skeleton and solves for the deformed mesh simultaneously through a novel cascading optimization procedure, allowing realtime manipulation of meshes with 50K+ vertices for fast design of pleasing and realistic poses. We demonstrate the potential of our framework through an interactive deformation platform and various applications such as deformation transfer and motion retargeting.

Research paper thumbnail of Mesh quilting for geometric texture synthesis

ACM Transactions on Graphics, 2006

We introduce mesh quilting, a geometric texture synthesis algorithm in which a 3D texture sample ... more We introduce mesh quilting, a geometric texture synthesis algorithm in which a 3D texture sample given in the form of a triangle mesh is seamlessly applied inside a thin shell around an arbitrary surface through local stitching and deformation. We show that such geometric textures allow interactive and versatile editing and animation, producing compelling visual effects that are difficult to achieve with traditional texturing methods. Unlike pixel-based image quilting, mesh quilting is based on stitching together 3D geometry elements. Our quilting algorithm finds corresponding geometry elements in adjacent texture patches, aligns elements through local deformation, and merges elements to seamlessly connect texture patches. For mesh quilting on curved surfaces, a critical issue is to reduce distortion of geometry elements inside the 3D space of the thin shell. To address this problem we introduce a low-distortion parameterization of the shell space so that geometry elements can be synthesized even on very curved objects without the visual distortion present in previous approaches. We demonstrate how mesh quilting can be used to generate convincing decorations for a wide range of geometric textures.

Research paper thumbnail of 2D shape deformation using nonlinear least squares optimization

The Visual Computer, 2006

This paper presents a novel 2D shape deformation algorithm based on nonlinear least squares optim... more This paper presents a novel 2D shape deformation algorithm based on nonlinear least squares optimization. The algorithm aims to preserve two local shape properties: the Laplacian coordinates of the boundary curve and the local area of the shape interior, which are together represented in a non-quadratic energy function. An iterative Gauss–Newton method is used to minimize this nonlinear energy function. The result is an interactive shape deformation system that can achieve physically plausible results that are difficult to achieve with previous linear least squares methods. In addition to this algorithm that preserves local shape properties, we also introduce a scheme to preserve the global area of the shape, which is useful for deforming incompressible objects.

Research paper thumbnail of TextureMontage: Seamless Texturing of Arbitrary Surfaces From Multiple Images

We propose a technique, called TextureMontage, to seamlessly map a patchwork of texture images on... more We propose a technique, called TextureMontage, to seamlessly map a patchwork of texture images onto an arbitrary 3D model. A texture atlas can be created through the specification of a set of correspondences between the model and any number of texture images. First, our technique automatically partitions the mesh and the images, driven solely by the choice of feature correspondences. Most charts will then be parameterized over their corresponding image planes through the minimization of a distortion metric based on both geometric distortion and texture mismatch across patch boundaries and images. Lastly, a surface texture inpainting technique is used to fill in the remaining charts of the surface with no corresponding texture patches. The resulting texture mapping satisfies the (sparse or dense) user-specified constraints while minimizing the distortion of the texture images and ensuring a smooth transition across the boundaries of different mesh patches.

Research paper thumbnail of Subspace gradient domain mesh deformation

ACM Transactions on Graphics, 2006

In this paper we present a general framework for performing constrained mesh deformation tasks wi... more In this paper we present a general framework for performing constrained mesh deformation tasks with gradient domain techniques. We present a gradient domain technique that works well with a wide variety of linear and nonlinear constraints. The constraints we introduce include the nonlinear volume constraint for volume preservation, the nonlinear skeleton constraint for maintaining the rigidity of limb segments of articulated figures, and the projection constraint for easy manipulation of the mesh without having to frequently switch between multiple viewpoints. To handle nonlinear constraints, we cast mesh deformation as a nonlinear energy minimization problem and solve the problem using an iterative algorithm. The main challenges in solving this nonlinear problem are the slow convergence and numerical instability of the iterative solver. To address these issues, we develop a subspace technique that builds a coarse control mesh around the original mesh and projects the deformation energy and constraints onto the control mesh vertices using the mean value interpolation. The energy minimization is then carried out in the subspace formed by the control mesh vertices. Running in this subspace, our energy minimization solver is both fast and stable and it provides interactive responses. We demonstrate our deformation constraints and subspace deformation technique with a variety of constrained deformation examples.

Research paper thumbnail of Variational sphere set approximation for solid objects

The Visual Computer, 2006

We approximate a solid object represented as a triangle mesh by a bounding set of spheres having ... more We approximate a solid object represented as a triangle mesh by a bounding set of spheres having minimal summed volume outside the object. We show how outside volume for a single sphere can be computed using a simple integration over the object’s triangles. We then minimize the total outside volume over all spheres in the set using a variant of iterative Lloyd clustering that splits the mesh points into sets and bounds each with an outside volume-minimizing sphere. The resulting sphere sets are tighter than those of previous methods. In experiments comparing against a state-of-the-art alternative (adaptive medial axis), our method often requires half as many spheres, or fewer, to obtain the same error, under a variety of error metrics including total outside volume, shadowing fidelity, and proximity measurement.

Research paper thumbnail of Real-time KD-tree construction on graphics hardware

ACM Transactions on Graphics, 2008

We present an algorithm for constructing kd-trees on GPUs. This algorithm achieves real-time perf... more We present an algorithm for constructing kd-trees on GPUs. This algorithm achieves real-time performance by exploiting the GPU's streaming architecture at all stages of kd-tree construction. Unlike previous parallel kd-tree algorithms, our method builds tree nodes completely in BFS (breadth-first search) order. We also develop a special strategy for large nodes at upper tree levels so as to further exploit the fine-grained parallelism of GPUs. For these nodes, we parallelize the computation over all geometric primitives instead of nodes at each level. Finally, in order to maintain kd-tree quality, we introduce novel schemes for fast evaluation of node split costs. As far as we know, ours is the first real-time kd-tree algorithm on the GPU. The kd-trees built by our algorithm are of comparable quality as those constructed by off-line CPU algorithms. In terms of speed, our algorithm is significantly faster than well-optimized single-core CPU algorithms and competitive with multi-core CPU algorithms. Our algorithm provides a general way for handling dynamic scenes on the GPU. We demonstrate the potential of our algorithm in applications involving dynamic scenes, including GPU ray tracing, interactive photon mapping, and point cloud modeling.

Research paper thumbnail of BSGP: bulk-synchronous GPU programming

ACM Transactions on Graphics, 2008

We present BSGP, a new programming language for general purpose computation on the GPU. A BSGP pr... more We present BSGP, a new programming language for general purpose computation on the GPU. A BSGP program looks much the same as a sequential C program. Programmers only need to supply a bare minimum of extra information to describe parallel processing on GPUs. As a result, BSGP programs are easy to read, write, and maintain. Moreover, the ease of programming does not come at the cost of performance. A well-designed BSGP compiler converts BSGP programs to kernels and combines them using optimally allocated temporary streams. In our benchmark, BSGP programs achieve similar or better performance than well-optimized CUDA programs, while the source code complexity and programming time are significantly reduced. To test BSGP's code efficiency and ease of programming, we implemented a variety of GPU applications, including a highly sophisticated X3D parser that would be extremely difficult to develop with existing GPU programming languages.

Research paper thumbnail of 3D surface filtering using spherical harmonics

Computer-aided Design, 2004

This paper presents a novel approach for 3D surface filtering over two-manifold meshes. A robust ... more This paper presents a novel approach for 3D surface filtering over two-manifold meshes. A robust spherical parameterization algorithm is proposed to transform the input surface into a spherical vector function/signal. This signal is then decomposed into frequency domain using spherical harmonic transforms. Finally, traditional filtering techniques are generalized to process such spherical signals in either the frequency or spatial domain. Our major contribution is the two-phase spherical parameterization algorithm, which can handle meshes with complex shapes by incorporating local parameterization into the progressive mesh. A number of experimental examples demonstrate the potential of our algorithm. q

Research paper thumbnail of Synthesis of progressively-variant textures on arbitrary surfaces

ACM Transactions on Graphics, 2003

We present an approach for decorating surfaces with progressivelyvariant textures. Unlike a homog... more We present an approach for decorating surfaces with progressivelyvariant textures. Unlike a homogeneous texture, a progressivelyvariant texture can model local texture variations, including the scale, orientation, color, and shape variations of texture elements. We describe techniques for modeling progressively-variant textures in 2D as well as for synthesizing them over surfaces. For 2D texture modeling, our feature-based warping technique allows the user to control the shape variations of texture elements, making it possible to capture complex texture variations such as those seen in animal coat patterns. In addition, our feature-based blending technique can create a smooth transition between two given homogeneous textures, with progressive changes of both shapes and colors of texture elements. For synthesizing textures over surfaces, the biggest challenge is that the synthesized texture elements tend to break apart as they progressively vary. To address this issue, we propose an algorithm based on texton masks, which mark most prominent texture elements in the 2D texture sample. By leveraging the power of texton masks, our algorithm can maintain the integrity of the synthesized texture elements on the target surface.

Research paper thumbnail of Real-time soft shadows in dynamic scenes using spherical harmonic exponentiation

ACM Transactions on Graphics, 2006

Previous methods for soft shadows numerically integrate over many light directions at each receiv... more Previous methods for soft shadows numerically integrate over many light directions at each receiver point, testing blocker visibility in each direction. We introduce a method for real-time soft shadows in dynamic scenes illuminated by large, low-frequency light sources where such integration is impractical. Our method operates on vectors representing low-frequency visibility of blockers in the spherical harmonic basis. Blocking geometry is modeled as a set of spheres; relatively few spheres capture the low-frequency blocking effect of complicated geometry. At each receiver point, we compute the product of visibility vectors for these blocker spheres as seen from the point. Instead of computing an expensive SH product per blocker as in previous work, we perform inexpensive vector sums to accumulate the log of blocker visibility. SH exponentiation then yields the product visibility vector over all blockers. We show how the SH exponentiation required can be approximated accurately and efficiently for low-order SH, accelerating previous CPUbased methods by a factor of 10 or more, depending on blocker complexity, and allowing real-time GPU implementation.

Research paper thumbnail of Interactive relighting of dynamic refractive objects

ACM Transactions on Graphics, 2008

We present a new technique for interactive relighting of dynamic refractive objects with complex ... more We present a new technique for interactive relighting of dynamic refractive objects with complex material properties. We describe our technique in terms of a rendering pipeline in which each stage runs entirely on the GPU. The rendering pipeline converts surfaces to volumetric data, traces the curved paths of photons as they refract through the volume, and renders arbitrary views of the resulting radiance distribution. Our rendering pipeline is fast enough to permit interactive updates to lighting, materials, geometry, and viewing parameters without any precomputation. Applications of our technique include the visualization of caustics, absorption, and scattering while running physical simulations or while manipulating surfaces in real time.

Research paper thumbnail of Inverse texture synthesis

Inverse texture synthesis

ACM Transactions on Graphics, 2008

... All timing numbers are in units of seconds and are decomposed into z E-step, forward M-step, ... more ... All timing numbers are in units of seconds and are decomposed into z E-step, forward M-step, and inverse M-step. All measurements are performed on a PC with an Intel Xeon Dual-core 3.73GHz CPU and a 4GB RAM. conditions to help our subsequent optimizations. ...

Research paper thumbnail of Iso-charts: stretch-driven mesh parameterization using spectral analysis

We describe a fully automatic method, called iso-charts, to create texture atlases on arbitrary m... more We describe a fully automatic method, called iso-charts, to create texture atlases on arbitrary meshes. It is the first to consider stretch not only when parameterizing charts, but also when forming charts. The output atlas bounds stretch by a user-specified constant, allowing the user to balance the number of charts against their stretch. Our approach combines two seemingly incompatible techniques: stretch-minimizing parameterization, based on the surface integral of the trace of the local metric tensor, and the "isomap" or MDS (multi-dimensional scaling) parameterization, based on an eigen-analysis of the matrix of squared geodesic distances between pairs of mesh vertices. We show that only a few iterations of nonlinear stretch optimization need be applied to the MDS parameterization to obtain low-stretch atlases. The close relationship we discover between these two parameterizations also allows us to apply spectral clustering based on MDS to partition the mesh into charts having low stretch. We also novelly apply the graph cut algorithm in optimizing chart boundaries to further minimize stretch, follow sharp features, and avoid meandering. Overall, our algorithm creates texture atlases quickly, with fewer charts and lower stretch than previous methods, providing improvement in applications like geometric remeshing. We also describe an extension, signal-specialized atlas creation, to efficiently sample surface signals, and show for the first time that considering signal stretch in chart formation produces better texture maps.