0% found this document useful (0 votes)
6 views

Terrain Synthesis from Digital Elevation Models

This paper presents an example-based system for terrain synthesis that utilizes patches from a sample terrain and a user-sketched feature map to generate new terrain. The method emphasizes large-scale curvilinear features and employs techniques from geomorphology for feature extraction and matching. The approach allows for user control over terrain feature placement and style, resulting in visually rich synthetic terrains that can incorporate multiple Digital Elevation Models.

Uploaded by

JAYRAJ SINGH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Terrain Synthesis from Digital Elevation Models

This paper presents an example-based system for terrain synthesis that utilizes patches from a sample terrain and a user-sketched feature map to generate new terrain. The method emphasizes large-scale curvilinear features and employs techniques from geomorphology for feature extraction and matching. The approach allows for user control over terrain feature placement and style, resulting in visually rich synthetic terrains that can incorporate multiple Digital Elevation Models.

Uploaded by

JAYRAJ SINGH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

834 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO.

4, JULY/AUGUST 2007

Terrain Synthesis from Digital Elevation Models


Howard Zhou, Jie Sun, Greg Turk, Member, IEEE, and James M. Rehg, Member, IEEE

Abstract—In this paper, we present an example-based system for terrain synthesis. In our approach, patches from a sample terrain
(represented by a height field) are used to generate a new terrain. The synthesis is guided by a user-sketched feature map that
specifies where terrain features occur in the resulting synthetic terrain. Our system emphasizes large-scale curvilinear features (ridges
and valleys) because such features are the dominant visual elements in most terrains. Both the example height field and user’s sketch
map are analyzed using a technique from the field of geomorphology. The system finds patches from the example data that match the
features found in the user’s sketch. Patches are joined together using graph cuts and Poisson editing. The order in which patches are
placed in the synthesized terrain is determined by breadth-first traversal of a feature tree and this generates improved results over
standard raster-scan placement orders. Our technique supports user-controlled terrain synthesis in a wide variety of styles, based
upon the visual richness of real-world terrain data.

Index Terms—Terrain synthesis, Digital Elevation Models, terrain analysis, texture synthesis.

1 INTRODUCTION

T HERE are numerous applications that make use of


synthetic terrain and, very often, the terrain is the
dominant visual element in the scene. Such applications
patch placement from example-based texture synthesis. In
our approach, the user supplies a sketched terrain feature
map (called the sketch map) and real terrain data (called the
include landscape design, flight simulators, emergency example height field), which contain the desired terrain styles.
response training, battleground simulations, feature film Example height fields are in the form of Digital Elevation
special effects, and computer games. Over the years, Models (DEMs), which are available online from the US
graphics researchers have made considerable progress Geological Survey. Our system then automatically gener-
toward developing efficient methods for generating a ates a new height field that preserves the visual style of the
synthetic terrain. Previous terrain synthesis work has real terrain data and meets the feature constraints of the
focused on using fractal models and physical erosion sketch map. Synthetic results from our approach are shown
models to create a realistic-appearing terrain. in Fig. 1.
With the rapid growth of computing power and The sketch map provides the user with an easy and
development in terrain visualization techniques, the de- intuitive way to control the synthesis process. Each map
mand for more realistic terrain has increased considerably. specifies the locations of important terrain features such as
In addition, users of terrain modeling applications want the bifurcation point at the center of the image in Fig. 10a.
more control over the creation of new terrain. However, Notice that these sketches are quite coarse. In fact, the width
current terrain synthesis methods have several limitations. of the brush and the pixel intensities are of little importance,
First, these methods provide users with little or no control as long as they follow the simple principle that darker
over the placement of desired terrain features. Second, pixels indicate lower elevations and brighter pixels indicate
using the control parameters in these methods, it is difficult higher elevations. Our goal in this work is the generation of
to generate terrain with a desired style, such as a terrain visually compelling terrain. We do not address the separate
with the geological features of the Grand Canyon. issue of whether a synthesized terrain is geologically
Figs. 2a and 2b show examples of fractal and erosion accurate.
terrains produced by some popular commercial software, The starting point for our algorithm is the identification
displayed as intensity-coded elevation maps. The styles of of important terrain features in both the sketch map and the
example height field. Our system concentrates on large
these terrains are quite unlike the natural terrain illustrated
curvilinear features, such as rivers, valleys, and mountain
in Figs. 2c and 2d.
ridges, since these are usually the most important visual
We present a novel example-based terrain synthesis
elements in a large-scale terrain (as illustrated in Figs. 2c
method that addresses the need for intuitive user control
and 2d). Because the underlying terrain structures in the
over both terrain feature placement and terrain style. Our
sketch map and the ones in the example height field are
method draws upon the techniques of patch matching and
often very different, matches over large spatial scales are
unlikely to be correct. However, we observe that, at small
. The authors are with the GVU Center, Georgia Institute of Technology, scales, common terrain features such as a bifurcation or a
TSRB, 85 5th Street NW, Atlanta, GA 30308. straight section of a valley can be found in both maps.
E-mail: {howardz, sun, turk, rehg}@cc.gatech.edu. Hence, our algorithm breaks the sketch map into small
Manuscript received 10 Oct. 2006; accepted 28 Dec. 2006; published online patch regions and searches through the example height
17 Jan. 2007. field for structural feature matches.
For information on obtaining reprints of this article, please send e-mail to:
[email protected], and reference IEEECS Log Number TVCG-0184-1006. The extraction of structural information from the sketch
Digital Object Identifier no. 10.1109/TVCG.2007.1027. map is straightforward due to its simplicity. On the other
1077-2626/07/$25.00 ß 2007 IEEE Published by the IEEE Computer Society
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 835

Fig. 1. Synthesized terrains using the DEM of the Flathead National


Forest Mountain Range (top image) and the DEM of the Grand Canyon
(bottom image).

hand, the extraction of high-level structural information


