74
1 Color and Texture Color and Texture Ch 6 and 7 of Ch 6 and 7 of Shapiro Shapiro How do we quantify them? How do we quantify them? How do we use them to How do we use them to segment an image? segment an image?

1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

Embed Size (px)

Citation preview

Page 1: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

11

Color and TextureColor and TextureCh 6 and 7 of ShapiroCh 6 and 7 of Shapiro

How do we quantify them?How do we quantify them?

How do we use them to segment How do we use them to segment an image?an image?

Page 2: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

22

ColorColor (Summary) (Summary)

Used heavily in human visionUsed heavily in human vision

Color is a pixel property, making Color is a pixel property, making some recognition problems easysome recognition problems easy

Visible spectrum for humans is 400 Visible spectrum for humans is 400 nm (blue) to 700 nm (red)nm (blue) to 700 nm (red)

Machines can “see” much more; ex. Machines can “see” much more; ex. X-rays, infrared, radio wavesX-rays, infrared, radio waves

Page 3: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

33

Factors that Affect PerceptionFactors that Affect Perception

• Light: the spectrum of energy that illuminates the object surface

• Reflectance: ratio of reflected light to incoming light

• Specularity: highly specular (shiny) vs. matte surface

• Distance: distance to the light source

• Angle: angle between surface normal and light source

• Sensitivity how sensitive is the sensor

Page 4: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

44

Difference Between Graphics and Difference Between Graphics and VisionVision

In graphics we are given In graphics we are given values for all these values for all these parameters, and we parameters, and we create a view of the create a view of the surface.surface.

In vision, we are given a In vision, we are given a view of the surface, and view of the surface, and we have to figure out we have to figure out what’s going on.what’s going on. What’s going on?

Page 5: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

55

Some physics of color:Some physics of color:Visible part of the electromagnetic spectrumVisible part of the electromagnetic spectrum

White light is composed of all visible frequencies (400-700)White light is composed of all visible frequencies (400-700)

Ultraviolet and X-rays are of much smaller wavelengthUltraviolet and X-rays are of much smaller wavelength

Infrared and radio waves are of much longer wavelengthInfrared and radio waves are of much longer wavelength

Page 6: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

66

Coding methods for humansCoding methods for humans

• RGB is an additive system (add colors to black) used for displays.

• CMY is a subtractive system for printing.

• HSI is a good perceptual space for art, psychology, and recognition.

• YIQ used for TV is good for compression.

Page 7: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

77

RGB color cubeRGB color cube

• R, G, B values normalized to (0, 1) interval

• human perceives gray for triples on the diagonal

• “Pure colors” on corners

Page 8: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

88

Color palette and normalized Color palette and normalized RGBRGB

Intensity I = (R+G+B) / 3

Normalized red r = R/(R+G+B)

Normalized green g = G/(R+G+B)

Normalized blue b = B/(R+G+B)

Color triangle for normalizedRGB coordinates is a slicethrough the points [1,0,0],[0,1,0], and [0,0,1] of theRGB cube. The blue axisis perpendicular to the page.

In this normalized representation,b = 1 – r –g, so we only needto look at r and g to characterizethe color.

Page 9: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

99

Color hexagon for HSI (HSV)Color hexagon for HSI (HSV)

Hue is encoded as an angle (0 to 2).

Saturation is the distance to the vertical axis (0 to 1).

Intensity is the height along the vertical axis (0 to 1).

intensitysaturation

hue

H=0 is redH=180 is cyan

H=120 is green

H=240 is blue

I=0

I=1

Page 10: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1010

Editing saturation of colorsEditing saturation of colors

(Left) Image of food originating from a digital camera;

(center) saturation value of each pixel decreased 20%;

(right) saturation value of each pixel increased 40%.

Page 11: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1111

YIQ and YUV for TV signalsYIQ and YUV for TV signals Have better compression propertiesHave better compression properties

Luminance Y encoded using more bits than chrominance Luminance Y encoded using more bits than chrominance values I and Q; humans more sensitive to Y than I,Qvalues I and Q; humans more sensitive to Y than I,Q

