Document Sample
Texture Powered By Docstoc

          Turk, 91
What is texture ?
   There is no accurate definition.
   It is often used to represent all the
    “details” in the image. (F.e, sometimes
    images are divided to shape + texture.
   In our case we refer to the texture
    as images or patterns with some
    kind of “structure”.
What is texture ? (cont’)




What would we like to do with textures?

   Detect regions / images with
    textures.                      Why is it
                                   difficult ?
   Classify using texture.
   Segmentation: divide the image
    into regions with uniform texture.
   Synthesis – given a sample of the
    texture, generate random images
    with the same texture.
   Compression (Especially fractals)
Periodic Texture

   big assumption: the
    image is periodic,
    completely specified
    by a fundamental
   no allowance for
    statistical variations
   this approach is fine if
    image is periodic, but
    too limited as a
    general texture
            Texture primitives
               The basic elements that form the texture.
               Sometimes, they are called “texels”.
               Primitives do not always exists ( or are
                not visible).
               In textures which are not periodic, the
                texel is the “essential” size of the texture.
“we don’t
see the
               There might be textures with structure in
                several resolutions (bricks)
               Fractals have the similar structure in each
Texture Description

   Auto-correlation
   Fourier Transform in small windows
   Wavlets or Filter banks
   Feature vectors
   Statistical descriptors
   Markov Chains
   …
The auto-correlation
   Describes the relations between
    neighboring pixels.
   Equivalently, we can analyze the power
    spectrum of the window: We apply a
    Fourier Transform in small windows.
   Analyzing the power spectrum:
       Periodicity: The energy of different
       Directionality: The energy of slices in different
Filter banks
   Instead of using the Fourier Basis, apply filters
    which best classify different textures.
   Use filters of varying orientations.
   Use filters of varying scales:
       Laplacian pyramids
       Wavlets pyramids
       …
   Gabor Filters (Local sinuses in varying scales and
   Filters which describe certain properties (
    Entropy, Energy, Coarseness…)
   Some successful results in texture segmentation
    were achieved using moment-based features
    (mean, variance)
    What can we do with these features?

   For each pixel (or window) attach a vector of
   Use this vector to calculate the “distance”
    between different windows.
   We can compute statistics of the features in a
       Use the statistics to separate between different
       …
   We can determine the “essential” size of the
    texture: the size in which the statistics are
     Second order statistics (or co-
     occurrence matrices)
        The intensity histogram is very limited in describing a
         texture (f.e - checkerboard versus white-black regions.
        Use higher-level statistics: Pairs distribution.

                                                       0    1   2   3
Example:                                           0
•co-occurrence matrix of
                                    0   0 1 1        2   2 1 0
                                    0   0 1 1    1   0   2 0 0
I(x,y) and I(x+1,y)                                           
•Normalize the matrix to            0   2 2 2    2   0   0 3 2
get probabilities.                                            
                                    2   2 3 3    3   0   0 0 1

        From this matrix, generate a list of features:
             Energy
             Entropy (can also be used as a measure for “textureness”).
             Homogeneity (  N (i, j )1 | i  j |)
                             i, j
Texture as a Stochastic Process

   A random variable is a value with a
    given probability distribution.
   A discrete stochastic process is a
    sequence or array of random
    variables, statistically interrelated.
   Conditional probability P[A|B,C]
    means probability of A given B and C
Markov Chain

   Assume that each variable depends only
    on the n preceding values.
   In this case, we have a Markov chain of
    order n.
   We estimate the process using an
    histogram of groups of size n (The co-
    occurrence matrix is a special case with
   We can use this process to synthesis new
    images !
   Markov Random Field: The same, but 2D.
Markov Chain Example
Output of 2nd order word-level Markov Chain
 [Scientific American, June 1989, Dewdney]
 after training on 90,000 word philosophical

“If we were to revive the fable is useless.
   Perhaps only the allegory of simulation is
   unendurable--more cruel than Artaud’s
   Theatre of Cruelty, which was the first to
   practice deterrence, abstraction,
   disconnection, deterritorialisation, etc.; and
   if it were our own past. We are witnessing
   the end of the negative form. But nothing
   separates one pole from the very swing of
   voting ’’rights’’ to electoral...”
    Region texels

   Divide the image into uniform regions.
   Use this regions as the texels, or
    image primitives.
   Use the structure of this regions to
    make a statistics about the texture.
    For example:
       Directionality
       diameter versus boundary length
Shape from texture
   Under the assumption of isotropic
    patterns, we can use this to recover
   If the texture is periodic, we can use the
    size differences between the primitives to
    recover shape.
   For example, assuming a planar scene,
    we can use the direction of maximum rate
    of change of the primitives size: “texture
   There are many ways to describe a
       Different kinds of filters.
       Statistical descriptors.
       Texture as a random process.
   For each pixel/region we attach the vector
    of features.
   Some works try to recover the primitives.
    In some cases, it can be used to learn the
    3D shape.
   Many applications.
       For example: Texture synthesis.