such as ridges and valleys from a real terrain height field
can be difficult. Here, we draw upon work in the field of Fig. 2. Examples of terrains generated by current methods. (a) Fractal
geomorphology. Specifically, we use the Profile recognition terrain (ridged multi-Perlin) generated by Terragen at 1; 025  1; 025
resolution. (b) Erosion terrain generated by Bryce 5 at 1; 024  1; 024
and Polygon breaking Algorithm (PPA) developed by resolution. In contrast are two real elevation maps: (c) 1/3 arc second
Chang et al. [1] to extract structural information such as (10 m) DEM of the Flathead National Forest mountain range, Montana,
ridge and valley axes from a height field. and (d) 1/3 arc second (10 m) DEM of Mount Vernon, Kentucky. (DEMs
Once the important structural terrain features have been courtesy of the US Geological Survey.)
extracted, our algorithm proceeds in the following stages:
First, curvilinear terrain features are used as constraints for We have drawn significant inspiration for our work from
the matching and alignment of patch regions in the sketch previous texture synthesis methods, which we review in the
map and the example height field. Second, these features following section.
are used as constraints for matching along the overlapping
boundaries between neighboring patch regions. A patch is 2 RELATED WORK
selected based on a weighted combination of scores that
There are two main approaches to generating a synthetic
assess the goodness-of-fit between a patch and its neighbors
terrain: fractal landscape modeling and physical erosion
and the amount of deformation of the patch that is required.
simulation. Fractal landscape modeling dates back to the
The order of patch placement is determined by a breadth-
pioneering work of Mandelbrot [2]. Since then, a variety of
first traversal of a feature tree that is constructed from the
stochastic subdivision techniques have been introduced.
user sketch. Each patch is placed into the output map using
Fournier et al. [3] introduced the random midpoint
a combination of graph-cut seam finding and Poisson seam
displacement technique to create fractal surfaces. Voss [4]
removal to minimize visual discontinuities. added successive random displacement to fractional Brow-
This paper makes the following contributions:
nian surfaces. Miller [5] proposed a square-square subdivi-
. a method for sketch-based specification of synthe- sion scheme for generating a fractal terrain and a parallel
sized terrain features, giving the user intuitive processing algorithm for rendering height fields. Lewis [6]
control over the synthesis result, proposed a generalized stochastic subdivision. Szeliski and
. a feature-based approach to matching and place- Terzopoulos [7] addressed the problem of user control by
ment of large curvilinear terrain features, which combining deterministic splines and stochastic fractals into
makes it possible to efficiently search large terrain constrained fractals. Recent fractal-based approaches are
databases and preserve the important visual ele- reviewed in [8] and [9].
ments in the synthesis process, Physical erosion simulation is an alternative approach to
. a tree-ordered patch placement algorithm as an synthesizing terrain details based on models of landscape
alternative to the standard raster-scan ordering, formulation and stream erosion from the geomorphology
which results in a more faithful reproduction of community. It is often used as a refinement step after a
terrain structure in matching the user input, and rough height field is generated. Kelley et al. [10] first
. the ability to synthesize transitions between different introduced a method to approximate a natural terrain by
terrain types and incorporate multiple DEMs into a simulating the erosion of stream networks. Later, Musgrave
single synthesized output. et al. [11] then combined the fractal modeling and erosion
836 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

simulation approaches into a single framework. Recent 1) search in a sample texture for neighborhoods most
physical erosion techniques, exemplified by [12], [13], [14], similar to a context region and 2) merge a patch or a pixel
[15], and [16], have focused on improving both the physical with the (partially) synthesized output texture. Dynamic
modeling aspect and computational efficiency. With appro- programming [24] and graph cuts [26] have been used to
priately tuned parameters, these techniques can generate a optimize the patch merging stage. We employ a related
realistic-appearing terrain. search-and-merge strategy that addresses the unique
Both fractal and physical erosion techniques add terrain characteristics of terrain data.
details through procedural refinement, which often involves Recently, Zhang et al. [32] introduced feature-based
nonintuitive parameter tuning. Recently, Brosz et al. [17] warping and blending techniques to synthesize progressively
attempted to extract high-resolution terrain details from variant texture on arbitrary surfaces. In their work, the feature
existing DEM data and applied it to a lower resolution terrain texton masks were manually extracted. Wu and Yu [27] use
through multiresolution analysis. In practice, their method edges extracted from the input texture as high-level features
requires both the source and target terrain to be fairly detailed to guide patch-based texture synthesis. We build on this
and does not grant the user freedom to create an arbitrary earlier work in two ways. First, we employ curvilinear
terrain. features to support the user sketching of the desired terrain
To provide the user with more intuitive control over the features and efficient search for matching patches in large
synthesized terrain, image-based alternatives were proposed terrain data sets. Second, we introduce a feature analysis
by Lewis [18] and Perlin and Velho [19]. In these works, technique that can reliably extract global terrain character-
terrain was viewed as a type of texture and user control was istics such as ridges and valleys from large DEMs in a wide
provided through direct manipulation of the texture. The range of styles. We demonstrate that standard edge-finding
result was then interpreted as a height field to create a variety methods are inappropriate for this task.
of terrain types. However, because it is difficult for a user to The image analogies framework introduced by Hertz-
draw a realistic natural height field by hand, these methods mann et al. [25] can be used to synthesize terrain images
typically suffer from a lack of realistic detail. through a texture-by-numbers approach. This work does
2.1 Commercial Software not directly synthesize novel terrain height fields. Its
application to height-field synthesis is hampered by the
We are not aware of any existing commercial software for
difficulty of guaranteeing that the local-neighborhood
terrain synthesis that employs an approach that is similar to
matching approach would preserve the extended structures
ours. We briefly review four major commercial systems,
such as ridges and valleys that characterize terrain style.
Mojoworld, Terragen, World Machine, and Bryce, which
The GPU-based texture synthesis method presented in [30]
are representative of the current state of the art. Mojoworld
includes drag-and-drop features and synthesis magnifica-
and Terragen both have fractal synthesis engines that
tion. These techniques were used to relocate mountains on a
generate terrain procedurally. The resulting models are
terrain height map. In contrast to this work, our focus is to
very compact because they are generated on the fly. World
automatically generate a complete terrain image in a
Machine, on the other hand, offers geological erosion on top
particular style by matching extended terrain features with
of its procedural shape and noise generator to synthesize a
a desired user sketch. We therefore support fully automatic
realistic-appealing terrain. In all of these systems, control
feature extraction and matching.
over the synthesis result is obtained by changing the global
Although our example-based approach to terrain synth-
parameters in the generation process. It is, however,
esis is inspired by the recent success of patch-based
difficult to set these parameters so as to generate distinctive
methods, terrain synthesis is not simply texture synthesis
realistic terrain types. Moreover, these systems do not
support the user-specified placement of major terrain on height fields. The terrain generation problem can be
features. Bryce, in addition to having both fractal and distinguished from conventional texture synthesis in three
erosion synthesis engines, also accepts as input a direct main ways. First, a wide variety of terrain types can be
specification of the height field by the user using a painting characterized by a combination of global features (such as
approach (essentially the method in [18] with the addition ridges and valleys), which can be reliably extracted from
of fractal noise). Figs. 2c and 2d are example terrains input terrain maps. In contrast, no such easily identifiable
generated by such commercial systems. None of these global features exist for general image textures. Second,
products, however, make it possible to synthesize terrain in terrain synthesis must be globally controllable in order to be
a specific style such as the style of the Grand Canyon. useful for a wide range of applications and large terrain
data sets (often a gigapixel or more) must be searched in
2.2 Texture Synthesis order to meet the users’ constraints. This stands in contrast
Image-based texture synthesis is the process of creating an to the canonical texture synthesis problem of “growing” a
arbitrarily large patch of texture by drawing pixels from a small input patch of texture into a larger output image with
given example image. During the past few decades, a the same local intensity structure. We demonstrate that
steady improvement in the quality of synthesized textures, feature-based terrain matching can address both of these
both 2D and volumetric, has been achieved through an concerns. Third, many recent cut-and-merge techniques for
evolution from pixel-based methods [20] to nonparametric texture synthesis exploit the fact that image textures contain
neighborhood-based methods [21], [22], [23]. The most many natural boundaries that provide good seams along
recent patch-based techniques, exemplified by [24], [25], which to merge texture elements. In contrast, there are no
[26], [27], [28], [29], [30], and [31], have two common stages: natural seams in terrain data. Moreover, any mismatch
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 837