Luminance used by black/white TVsLuminance used by black/white TVs

All 3 values used by color TVsAll 3 values used by color TVs

YUV encoding used in some digital video and JPEG and YUV encoding used in some digital video and JPEG and MPEG compressionMPEG compression

Page 12: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1212

Conversion from RGB to YIQConversion from RGB to YIQ

We often use this for color to gray-tone conversion.

An approximate linear transformation from RGB to YIQ:

Page 13: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1313

CIE, the color system we’ve been using CIE, the color system we’ve been using in recent object recognition workin recent object recognition work

Commission Internationale de l'Eclairage - Commission Internationale de l'Eclairage - this commission determines standards for this commission determines standards for color and lighting. It developed the Norm color and lighting. It developed the Norm Color system (X,Y,Z) and the Lab Color Color system (X,Y,Z) and the Lab Color System (also called the CIELAB Color System (also called the CIELAB Color System).System).

Page 14: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1414

CIELAB, Lab, L*a*bCIELAB, Lab, L*a*b One luminance channel (L)One luminance channel (L) and two color channels (a and and two color channels (a and

b).b).

In this model, the color In this model, the color differences which you perceive differences which you perceive correspond to Euclidian correspond to Euclidian distances in CIELab. distances in CIELab.

The a axis extends from green The a axis extends from green (-a) to red (+a) and the b axis (-a) to red (+a) and the b axis from blue (-b) to yellow (+b). from blue (-b) to yellow (+b). The brightness (L) increases The brightness (L) increases from the bottom to the top of from the bottom to the top of the three-dimensional model.the three-dimensional model.

Page 15: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1515

ReferencesReferences The text and figures are fromThe text and figures are from

http://www.sapdesignguild.org/resources/glossary_color/index1.html

CIELab Color SpaceCIELab Color Spacehttp://www.fho-emden.de/~hoffmann/cielab03022003.pdf

Color Spaces TransformationsColor Spaces Transformationshttp://www.couleur.org/index.php?page=transformations

3D Visualization3D Visualizationhttp://www.ite.rwth-aachen.de/Inhalt/Forschung/FarbbildRepro/Farbkoerper/Visual3D.html

Page 16: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1616

Colors can be used for image Colors can be used for image segmentation into regionssegmentation into regions

Can cluster on color values and pixel Can cluster on color values and pixel locationslocations

Can use connected components and an Can use connected components and an approximate color criteria to find regionsapproximate color criteria to find regions

Can train an algorithm to look for certain Can train an algorithm to look for certain colored regions – for example, skin colorcolored regions – for example, skin color

Page 17: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1717

Color histograms can represent Color histograms can represent an imagean image

Histogram is fast and easy to compute.Histogram is fast and easy to compute.

Size can easily be normalized so that Size can easily be normalized so that different image histograms can be compared.different image histograms can be compared.

Can match color histograms for database Can match color histograms for database query or classification.query or classification.

Page 18: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1818

Histograms of two color imagesHistograms of two color images

Page 19: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1919

Retrieval from image databaseRetrieval from image database

Top left image is query image. The others are retrieved by having similar color histogram (See Ch 8).

Page 20: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2020

How to make a color histogramHow to make a color histogram

Make 3 histograms and concatenate themMake 3 histograms and concatenate them

Create a single pseudo color between 0 and 255 Create a single pseudo color between 0 and 255 by using by using 33 bits of R, bits of R, 33 bits of G and 2 bits of B bits of G and 2 bits of B (which bits?)(which bits?)

Use normalized color space and 2D histograms.Use normalized color space and 2D histograms.

Page 21: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2121

Apples Apples versus versus OrangesOranges

Separate HSI histograms for apples (left) and oranges (right) used by IBM’s VeggieVision for recognizing produce at the grocery store checkout station (see Ch 16).

H

S

I

Page 22: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2222

Skin color in RGB space Skin color in RGB space (shown as (shown as normalized red vs normalized green)normalized red vs normalized green)

Purple region shows skin color samples from several people. Blue and yellow regions show skin in shadow or behind a beard.

