CS 534: Computer Vision Texture

Similar documents
CS 534: Computer Vision Texture

Scaled representations

Texture. Texture. 2) Synthesis. Objectives: 1) Discrimination/Analysis

Schedule for Rest of Semester

Analysis and Synthesis of Texture

Filtering, scale, orientation, localization, and texture. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Texture. D. Forsythe and J. Ponce Computer Vision modern approach Chapter 9 (Slides D. Lowe, UBC) Previously

Texture. D. Forsythe and J. Ponce Computer Vision modern approach Chapter 9 (Slides D. Lowe, UBC)

Frequency analysis, pyramids, texture analysis, applications (face detection, category recognition)

288 Texture Chapter 11

I Chen Lin, Assistant Professor Dept. of CS, National Chiao Tung University. Computer Vision: 6. Texture

Texture. D. Forsythe and J. Ponce Computer Vision modern approach Chapter 9 (Slides D. Lowe, UBC) Texture

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Image pyramids and their applications Bill Freeman and Fredo Durand Feb. 28, 2006

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Computer Vision: 4. Filtering. By I-Chen Lin Dept. of CS, National Chiao Tung University

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Final Exam Schedule. Final exam has been scheduled. 12:30 pm 3:00 pm, May 7. Location: INNOVA It will cover all the topics discussed in class

Texture. Outline. Image representations: spatial and frequency Fourier transform Frequency filtering Oriented pyramids Texture representation

Multiresolution Image Processing

Texture. Texture is a description of the spatial arrangement of color or intensities in an image or a selected region of an image.

Texture. Announcements. 2) Synthesis. Issues: 1) Discrimination/Analysis

FOURIER TRANSFORM GABOR FILTERS. and some textons

Filters (cont.) CS 554 Computer Vision Pinar Duygulu Bilkent University

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

Announcements. Edge Detection. An Isotropic Gaussian. Filters are templates. Assignment 2 on tracking due this Friday Midterm: Tuesday, May 3.

CPSC 425: Computer Vision

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University

Texture and Other Uses of Filters

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Texture. This isn t described in Trucco and Verri Parts are described in:

Edge Detection Lecture 03 Computer Vision

Image gradients and edges April 11 th, 2017

Review of Filtering. Filtering in frequency domain

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

Image gradients and edges April 10 th, 2018

Image Pyramids and Applications

Lecture 6: Texture. Tuesday, Sept 18

CPSC 425: Computer Vision

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors

Does everyone have an override code?

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

EE795: Computer Vision and Intelligent Systems

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Texture Analysis. Selim Aksoy Department of Computer Engineering Bilkent University

Comparison between Various Edge Detection Methods on Satellite Image

CS534 Introduction to Computer Vision Binary Image Analysis. Ahmed Elgammal Dept. of Computer Science Rutgers University

Today: non-linear filters, and uses for the filters and representations from last time. Review pyramid representations Non-linear filtering Textures

Image Composition. COS 526 Princeton University

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

Image gradients and edges

Introduction to Computer Vision

Texture Similarity Measure. Pavel Vácha. Institute of Information Theory and Automation, AS CR Faculty of Mathematics and Physics, Charles University

ELEC Dr Reji Mathew Electrical Engineering UNSW

Edge and corner detection

Straight Lines and Hough

A Quantitative Approach for Textural Image Segmentation with Median Filter

Color, Edge and Texture

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier

Pictures at an Exhibition

Texture. Edge detectors find differences in overall intensity. Average intensity is only simplest difference.

Templates, Image Pyramids, and Filter Banks

Computer Vision Course Lecture 04. Template Matching Image Pyramids. Ceyhun Burak Akgül, PhD cba-research.com. Spring 2015 Last updated 11/03/2015

Matching and Tracking

Digital Image Processing. Lecture # 15 Image Segmentation & Texture

Stereo imaging ideal geometry

Texture Segmentation by Windowed Projection

TEXTURE. Plan for today. Segmentation problems. What is segmentation? INF 4300 Digital Image Analysis. Why texture, and what is it?

Median filter. Non-linear filtering example. Degraded image. Radius 1 median filter. Today

Non-linear filtering example

Texture. Edge detectors find differences in overall intensity. Average intensity is only simplest difference.