Fig. 4. Chang’s PPA. (a) Profile recognition. (b) Target connection.


(c) Polygon breaking. (d) Branch reduction.
Fig. 3. Comparison of feature extraction methods. (a) Grand Canyon
height field displayed as a shaded relief map. (b) Features extracted by being on a ridge. The grid points in eight outward paths are
the Canny edge detector. (c) Features extracted by PPA. examined (the yellow points in Fig. 4a), and the current point
is marked as a candidate if the height dips below the central
between the height fields in two adjacent patches is point by more than a threshold2 along any of these paths. All
immediately visible. The use of blurring to remove height such candidates are then connected by a segment to all other
adjacent candidates (the red circles in Fig. 4b). When one
differences results in highly visible artifacts. We show how
segment crosses another, the lower elevation segment is
to combine recent graph-cut and Poisson seam removal
cancelled (shown as dotted segments in Fig. 4b). The
techniques to address the problem of merging terrain
polygons are then broken into dendritic line patterns by
patches. repeatedly eliminating the least important segment (the
remaining segment with the lowest height, shown as dotted
3 FEATURE EXTRACTION segments in Fig. 4c) for each closed polygon. This process
terminates when there are no more closed polygons. After the
In this section, we describe our method for extracting polygon breaking process, shorter branches are eliminated
terrain features from the example height field and from the (dotted segments in the Fig. 4d).
user’s sketch map. We use the term terrain features to mean The output of PPA for a sample terrain is shown in Fig. 3c.
large-scale long curvilinear features such as a river, a valley, Notice that the valley axes coincide with human perception of
or a mountain ridge. Such terrain features characterize the the important curvilinear features in the height field. Our
overall layout of the terrain. Fig. 3a shows an example system uses PPA to identify features both in the example
height field, consisting of a portion of the Grand Canyon, height field and in the user’s sketch map. The gray-scale
which is depicted as a shaded relief map. This example values in the sketch map are treated as elevation values. The
illustrates both the existence of large scale curvilinear output of PPA is a collection of line segments that are
structures (the main river bed), as well as a rich array of connected and that form long chains along ridges or valleys.
secondary structures (the side canyons and other features). These chains of segments are the basis for feature matching
Our goal is to match the primary structures to a desired between the user’s sketch and regions in the given height
sketch shape while preserving the rich detail that is present field. Once the chains of segments have been identified, they
in this data. are analyzed to form two classes of features: isolated features
It may seem that terrain features could be identified and curvilinear (path) features. Isolated features are branch
through edge detection. Closer scrutiny, however, reveals points and endpoints. Curvilinear features are long chains of
several problems in applying edge detection to complex segments that connect isolated features. The feature matching
terrain data. First, terrain features are characterized by the process described next makes use of these two feature
local extrema of the height field, whereas edge detection categories.
methods are based on the locally maximal derivatives of the A key property of the PPA is that the extracted features
image. As a consequence, the application of edge detection form a tree (a forest in general) since all closed polygons are
to terrain data results in spurious features due to local broken in the analysis process. This property allows us to
height variations, as shown in the upper right corner of the use tree traversal to order the placement of patches during
image in Fig. 3b.1 In addition, terrain data has characteristic synthesis, as described next.
branching structures that are not always handled correctly
by standard edge detection algorithms (for example, in the 4 FEATURE-BASED PATCH MATCHING AND
lower right corner of the image in Fig. 3b). PLACEMENT
We draw upon work in the geomorphology literature to
identify large-scale terrain features. In particular, we have Our synthesis process creates a new height field by
adapted the PPA, developed by Chang et al. [1], to our task. extracting patches from the example height field and
We briefly summarize the method in this section and refer placing them in an output height field in a manner that is
the reader to their paper for additional details. dictated by the user’s sketch. Typical patch sizes are 80 
PPA can extract either ridges or valleys. Here, we will only 80 pixels (this is determined by the spatial scale of the
describe ridge finding, with the necessary modification to example terrain data and the detail of the result desired by
finding valleys being understood. First, each grid point (pixel the user). Patch selection and placement is performed in
in the height field) is visited to determine if it is a candidate for two stages: feature patch matching and placement and
nonfeature patch placement.
1. Searching for edges at multiple scales cannot easily solve this problem
as perceptually important terrain structures are not guaranteed to persist 2. We typically set the threshold to one-half of the elevation range of the
over scale. input height field.
838 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

