CS 534: Computer Vision Texture

Similar documents
CS 534: Computer Vision Texture

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

Scaled representations

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)

Schedule for Rest of Semester

Analysis and Synthesis of Texture

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

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

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

288 Texture Chapter 11

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

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

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

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. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors

FOURIER TRANSFORM GABOR FILTERS. and some textons

Multiresolution Image Processing

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

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

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

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

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

Texture and Other Uses of Filters

CPSC 425: Computer Vision

Edge Detection Lecture 03 Computer Vision

Lecture 6: Texture. Tuesday, Sept 18

Comparison between Various Edge Detection Methods on Satellite Image

CPSC 425: Computer Vision

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

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

Image Pyramids and Applications

Texture Representation + Image Pyramids

Does everyone have an override code?

Texture. COS 429 Princeton University

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

Review of Filtering. Filtering in frequency domain

Image gradients and edges April 11 th, 2017

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

Image gradients and edges April 10 th, 2018

EE795: Computer Vision and Intelligent Systems

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

Lecture 6: Edge Detection

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

Image Analysis. Edge Detection

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

DIGITAL IMAGE PROCESSING

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

TEXTURE CLASSIFICATION METHODS: A REVIEW

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

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

SIFT - scale-invariant feature transform Konrad Schindler

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

Semantic Segmentation

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

Templates, Image Pyramids, and Filter Banks

Image gradients and edges

Digital Image Processing. Lecture # 15 Image Segmentation & Texture

5. Feature Extraction from Images

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

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

Bayes Risk. Classifiers for Recognition Reading: Chapter 22 (skip 22.3) Discriminative vs Generative Models. Loss functions in classifiers

Texture Analysis of Painted Strokes 1) Martin Lettner, Paul Kammerer, Robert Sablatnig

Classifiers for Recognition Reading: Chapter 22 (skip 22.3)

Image Analysis - Lecture 5

Image Processing (2) Point Operations and Local Spatial Operations

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

Straight Lines and Hough

Texture C H A P T E R 6

Edges and Binary Images

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

Image Analysis. Edge Detection

CHAPTER 5 GLOBAL AND LOCAL FEATURES FOR FACE RECOGNITION

Filters and Pyramids. CSC320: Introduction to Visual Computing Michael Guerzhoy. Many slides from Steve Marschner, Alexei Efros

Announcements. Texture. Review: last time. Texture 9/15/2009. Write your CS login ID on the pset hardcopy. Tuesday, Sept 15 Kristen Grauman UT-Austin

Filtering and Enhancing Images

An Improved Texture Synthesis Algorithm Using Morphological Processing with Image Analogy

Segmentation. (template) matching

Announcements. Recognition (Part 3) Model-Based Vision. A Rough Recognition Spectrum. Pose consistency. Recognition by Hypothesize and Test

Autoregressive and Random Field Texture Models

Digital Image Processing. Image Enhancement - Filtering

ECE 176 Digital Image Processing Handout #14 Pamela Cosman 4/29/05 TEXTURE ANALYSIS

Recognition (Part 4) Introduction to Computer Vision CSE 152 Lecture 17

Introduction to Medical Imaging (5XSA0)

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

Journal of Asian Scientific Research FEATURES COMPOSITION FOR PROFICIENT AND REAL TIME RETRIEVAL IN CBIR SYSTEM. Tohid Sedghi

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

TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES

Other Linear Filters CS 211A

Edge Detection. Computer Vision Shiv Ram Dubey, IIIT Sri City

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

Edge detection. Goal: Identify sudden. an image. Ideal: artist s line drawing. object-level knowledge)

TEXTURE ANALYSIS USING GABOR FILTERS

SYDE 575: Introduction to Image Processing

Applications of Image Filters

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

Parametric Texture Model based on Joint Statistics

Transcription:

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

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 Texture - 3 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 Texture - 4 2

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 Texture - 5 Notice how the change in pattern elements and repetitions is the main difference between different textured surfaces (the plants, the ground, etc.) 3

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

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 Texture - 9 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 Texture - 10 5

Co-occurrence Features From Co-occurrence matrices extract some quantitative features: CS 534 Texture - 11 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 Texture - 12 6

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 Texture - 13 CS 534 Texture - 14 7

CS 534 Texture - 15 CS 534 Texture - 16 8

Filter bank Image Filter responses Collect Statistics (mean, var, etc.) Texture Representation CS 534 Texture - 18 9

10

11

How many filters and at what orientations? Filter responses are not unique 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 Texture - 23 Classification: Texture is classified into four categories: vertical, horizontal, both or neither. CS 534 Texture - 25 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 Texture - 26 Gaussian Filter and Smoothing Gaussian Filter is Low-Pass Filter: Recall: Convolution in the image domain is equivalent to multiplication in the Frequency domain. Recall: FT of a Gaussian with sd=σ is a Gaussian with sd=1/σ Therefore, convolving an image with a Gaussian with sd=σ is equivalent to multiplying it s FT with a Gaussian with sd=1/σ Therefore we will get rid of high frequencies. Smoothing with a Gaussian with a very small σ get rid of highest spatial frequencies Smoothing with a Gaussian with a very large σ averaging u FT v Image: Spatial Domain Frequency Domain CS 534 Texture - 27 13

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 CS 534 Texture - 28 CS 534 Texture - 29 14

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 CS 534 Texture - 30 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. k+1 k upsample k+1 k Gaussian Pyramid Laplacian Pyramid CS 534 Texture - 31 15

CS 534 A. Elgammal, CS 534 Texture - 32 CS 534 Texture - 33 16

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 k+1 k upsample k+1 k Laplacian Pyramid CS 534 Texture - 34 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 Texture - 35 17

Oriented Pyramids Analysis Synthesis Reprinted from Shiftable MultiScale Transforms, by Simoncelli et al., IEEE Transactions on Information Theory, 1992, copyright 1992, IEEE CS 534 Texture - 36 Gabor Filters Fourier coefficients depend on the entire image (Global): We lose spatial information. 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: symmetric and antisymmetric Each pair recover symmetric and antisymmetric components in a particular direction. (k x,k y ) :the spatial frequency to which the filter responds strongly σ: the scale of the filter. When σ = infinity, similar to FT We need to apply a number of Gabor filters at different scales, orientations, and spatial frequencies. CS 534 Texture - 37 18

CS 534 Texture - 38 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 Texture - 41 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 Texture - 43 20

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 Texture - 44 The size of the image neighborhood to be matched makes a significant difference CS 534 Texture - 45 21

Fill in holes by looking for example patches in the image If needed, rectify faces (lower images) 22

State of the art in image fill-in is very good. This uses texture synthesis and other methods. Sources Forsyth and Ponce, Computer Vision a Modern approach (2 nd ed): chapter 6. 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 Texture - 51 23