Content uploaded by Luc Van Gool
Author content
All content in this area was uploaded by Luc Van Gool on Apr 28, 2016
Content may be subject to copyright.
Viewpoint Consistent Texture Synthesis
Alexander Neubeck, Alexey Zalesny, and Luc Van Gool
Swiss Federal Institute of Technology Zurich
Computer Vision Lab
{aneubeck,zalesny,vangool}@vision.ee.ethz.ch
Abstract
The purpose of this work is to synthesize textures of
rough, real world surfaces under freely chosen viewing and
illumination directions. Moreover, such textures are pro-
duced for continuously changing directions in such a way
that the different textures are mutually consistent, i.e. emu-
late the same piece of surface. This is necessary for 3D an-
imation. It is assumed that the mesostructure (small-scale)
geometry of a surface is not known, and that the only in-
put consists of a set of images, taken under different view-
ing and illumination directions. These are automatically
aligned to build an appropriate Bidirectional Texture Func-
tion (BTF). Directly extending 2D synthesis methods for
pixels to complete BTF columns has drawbacks which are
exposed, and a superior sequential but highly parallelizable
algorithm is proposed. Examples demonstrate the quality of
the results.
1. Introduction
Textures are often used to convey an impression of sur-
face detail, without having to invest in fine-grained geom-
etry. Starting from example images, several methods can
model textures and synthesize more extended areas of them
[1,4–7, 13,14,16]
A shortcoming of early methods was that these textures
would remain fixed under changing viewing or lighting di-
rections, whereas the 3D structures they were supposed to
mimic would lead to changing self-occlusion and shadow-
ing effects. Therefore, more recent texture modeling and
synthesis methods include such effects [3,8,10–12,15], with
some of our own work as an early example [18,19]. These
recent methods can be used to cover curved surfaces with
textures that adapt their parameters to the different, local
orientations with respect to the viewpoint and light sources.
The gain in realism when compared to fixed texture fore-
shortening and shading is often striking.
Animations, where the viewpoint or light sources move
with respect to the surface, add the requirement of texture
consistency over time. Subsequent textures for the same
surface patch should seem to all visualize the same physical
surface structure. Only a subset of the previous methods can
produce such consistent time series of textures. Examples
are those which explicitly retrieve surface height or normal
information [3, 12] or stitch together texton representations
that already include their appearance under several viewing
conditions [11, 15] and where the ‘textons’ can shrink to a
single pixel [8, 10]. Both approaches limit the geometric
complexity that can be handled. For the former this imme-
diately stands to reason, but it may be less obvious for the
latter. We will return to this issue shortly.
In this paper we propose a novel method of the latter
type, i.e. based on a kind of copy-and-paste approach. It
tries to overcome the limitations of current methods, by
widening the choice of basic material to copy from with-
out the need for additional sample images. Also, we deal
with real, colored textures, rather than synthetic or grey
level ones, as has sometimes been the case.
The paper is organized as follows. Section 2 describes
the input images that we use, as well as the way in which
the incoming information is organized. Section 3 describes
the texture synthesis method that exploits this information
to produce consistent textures. Section 4 shows examples.
Section 5 concludes the paper.
2. Bidirectional Texture Function
2.1. Images stacks as input
The input consists of images of a planar sample of
the texture, taken under known viewing conditions (known
viewing and illumination directions). The biggest publicly
available image database of this kind is the CUReT [2],
which has some insufficiencies. Firstly the representation is
not complete because for each illumination direction there
is only a 1D trajectory of viewing angles. Secondly, im-
age quality is rather low, especially in terms of the colors.
Another, but much smaller database has been produced by
Koudelka et al. [10]. Hence, we have constructed a spe-
Figure1.Setup for taking pictures under variable viewing
and illumination directions.
cially designed apparatus, shown in Fig. 1. It consists of
a camera arm that can be moved to specified inclinations,
several light sources that can be individually activated, and
a turntable on which the texture sample is placed. The arm
and table rotate about orthogonal axes, thereby covering a
complete hemisphere of directions. The sessions are com-
puter controlled, so that the user only needs to specify de-
sired intervals. All images are then taken automatically at
the desired angular resolutions, except for the illumination
directions, which are limited by the light sources present in
the setup. There have been only 4 lamps so far, but many
more are planned in the follow-up version of the setup. We
plan to make the texture data available [17].
Starting from the different images the bidirectional tex-
ture function or ‘BTF’ can be constructed. The BTF repre-
sentation was introduced by Dana et al. [2]. It contains the
intensities or colors observed for a certain point (specified
by its ‘texture coordinates’) on the texture, for each viewing
and lighting directions. Hence, it is a 6D function. In prac-
tice this function is sampled by thousands of images taken
under different illumination and viewing directions, hence
the need for a largely automated setup as just described.
These images are rectified by projective transformations, to
let their outlines precisely fit those of the frontal view. The
determination of the transformations is facilitated by a set
of markers placed around the texture patch on the turntable.
Fig. 2 shows two images of the same texture (an oblique
view on the left and the frontal view on the right). The
image in the middle is the image on the left, projectively
aligned with the frontal view on the right. Such alignment
Figure 2. Stack alignment. Left: oblique view, middle:
oblique view after alignment to frontal view, right: frontal
view.
Figure 3. Lichen texture. left: frontal view, right: oblique
view.
is part of the automatic image capturing procedure. This
alignment removes the global, perspective distortions. We
will refer to the complete set of aligned images of a texture
as a BTF stack. When only the data at a fixed pixel location
is considered, we refer to the corresponding data subset as
aBTF column.
One such BTF column of the “lichen” texture example
of Koudelka et al. [10] (Fig. 3) is visualized in Fig. 4. The
same pixel intensities are shown twice, using two different
orderings of the imaging conditions. Each small block of
the top image consists of pixels ordered according to the
two viewing angles, whereas the blocks themselves are or-
Figure 4. BTF column visualization (cutout). Top: each
block represents tilt/pan angles of viewing direction, blocks
are arranged by tilt/pan angles of lighting direction. Bot-
tom: Switched viewing and lighting angles in the ordering.
dered according to the two lighting angles. In the bottom
image the roles of viewing and lighting are swapped. Al-
ready at first glance it is clear that the intensities within the
blocks are smoother when they are arranged by lighting an-
gles. This has to do with the 3D nature of the real sur-
face: changing only the lighting and keeping the viewing
direction fixed ensures that also in such case a fixed pixel
in the images will correspond to one fixed point on the sur-
face. In case the viewing direction is changed, alignment
through a simple planar projectivity cannot avoid that the
same pixel will now correspond to different points on the
surface, thereby increasing the changes in intensities.
Smoothness in the BTF is important, as it improves the
creation of intermediate views. BTF-based rendering is usu-
ally based on pixelwise linear interpolation between nearest
views. The more similar these neighboring views are, the
better it works. The same holds for the synthesis of en-
tirely novel texture patches by smart copy-and-pasting of
BTF data (a strategy used in e.g. [8, 10]). Seamless knitting
based on smooth functions is easier than for functions with
lots of variation.
This brings us to an issue that has not received much
attention yet, but that has an important impact on the use-
fulness of BTF stacks. Due to the 3D nature of most real
textures, the BTF is not unique. So far images were aligned
to the coplanar markers on the turntable, but a similar align-
ment based on parallel planes at different heights yields
different BTFs for exactly the same texture patch. BTF
smoothness can be increased by making an optimal choice.
This is discussed next.
2.2. Improved BTF Alignment
As mentioned in the last section, the BTF representation
of a texture is not unique, as it depends on the choice of the
alignment plane. This choice will also have an influence
on the smoothness of the BTF, and therefore on its poten-
tial for texture synthesis. As mentioned, the alignment to
a reference plane (like that of the turntable markers) can-
not avoid that the same pixel will correspond to different
physical points on the surface (texture sample). This drift is
illustrated in Fig. 5. If not all surface points lie in the same
plane, images taken under different viewing directions can-
not be aligned to map all points onto each other, even under
the simplifying assumption of parallel projection. On the
other hand, drift effects can be minimized and thus BTF
smoothness increased by aligning with respect to a plane
within the height range of the texture.
For texture synthesis based on copy-and-pasting of BTF
data – which is also the basis of the approach presented in
this paper – it stands to reason that a good BTF stack is one
with maximal smoothness. Such stack could also support
further subsampling: if a view can be interpolated very well
texture surface
projection planes
view 2
view 2
view 2
view 1
view 1
view 1
drift
Figure 5. Nonuniqueness of BTF representation. A sur-
face point is mapped to distinct pixels in the BTF. The pixel
drift depends on the projection plane position.
by nearby views, it can be skipped. The smoothness is max-
imized by choosing the alignment plane which minimizes
the average Euclidean distance between the intensities of
neighboring views sharing the same lighting direction. That
is, the appearance change is measured as a pixelwise Eu-
clidean distance with respect to the four neighboring cam-
era positions. The average value of this Euclidean distance
over the whole BTF stack is calculated for several plane po-
sitions within a reasonable range. The plane corresponding
to the minimal distance is chosen. In Section 4 we show
an example of the beneficial influence that such selection
of the alignment plane has on the quality of the rendering
(Fig. 10).
2.3. Column vs. view-specific BTF copying
Suppose we extend a smart copying type of texture syn-
thesis for single views [1, 4, 5, 13, 16] to complete BTF
columns, i.e., complete BTF columns are copied and pasted
instead of RGB values (like in [8,10]), based on their com-
patibilities with already synthesized parts of the texture. It
would be extremely difficult to avoid strong seams, except
for very regular textures.
This can be explained as follows. Consider the simple
artificial texture shown in Fig. 6 (left). It was created by
the superposition of Gaussian functions, that are assumed to
simultaneously specify surface height and intensity. They
were centered at the nodes of a randomly deformed grid
and also their widths (standard deviations) were randomly
chosen. For this surface the BTF stack was generated by
orthogonal projections. Due to the 3D nature of the tex-
ture, BTF columns will always comprise information about
a neighborhood rather than a single surface point. Differ-
ently shaped Gaussians have spots with similar orientations
and would therefore share similar BTF columns if this in-
formation mixing would not occur. But as BTF columns are
bound to combine information from several surface points,
Figure 6. Artificial texture. Left: original, middle: copy-and-paste applied to complete BTF columns, right: result of a per-view
copy-and-paste synthesis.
differently shaped Gaussians will no longer share any BTF
column. A single BTF column already contains sufficient
data to reconstruct the Gaussian blob it was sampled from.
As all these Gaussians have different shapes, their BTF
columns will not be easy to combine. Hence, except for
verbatim copying of large chunks – which is often undesir-
able and would still result in seams between these chunks
– it is nontrivial to make neighboring columns consistent
and thereby avoid seams. Chances of forming new Gaus-
sian shapes are slim. The result of a copy-and-paste strat-
egy (see section 3.1) applied to complete BTF columns for
this example is shown in the middle image of Fig. 6. The
higher complexity of real surfaces only worsens the prob-
lem. It will be very improbable to find two BTF columns
in a rough irregular texture patch, which share the same re-
flectance properties for all viewing and lighting directions.
This makes synthesis by copying whole BTF columns al-
most impossible.
Although the choice of an appropriate alignment plane
reduces the problem of finding compatible BTF columns,
this will not suffice. Taking much larger texture samples and
therefore increasing the number of BTF columns to choose
from can also remedy this problem to some extent, but is
not always practical. Thus, on top of alignment plane op-
timization we propose an alternative strategy to enlarge the
choice of samples.
The proposed approach no longer copies and pastes com-
plete BTF columns, but only the data from the BTF that are
relevant for a specific viewing condition, i.e. only a small
part of the BTF. Hence, rather than synthesizing all views si-
multaneously, they are created one by one. Initially, a single
view is synthesized, which can be done with any traditional
texture synthesis algorithm. Then, this so-called support
view is used to guide the synthesis of the other views. In our
experiments we have always used a frontal view as the sup-
port view, but this is not necessary. The support view has to
ensure that the different textures are consistent. The small
part of the BTF columns that is used consists of the data
(intensity or color) for the support view and of the desired
view (different viewing and or lighting directions). Now
only small parts of the BTF columns need to be compatible,
thereby drastically increasing the choice, as we will com-
bine parts from different columns to synthesize the corre-
sponding pixel in different views. The price clearly is a loss
in efficiency, but the quality of such procedure is superior,
as is shown in Fig. 6(right) for the artificial example with
the Gaussians. There are no longer seams visible, while
simultaneously the variation in acceptable hill shapes has
increased.
During this sequential synthesis two contradicting issues
must be solved: texture quality and viewpoint consistency.
On the one hand seams might be better hidden when there
are more choices of stitching patches together. On the other
hand, requiring view consistency still amounts to restricting
the choice. The intuition behind our approach is similar to
Image Analogies [9]: given the original frontal view A, its
viewpoint consistent oblique view Band a synthetic frontal
view A′(the support view), the synthetic oblique view B′
has to be created in a way consistent with A′. From a BTF
column, only the entries from Aand Bare used. The copy-
and-paste process is led both by consistency with a pixel’s
neighborhood in the fixed support A′and the data already
available in the corresponding neighborhood within the B′
view under construction. As the synthesis of B′proceeds,
a dynamic weighting scheme increases its influence in this
comparison. After carrying out such synthesis for the differ-
ent possible views B′, a complete stack can be build again,
where the BTF columns are no longer one-to-one copies of
original BTF columns. Instead, they are compositions of
several columns, thereby yielding many more possibilities.
Fig. 7 compares columnwise synthesis (left) with our se-
quential approach (right) for a real colored white-pea tex-
ture. Columnwise synthesis again produces more salient
seams.
Figure 7. Left: columnwise synthesis; There are salient
seams visible. Right: sequential synthesis.
3. Synthesis Algorithm
As described in the previous section our sequential syn-
thesis scheme first synthesizes a single view, the support
view, and then the remaining ones. Therefore first the de-
tails of the single view synthesis are explained.
3.1. Single View Synthesis
Our single view synthesis algorithm combines the
non-parametric multiscale texture synthesis of Paget and
Longstaff [13], which samples from an example image to
build a similar output texture, with Ashikhmin’s candidate
search [1]. The latter reduces the search complexity for sim-
ilar neighborhoods by introducing a reasonable subset of
possible candidates from the example image.
At the start the output image – which is to become the
support view – is randomly initialized such that its his-
togram equals the histogram of the input image. Then a
pixel of the output image is randomly chosen and a set of
possible candidate pixels in the input image is created (this
will be explained shortly). Next the neighborhood of the
chosen output pixel is compared to the neighborhoods of all
the candidates. It is replaced by the intensity (or color) of
the input candidate pixel with the best matching neighbor-
hood. This procedure is repeated until all output pixels were
visited a number of times. Now follow more details.
To fill the chosen pixel of the output pixel with an inten-
sity (or color), its neighborhood is investigated in order to
select good candidate values from the input sample. More
precisely, input pixels are identified that have at least one
intensity (or color) in their neighborhood that is identical
and in the same relative neighborhood position. This is
illustrated in Fig. 8). The input pixel neighborhood with
the smallest Euclidean distance between the intensities (or
RGB-values) of its pixels and the corresponding ones of the
output pixel under scrutiny is considered to match best. The
output pixel is updated and takes on the intensity (or color)
of the input pixel with this neighborhood. As a matter of
fact, the updating procedure is iterative and when visiting a
pixel anew it is only updated if an input pixel with a better
matching neighborhood is found.
(i,j)
(p+u,q+v)
(p,q)
input texture output texture
(i+u,j+v)
Figure 8. Candidate neighborhood selection for synthe-
sis.
To guide the updating procedure, a ‘confidence’ is as-
signed to each output pixel. It specifies the chance of the
pixel to be selected for an update. The higher the confi-
dence, the lower this chance gets. Basically, the confidence
counts the number of previous updates a pixel has under-
gone, as this number gives a good idea of how. The con-
fidence values w(i, j)for all pixels (i, j)are initialized to
zero. Whatever the outcome, a constant value is added to
the pixel’s confidence:
w(i, j) := w(i, j ) + 1/T, (1)
where Tis the total number of times each pixel will be vis-
ited (as a rule T= 4). A pixel with confidence 1will no
longer be selected or updated. The chance to be selected for
a possible update is
P(i, j) = (1 −w(i, j ))/X
(i′,j′)∈I mage
(1 −w(i′, j′)),(2)
where w(i, j)∈[0,1] is the confidence of pixel (i, j)and
P(i, j)is the visiting probability.
The confidences also have a second role to play. The
more confidence we have in a pixel is, the more it con-
tributes to the Euclidean distance in the comparison be-
tween the input and output neighborhoods:
dist(i, j, p, q) = P(u,v )∈Nw(i+u, j +v)·
||out(i+u, j +v)−in(p+u, q +v)||2,(3)
where the neighborhood N=
(u, v)|0< u2+v2<=r2is a disk of fixed radius
r,in(·)resp. out(·)are input resp. output intensities (for
neighbors outside the image boundary intensity differences
are set to the maximal value of 255).
To speed up the process and take account of the inter-
dependence of distant pixels, a multi-resolution scheme is
applied. It makes use of a multigrid representation of the
Figure 9. Multiscale grid scheme.
output image, as shown in Fig. 9. The full resolution is rep-
resented by the bottom grid, where each intersection point
’o’ corresponds to pixels of the image. The lower reso-
lutions are decimated versions of the preceding level, i.e.
pixels of grid level iare part of grid level i−1. For con-
venience, pixels of decimated layers preserve their original
coordinates as they were within the bottom grid, so that the
neighborhoods are scaled up by a factor of 2. Such a coordi-
nate doubling scheme allows for every output layer to work
with the whole input image directly, without splitting it into
input layers: the candidate-neighborhoods can be placed ev-
erywhere, important is only that the neighborhood scaling
corresponds to the scale of the current layer. It guarantees
the smooth usage of the whole input information for every
layer even if the input and output image sizes are distinct.
The whole pyramid is initialized randomly according to
the histogram of the input image. The synthesis starts at the
coarsest grid and proceeds sequentially through each layer.
After synthesizing the first layer as described above, its pix-
els are copied to the next finer layer with a confidence equal
to 0.5(all other pixels of this finer layer still have confi-
dence 0). The confidence update (1) remains the same. This
procedure is repeated for every layer.
3.2. Sequential Synthesis of Other Views
After having synthesized the support view (typically a
frontal view) using the algorithm of the previous section,
other views are synthesized in a similar way, but guided by
this support. Indeed, for every other view we modify the
synthesis algorithm in order to introduce the dependence
on the synthetic support view and hence, to achieve view
consistency.
When sticking to the names used in the preliminary dis-
cussion in section 2.3, the support view is A′and the view
to be synthesized is B′. Not single intensities, but pairs are
considered (or pairs of RGB triples for colored textures).
For the input, an intensity (RGB triplet) of the frontal view
Aand of the view B(for the same viewing and lighting di-
rections as B′) are taken from the same BTF column. At
the output, we combine the intensities (colors) at a pixel of
the synthetic support view A′and at the corresponding pixel
of the view B′to be synthesized, where only the latter are
allowed to be changed.
As intensities (RGB triplets) have to be synthesized only
for view B′, only neighboring pixels there are used for the
selection of input neighborhoods to compare against. But
this time the neighborhood comparisons also take the simi-
larities in the frontal views into account. The distance func-
tion is as follows:
dist(i, j, p, q) = P(u,v )∈Nw(i+u, j +v)·
||B′(i+u, j +v)−B(p+u, q +v)||2+
c·(1 −w(i+u, j +v)) ·
||A′(i+u, j +v)−A(p+u, q +v)||2,
where c∈[0,1]. We need this constant because at the
beginning of the synthesis of B′, the support view A′has
about three times a stronger influence on the distance, and
must be suppressed a little; c= 0.25 over all experiments.
4. Results
Textures were recorded by the test setup described in sec-
tion 2.1. For the experiments, the camera slant step was 5◦
in the range of 0◦-70◦and the light source slant angle was
fixed. The tilt angle was changing due to the rotation of the
example texture about the vertical axis in steps of 15◦in
the range of 0◦-90◦. The fixed azimuth angle between cam-
era and illumination was about 135◦(except for the middle
texture in Fig. 11, where the angle was about 30◦), i.e. the
lamp rotated with the camera. This results in 98 images
per texture sample. For all examples given in this section,
alignment plane optimization was applied, as explained in
section 2.2.
The radius of the neighborhood in the algorithm was
chosen to be 3 or 4 pixels for the support views and 2 for
other views. The input image size was about 300 ×200 and
the synthetic textures have size 512 ×512.
In section 2 it was discussed that a good choice for the
alignment plane can help improve the results. Without op-
timizing the BTF representation for the interpolation task,
rendering might produce salient ghosts and blurring, as the
same surface patch drifts between views. This is illustrated
in Fig. 10. The image on the left is produced based on the
BTF obtained when the alignment plane is chosen to include
the markers of the turntable. As the texture was at a few
centimeters below this plane, the BTF suffers from rather
large drifts in the points on the surface that correspond to
the same image pixel. By picking an alignment plane that
minimizes these drifts (a plane lying within the height range
Figure 10. An intermediate view is interpolated from
its neighboring views. Left: the alignment plane is cho-
sen to coincide with the turntable marker plane (ghosts are
clearly visible); right: with the alignment plane at an opti-
mal height.
of the texture), a smoother BTF is obtained and much better
rendering results.
In Fig. 11 synthesis results are shown for our textures
‘M&Ms’, ‘white peas’, ‘ceiling’, ‘doormat’, and ‘foam’.
From the two oblique views (middle and right columns),
one can see that the algorithm preserves view consistency
for a variety of regular and stochastic textures. Original
texture images with the same viewing conditions as for the
oblique, synthetic views in the middle column are shown
on the left, to illustrate the synthesis quality. Note however,
that the support views were not these but the substantially
different frontal views.
5. Conclusion
We have presented a method to synthesize textures for
different viewing conditions, that show mutual consistency.
One of the goals is animation. As input we use a set of
images, taken under multiple, known viewing and lighting
directions.
The actual synthesis is based on a novel copy-and-paste
type of algorithm. In order to solve problems with the copy-
ing of complete BTF columns – which is the usual approach
– we have proposed several modifications. These already
start at the level of input data preparation, through the opti-
mization of the alignment plane for building the BTF stacks.
This step has the effect of reducing the variations in the BTF
data, which already has a beneficial effect on the subsets
that can be matched. A further change is the separate syn-
thesis of the different views, based on a support view. Such
synthesis is based on the selection of only appropriate pairs
of values from entire BTF columns. This increases the num-
ber of choices dramatically. As an end effect, novel BTF
columns are composed from such pairs, that did not appear
in the input BTF stack.
We have shown examples which show that there are
fewer and less outspoken seams and inconsistencies with
this algorithm than with a similar one based on copy-and-
pasting complete BTF columns. The examples included
stochastic, regular, and near-regular textures.
Acknowledgements: The authors gratefully acknowl-
edge support through Swiss National Fund (SNF) project
200021-103850/1 ASTRA (Analysis and Synthesis of
Texture-Related Appearance) and EU IST project ‘Cogni-
tive Vision Systems’ CogViSys.
References
[1] M. Ashikhmin. Synthesizing natural textures. Symposium on Inter-
active 3D Graphics, pages 217–226, 2001.
[2] K. Dana, B. Ginneken, S. Nayar, and J. Koenderink. Reflectance
and texture of real-world surfaces. ACM Transactions on Graphics,
18(1):1–34, 1999.
[3] J. Dong and M. Chantler. Capture and synthesis of 3d surface tex-
ture. Texture 2002 Workshop, in conjunction with ECCV 2002,
pages 41–45, 2002.
[4] A. Efros and W. Freeman. Image quilting for texture synthesis and
transfer. SIGGRAPH 2001, Computer Graphics Proceedings, pages
341–346, 2001.
[5] A. Efros and T. Leung. Texture synthesis by non-parametric sam-
pling. Proc. Int. Conf. Computer Vision (ICCV’99), 2:1033–1038,
1999.
[6] G. Gimel’farb. Image textures and gibbs random fields. Kluwer
Academic Publishers: Dordrecht, pages 250–, 1999.
[7] G. Gimel’farb and D. Zhou. Fast synthesis of large-size textures
using bunch sampling. Proc. Int. Conf. Image and Vision Computing
2002, pages 215–220, Nov. 2002.
[8] Y. Hel-Or, T. Malzbender, and D. Gelb. Synthesis and rendering
of 3d textures. Texture 2003 Workshop accomp. ICCV 2003, pages
53–58, 2003.
[9] A. Hertzmann, C. E. Jacobs, N. Oliver, B. Curless, and D. H.
Salesin. Image analogies. SIGGRAPH 2001, Computer Graphics
Proceedings, pages 327–340, 2001.
[10] M. Koudelka, S. Magda, P. Belhumeur, and D. Kriegman. Acquisi-
tion, compression, and synthesis of bidirectional texture functions.
Texture 2003 Workshop accomp. ICCV 2003, pages 59–64, 2003.
[11] T. Leung and J. Malik. Recognizing surfaces using three-
dimensional textons. Proc. Int. Conf. Computer Vision (ICCV’99),
pages 1010–1017, 1999.
[12] X. Liu, Y. Yu, and H. Shum. Synthesizing bidirectional texture func-
tions for real-world surfaces. Siggraph 2001, Computer Graphics
Proceedings, pages 97–106, 2001.
[13] R. Paget and I. Longstaff. Texture synthesis via noncausal non-
parametric multiscale markov random field. IEEE Transactions on
Image Processing, 7(6), 1998.
[14] J. Portilla and E. Simoncelli. A parametric texture model based
on joint statistics of complex wavelet coefficients. International
Journal of Computer Vision, 40(1):49–70, 2000.
[15] X. Tong, J. Zhang, L. Liu, X. Wang, B. Guo, and H. Shum. Syn-
thesis of bidirectional texture functions on arbitrary surfaces. ACM
Transactions on Graphics, 21(3):665–672, 2002.
[16] L. Wei and M. Levoy. Fast texture synthesis using tree-structured
vector quantization. Siggraph 2000, Computer Graphics Proceed-
ings, pages 479–488, 2000.
[17] www.esat.kuleuven.ac.be/psi/visics/texture/.
[18] A. Zalesny and L. Van Gool. A compact model for viewpoint de-
pendent texture synthesis. SMILE 2000 Workshop, Lecture notes in
computer science, 2018:124–143, 2001.
[19] A. Zalesny and L. Van Gool. Multiview texture models. CVPR
2001, 1:615–622, 2001.
Figure 11. Consistent synthesis. Left: originals, middle/right: synthesized views for camera slant angles of 50◦/25◦, resp.