Fig. 5. Examples of terrain patches for each feature type. (a), (b), and
(c) Branch point, endpoint, and path patch, respectively. (d), (e), and
(f) Corresponding patches after feature extraction. Border colors identify
feature types in Fig. 6b.
Fig. 6. Illustration of patch placement order. (a) Sample sketch map.
The first stage, feature matching and placement, locates (b) Tree structure returned by PPA analysis. Branch-point features and
both isolated features, branch points and endpoints, and endpoint features are connected by curvilinear path features. (c) The
root patch is placed first. (d) Breadth-first traversal guides the placement
nonisolated features, curvilinear features (paths) in the of additional patches. (e) Once tree traversal is complete, begin placing
sketch map. See Fig. 5 for examples of each of these feature nonfeature patches. (f) Final result.
types. Patches are found that match these features and these
patches are placed in the output height field. 4.1.1 Branch Points
If we treat the isolated features extracted by the PPA as For branch-point matching, the degree (or valence) of the
nodes, and curvilinear features (paths) as edges of a graph, branch points must match and the angles of the outgoing
then this graph is guaranteed to be acyclic. Our algorithm segment chains must be similar. For determining the quality
follows a breadth-first search order to match and align the of angle matching, only d possible alignments have to be
patch regions. It first picks an isolated feature (usually a considered for a degree d branch point. For instance, as
branch if it is present) as the root, it then traverses down shown in Fig. 5d, the degree 3 branch patch would have
through the graph one edge at a time until every edge three alignments ð1; 2; 3Þ ! ð1; 2; 3Þ; ð2; 3; 1Þ; ð3; 1; 2Þ (the
reachable from the root is covered. This process is mirror image of this patch is treated as a new patch and
illustrated in Figs. 6c, 6d, and 6e. Note that this is a its alignment is a separate process). Because there are
departure from traditional texture synthesis methods that typically not many such branch points in a given example
follow a rigid patch placement order (for example, left to height field, testing against all candidate matches is
right and top down). extremely fast.
Finally, all the as-yet unfilled regions in the output height To perform warping of a candidate patch to fit the user’s
field are filled using regions from the input that do not contain sketch, first a set of control points fPi g must be identified
any strong features. The final result is depicted in Fig. 6f. In for the patch. These control points consist of the location of
both stages, several candidate patches are considered for
the branch point itself, plus those places where each
placement and the patch that is selected for use is the one that
outgoing path intersects a circle that is inscribed in the
gives the least cost in terms of its match with the user’s sketch
patch (see Fig. 5d). For instance, a patch with a three-way
and its overlap with already placed patches. (Patch placement
branch will have a total of four control points. Correspond-
invokes a graph-cut algorithm to select which pixels should
ing control points fPi0 g are also defined for the patch from
be deposited in the output height field and this will be
the sketch map. Now, we desire a continuous coordinate
described in Section 5.1). In Sections 4.1 and 4.2, we describe
transformation that maps the control points fPi g to fPi0 g
these matching and placement operations in more detail.
and that gives the minimal amount of distortion. We use a
4.1 Feature Patch Matching and Placement thin-plate spline (TPS) interpolant [33] for this purpose
As described above, isolated features in the user’s sketch because it works well with few constraints and it introduces
are either branch points or endpoints in the segment graph. minimal distortion as measured by the integral bending
Fig. 6b contains three branch points and five endpoints. The norm. We use two separate TPS functions to form a
system analyzes the user’s sketch map and identifies all coordinate transformation that maps any position in the
such isolated features. One by one, each such isolated original height field to its interpolated location in the
feature is examined and a list of candidate matches is warped height field. The best k branch-point patches with
formed from the isolated features in the example height the lowest deformation energy are the candidates for
field. We will consider branch points and endpoints in turn. further matching.
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 839

Fig. 7. (a) Height profiles perpendicular to the path are stored at


uniformly sampled points along the path. The height profile at point P
that joins two paths is linearly interpolated from the profiles stored at P 2
and P 3. (b) An example of the 5-point height profile that is stored at P 3.
Fig. 8. (a) Synthesis result using raster-scan patch placement order.
4.1.2 Endpoints (b) Synthesis result using tree traversal.
Endpoint matching is straightforward because all endpoints
have similar curvilinear features: a relatively short segment . cf . This refers to the feature dissimilarity cost. The
chain going out of the endpoint, which can be aligned dissimilarity cost measures how closely features
easily. Thus, we select all endpoint patches (Fig. 5e) as along the joining paths are matched.3 We uniformly
candidates for further matching without applying warping sample the curvilinear path and store a coarse height
in this case. profile perpendicular to the path (our current
implementation uses a 7-point profile) at each
4.1.3 Path Features sampled point (Fig. 7). When the path joins the
All of our curvilinear features are chains of line segments other path at point P , the height profile at P is
(from PPA) that stretch between two isolated features. Our linearly interpolated from the profiles stored at its
system finds matching patches along such curvilinear two nearest neighbors, P 2 and P 3. Height profiles
features while traversing these chains of line segments in from joining paths are compared using the sum of
squared differences (SSD).
the user’s sketch. The system travels along these chains in
. ci s. This refers to other user specified constraint(s)
steps that are one-half a patch in size, laying down a patch
such as the height constraint or the path smoothness
with each step. As with branching patches, the candidate constraint.
patches along a curvilinear feature are deformed to better fit
The total cost is then a linear combination
P of all of the
the user’s sketch. There are always three control points, P0 ,
matching costs c ¼ d cd þ g cg þ f cf þ ni¼1 i ci . Note that
P1 , and P2 , in the candidate patch (Fig. 5f), and three the s serve not only as weights, but also as normalization
corresponding points, P00 , P10 , and P20 , in the user’s sketch coefficients for the costs. In our current system, we set
that determine the warp. The outer control points P1 and P2 d ¼ 1; 000, g ¼ 1, and f ¼ 3 for most test cases. Changing
are located where the path crosses the inscribed circle of the these coefficients changes the emphasis on the matching
patch. The central point P0 is the midpoint in the chain criteria and results in different synthesis results. After
within a patch, which is analogous to the central control curvilinear feature matching and breadth-first search order
point in a branch patch. placement, the output height field looks like the one in Fig. 6e.
All of the candidate patches are ranked according to a Fig. 8 shows a comparison between raster-scan and tree-
combination of matching criteria. The best candidate patch ordered patch placement using the sketch map in Fig. 10a and
is merged in the output height field. We use the following the example height map of Fig. 10b. The inner structure of the
 symbol is garbled in the raster scan result (Fig. 8a). This is