Lecture 6 Linear Processing. ch. 5 of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Introduction to Medical Imaging (5XSA0)

Edges and Binary Images

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Local Feature Detectors

Texture Representation + Image Pyramids

SIFT - scale-invariant feature transform Konrad Schindler

Chapter 3: Intensity Transformations and Spatial Filtering

An Improved Texture Synthesis Algorithm Using Morphological Processing with Image Analogy

Segmentation. (template) matching

CHAPTER 5 GLOBAL AND LOCAL FEATURES FOR FACE RECOGNITION

CS 534: Computer Vision Segmentation II Graph Cuts and Image Segmentation

CS 534: Computer Vision 3D Model-based recognition

Filtering Applications & Edge Detection. GV12/3072 Image Processing.

Texture. COS 429 Princeton University

5. Feature Extraction from Images

Peripheral drift illusion

Lecture 6: Edge Detection

Lecture 4: Spatial Domain Transformations

Digital Image Processing. Image Enhancement - Filtering

Edge Detection. EE/CSE 576 Linda Shapiro

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

Image Processing. BITS Pilani. Dr Jagadish Nayak. Dubai Campus

Image Analysis - Lecture 5

Image Analysis. Edge Detection

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

Transcription:

CS 534: Computer Vision Texture Spring 2004 Ahmed Elgammal Dept of Computer Science CS 534 Ahmed Elgammal Texture - 1 Outlines Finding templates by convolution What is Texture Co-occurrence matrecis for texture Spatial Filtering approach Multiresolution processing, Gaussian Pyramids and Laplacian Pyramids Gabor filters and oriented pyramids Texture Synthesis CS 534 Ahmed Elgammal Texture - 2 1

Convolution as a Dot Product Applying a filter at some point can be seen as taking a dotproduct between the image and some vector Convoluting an image with a filter is equivalent to taking the dot product of the filter with each image window. R ij = G, u, v i u j v H uv = g h Window weights Window weights Original image Filtered image CS 534 Ahmed Elgammal Texture - 3 Largest value when the vector representing the image is parallel to the vector representing the filter Filter responds most strongly at image windows that looks like the filter. Filter responds stronger to brighter regions! (drawback) Insight: filters look like the effects they are intended to find filters find effects they look like Ex: Derivative of Gaussian used in edge detection looks like edges CS 534 Ahmed Elgammal Texture - 4 2

Normalized Correlation Convolution with a filter can be used to find templates in the image. Normalized correlation output is filter output, divided by root sum of squares of values over which filter lies Consider template (filter) M and image window N: n n M(i, j)n(i, j) i =1 j =1 C = n n n n [ M(i, j) 2 N(i, j) 2 ] 1/2 i =1 j =1 i =1 j =1 CS 534 Ahmed Elgammal Texture - 5 Normalized Correlation n n M(i, j)n(i, j) i =1 j =1 C = n n n n [ M(i, j) 2 N(i, j) 2 ] 1/2 i =1 j =1 i =1 j =1 This correlation measure takes on values in the range [0,1] it is 1 if and only if N = cm for some constant c so N can be uniformly brighter or darker than the template, M, and the correlation will still be high. The first term in the denominator, ΣΣM 2 depends only on the template, and can be ignored The second term in the denominator, ΣΣN 2 can be eliminated if we first normalize the grey levels of N so that their total value is the same as that of M - just scale each pixel in N by ΣΣ M/ ΣΣ N CS 534 Ahmed Elgammal Texture - 6 3

Zero mean image, -1:1 scale Positive responses Zero mean image, -max:max scale CS 534 Ahmed Elgammal Texture - 7 Positive responses Zero mean image, -1:1 scale Zero mean image, -max:max scale CS 534 Ahmed Elgammal Texture - 8 4

Figure from Computer Vision for Interactive Computer Graphics, W.Freeman et al, IEEE Computer Graphics and Applications, 1998 copyright 1998, IEEE CS 534 Ahmed Elgammal Texture - 9 CS 534 Ahmed Elgammal Texture - 10 5

