volume using our physically based renderer and to adjust
the optical parameters to match certain texture statistics of
the rendered images to statistics of the photograph.
We match two simple statistical measures: the mean pixel
value and the standard deviation of pixel values, computed
over corresponding regions of a photograph and a rendering
of approximately similar geometry. This approach effectively
matches the image brightness and texture contrast in the
matching region. We tried other measures, but found that
the mean and standard deviation measures were simpler
and robust. Thus, the only information that flows from the
photograph to the volume model is the mean and standard
deviation of pixels in a single rectangle.
The appearance matching process involves choosing the
geometry, camera position, lighting, and matching region.
These are inherently manual choices, and we used the principle of choosing a setup that shows the distinctive features
of the cloth’s appearance. For instance, we made sure to use
a configuration where the highlight was visible on the satin.
Beyond this we did not take any special care in arranging the
appearance matching inputs, and the results do not appear
to be sensitive to the details.
6. 2. Optimization procedure
As shown in Figure 4, the density multiplier plays a fairly
complicated role with respect to both measures. Given that
our forward process, which is essentially Monte Carlo path
tracing, is quite expensive, we chose to predetermine the
density multiplier in our implementation by rendering such
a matrix. Fixing the density multiplier simplifies the inverse
problem and leads to a practical solution. We found that
the algorithm is not particularly sensitive to the choice of
surface is simply covered by a rectangular array of tiles copied
from the volume, without continuity at the tile boundaries.
For materials without visible regularity, such as velvet
and felt, each tile on the surface is copied from a rectangular
region centered in the volume. To provide variation in local
structure, for each tile this source rectangle is rotated by a
different random angle. For materials with woven structure,
such as silk and gabardine, we use a similar approach, but
use random translations of the source tile instead of rotations. The weave pattern in each sample is manually identified and a rectangular area is marked that contains an integer
number of repeats. Then each (smaller) surface tile is chosen
from a subrectangle that contains a matching section of the
weave. The result is a tiling that reproduces the correct weave
pattern and avoids obvious repeating of texture. We then map
the tiled data to arbitrary surfaces using shell mapping.
6. APPEARANCE MATCHING
Processing the CT data yields the spatially varying density
and orientation for the volume. But the optical appearance
parameters of the model remain to be determined. Since the
CT scan does not give us the material’s optical properties,
we make use of a photograph of the material to compute the
To make the problem tractable, we assume that the
volume contains the same material, with differences only in
density and orientation. This is appropriate for fabrics made
from a single type of fiber, which encompasses many important examples. Fabrics containing yarns of different materials are future work. Thus, the appearance parameters that
must be determined are the same across the whole volume.
They are: the standard deviation of the flake distribution
g (corresponding to fiber roughness), the scattering albedo
α (corresponding to material color), and the density scale
d (corresponding to opacity). Figure 4 illustrates the effects
of these parameters.
To match the material’s optical properties, we must use
photographs of the sample. One approach is to photograph
the same sample that was scanned, calibrating the camera
to the scan and associating pixels in the image with rays
in the volume. This calibration and acquisition is nontrivial;
the fine resolution of the scans poses practical difficulties.
Further, we found that this level of detail is not required to
determine the small number of parameter values we seek.
Instead, we assume that the fabric is statistically similar
across different patches. Thus, our approach is to statistically
match the texture of rendered images with a photograph of
a different section of the same cloth under uncontrolled but
We now describe the metrics we use to match the optical
parameters to the photograph, and then describe our matching algorithm.
6. 1. Metrics for matching
Appearance matching is not a straightforward process of
mapping colors from the photos into the volume, because
the volume model describes local scattering properties, but
the appearance is defined by a global volumetric multiple
scattering process. Our approach is to repeatedly render the
0.3 0.1 0.01 0.001
d100 500 1000 5000 10000 25000
Figure 4. (a) Renderings of a cylinder tiled with the satin volume,
with fixed albedo, and varying lobe width γ and density multiplier d.
(b) The corresponding standard deviation of pixel values for the
satin sample: sharper lobes provide shinier appearance and result in
greater standard deviation. The role of d is more complicated.