cost terms:
because the row-based scan locks onto the boundary of the
. cd . This refers to the deformation energy from the TPS circle immediately, creating constraints on future matching
warping (we refer the readers to [33]). The deforma- that prevent good matches in the interior. As Fig. 8b shows,
both the  and the circle can be reproduced if the most difficult
tion energy measures how well the candidate patch
element (the center branch point) is matched first.
terrain structure matches the sketch map constraints.
Although TPS warping can warp the patch into the 4.2 Nonfeature Patch Placement
desired configuration in most cases (except for Once the isolated features and curvilinear features have been
degenerate cases such as when three control points placed, the empty areas in the output height field are those
are collinear), a large deformation results in a notice- places without strong features. A feasible way to fill these
able distortion and is penalized here. areas is to copy patches that match the pixels that have
. cg . This refers to the graph-cut score (see Appendix A). already been placed. To do this, our system “grows out” from
The graph-cut seam cost is an indication of how well the already filled-in areas. Specifically, square patch positions
in coarsely spaced increments (for example, every 100 pixels
the candidate patch matches the already merged
horizontally and vertically) are filled in descending order
patches in the overlap regions (graph cut automati-
cally handles the case where one patch overlaps with 3. The graph cut cost gives an overall measure of the overlap quality, but
multiple patches and the overlapping can be disjoint). it weights every pixel in the overlap region equally. It is difficult to integrate
the feature dissimilarity measure into the graph cut algorithm; therefore, a
A higher graph-cut score means the seam is more separate feature dissimilarity cost term is introduced into our system to
noticeable and harder to remove by Poisson editing. place emphasis on features.
840 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

Fig. 9. Illustration of patch placement and seam removal. (a) Matching patches are identified via graph cut. (b) Patch placement results in a seam.
(c) Poisson seam remover yields the final output.

according to the area of the overlapping region with the to artificially set gradient values at the seams. We do this by
already synthesized height field. solving a Poisson equation similar to the manner in which
The system looks for a high-quality match between such a Pérez et al. perform pixel matching across seams in a color
patch and the already synthesized height field based on the image [37].
SSD of the overlapping regions and selects k candidates. It Our elevation adjustment stage first translates the
then finds the best match according to the combination of the elevation values in the overlap region (typically one-third
SSD score and the graph-cut cost in merging. The best patch is of the patch size) into gradient values. Then, the gradient
placed and the system continues traversing the output height values across the seam are artificially set to zero. Finally, a
field looking for overlaps. The process terminates when all Poisson equation is solved to find the best fit set of
pixels in the output map have been filled. elevations to these adjusted gradient values. The result of
The SSD-based search to find the patch that best matches this process is a new set of elevations that is much smoother
the already synthesized output height field can be acceler- at the seam (Fig. 9c). Our system performs such elevation
ated using Fast Fourier Transforms (FFTs) [34], [35]. Using adjustments locally, invoking the method one time per
the FFT-based approach, the matching cost can be com- placed patch. Performing elevation adjustment locally
puted in Oðn logðnÞÞ time, where n is the number of pixels avoids the challenge of solving huge matrix equations. For
in the source height field. This is in comparison to Oðn2 Þ more details, we refer the reader to Appendix B.
time for a naive SSD implementation.
6 TERRAIN SYNTHESIS RESULTS
5 PATCH MERGING We used DEMs from the US Geological Survey terrain data
Our system combines two techniques to assure smooth for the results shown in Figs. 1, 10, 11, 12, 13, and 15. The
transitions between patches that are placed in the output origin, resolution, and size of the data are listed in Table 1.
height field. The first of these is the graph-cut technique Our example height fields range from 1,200  1,200 to
[26], [36], which finds good seams between already placed 4,097  4,097 samples at a height resolution of 16 bits. These
pixels and the pixels from a region that is in the process of large terrain maps pose significant search problems for a
being placed. The second procedure solves a discrete traditional texture synthesis approach. At our patch size of
Poisson equation [37] to create more gentle transitions 80  80 pixels, there are approximately 16 million possible
between the existing pixel elevations and the pixels from a matches in a given 4,000  4,000 map. However, as a result
newly placed patch. of our feature-based analysis, we can filter this total set
down to approximately 600 match evaluations for a given
5.1 Graph-Cut Optimal Seam Finder candidate position to be filled, which dramatically reduces
The graph-cut algorithm finds a seam in the overlapping the computational cost. Our method can synthesize a
region between patches that determines which pixels will representative terrain in approximately 5 to 6 minutes on
be kept in the final image. This is accomplished by solving a an Intel Pentium 4 2.0 GHz processor with a 2 Gbyte
max-flow/min-cut graph problem that minimizes the cost memory. All of the results are rendered using Planetside’s
of mismatched elevations across the cut. Edges in the graph Terragen terrain rendering system with procedural textures
represent connections between adjacent pixels and they are (determined by height and slope) overlaid on top of the
given weights based on elevation differences. For some terrain geometry.
patches, we want to insist that particular groups of pixels Figs. 10 and 11 illustrate the variation in output that can
from a given patch should be included, such as the central be obtained from the same sketch using our terrain
pixels in a branch feature patch. This is accomplished by synthesis approach. Fig. 10d shows the synthesis result
setting some of the edge weights infinitely high. (1,000  1,000) for the Mount Jackson terrain, and the sketch
As mentioned earlier, the cost of the final seam from the map for this example is shown in Fig. 10a. Although this
graph-cut algorithm is used by the system to select among result was created from many patches, both the interior 
candidate patches for representing a given feature. Details and the outer circle are formed by unbroken mountain
on the use of the graph-cut algorithm for seam finding can ridges. Also note the characteristic curtainlike folds in the
be found in [26]. sides of the mountains. Fig. 10h shows the synthesis results
(2,000  2,000) using the Grand Canyon terrain. The sketch
5.2 Poisson Seam Remover map in Fig. 10e used for this example is the inverse of that
After the system has placed a new patch into the output in Fig. 10a so that valleys are selected instead of mountains.
map using graph cut, a discontinuity may still be visible Here, the  and the circle are formed from joined pieces of
along the seam (Fig. 9b). We further improve elevation the Colorado River, yet the seam locations cannot be
matching across a seam by adjusting the heights according detected. Although guided by the user’s sketch, this terrain
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 841

Fig. 10. Multiple terrain synthesis results with the sketched half-life symbol. (a) User sketch. (b) Mount Jackson. (c) Synthesis result. (d) Rendered
terrain synthesized from an elevation map of Mount Jackson, Colorado. (e) User sketch. (f) Grand Canyon. (g) Synthesis result. (h) Rendered terrain
synthesized from an elevation map of the Grand Canyon.

retains the rich water-carved features of the original data. results illustrate the ability of our system to work with a
Fig. 11d shows the synthesis result (1,000  1,000) for the wide variety of terrain types with very different character-
Mount Vernon terrain, and Fig. 11h shows the synthesis istics while maintaining the salient features of the input
results (2,000  2,000) using the DEM from Flathead sketch map. Fig. 15 provides close-up views of the Grand
National Forest mountain region. Fig. 12d shows the Canyon and Flathead range synthesis results. Fig. 13a
synthesis result (1,000  800) for the Mount Vernon terrain shows a rendering of the Grand Canyon height map. We
with a user sketched Chinese character for “water.” These extract the canyon feature from this map using PPA to
842 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