Texture What is texture? Easy to recognize hard to define Views of large number of small objects: grass, foliage, brush, pebbles, hair Surfaces with patterns: spots, stripes, wood, skin Texture consists of organized patterns of quite regular subelements. Whether an effect is referred to as texture or not depends on the scale at which it is viewed. CS 534 Ahmed Elgammal Texture - 11 Texture Problems related to Texture: Texture analysis: how to represent and model texture Texture segmentation: segmenting the image into components within which the texture is constant Texture synthesis: construct large regions of texture from small example images Shape from texture: recovering surface orientation or surface shape from image texture. CS 534 Ahmed Elgammal Texture - 12 6

Representing Texture What we should look for? Texture consists of organized patterns of quite regular subelements. Textons Find the subelements, and represent their statistics There is no known canonical set of textons. Reason about their spatial layout. CS 534 Ahmed Elgammal Texture - 13 Texture Analysis Different approaches: Co-occurrence matrices (classical) Spatial Filtering Random Field Models CS 534 Ahmed Elgammal Texture - 14 7

Co-occurrence Matrix Features Objective: Capture spatial relations A co-occurrence matrix is a 2D array C in which Both the rows and columns represent a set of possible image values C d(i,j) indicates how many times value i co-occurs with value j in a particular spatial relationship d. The spatial relationship is specified by a vector d = (dr,dc). CS 534 Ahmed Elgammal Texture - 15 1 1 1 0 0 1 1 0 0 0 0 2 2 0 0 2 2 0 0 2 2 0 0 2 2 gray-tone image i j 3 d = (3,1) 0 1 2 0 1 2 1 0 3 2 0 2 0 0 1 C d co-occurrence matrix From C d we can compute N d, the normalized co-occurrence matrix, where each value is divided by the sum of all the values. CS 534 Ahmed Elgammal Texture - 16 8

Co-occurrence Features From Co-occurrence matrices extract some quantitative features: sums. CS 534 Ahmed Elgammal Texture - 17 Disadvantages: Computationally expensive Sensitive to gray scale distortion (co-occurrence matrices depend on gray values) May be useful for fine-grain texture. Not suitable for spatially large textures. CS 534 Ahmed Elgammal Texture - 18 9

Spatial Filtering Approaches Look for the subelements But what are the subelements, and how do we find them? Find subelements by applying filters, looking at the magnitude of the response Spots and bars detectors at various scales and orientations. Typically: Spot filters are Gaussians or weighted sums of concentric Gaussians. Bar filters are differentiating oriented Gaussians CS 534 Ahmed Elgammal Texture - 19 CS 534 Ahmed Elgammal Texture - 20 10

CS 534 Ahmed Elgammal Texture - 21 CS 534 Ahmed Elgammal Texture - 22 11

CS 534 Ahmed Elgammal Texture - 23 How many filters and at what orientations? Tradeoff: using more filters leads to a more detailed and more redundant representation of the image How to control the amount of redundant information? At what scale? There are two scales: The scale of the filter The scale over which we consider the distributions of the filters. What statistics should be collected from filters responses. CS 534 Ahmed Elgammal Texture - 24 12

Scaled representations: Multiresolution Use a multiresolution representation (Image Pyramid) Search over scale Spatial Search Feature Tracking Examples: Search for correspondence look at coarse scales, then refine with finer scales Edge tracking a good edge at a fine scale has parents at a coarser scale Control of detail and computational cost in matching e.g. finding stripes terribly important in texture representation CS 534 Ahmed Elgammal Texture - 25 The Gaussian pyramid Smooth with gaussians, because a gaussian*gaussian=another gaussian Forming a Gaussian Pyramid: Set the finest scale layer to the image For each layer going up (coarser) Obtain this layer by smoothing the previous layer with a Gaussian and subsampling it P P Gaussian Gaussian ( I) n = S + 1 ( Gσ P ( I) = I 1 Gaussian ( I) n ) CS 534 Ahmed Elgammal Texture - 26 13

CS 534 Ahmed Elgammal Texture - 27 The Laplacian Pyramid Gaussians are low pass filters, so response is redundant A coarse level layer of the Gaussian pyramid predicts the appearance of the next finer layer Laplacian Pyramid preserve differences between upsampled Gaussian pyramid level and Gaussian pyramid level band pass filter - each level represents spatial frequencies (largely) unrepresented at other levels P P Laplacian Laplacian ( I) ( I) m k = P = P Gaussian Gaussian ( I) ( I) m k S ( P Gaussian ( I) k + 1 ) CS 534 Ahmed Elgammal Texture - 28 14