Page 23: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2323

Finding a face in video frameFinding a face in video frame

(left) input video frame(left) input video frame (center) pixels classified according to RGB space(center) pixels classified according to RGB space (right) largest connected component with aspect (right) largest connected component with aspect

similar to a face (all work contributed by Vera similar to a face (all work contributed by Vera Bakic)Bakic)

Page 24: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2424

Swain and Ballard’s Histogram MatchingSwain and Ballard’s Histogram Matchingfor Color Object Recognition for Color Object Recognition

(IJCV Vol 7, No. 1, 1991)(IJCV Vol 7, No. 1, 1991)

Opponent Encoding:

Histograms: 8 x 16 x 16 = 2048 bins

Intersection of image histogram and model histogram:

Match score is the normalized intersection:

• wb = R + G + B• rg = R - G• by = 2B - R - G

intersection(h(I),h(M)) = min{h(I)[j],h(M)[j]}

match(h(I),h(M)) = intersection(h(I),h(M)) / h(M)[j]

j=1

numbins

j=1

numbins

Page 25: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2525

(from Swain and Ballard)

cereal box image 3D color histogram

Page 26: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2626

Four views of Snoopy Histograms

Page 27: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2727The 66 models objects Some test objects

Page 28: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2828

More test objects used in occlusion experiments

Page 29: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

2929

Results

Results were surprisingly good.

At their highest resolution (128 x 90), average matchpercentile (with and without occlusion) was 99.9.

This translates to 29 objects matching best withtheir true models and 3 others matching second bestwith their true models.

At resolution 16 X 11, they still got decent results(15 6 4) in one experiment; (23 5 3) in another.

Page 30: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

3030

Color Clustering by K-means AlgorithmColor Clustering by K-means Algorithm

Form K-means clusters from a set of n-dimensional vectors

1. Set ic (iteration count) to 1

2. Choose randomly a set of K means m1(1), …, mK(1).

3. For each vector xi, compute D(xi,mk(ic)), k=1,…K and assign xi to the cluster Cj with nearest mean.

4. Increment ic by 1, update the means to get m1(ic),…,mK(ic).

5. Repeat steps 3 and 4 until Ck(ic) = Ck(ic+1) for all k.

Page 31: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

3131

K-means Clustering ExampleK-means Clustering Example

Original RGB Image Color Clusters by K-Means

Page 32: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

TextureTexture: Ch7: Ch7

A description of the spatial arrangement of color orintensities in an image or a selected region of an image.

Page 33: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

3333

Page 34: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

3434

Aspects of textureAspects of texture

Size or granularity (sand versus pebbles Size or granularity (sand versus pebbles versus boulders)versus boulders)

Directionality (stripes versus sand)Directionality (stripes versus sand)Random or regular (sawdust versus Random or regular (sawdust versus

woodgrain; stucko versus bricks)woodgrain; stucko versus bricks)Concept of texture elements (texel) and Concept of texture elements (texel) and

spatial arrangement of texelsspatial arrangement of texels

Page 35: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

Two Approaches:Two Approaches:

1.1. Structural Approaches: Define texture Structural Approaches: Define texture primitives, texels and the spatial primitives, texels and the spatial relationship among them.relationship among them.

2. 2. Statistical Approaches: Use Statistical Approaches: Use statistical properties of color distributionstatistical properties of color distribution

3535

Page 36: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1. Structural Approaches: Texels

3636

Extract texels by thresholding convolıtion Extract texels by thresholding convolıtion or morphological operationsor morphological operations

Page 37: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

1. Structural Approaches Texel Based

3737

1. Find the texels by simple procedures2. Get the Voronoi tessalations: Define perpendicular bisector between

the texels P and Q as

Page 38: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

3838

Problem with Structural ApproachProblem with Structural ApproachHow do you decide what is a texel?

Ideas?

Page 39: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

3939

2. Statistical Approaches2. Statistical ApproachesNatural Textures from VisTexNatural Textures from VisTex

grass leaves

What/Where are the texels?

Page 40: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