Fig. 11. Multiple terrain synthesis results with the sketched half-life symbol. (a) User sketch. (b) Mount Vernon. (c) Synthesis result. (d) Rendered
terrain synthesized from an elevation map of Mount Vernon, Kentucky. (e) User sketch. (f) Flathead range. (g) Synthesis result. (h) Rendered terrain
synthesized from an elevation map of Flathead National Forest mountain range, Montana.

obtain a sketch map. By synthesizing the sketch in the style styles. A simple sketch map (Fig. 14b) was created by the user
of the Puget Sound DEM, we obtain a “mountain” version from an artist rendering of the map of Middle Earth (Fig. 14a).
(4,000  2,000) of the Grand Canyon, illustrated in Fig. 13b. The user assigned different terrain styles to each part of the
sketch map (Table 2). In this example, the user first placed
6.1 Synthesis with Multiple Terrain Styles Mount St. Helen at the location of Mount Doom in Mordor (a
A larger example, illustrated in Fig. 14, shows the generation localized feature). Our system then synthesized the rest of the
of a 3D map of Middle Earth using several different terrain terrain (3,470  2,996) automatically and merged it seamlessly
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 843

Fig. 12. Terrain synthesis result with the sketched Chinese character for “water.” (a) User sketch. (b) Mount Vernon. (c) Synthesis result.
(d) Rendered terrain synthesized from an elevation map of Mount Vernon, Kentucky.

with Mount Doom. Note that the user sketch includes both a system to make full use of an example-based approach in
variety of mountain ranges and a river valley (the Dead the domain of terrain synthesis.
Marshes, near the northwest corner of Mordor). The coast, Our method suffers from the same limitations as all
lakes, and rivers were created using a simple mask, which was example-based methods. In particular, the quality of the
extracted from the original map. The synthesized height map final synthesis depends upon the richness of the available
(Fig. 14c) was rendered using Planetside’s Terragen terrain terrain data. If the terrain features desired by the user
rendering system with both procedural and masked textures cannot be found in the example height field, then it will not
to give it an artistic feel. This example illustrates the ability of be possible to produce the desired result. For instance, our
our system to combine multiple terrain styles into one method will perform poorly if the terrain data is from a
synthesized terrain and to blend seamlessly among them. desert region where few significant curvilinear features are
Please view the movie (DivX encoded) that accom- present. The method can also perform poorly when the
panies this paper at http://www.computer.org/tvcg/ curvilinear feature pattern is extremely complicated. An
archives.htm. Additional results may be found at http:// additional issue is the need to specify the patch size, which
www.cc.gatech.edu/howardz/terrain. depends in turn upon the resolution and scale of the
example terrain.
We plan to extend our current method in several ways.
7 CONCLUSION First, it would be interesting to give the user greater control
We have demonstrated that example-based texture synth- over the synthesized terrain by incorporating additional
esis methods can be successfully adapted to the domain of constraints into the sketch map. For example, we plan to
terrain synthesis. The result is a new level of visual realism provide the ability to specify a desired elevation at a specific
in a user-controllable synthesized terrain. Our approach position. This could be accomplished by constraining the
leverages the fact that useful terrain features can be Poisson solver in conjunction with the matcher. We are also
extracted from height fields using analysis techniques from investigating the enforcement of C 1 continuity in addition
the geomorphology community. to our current enforcement of C 0 continuity. We intend to
We have introduced a tree-ordered patch placement explore the joint synthesis of elevation and texture maps for
algorithm that is based on a breadth-first traversal of a rendering and the interactive control of terrain synthesis.
feature tree. Our results demonstrate that this placement
method is superior to standard raster-scan placement orders. APPENDIX A
We have demonstrated the ability to synthesize terrain in
widely differing styles while retaining control over the GRAPH-CUT SEAM FINDING
positioning of major terrain features. Our system is based The graph-cut algorithm finds the minimum cost seam
on an intuitive sketch-based interface for specifying the (according to some matching quality measure) in the
desired terrain characteristics. We believe ours is the first overlapping region between patches that determines which
844 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

Fig. 13. The Grand Canyon turned into a mountain range. Features extracted from the Grand Canyon DEM are used as the user sketch to
synthesize a mountain range following the structure of the Grand Canyon from an elevation map of the Puget-Sound-style mountain range.

pixels will be kept in the final image. We choose the nodes A and B to represent the old and new patches. The
matching quality measure defined in [26], which is a edges that connect pixels in  and nodes A and B are set to
measure of intensity (elevation) difference between the have infinitely high weights indicating that these pixels are
pairs of pixels. For example, in Fig. 16, let s and t be two constrained to come from one particular patch. In Fig. 16,
adjacent pixel positions in the overlap region  between pixels 1, 2, and 3 have to come from patch A and pixels 7, 8,
patch A and B. Let aðsÞ and bðsÞ be the elevation at the and 9 from B. To determine which patch each of the pixels 4, 5,
position of the patches, respectively. Then, the matching and 6 will come from, we solve a max-flow/min-cut graph
quality measure M between the two adjacent pixels at problem that minimizes the cost of mismatched elevations
position s and t from patches A and B is defined to be across the cut. The red line shows the minimum cut (the
elevation difference between the two patches along the cut is
Mðs; t; A; BÞ ¼ jaðsÞ  bðsÞj þ jaðtÞ  bðtÞj: ð1Þ minimum). In the overlap region, pixels 5 and 6 will be copied
The graph shown in Fig. 16 has one node per pixel in the from the old patch B since they are still connected to node B.
overlap region between patches. The weight of the edge Likewise, pixel 4 will be copied from A. The cost cg of the
connecting the adjacent pixel nodes s and t is set to equal the minimum cut C is defined in terms of the matching quality
matching quality cost Mðs; t; A; BÞ. We use two additional measure as
X
cg ¼ Mðs; t; A; BÞ: ð2Þ
<s;t> 2 C
TABLE 1 s;t 2 

Input DEM Locations, Resolution, and Sizes


For some patches, we want to insist that particular groups of
pixels from a given patch should be included, such as the
central area surrounding a branch-point feature or along a
path. This is accomplished by setting the edge weights
connecting those areas to the nonoverlapping region infi-
nitely high.
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 845

