Visual Grouping and Recognition Jitendra Malik U.C. Berkeley Jitendra Malik U.C. Berkeley.

Slides:



Advertisements
Similar presentations
Texture. Limitation of pixel based processing Edge detection with different threshold.
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Analysis of Contour Motions Ce Liu William T. Freeman Edward H. Adelson Computer Science and Artificial Intelligence Laboratory Massachusetts Institute.
Recovering Human Body Configurations: Combining Segmentation and Recognition Greg Mori, Xiaofeng Ren, and Jitentendra Malik (UC Berkeley) Alexei A. Efros.
Carolina Galleguillos, Brian McFee, Serge Belongie, Gert Lanckriet Computer Science and Engineering Department Electrical and Computer Engineering Department.
Segmentácia farebného obrazu
CDS 301 Fall, 2009 Image Visualization Chap. 9 November 5, 2009 Jie Zhang Copyright ©
Normalized Cuts and Image Segmentation
I Images as graphs Fully-connected graph – node for every pixel – link between every pair of pixels, p,q – similarity w ij for each link j w ij c Source:
Computer Vision Lecture 16: Texture
Qualifying Exam: Contour Grouping Vida Movahedi Supervisor: James Elder Supervisory Committee: Minas Spetsakis, Jeff Edmonds York University Summer 2009.
1 Contours and Junctions in Natural Images Jitendra Malik University of California at Berkeley (with Jianbo Shi, Thomas Leung, Serge Belongie, Charless.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
10/11/2001Random walks and spectral segmentation1 CSE 291 Fall 2001 Marina Meila and Jianbo Shi: Learning Segmentation by Random Walks/A Random Walks View.
The Visual Recognition Machine Jitendra Malik University of California at Berkeley Jitendra Malik University of California at Berkeley.
Lecture 6 Image Segmentation
Image segmentation. The goals of segmentation Group together similar-looking pixels for efficiency of further processing “Bottom-up” process Unsupervised.
Computer Vision Group University of California Berkeley 1 Learning Scale-Invariant Contour Completion Xiaofeng Ren, Charless Fowlkes and Jitendra Malik.
1 Image Segmentation Jianbo Shi Robotics Institute Carnegie Mellon University Cuts, Random Walks, and Phase-Space Embedding Joint work with: Malik,Malia,Yu.
Normalized Cuts and Image Segmentation Jianbo Shi and Jitendra Malik, Presented by: Alireza Tavakkoli.
© 2003 by Davi GeigerComputer Vision October 2003 L1.1 Image Segmentation Based on the work of Shi and Malik, Carnegie Mellon and Berkley and based on.
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
Segmentation CSE P 576 Larry Zitnick Many slides courtesy of Steve Seitz.
Understanding Gestalt Cues and Ecological Statistics using a Database of Human Segmented Images Charless Fowlkes, David Martin and Jitendra Malik Department.
Abstract We present a model of curvilinear grouping using piecewise linear representations of contours and a conditional random field to capture continuity.
Front-end computations in human vision Jitendra Malik U.C. Berkeley References: DeValois & DeValois,Hubel, Palmer, Spillman &Werner, Wandell Jitendra Malik.
CVR05 University of California Berkeley 1 Familiar Configuration Enables Figure/Ground Assignment in Natural Scenes Xiaofeng Ren, Charless Fowlkes, Jitendra.
Computer Vision Group University of California Berkeley Visual Grouping and Object Recognition Jitendra Malik * U.C. Berkeley * with S. Belongie, C. Fowlkes,
Segmentation Graph-Theoretic Clustering.
Berkeley Vision GroupNIPS Vancouver Learning to Detect Natural Image Boundaries Using Local Brightness,
A Database of Human Segmented Natural Images and Two Applications David Martin, Charless Fowlkes, Doron Tal, Jitendra Malik UC Berkeley
1 The Ecological Statistics of Grouping by Similarity Charless Fowlkes, David Martin, Jitendra Malik Computer Science Division University of California.
Visual Grouping and Recognition David Martin UC Berkeley David Martin UC Berkeley.
Computational Vision Jitendra Malik University of California at Berkeley Jitendra Malik University of California at Berkeley.
1 How do ideas from perceptual organization relate to natural scenes?
Image Segmentation A Graph Theoretic Approach. Factors for Visual Grouping Similarity (gray level difference) Similarity (gray level difference) Proximity.
1 Ecological Statistics and Perceptual Organization Charless Fowlkes work with David Martin and Jitendra Malik at University of California at Berkeley.
Computer Vision Group University of California Berkeley 1 Cue Integration in Figure/Ground Labeling Xiaofeng Ren, Charless Fowlkes and Jitendra Malik.
Information that lets you recognise a region.
Perceptual Organization: Segmentation and Optical Flow.
Cue Integration in Figure/Ground Labeling Xiaofeng Ren, Charless Fowlkes and Jitendra Malik, U.C. Berkeley We present a model of edge and region grouping.
Heather Dunlop : Advanced Perception January 25, 2006
Segmentation and Perceptual Grouping The problem Gestalt Edge extraction: grouping and completion Image segmentation.
Graph-based Segmentation
Linear Algebra and Image Processing
Image Segmentation Image segmentation is the operation of partitioning an image into a collection of connected sets of pixels. 1. into regions, which usually.
Performance Evaluation of Grouping Algorithms Vida Movahedi Elder Lab - Centre for Vision Research York University Spring 2009.
Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.
Computer vision.
The Three R’s of Vision Jitendra Malik.
Presenter : Kuang-Jui Hsu Date : 2011/5/3(Tues.).
Segmentation using eigenvectors
Segmentation using eigenvectors Papers: “Normalized Cuts and Image Segmentation”. Jianbo Shi and Jitendra Malik, IEEE, 2000 “Segmentation using eigenvectors:
1 Contours and Junctions in Natural Images Jitendra Malik University of California at Berkeley (with Jianbo Shi, Thomas Leung, Serge Belongie, Charless.
Chapter 14: SEGMENTATION BY CLUSTERING 1. 2 Outline Introduction Human Vision & Gestalt Properties Applications – Background Subtraction – Shot Boundary.
Visual Grouping and Recognition Jitendra Malik University of California at Berkeley Jitendra Malik University of California at Berkeley.
Colour and Texture. Extract 3-D information Using Vision Extract 3-D information for performing certain tasks such as manipulation, navigation, and recognition.
 In the previews parts we have seen some kind of segmentation method.  In this lecture we will see graph cut, which is a another segmentation method.
Computational Vision Jitendra Malik University of California, Berkeley.
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
- photometric aspects of image formation gray level images
CS262: Computer Vision Lect 09: SIFT Descriptors
Jitendra Malik U.C. Berkeley
LOCUS: Learning Object Classes with Unsupervised Segmentation
Segmentation Graph-Theoretic Clustering.
Contours and Junctions in Natural Images
Brief Review of Recognition + Context
Seam Carving Project 1a due at midnight tonight.
Spectral Clustering Eric Xing Lecture 8, August 13, 2010
Grouping/Segmentation
Presentation transcript:

Visual Grouping and Recognition Jitendra Malik U.C. Berkeley Jitendra Malik U.C. Berkeley

Collaborators Grouping: Jianbo Shi (CMU), Serge Belongie (UCSD), Thomas Leung (Fuji) Database of human segmented images and ecological statistics: David Martin, Charless Fowlkes, Xiaofeng Ren Recognition: Serge Belongie, Jan Puzicha Grouping: Jianbo Shi (CMU), Serge Belongie (UCSD), Thomas Leung (Fuji) Database of human segmented images and ecological statistics: David Martin, Charless Fowlkes, Xiaofeng Ren Recognition: Serge Belongie, Jan Puzicha

The visual system performs Inference of lightness, shape and spatial relations Perceptual Organization Active interaction with environment Inference of lightness, shape and spatial relations Perceptual Organization Active interaction with environment

A brief history of vision science –Trichromacy, stereopsis, eye movements, contrast, visual acuity –Apparent movement, grouping, figure-ground –Ecological optics, geometrical analysis of shape cues, physiology of V1 and extra-striate areas –Trichromacy, stereopsis, eye movements, contrast, visual acuity –Apparent movement, grouping, figure-ground –Ecological optics, geometrical analysis of shape cues, physiology of V1 and extra-striate areas..

Physiological Optics

The Empiricist-Nativist debate

The debate.. (and sometimes both were right !) Helmholtz argued that perception is unconscious inference. Associations are earned through experience. Hering proposed physiological mechanisms—opponent color channels, contrast mechanisms, conjunctive and disjunctive eye movements.. Helmholtz argued that perception is unconscious inference. Associations are earned through experience. Hering proposed physiological mechanisms—opponent color channels, contrast mechanisms, conjunctive and disjunctive eye movements..

The Twentieth Century.. The Gestalt movement emphasized perceptual organization. –Grouping –Figure/ground –Configuration effects on perception of brightness and lightness The Gestalt movement emphasized perceptual organization. –Grouping –Figure/ground –Configuration effects on perception of brightness and lightness

Gibson’s ecological optics (1950) Emphasized richness of information about shape and surface layout available to a moving observer –Optical flow –Texture Gradients –( and the classical cues such as stereopsis etc) Emphasized richness of information about shape and surface layout available to a moving observer –Optical flow –Texture Gradients –( and the classical cues such as stereopsis etc)

Visual Processing Areas

The visual system performs Inference of lightness, shape and spatial relations Perceptual Organization Active interaction with environment Inference of lightness, shape and spatial relations Perceptual Organization Active interaction with environment

From Images to Objects

What enables us to parse a scene? –Low level cues Color/texture Contours Motion –Mid level cues T-junctions Convexity –High level Cues Familiar Object Familiar Motion –Low level cues Color/texture Contours Motion –Mid level cues T-junctions Convexity –High level Cues Familiar Object Familiar Motion

Grouping factors

Grouping Factors

The Figure-Ground Problem

Focus of this talk Provide a mathematical foundation for the grouping problem in terms of the ecological statistics of natural images. –This research agenda was first proposed by Egon Brunswik, more than 50 years ago, who sought to justify Gestalt grouping factors in probabilistic terms. Provide a mathematical foundation for the grouping problem in terms of the ecological statistics of natural images. –This research agenda was first proposed by Egon Brunswik, more than 50 years ago, who sought to justify Gestalt grouping factors in probabilistic terms.

Outline of talk Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping

Outline of talk Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping

What kind of segmentations? What is a valid segmentation? Is there a correct segmentation? What granularity? What is a valid segmentation? Is there a correct segmentation? What granularity?

The Image Dataset 1000 Corel images –Photographs of natural scenes –Texture is common –Large variety of subject matter –481 x 321 x 24b 1000 Corel images –Photographs of natural scenes –Texture is common –Large variety of subject matter –481 x 321 x 24b

Establishing Ground truth Def: Segmentation = Partition of image pixels into exclusive sets Custom tool to facilitate manual segmentation –Java application, on website Multiple segmentations/image Currently: 1000 images, 5000 segmentations, 20 subjects –Data collection ongoing Naïve subjects (UCB undergrads) given simple, non-technical instructions Def: Segmentation = Partition of image pixels into exclusive sets Custom tool to facilitate manual segmentation –Java application, on website Multiple segmentations/image Currently: 1000 images, 5000 segmentations, 20 subjects –Data collection ongoing Naïve subjects (UCB undergrads) given simple, non-technical instructions

Directions to Image Segmentors You will be presented a photographic image Divide the image into some number of segments, where the segments represent “things” or “parts of things” in the scene The number of segments is up to you, as it depends on the image. Something between 2 and 30 is likely to be appropriate. It is important that all of the segments have approximately equal importance. You will be presented a photographic image Divide the image into some number of segments, where the segments represent “things” or “parts of things” in the scene The number of segments is up to you, as it depends on the image. Something between 2 and 30 is likely to be appropriate. It is important that all of the segments have approximately equal importance.

Segmentations are not identical

But are they consistent?

Perceptual organization produces a hierarchy image backgroundleft birdright bird grassbush headeye beakfar body headeye beak body Each subject picks a cross section from this hierarchy

S1S1 Quantifying inconsistency.. How much is segmentation S 1 a refinement of segmentation S 2 at pixel p i ? S2S2 refinement of E(S 1,S 2,p i ) = |(R(S 1,p i )\R(S 2,p i )| |R(S 1,p i )|

Segmentation Error Measure One-way Local Refinement Error: LRE(S 1,S 2,p i ) = ||(R(S 1,p i ) \ R(S 2,p i )|| ||R(S 1,p i )|| Segmentation Error defined to allow refinement in either direction at each pixel: SE(S 1,S 2 ) = 1/n  i min { LRE(S 1,S 2,p i ), LRE(S 2,S 1,p i ) } One-way Local Refinement Error: LRE(S 1,S 2,p i ) = ||(R(S 1,p i ) \ R(S 2,p i )|| ||R(S 1,p i )|| Segmentation Error defined to allow refinement in either direction at each pixel: SE(S 1,S 2 ) = 1/n  i min { LRE(S 1,S 2,p i ), LRE(S 2,S 1,p i ) }

Distribution of SE over Dataset

Gray, Color, InvNeg Datasets Explore how various high/low-level cues affect the task of image segmentation by subjects –Color = full color image –Gray = luminance image –InvNeg = inverted negative luminance image Explore how various high/low-level cues affect the task of image segmentation by subjects –Color = full color image –Gray = luminance image –InvNeg = inverted negative luminance image

ColorGrayInvNeg

ColorGrayInvNeg

Gray vs. Color vs. InvNeg Segmentations SE (gray, gray) = SE (gray, color) = SE (gray, invneg) = Color may affect attention, but doesn’t seem to affect perceptual organization InvNeg seems to interfere with high-level cues 2500 gray segmentations 2500 color segmentations 200 invneg segmentations SE (gray, gray) = SE (gray, color) = SE (gray, invneg) = Color may affect attention, but doesn’t seem to affect perceptual organization InvNeg seems to interfere with high-level cues 2500 gray segmentations 2500 color segmentations 200 invneg segmentations

Outline of talk Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping

Natural images aren’t generic signals Filter statistics are far from Gaussian.. –Ruderman 1994,1997 –Field, Olshausen 1996 –Huang,Mumford 1999,2000 –Buccigrossi,Simoncelli 1999 These properties (e.g. scale-invariance, sparsity, heavy tails) can be exploited for image compression. Filter statistics are far from Gaussian.. –Ruderman 1994,1997 –Field, Olshausen 1996 –Huang,Mumford 1999,2000 –Buccigrossi,Simoncelli 1999 These properties (e.g. scale-invariance, sparsity, heavy tails) can be exploited for image compression.

P (SameSegment | Proximity)

P (SameSegment | Luminance)

Quantifying the power of cues Bayes Risk Mutual information Bayes Risk Mutual information

Bayes Risk for Proximity Cue

Mutual information where x is a cue and y is indicator of being in same segment

Bayes Risk for Various Cues Given Proximity

Mutual Information for Various Cues Given Proximity

Power of various cues Bayes RiskMutual Info. Proximity Luminance Color Intervening Contour Texture

Spatial priors on image regions and contours

Distribution of Region Area y = Kx -   = 0.913

Distribution of length Decompose contours at high curvature extrema

Distribution of Length

Slope = 2.05 in Log-Log Plot I.e, frequency  1 / ( length )^2 ( for region area it’s roughly 1/area ) Slope = 2.05 in Log-Log Plot I.e, frequency  1 / ( length )^2 ( for region area it’s roughly 1/area )

Conditioned on Region Size

Scale invariance of contour statistics Chi-square distance

Marginal Distribution of Curvature

Distribution of Region Convexity

Outline of talk Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping Creating a dataset of human segmented images Measuring ecological statistics of various Gestalt grouping factors Using these measurements to calibrate and validate approaches to grouping

Computational Mechanisms for Visual Grouping Jitendra Malik, Serge Belongie, Jianbo Shi, Thomas Leung U.C. Berkeley Jitendra Malik, Serge Belongie, Jianbo Shi, Thomas Leung U.C. Berkeley

Edge-based image segmentation Edge detection by gradient operators Linking by dynamic programming, voting, relaxation, … Montanari 71, Parent&Zucker 89, Guy&Medioni 96, Shaashua&Ullman 88 Williams&Jacobs 95, Geiger&Kumaran 96, Heitger&von der Heydt 93 -Natural for encoding curvilinear grouping -Hard decisions often made prematurely - Produce meaningless clutter in textured regions Edge detection by gradient operators Linking by dynamic programming, voting, relaxation, … Montanari 71, Parent&Zucker 89, Guy&Medioni 96, Shaashua&Ullman 88 Williams&Jacobs 95, Geiger&Kumaran 96, Heitger&von der Heydt 93 -Natural for encoding curvilinear grouping -Hard decisions often made prematurely - Produce meaningless clutter in textured regions

Edges in textured regions are meaningless clutter imageorientation energy

Region-based image segmentation 1970s produced region growing, split-and-merge, etc s led to approaches based on a global criterion for image segmentation –Markov Random Fields e.g. Geman&Geman 84 –Variational approaches e.g. Mumford&Shah 89 –Expectation-Maximization e.g. Ayer&Sawhney 95, Weiss 97 Global method, but computational complexity precludes exact MAP estimation –Curvilinear grouping not easily enforced – Unable to handle line-drawings – Problems due to local minima 1970s produced region growing, split-and-merge, etc s led to approaches based on a global criterion for image segmentation –Markov Random Fields e.g. Geman&Geman 84 –Variational approaches e.g. Mumford&Shah 89 –Expectation-Maximization e.g. Ayer&Sawhney 95, Weiss 97 Global method, but computational complexity precludes exact MAP estimation –Curvilinear grouping not easily enforced – Unable to handle line-drawings – Problems due to local minima

Our Approach Global decision good, local bad –Formulate as hierarchical graph partitioning Efficient computation –Draw on ideas from spectral graph theory to define an eigenvalue problem which can be solved for finding segmentation. Develop suitable encoding of visual cues in terms of graph weights. Global decision good, local bad –Formulate as hierarchical graph partitioning Efficient computation –Draw on ideas from spectral graph theory to define an eigenvalue problem which can be solved for finding segmentation. Develop suitable encoding of visual cues in terms of graph weights.

Image Segmentation as Graph Partitioning Build a weighted graph G=(V,E) from image V:image pixels E:connections between pairs of nearby pixels Partition graph so that similarity within group is large and similarity between groups is small -- Normalized Cuts [Shi&Malik 97]

Normalized Cuts as a Spring-Mass system Each pixel is a point mass; each connection is a spring: Fundamental modes are generalized eigenvectors of Each pixel is a point mass; each connection is a spring: Fundamental modes are generalized eigenvectors of

Some Terminology for Graph Partitioning How do we bipartition a graph:

Normalized Cut, A measure of dissimilarity Minimum cut is not appropriate since it favors cutting small pieces. Normalized Cut, Ncut: Minimum cut is not appropriate since it favors cutting small pieces. Normalized Cut, Ncut:

Normalized Cut and Normalized Association Minimizing similarity between the groups, and maximizing similarity within the groups can be achieved simultaneously.

Solving the Normalized Cut problem Exact discrete solution to Ncut is NP- complete even on regular grid, –[Papadimitriou’97] Drawing on spectral graph theory, good approximation can be obtained by solving a generalized eigenvalue problem. Exact discrete solution to Ncut is NP- complete even on regular grid, –[Papadimitriou’97] Drawing on spectral graph theory, good approximation can be obtained by solving a generalized eigenvalue problem.

Some definitions

Normalized Cut As Generalized Eigenvalue problem Rewriting Normalized Cut in matrix form:

More math…

Normalized Cut As Generalized Eigenvalue problem after simplification, we get

Normalized Cut As Generalized Eigenvalue problem The eigenvector with the second smallest eigenvalue of the generalized eigensystem: is the solution to the constrained Raleigh quotient: The eigenvector with the second smallest eigenvalue of the generalized eigensystem: is the solution to the constrained Raleigh quotient:

Interpretation as a Dynamical System The equivalent spring-mass system: The generalized eigenvectors are the fundamental modes of oscillation. The equivalent spring-mass system: The generalized eigenvectors are the fundamental modes of oscillation.

Video

Computational Aspects Solving for the generalized eigensystem: (D-W) is of size, but it is sparse with O(N) nonzero entries, where N is the number of pixels. Using Lanczos algorithm. Solving for the generalized eigensystem: (D-W) is of size, but it is sparse with O(N) nonzero entries, where N is the number of pixels. Using Lanczos algorithm.

Overall Procedure Construct a weighted graph G=(V,E) from an image Connect each pair of pixels, and assign graph edge weight, Solve for the smallest few eigenvectors, Recursively subdivide if Ncut value is below a pre- specified value. Construct a weighted graph G=(V,E) from an image Connect each pair of pixels, and assign graph edge weight, Solve for the smallest few eigenvectors, Recursively subdivide if Ncut value is below a pre- specified value.

Normalized Cuts Approach Global decision good, local bad –Formulate as hierarchical graph partitioning Efficient computation –Draw on ideas from spectral graph theory to define an eigenvalue problem which can be solved for finding segmentation. Develop suitable encoding of visual cues in terms of graph weights. Global decision good, local bad –Formulate as hierarchical graph partitioning Efficient computation –Draw on ideas from spectral graph theory to define an eigenvalue problem which can be solved for finding segmentation. Develop suitable encoding of visual cues in terms of graph weights.

Cue Integration based on Texton histograms based on Intervening contour based on Texton histograms based on Intervening contour

Filters for Texture Description Elongated directional Gaussian derivatives 2nd derivative and Hilbert transform L 1 normalized for scale invariance 6 orientations, 3 scales Zero mean Elongated directional Gaussian derivatives 2nd derivative and Hilbert transform L 1 normalized for scale invariance 6 orientations, 3 scales Zero mean

Textons K-means on vectors of filter responses

Textons (cont.)

Benefits of the Texton Representation Discrete point sets well suited to tools of computational geometry, point process statistics Defining Local Scale Selection Measuring Texture Similarity Discrete point sets well suited to tools of computational geometry, point process statistics Defining Local Scale Selection Measuring Texture Similarity

Texton Histograms i j k Chi square test:

Intervening Contours as and are more likely to belong to the same region than are and.

Estimating for contour cue ImageOrientation Energy Estimate where is the maximum orientation energy along segment ij

Orientation Energy Gaussian 2nd derivative and its Hilbert pair Can detect combination of bar and edge features; also insensitive to linear shading [Perona&Malik 90] Multiple scales

Challenges of Cue Integration Contour cue tends to fragment textured regions Texture cue tends to create 1D regions from contours Contour cue tends to fragment textured regions Texture cue tends to create 1D regions from contours

Texture as a problem for contour processing imageorientation energy

Contour as a problem for texture processing Segmentation based on Gaussian Mixture Model EM

Cue Integration Gate contour vs. texture cue based on region-boundary vs. region-interior label Compute boundary vs. interior label using statistical test on region uniformity Multiply to get combined weight: Gate contour vs. texture cue based on region-boundary vs. region-interior label Compute boundary vs. interior label using statistical test on region uniformity Multiply to get combined weight:

Motion Segmentation with Normalized Cuts Networks of spatial-temporal connections:

Motion Segmentation with Normalized Cuts Motion “proto-volume” in space-time Group correspondence Motion “proto-volume” in space-time Group correspondence

Results video

Results

Stereoscopic data

Framework for Recognition (1) Segmentation Pixels  Segments (2) Association Segments  Regions (3) Matching Regions  Prototypes Over-segmentation necessary; Under- segmentation fatal Enumerate: # of size k regions in image with n segments is ~(4**k)*n/k ~10 views/object. Matching tolerant to pose/illumination changes, intra-category variation, error in previous steps