Need a mesure for similarityNeed a mesure for similarity

4040

Page 41: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4141

2. 2. Statistical Statistical ApproachesApproaches

• Segmenting out texels is difficult or impossible in real images.

• Numeric quantities or statistics that describe a texture can be computed from the gray tones (or colors) alone.

• This approach is less intuitive, but is computationally efficient.

• It can be used for both classification and segmentation.

Page 42: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4242

Some Simple Statistical Texture Some Simple Statistical Texture MeasuresMeasures

1. Edge Density and Direction

• Use an edge detector as the first step in texture analysis.

• The number of edge pixels in a fixed-size region tells us how busy that region is.

• The directions of the edges also help characterize the texture

Page 43: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4343

Two Edge-based Texture MeasuresTwo Edge-based Texture Measures

1. edgeness per unit area for a pixel p

2. edge magnitude and direction histograms

Fedgeness = |{ p | gradient_magnitude(p) threshold}| / N

where N is the size of the unit area

Fmagdir = ( Hmagnitude, Hdirection )

where these are the normalized histograms of gradientmagnitudes and gradient directions, respectively.

Page 44: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4444

Original Image Frei-Chen Thresholded Edge Image Edge Image

Page 45: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4545

Page 46: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4646

Local Binary Local Binary PatternPattern Measure Measure

100 101 103 40 50 80 50 60 90

• For each pixel p, create an 8-bit number b1 b2 b3 b4 b5 b6 b7 b8, where bi = 0 if neighbor i has value less than or equal to p’s value and 1 otherwise.

• Represent the texture in the image (or a region) by the histogram of these numbers.• Compute L1 distance between two histograms:

1 1 1 1 1 1 0 0

1 2 3

4

5 7 6

8

Page 47: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4747

Fids (Flexible Image DatabaseSystem) is retrieving imagessimilar to the query imageusing LBP texture as thetexture measure and comparingtheir LBP histograms

Page 48: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4848

Low-levelmeasures don’talways findsemanticallysimilar images.

Page 49: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

4949

Co-occurrence Matrix FeaturesCo-occurrence Matrix Features

• Define a spatial relationship specified by a vector d = (dr,dc)

d(0,1) d(1,0) d(1,1)•Compute the statistics of d within an image region

• Cd (i,j) indicates how many times value i co-occurs with value j in a particular spatial relationship d.

Page 50: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5050

1 1 0 01 1 0 00 0 2 20 0 2 20 0 2 20 0 2 2

j

i

1

3

d = (3,1)

0 1 2

012

1 0 32 0 20 0 1

C d

gray-tone image

co-occurrence matrix

From C we can compute N , the normalized co-occurrence matrix,where each value is divided by the sum of all the values.

d d

Page 51: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5151

Co-occurrence FeaturesCo-occurrence Features

sums.

What do these measure?

Energy measures uniformity of the normalized matrix.

Page 52: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5252

But how do you choose d?But how do you choose d?

• This is actually a critical question with all the statistical texture methods.

• Are the “texels” tiny, medium, large, all three …?

• Not really a solved problem.

Zucker and Terzopoulos suggested using a statisticaltest to select the value(s) of d that have the most structurefor a given class of images.

2

Page 53: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5353

A classical texture measure:A classical texture measure:

Autocorrelation functionAutocorrelation function

Autocorrelation function can detect repetitive patterns of texelsAutocorrelation function can detect repetitive patterns of texels

Also defines fineness/coarseness of the textureAlso defines fineness/coarseness of the texture

Compare the dot product (energy) of non shifted image with a Compare the dot product (energy) of non shifted image with a shifted image shifted image

Page 54: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5454

Interpreting autocorrelationInterpreting autocorrelation

Coarse texture Coarse texture function drops off slowly function drops off slowly Fine texture Fine texture function drops off rapidly function drops off rapidly Can drop differently for r and cCan drop differently for r and c Regular textures Regular textures function will have peaks and function will have peaks and

valleys; peaks can repeat far away from [0, 0]valleys; peaks can repeat far away from [0, 0] Random textures Random textures only peak at [0, 0]; breadth only peak at [0, 0]; breadth