Fig. 14. A 3D map of Middle Earth synthesized from multiple elevation maps. (a) Map of Middle Earth. (b) User sketch with masked water system.
(c) Synthesis result. (d) Rendered terrain synthesized from multiple elevation maps.

APPENDIX B will describe how we remove this seam through our


POISSON SEAM REMOVAL Poisson elevation adjustment method.
Let  be a closed subset of IR2 with boundary @. Let f
Even using the graph-cut approach to choose where to join
be the elevation value in the overlap region; hence, f is a
two patches, elevation differences may still be visible. For scalar function defined over . Our elevation adjustment
example, in Fig. 9a, the overlap region  is the new height stage first translates the elevation values in  into gradient
@f
field from our graph-cut seam finder. Though optimum, vector fields v ¼ ðu; vÞ, with u ¼ @x and v ¼ @f
@y . To remove
seam C is still visible in the new height field (Fig. 9b). We the height difference between pixels across the seam C, the
846 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

Fig. 15. Close-up views of synthesized terrain from the Grand Canyon (top images) and Flathead National Forest mountain range (bottom images).
ZHOU ET AL.: TERRAIN SYNTHESIS FROM DIGITAL ELEVATION MODELS 847

[7] R. Szeliski and D. Terzopoulos, “From Splines to Fractals,” Proc.


TABLE 2 16th Ann. Conf. Computer Graphics and Interactive Techniques
Middle Earth Regions (SIGGRAPH ’89), pp. 51-60, 1989.
[8] D.S. Ebert, F.K. Musgrave, D. Peachy, K. Perlin, and S. Worley,
Texturing and Modeling: A Procedural Approach. Morgan Kaufmann,
2002.
[9] C. Dachsbacher, Interactive Terrain Rendering: Towards Realism with
Procedural Models and Graphics Hardware, http://www.opus.ub.
uni-erlangen.de/opus/volltexte/2006/354/, 2006.
[10] A.D. Kelley, M.C. Malin, and G.M. Nielson, “Terrain Simulation
Using a Model of Stream Erosion,” Proc. 15th Ann. Conf. Computer
Graphics and Interactive Techniques (SIGGRAPH ’88), pp. 263-268,
1988.
[11] F.K. Musgrave, C.E. Kolb, and R.S. Mace, “The Synthesis and
Rendering of Eroded Fractal Terrains,” Proc. 16th Ann. Conf.
Computer Graphics and Interactive Techniques (SIGGRAPH ’89),
vol. 23, no. 3, pp. 41-50, 1989.
[12] P. Roudier and B.P.M. Perrin, “Landscapes Synthesis Achieved
through Erosion and Deposition Process Simulation,” Computer
Fig. 16. Finding the optimal seam in the overlapping region with graph
Graphics Forum, vol. 12, no. 3, p. 375, Aug. 1993.
cut. [13] N. Chiba, K. Muraoka, and K. Fujita, “An Erosion Model Based on
Velocity Fields for the Visual Simulation of Mountain Scenery,”
gradient values along the seam are artificially set to zero. J. Visualization and Computer Animation, vol. 9, no. 4, pp. 185-194,
1998.
However, the resulting gradient vector field v0 is most likely [14] K. Nagashima, “Computer Generation of Eroded Valley and
no longer conservative ðcurlðv0 Þ 6¼ 0Þ; in other words, it is Mountain Terrains,” The Visual Computer, vol. 13, nos. 9-10,
no longer the gradient of any scalar function. Here, the pp. 456-464, 1997.
[15] B. Benes and R. Forsbach, “Layered Data Representation for
Poisson methodology comes into play because it allows Visual Simulation of Terrain Erosion,” Proc. 17th Spring Conf.
nonconservative vector fields to be used to reconstruct a Computer Graphics (SCCG ’01), p. 80, 2001.
plausible elevation field. As shown in [37], we can find the [16] B. Neidhold, M. Wacker, and O. Deussen, “Interactive Physically
Based Fluid and Erosion Simulation,” Proc. Eurographics Workshop
best fit set of elevations f 0 to the adjusted vector field v0 by Natural Phenomena, 2005.
solving the Poisson equation with Dirichilet boundary [17] J. Brosz, F.F. Samavati, and M.C. Sousa, “Terrain Synthesis By-
conditions. Example,” Proc. First Int’l Conf. Computer Graphics Theory and
Applications (GRAPP ’06), 2006.
The result of this process is a new set of elevations that
[18] J.-P. Lewis, “Texture Synthesis for Digital Painting,” Proc. 11th
change very little at the seam, as shown in Fig. 9c. Ann. Conf. Computer Graphics and Interactive Techniques (SIG-
GRAPH ’84), pp. 245-252, 1984.
[19] K. Perlin and L. Velho, “Live Paint: Painting with Procedural
ACKNOWLEDGMENTS Multiscale Textures,” Proc. 22nd Ann. Conf. Computer Graphics and
Interactive Techniques (SIGGRAPH ’95), pp. 153-160, 1995.
The authors would like to thank Yet-Chung Chang for his [20] D.J. Heeger and J.R. Bergen, “Pyramid-Based Texture Analysis/
discussions on the PPA algorithm and Yuri Boykov and Synthesis,” Proc. 22nd Ann. Conf. Computer Graphics and Interactive
Vladimir Kolmogorov for making their implementation of Techniques (SIGGRAPH ’95), pp. 229-238, 1995.
the maxflow algorithm publicly available on the Web. [21] A.A. Efros and T.K. Leung, “Texture Synthesis by Non-Parametric
Sampling,” Proc. Int’l Conf. Computer Vision, pp. 1033-1038, 1999.
Thanks are also due to Vivek Kwatra, Matthew Mullin, [22] L.-Y. Wei and M. Levoy, “Fast Texture Synthesis Using Tree-
Huamin Wang, Spencer Charles Brubaker, Matthew Flagg, Structured Vector Quantization,” Proc. 27th Ann. Conf. Computer
Pei Yin, Jianxin Wu, Yifan Shi, and Ping Wang for their Graphics and Interactive Techniques (SIGGRAPH ’00), pp. 479-488,
2000.
helpful comments and suggestions. This work was sup-
[23] M. Ashikhmin, “Synthesizing Natural Textures,” Proc. Symp.
ported by US National Science Foundation (NSF) Grants Interactive 3D Graphics, pp. 217-226, 2001.
ITR-0205507 and CCF-0204355 and an NSF Graduate [24] A.A. Efros and W.T. Freeman, “Image Quilting for Texture
Research Fellowship (to Howard Zhou). The authors would Synthesis and Transfer,” Proc. 28th Ann. Conf. Computer Graphics
and Interactive Techniques (SIGGRAPH ’01), pp. 341-346, 2001.
also like to thank the reviewers whose excellent comments
[25] A. Hertzmann, C.E. Jacobs, N. Oliver, B. Curless, and D.H. Salesin,
led to the current paper. “Image Analogies,” Proc. 28th Ann. Conf. Computer Graphics and
Interactive Techniques (SIGGRAPH ’01), pp. 327-340, 2001.
[26] V. Kwatra, A. Schödl, I. Essa, G. Turk, and A. Bobick, “Graphcut
REFERENCES Textures: Image and Video Synthesis Using Graph Cuts,” ACM
[1] Y.-C. Chang, G.-S. Song, and S.-K. Hsu, “Automatic Extraction of Trans. Graphics, Proc. 30th Int’l Conf. Computer Graphics and
Ridge and Valley Axes Using the Profile Recognition and Interactive Techniques (SIGGRAPH ’03), vol. 22, no. 3, pp. 277-286,
Polygon-Breaking Algorithm,” Computer and Geosciences, vol. 24, 2003.
no. 1, pp. 83-93, 1998. [27] Q. Wu and Y. Yu, “Feature Matching and Deformation for Texture
[2] B.B. Mandelbrot, The Fractal Geometry of Nature. W.H. Freeman, Synthesis,” ACM Trans. Graphics, Proc. 31st Int’l Conf. Computer
1982. Graphics and Interactive Techniques (SIGGRAPH ’03), vol. 23, no. 3,
[3] A. Fournier, D. Fussel, and L. Carpenter, “Computer Rendering of pp. 364-367, 2004.
Stochastic Models,” Comm. ACM, vol. 25, no. 6, pp. 371-384, 1982. [28] P. Bhat, S. Ingram, and G. Turk, “Geometric Texture Synthesis,”
[4] R.F. Voss, “Random Fractal Forgeries,” Fundamental Algorithms for Proc. Eurographics Symp. Geometry Processing, 2004.
Computer Graphics, R.A. Earnshaw, ed., 1985. [29] A. Lagae, O. Dumont, and P. Dutré, “Geometry Synthesis by
[5] G.S.P. Miller, “The Definition and Rendering of Terrain Maps,” Example,” Shape Modeling Int’l, 2005.
Proc. 13th Ann. Conf. Computer Graphics and Interactive Techniques [30] S. Lefebvre and H. Hoppe, “Parallel Controllable Texture
(SIGGRAPH ’86), vol. 20, no. 4, pp. 39-48, 1986. Synthesis,” ACM Trans. Graphics, Proc. 32nd Int’l Conf. Computer
[6] J.P. Lewis, “Generalized Stochastic Subdivision,” ACM Trans. Graphics and Interactive Techniques (SIGGRAPH ’05), pp. 777-786,
Graphics, vol. 6, no. 3, pp. 167-190, 1987. Aug. 2005.
848 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 13, NO. 4, JULY/AUGUST 2007