CS 534 Ahmed Elgammal Texture - 29 CS 534 Ahmed Elgammal Texture - 30 15

Laplacian Pyramid Building a Laplacian Pyramid: Form a Gaussian pyramid Set the coarsest layer of the Laplacian pyramid to be the coarsest level of the Laplacian pyramid For each layer going from next to coarsest to finest (top to bottom): Obtain this layer by upsampling the coarser layer and subtracting it from this layer of the Gaussian pyramid. CS 534 Ahmed Elgammal Texture - 31 Synthesis: Obtaining an Image from a Laplacian Pyramid: Start at the coarsest layer For each layer from next to coarsest to finest Upsample the current image and add the current layer to the result CS 534 Ahmed Elgammal Texture - 32 16

Laplacian pyramid layers are band-pass filters. Laplacian pyramid is orientation independent Apply an oriented filter to determine orientations at each layer Look into spatial frequency domain: CS 534 Ahmed Elgammal Texture - 33 Gabor Filters Fourier coefficients depend on the entire image (Global) Objective: Local Spatial Frequency Analysis Gabor kernels: look like Fourier basis multiplied by a Gaussian The product of a symmetric Gaussian with an oriented sinusoid Gabor filters come in pairs (k x,k y ) :the spatial frequency to which the filter responds strongly σ: the scale of the filter G G symmetric antisymmetric 2 2 x + y ( x, y) = cos( kxx + k y y)exp 2 2σ 2 2 x + y ( x, y) = sin( kxx + k y y)exp 2 2σ CS 534 Ahmed Elgammal Texture - 34 17

CS 534 Ahmed Elgammal Texture - 35 Oriented Pyramids Analysis Synthesis Reprinted from Shiftable MultiScale Transforms, by Simoncelli et al., IEEE Transactions on Information Theory, 1992, copyright 1992, IEEE CS 534 Ahmed Elgammal Texture - 36 18

Final texture representation Form an oriented pyramid (or equivalent set of responses to filters at different scales and orientations). Square the output Take statistics of responses e.g. mean of each filter output (are there lots of spots) std of each filter output mean of one scale conditioned on other scale having a particular range of values (e.g. are the spots in straight rows?) CS 534 Ahmed Elgammal Texture - 37 Texture synthesis Variety of approaches. Example: Synthesis by Sampling Local Models: Efros and Leung 1999 (Nonparametric texture matching) Use image as a source of probability model Choose pixel values by matching neighborhood, then filling in Example Image? Neighborhood Synthesized Image Find Matching Image Neighborhood and chose value uniformly randomly from these matches CS 534 Ahmed Elgammal Texture - 38 19

Figure from Texture Synthesis by Non-parametric Sampling, A. Efros and T.K. Leung, Proc. Int. Conf. Computer Vision, 1999 copyright 1999, IEEE CS 534 Ahmed Elgammal Texture - 39 Figure from Texture Synthesis by Non-parametric Sampling, A. Efros and T.K. Leung, Proc. Int. Conf. Computer Vision, 1999 copyright 1999, IEEE CS 534 Ahmed Elgammal Texture - 40 20

The size of the image neighborhood to be matched makes a significant difference CS 534 Ahmed Elgammal Texture - 41 Variations Texture synthesis at multiple scales Texture synthesis on surfaces Texture synthesis by tiles Analogous texture synthesis CS 534 Ahmed Elgammal Texture - 42 21

Shape from Texture Texture looks different depending on the viewing angle. Texture is a good cue for shape and orientation Humans are very good at that. CS 534 Ahmed Elgammal Texture - 43 Sources Forsyth and Ponce, Computer Vision a Modern approach: chapter 9. L. G. Shapiro and G. C. Stockman Computer Vision, Prentice Hall 2001. R. Gonzalez and R.E. Woods, Digital Image Processing, 2002. Slides by D. Forsyth @ UC Berkeley G.C. Stockman @MSU CS 534 Ahmed Elgammal Texture - 44 22