of peak gives the size of the textureof peak gives the size of the texture

Page 55: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

SASI: A generic texture descriptor for image retrievalA. Çarkacıoğlu, F.T. Yarman Vural

Base Clique TypesBase Clique Types

Clique ChainsClique Chains

5555

Page 56: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

Clique windowsClique windows

5656

Page 57: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

Algorithm of SASIAlgorithm of SASI

5757

Page 58: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5858

Laws’ Texture Energy FeaturesLaws’ Texture Energy Features

• Design texture filters •Convolute the input image using texture filters.• Compute texture energy by summing the absolute value of filtering results in local neighborhoods around each pixel.

• •Combine features to achieve rotational invariance.

Page 59: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

5959

Law’s texture masks (1)Law’s texture masks (1)

Page 60: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6060

Law’s texture masks (2)Law’s texture masks (2)

Creation of 2D MasksCreation of 2D Masks

E5

L5

E5L5

Page 61: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6161

9D feature vector for pixel 9D feature vector for pixel

Dot product 16 5x5 masks with neighborhood Dot product 16 5x5 masks with neighborhood 9 features defined as follows:9 features defined as follows:

Page 62: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6262

Features from sample imagesFeatures from sample images

Page 63: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6363

water

tiger

fence

flag

grass

small flowers

big flowers

Is there aneighborhoodsize problemwith Laws?

Page 64: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6464

Fourier power spectrumFourier power spectrum

High frequency power High frequency power fine texture fine texture Concentrated power Concentrated power regularity regularity Directionality Directionality directional texture directional texture

Page 65: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6565

Fourier power spectrumFourier power spectrum

High frequency power High frequency power fine texture fine textureConcentrated power Concentrated power regularity regularityDirectionality Directionality directional texture directional texture

Page 66: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6666

Fourier exampleFourier example

Page 67: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6767

Notes on Texture by FFTNotes on Texture by FFT

The power spectrum computed The power spectrum computed from the Fourier Transform from the Fourier Transform

reveals which waves represent reveals which waves represent the image energy.the image energy.

Page 68: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6868

Stripes of the zebra create high energy waves generally along the u-axis; grass pattern is fairly random causing scattered low frequency energy

y

x

v

u

Page 69: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

6969

More stripesMore stripes

Power spectrum x 64

Page 70: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

7070

Spectrum shows broad energy along u axis and less along the v-axis: the roads give more

structure vertically and so does the regularity of the houses

Page 71: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

7171

Spartan stadium: the pattern of the seats is evident Spartan stadium: the pattern of the seats is evident in the power spectrum – lots of energy in (u,v) in the power spectrum – lots of energy in (u,v)

along the direction of the seats.along the direction of the seats.

Page 72: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

7272

Getting features from the spectrumGetting features from the spectrum

FT can be applied to square image regions FT can be applied to square image regions to extract texture featuresto extract texture features

set conditions on u-v transform image to set conditions on u-v transform image to compute features: f1 = sum of all pixels compute features: f1 = sum of all pixels where R1 < || (u,v)|| < R2 (bandpass)where R1 < || (u,v)|| < R2 (bandpass)

f2 = sum of pixels (u,v) where u1 < u <u2f2 = sum of pixels (u,v) where u1 < u <u2 f3 = sum of pixels f3 = sum of pixels where ||(u,v)-(u0,v0)|| < Rwhere ||(u,v)-(u0,v0)|| < R

Page 73: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

7373

Filtering or feature extraction Filtering or feature extraction using special regions of u-v using special regions of u-v

F1 is all energy in small circle

F4 is all energy in directional wedge

F2 is all energy near origin (low pass)

F3 is all energy outside circle (high pass)

Page 74: 1 Color and Texture Ch 6 and 7 of Shapiro How do we quantify them? How do we use them to segment an image?

7474

What else?What else?

• Gabor filters (we’ve used a lot)

• 3D textons (Leung and Malik)

• Polarity, anisotropy, and local contrast (Blobworld)