[31] S. Lefebvre and H. Hoppe, “Appearance-Space Texture Synth- Greg Turk received the PhD degree in computer
esis,” ACM Trans. Graphics, Proc. 33rd Int’l Conf. Computer Graphics science from the University of North Carolina,
and Interactive Techniques (SIGGRAPH ’06), vol. 25, no. 3, pp. 541- Chapel Hill, in 1992. He is currently an associate
548, 2006. professor at the Georgia Institute of Technology,
[32] J. Zhang, K. Zhou, L. Velho, B. Guo, and H.-Y. Shum, “Synthesis where he is a member of the College of
of Progressively-Variant Textures on Arbitrary Surfaces,” ACM Computing and the Graphics, Visualization, and
Trans. Graphics, vol. 22, no. 3, pp. 295-302, 2003. Usability Center. His research interests include
[33] F.L. Bookstein, “Principal Warps: Thin-Plate Splines and the computer graphics, computer vision, and scien-
Decomposition of Deformations,” IEEE Trans. Pattern Analysis and tific visualization. He is a member of the IEEE and
Machine Intelligence, vol. 11, no. 6, pp. 567-585, 1989. the IEEE Computer Society.
[34] C. Soler, M.-P. Cani, and A. Angelidis, “Hierarchical Pattern
Mapping,” ACM Trans. Graphics, vol. 21, no. 3, pp. 673-680, July
2002. James M. Rehg received the PhD degree in
[35] S.L. Kilthau, M.S. Drew, and T. Möller, “Full Search Content electrical and computer engineering from the
Independent Block Matching Based on the Fast Fourier Trans- Carnegie Mellon University. He is an associate
form,” Proc. IEEE Int’l Conf. Image Processing (ICIP ’02), pp. 669- professor in the College of Computing, Georgia
672, 2002. Institute of Technology. He is a member of the
[36] Y. Boykov, O. Veksler, and R. Zabih, “Fast Approximate Energy Graphics, Visualization, and Usability Center
Minimization via Graph Cuts,” IEEE Trans. Pattern Analysis and and codirects the Computational Perception
Machine Intelligence, vol. 23, no. 11, pp. 1222-1239, Nov. 2001. Laboratory. His research interests are computer
[37] P. Pérez, M. Gangnet, and A. Blake, “Poisson Image Editing,” vision, computer graphics, machine learning,
ACM Trans. Graphics, Proc. 30th Int’l Conf. Computer Graphics and and robotics. He is a member of the IEEE and
Interactive Techniques (SIGGRAPH ’03), vol. 22, no. 3, pp. 313-318, the IEEE Computer Society.
2003.

Howard Zhou received the BS degree in


engineering and applied science from the Cali- . For more information on this or any other computing topic,
fornia Institute of Technology in 2002 and the MS please visit our Digital Library at www.computer.org/publications/dlib.
degree in computer science from the Georgia
Institute of Technology in 2005. He is currently
working toward the PhD degree under the
supervision of Dr. James M. Rehg and Dr. Greg
Turk. His research interests include computer
vision, computer graphics, and machine learning.

Jie Sun received the BE degree in computer


science and engineering from Zhejiang Univer-
sity, China, in 2002 and the MS degree in
computer science from the Georgia Institute of
Technology in 2005, where he is currently work-
ing toward the PhD degree under the supervision
of Dr. James M. Rehg and Dr. Aaron Bobick. His
research interests include computer vision, ma-
chine learning, and computer graphics.

You might also like