Friday, May 4, 2012

Based Hair Geometry Synthesis

Based Hair Geometry Synthesis

Hair Geometry Synthesis
We present an example-based approach to hair modeling because creating hairstyles either manually or through image-based acquisition is a costly and time-consuming process. We introduce a hierarchical hair synthesis framework that views a hairstyle both as a 3D vector field and a 2D arrangement of hair strands on the scalp. Since hair forms wisps, a hierarchical hair clustering algorithm has been developed for detecting wisps in example hairstyles. The coarsest level of the output hairstyle is synthesized using traditional 2D texture synthesis techniques. Synthesizing finer levels of the hierarchy is based on cluster oriented detail transfer. Finally, we compute a discrete tangent vector field from the synthesized hair at every level of the hierarchy to remove undesired inconsistencies among hair trajectories. Improved hair trajectories can be extracted from the vector field. Based on our automatic hair synthesis method, we have also developed simple user-controlled synthesis and editing techniques including feature-preserving combing as well as detail transfer between different hairstyles.


Hair Geometry SynthesisIntroduction

Many graphics and internet applications, including film making (crowd simulation), game development and online virtual worlds, make heavy use of avatars whose hairstyles need to be modeled realistically with individuality. Designing visually realistic and pleasing hairstyles, either manually or through 3D image-based acquisition acquisition [Paris et al. 2004; Wei et al. 2005; Paris et al. 2008], is a costly and time-consuming process. This motivates an examplebased methodology that creates novel hairstyles with reference to existing ones. Considering that hair roots are distributed over the 2D scalp surface, creating novel hairstyles from examples could be cast as a 2D texture synthesis problem. The fact, that hair strands with nearby roots share similar geometry and form wisps, indicatesthat the Markov random field assumption, commonly used in texture synthesis, also holds for Hair Geometry Synthesismost hairstyles. However, each hair strand is a 3D space curve with a long trajectory that is not solely determined by the location of the hair root. The tangents of all the hair strands form a 3D vector field whose consistency cannot be guaranteed by a 2D synthesis method. Likewise, the wisp structures of a hairstyle cannot be well preserved by indirect hair synthesis through the synthesis of the 3D hair tangent field. Therefore, Ma hair synthesis technique needs to simultaneously address both 2D and 3D aspects of a hairstyle.


Hair Geometry SynthesisRelated Work


Our work is made possible by recent progress on hair acquisition, hair modeling, texture synthesis and geometry synthesis.

Hair Acquisition

 There has been significant progress on hair acquisition [Paris et al. 2004; Wei et al. 2005; Paris et al. 2008] from multiple camera views. An oriented filter bank with high angular resolution was adopted to detect hair orientation in [Paris et al. 2004]. Hand-held lights or cameras were used in [Paris et al. 2004; Wei et al. 2005] while triangulation was used in [Paris et al. 2008] to obtain more accurate 3D location in a multi-project, multi-camera setup. Hair acquisition is inherently a very hard problem because of the thin geometry of hair strands and numerous occlusions among them. It is almost impossible for a regular camera to directly acquire data from the interior of the hair volume. Existing methods typically acquire the outmost layer and interpolate inside the hair volume. The hair exemplars used as input to our synthesis algorithm were actually acquired from real hairstyles.



Hair Geometry Synthesis
Hair Geometry Modeling


 Synthetic hair modeling has a long history. Watanabe and Suenaga [1992] proposed a wisp model, extended by Chen et al. [1999]. In an integrated hair system by Daldegan et al. [1993], characteristic hair strands define the boundary of wisps. Exploiting the connections between vector fields and smooth hairstyles, interactive hairstyling systems have been developed by Hadap and Thalmann [2000] and Yu [2001]. A multiresolution hair modeling system based on the observation that adjacent hair strands tend to form clusters at multiple scales was developed by Kim and Neumann [2002]. Our synthesis algorithm is based on a hierarchical clustering of the input hairstyle. This clustering process can be regarded as the inverse process of the hierarchical modeling framework in [Kim and Neumann 2002]. An interactive technique based on a statistical wisp model and a physically based static deformation solver is proposed in [Choe and Ko 2005] to model a wide range of hairstyles. A survey of hair modeling techniques can be found in [Ward et al. 2007]. Note that none of these techniques relies on captured hairstyles to generate novel ones.


Hair Geometry Synthesis
Hierarchical Hair Clustering


To reproduce characteristic hierarchical wisp structures during example-based hairstyle synthesis, it is crucial to identify such structures for the example hairstyles. Inspired by the triangle clustering algorithm in [Cohen-Steiner et al. 2004], we introduce a variational hair clustering algorithm which automatically divides the original set of hair strands into k clusters and computes a center strand for each cluster. The set of these k clusters is called a k- partition. With this algorithm, building the full hierarchy follows a straightforward process: at each level of the hierarchy, we divide the hair strands at the current level into clusters and let the center strands be the hair strands in the next (coarser) level. Our hair clustering follows the general approach of Lloyd’s algorithm (a.k.a. k-means clustering) [Lloyd 1982], which is guaranteed to converge.
Hair Geometry Synthesis



  Lloyd’s algorithm alternately repeats the following two phases: partitioning and fitting. For the first phase, we design a cluster growing algorithm that simultaneously expands all the clusters from their seeding strands to cover the entire set of strands. It guarantees that strands within the same cluster are connected according to a predefined neighborhood structure. In the second phase, we compute for each cluster an optimal local representative, the center strand


Please Give Your Opinion .....

No comments:

Post a Comment