Game Development Reference
In-Depth Information
Structure
Tensor
Calculation
Structure
Tensor
Calculation
Structure
Tensor
Smoothing
Structure
Te n s o r
Smoothing
Merge
Merge
Relax
Local Orientation Estimation
Local Orientation Estimation
Flow-
Guided
Smoothing
Shock
Filter
Edge
Smoothing
Input
Output
Figure 5.3. Schematic overview of the presented algorithm.
controlling the strength of the abstraction. For each iteration, adaptive flow-
guided smoothing ( Figure 5.1(a) ) and sharpening ( Figure 5.1(b)) are performed.
Both techniques require information about the local structure, which is obtained
by an eigenvalue analysis of the smoothed structure tensor and computed twice
for every iteration, once before the smoothing and again before the sharpening.
With every iteration, the result becomes closer to a piecewise-constant image,
with large smooth or even flat image regions where no distinguished orientation is
defined. Since having valid orientations defined for these regions is important for
the stability of the algorithm, the structure tensor from the previous calculation
is used in this case. For the first calculation, where no result from a previous
computation is available, a relaxation of the structure tensor is performed. As a
final step, edges are smoothed by flow-guided smoothing with a small filter kernel
( Figure 5.1(c) ) . In the following sections, the different stages of the algorithm
are examined in detail.
5.2
Local Orientation Estimation
To guide the smoothing and shock-filtering operations, the dominant local ori-
entation at each pixel must be estimated. For smooth grayscale images with
nonvanishing derivative, a reasonable choice are the local orientations given by
tangent spaces of the isophote curves (i.e., curves with constant gray value). Since
for smooth images the gradient is perpendicular to the isophote curves, the local
orientations can easily be derived from the gradient vectors by rotating them 90
degrees ( Figure 5.4 ) . Unfortunately, real images are seldom smooth, and com-
putation of the gradient is highly sensitive to noise and other image artifacts.
This is illustrated in Figure 5.5(a) , where an image with single dominant orien-
tation is shown. Since it is suciently smooth, all gradient vectors induce the
same orientation. Adding a small amount of Gaussian noise, however, results
in noisy gradients and a poor orientation estimation, as shown in Figure 5.4(b) .