High Level Computer Vision. Basic Image Processing - April 26, 2o17. Bernt Schiele - Mario Fritz -

Similar documents
Edge and corner detection

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

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

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

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

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

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

Biomedical Image Analysis. Point, Edge and Line Detection

Anno accademico 2006/2007. Davide Migliore

Lecture 6: Edge Detection

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

Image Analysis. Edge Detection

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

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

Lecture 7: Most Common Edge Detectors

Other Linear Filters CS 211A

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

DIGITAL IMAGE PROCESSING

Feature Detectors and Descriptors: Corners, Lines, etc.

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

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

Review of Filtering. Filtering in frequency domain

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Edge and local feature detection - 2. Importance of edge detection in computer vision

HOUGH TRANSFORM CS 6350 C V

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Edge detection. Winter in Kraków photographed by Marcin Ryczek

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

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

Segmentation and Grouping

Edge Detection Lecture 03 Computer Vision

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

Lecture 8: Fitting. Tuesday, Sept 25

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

Lecture 4: Finding lines: from detection to model fitting

Computer Vision for HCI. Topics of This Lecture

Filtering Images. Contents

Edge Detection. EE/CSE 576 Linda Shapiro

Image Analysis. Edge Detection

Edges and Binary Images

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

EE795: Computer Vision and Intelligent Systems

Edge detection. Gradient-based edge operators

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

Edge Detection CSC 767

Local Features: Detection, Description & Matching

Straight Lines and Hough

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

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

Local Image preprocessing (cont d)

Edge Detection. CSC320: Introduction to Visual Computing Michael Guerzhoy. René Magritte, Decalcomania. Many slides from Derek Hoiem, Robert Collins

CAP 5415 Computer Vision Fall 2012

Image Processing

Image features. Image Features

Outline 7/2/201011/6/

The SIFT (Scale Invariant Feature

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

CS 534: Computer Vision Segmentation and Perceptual Grouping

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

Local Features Tutorial: Nov. 8, 04

Generalized Hough Transform, line fitting

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

SIFT - scale-invariant feature transform Konrad Schindler

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

School of Computing University of Utah

EN1610 Image Understanding Lab # 3: Edges

EE795: Computer Vision and Intelligent Systems

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

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science

Lecture 9: Hough Transform and Thresholding base Segmentation

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Filtering and Edge Detection. Computer Vision I. CSE252A Lecture 10. Announcement

Key properties of local features

Local Feature Detectors

Computer Vision I - Basics of Image Processing Part 1

CS 2770: Computer Vision. Edges and Segments. Prof. Adriana Kovashka University of Pittsburgh February 21, 2017

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Practical Image and Video Processing Using MATLAB

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

CPSC 425: Computer Vision

Digital Image Processing. Image Enhancement - Filtering

Image gradients and edges

CS 558: Computer Vision 4 th Set of Notes

Lecture 15: Segmentation (Edge Based, Hough Transform)

2D Image Processing Feature Descriptors

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Local features: detection and description. Local invariant features

Local features: detection and description May 12 th, 2015

Prof. Feng Liu. Winter /15/2019

Implementing the Scale Invariant Feature Transform(SIFT) Method

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

Neighborhood operations

Edge detection. Stefano Ferrari. Università degli Studi di Milano Elaborazione delle immagini (Image processing I)

Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient

Topic 4 Image Segmentation

Boundaries and Sketches

Finding 2D Shapes and the Hough Transform

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017

Transcription:

High Level Computer Vision Basic Image Processing - April 26, 2o17 Bernt Schiele - schiele@mpi-inf.mpg.de Mario Fritz - mfritz@mpi-inf.mpg.de mpi-inf.mpg.de/hlcv

Today - Basics of Digital Image Processing Linear Filtering Gaussian Filtering Multi Scale Image Representation Gaussian Pyramid, Laplacian Pyramid Edge Detection Recognition using Line Drawings Image derivatives (1st and 2nd order) Hough Transform Finding parametrized curves, generalized Hough transform Object Instance Identification using Color Histograms (Several slides are taken from Michael Black @ Brown) High Level Computer Vision - April 26, 2o17 2

Computer Vision and its Components computer vision: reverse the imaging process 2D (2-dimensional) digital image processing pattern recognition / 3D image analysis image understanding Information High Level Computer Vision - April 26, 2o17 3

Image Filtering: 2D Signals and Convolution Image Filtering to reduce noise, to fill-in missing values/information to extract image features (e.g.edges/corners), etc Simplest case: linear filtering: replace each pixel by a linear combination of its neighbors 2D convolution (discrete): discrete Image: I[m,n] filter kernel : g[k,l] filtered image: f[m,n] can be expressed as matrix multiplication! f[m, n] = I g = k,l I[m k, n l]g[k, l] f[m, n] I[k, l] g[k, l] 18 = 8 5 2 7 5 3 9 4 1 1 0 1 1 0 1 1 0 1 High Level Computer Vision - April 26, 2o17 4

Linear Systems Basic Properties: homogeneity T[a X] = a T[X] additivity T[X 1 + X 2 ] = T[X 1 ] + T[X 2 ] superposition T[aX 1 + bx 2 ] = a T[X 1 ] + b T[X 2 ] linear systems <=> superposition examples: matrix operations (additions, multiplication) convolutions High Level Computer Vision - April 26, 2o17 5

Filtering to Reduce Noise Noise is what we re not interested in low-level noise: light fluctuations, sensor noise, quantization effects, finite precision, complex noise (not today): shadows, extraneous objects. Assumption: the pixel s neighborhood contains information about its intensity 2 3 3 3 20 2 3 2 3 2 3 3 3 3 2 3 2 3 High Level Computer Vision - April 26, 2o17 6

Model: Additive Noise Image I = Signal S + Noise N: S + N = I High Level Computer Vision - April 26, 2o17 7

Model: Additive Noise Image I = Signal S + Noise N I.e. noise does not depend on the signal we consider: I i : intensity of i th pixel I i = s i + n i with E(n i ) = 0 - s i deterministic - n i,n j independent for i j - n i,n j i.i.d. (independent, identically distributed) therefore: intuition: averaging noise reduces its effect better: smoothing as inference about the signal High Level Computer Vision - April 26, 2o17 8

Average Filter Average Filter replaces each pixel with an average of its neighborhood Mask with positive entries that sum to 1 if all weights are equal, it is called a BOX filter 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 High Level Computer Vision - April 26, 2o17 9

Gaussian Averaging (An Isotropic Gaussian) Rotationally symmetric Weights nearby pixels more than distant ones this makes sense as probabilistic inference the pictures show a smoothing kernel proportional to g(x, y) = 1 2 2 exp x 2 + y 2 2 2 High Level Computer Vision - April 26, 2o17 10

Smoothing with a Gaussian Effects of smoothing: each column shows realizations of an image of Gaussian noise each row shows smoothing with Gaussians of different width noise increase smoothing increase High Level Computer Vision - April 26, 2o17 11

Smoothing with a Gaussian Example: Original Image Gaussian-filtered Box-filtered High Level Computer Vision - April 26, 2o17 12

Efficient Implementation Both, the BOX filter and the Gaussian filter are separable: first convolve each row with a 1D filter then convolve each column with a 1D filter (f x f y ) I = f x (f y I) remember: - convolution is linear - associative and commutative Example: separable BOX filter 1 9 1 9 1 9 f x f y f x f y 1 9 1 9 1 9 1 9 1 9 1 9 = 1 3 1 3 1 3 1 3 1 3 1 3 High Level Computer Vision - April 26, 2o17 13

Example: Separable Gaussian Gaussian in x-direction Gaussian in y-direction g(x) = 1 2 exp g(y) = 1 2 exp x 2 2 2 y 2 2 2 Gaussian in both directions g(x, y) = 1 2 2 exp x 2 + y 2 2 2 High Level Computer Vision - April 26, 2o17 14

Multi-Scale Image Representation In this class: Gaussian Pyramids Laplacian Pyramids -> later Example of a Gaussian Pyramid High Level Computer Vision - April 26, 2o17 15

Motivation: Search across Scales High Level Computer Vision - April 26, 2o17 16

Computation of Gaussian Pyramid High Level Computer Vision - April 26, 2o17 17

Gaussian Pyramid Questions of interest: which information is preserved over scales which information is lost over scales High Level Computer Vision - April 26, 2o17 18

Fourier Transform in Pictures a *very* little about Fourier transform to talk about spatial frequencies +... High Level Computer Vision - April 26, 2o17 19

Another Example a bar in the big images is a hair (on the zebra s nose) in smaller images, a stripe in the smallest image, the animal s nose High Level Computer Vision - April 26, 2o17 20

Today - Basics of Digital Image Processing Linear Filtering Gaussian Filtering Multi Scale Image Representation Gaussian Pyramid, Laplacian Pyramid Edge Detection Recognition using Line Drawings Image derivatives (1st and 2nd order) Hough Transform Finding parametrized curves, generalized Hough transform Object Instance Identification using Color Histograms (Several slides are taken from Michael Black @ Brown) High Level Computer Vision - April 26, 2o17 21

Image Edges: What are edges? Where do they come from? Edges are changes in pixel brightness High Level Computer Vision - April 26, 2o17 22

Image Edges: What are edges? Where do they come from? Edges are changes in pixel brightness Foreground/Background Boundaries Object-Object-Boundaries Shadow Edges Changes in Albedo or Texture Changes in Surface Normals High Level Computer Vision - April 26, 2o17 23

Line Drawings: Good Starting Point for Recognition? High Level Computer Vision - April 26, 2o17 24

Example of Recognition & Localization David Lowe High Level Computer Vision - April 26, 2o17 25

Example of Recognition & Localization David Lowe 1. filter image to find brightness changes 2. fit lines to the raw measurements High Level Computer Vision - April 26, 2o17 26

Example of Recognition & Localization David Lowe 3. project model into the image and match to lines (solving for 3D pose) High Level Computer Vision - April 26, 2o17 27

Class of Models Common Idea & Approach (in the 1980 s) matching of models (wire-frame/geons/generalized cylinders...) to edges and lines so the only remaining problem to solve is: reliably extract lines & edges that can be matched to these models... High Level Computer Vision - April 26, 2o17 28

Actual 1D profile Barbara Image: entire image line 250: line 250 smoothed with a Gaussian: High Level Computer Vision - April 26, 2o17 29

What are edges (1D) Idealized Edge Types: Goals of Edge Detection: good detection: filter responds to edge, not to noise good localization: detected edge near true edge single response: one per edge High Level Computer Vision - April 26, 2o17 30

Edges Edges: correspond to fast changes where the magnitude of the derivative is large image of 2 step-edges smoothing single line of image High Level Computer Vision - April 26, 2o17 31

Edges & Derivatives 1st derivative 2nd derivative High Level Computer Vision - April 26, 2o17 32

Compute Derivatives d f(x) = lim dx h 0 f(x + h) h f(x) f(x + 1) f(x) we can implement this as a linear filter: direct: or symmetric: 1 1 1 0 1 High Level Computer Vision - April 26, 2o17 33

Edge-Detection based on 1st derivative: smooth with Gaussian calculate derivative finds its maxima f g g f d (g f) dx High Level Computer Vision - April 26, 2o17 34

Edge-Detection Simplification: remember: d d (g f) = dx dx g derivative as well as convolution are linear operations f saves one operation f d dx g d dx g f High Level Computer Vision - April 26, 2o17 35

1D Barbara signal Barbara Image: entire image line 250 (smoothed): 1st derivative High Level Computer Vision - April 26, 2o17 36

1D Barbara signal: note the amplification of small variations Barbara Image: entire image line 250 (smoothed): 1st derivative High Level Computer Vision - April 26, 2o17 37

thresholding the derivative? High Level Computer Vision - April 26, 2o17 38

Implementing 1D edge detection algorithmically: find peak in the 1st derivative but - should be a local maxima - should be sufficiently large hysteresis: use 2 thresholds - high threshold to start edge curve (maximum value of gradient should be sufficiently large) - low threshold to continue them (in order to bridge gaps with lower magnitude) - (really only makes sense in 2D...) High Level Computer Vision - April 26, 2o17 39

Extension to 2D Edge Detection: Partial Derivatives partial derivatives in x direction: in y direction: d dx I(x, y) = I d x I D x dy I(x, y) = I y I D y often approximated with simple filters (finite differences): D x = 1 3 1 0 1 1 0 1 1 0 1 D y = 1 3 1 1 1 0 0 0 1 1 1 High Level Computer Vision - April 26, 2o17 40

Finite Differences High Level Computer Vision - April 26, 2o17 41

Finite Differences responding to noise increasing noise level (from left to right) noise: zero mean additive Gaussian noise High Level Computer Vision - April 26, 2o17 42

Again: Derivatives and Smoothing derivative in x-direction: D x (G I) = (D x G) I in 1D: in 2D: High Level Computer Vision - April 26, 2o17 43

What is the gradient? no change " # $ I x, I y % & ' = k,0 ( ) change change " # $ I x, I y % & ' = 0, k ( ) no change High Level Computer Vision - April 26, 2o17 44

What is the gradient? small change " # $ I x, I y % & ' = k x, k y ( ) large change gradient direction is perpendicular to edge gradient magnitude measures edge strength High Level Computer Vision - April 26, 2o17 45

2D Edge Detection calculate derivative use the magnitude of the gradient the gradient is: ( ) = I I = I x, I y the magnitude of the gradient is: # $ % x, I & y' ( I = I x 2 + I y 2 the direction of the gradient is: θ = arctan ( I y, I ) x High Level Computer Vision - April 26, 2o17 46

2D Edge Detection the scale of the smoothing filter affects derivative estimates, and also the semantics of the edges recovered note: strong edges persist across scales 1 pixel 3 pixels 7 pixels High Level Computer Vision - April 26, 2o17 47

2D Edge Detection there are 3 major issues: the gradient magnitude at different scales is different; which should we choose? the gradient magnitude is large along a thick trail; how do we identify the significant points? how do we link the relevant points up into curves? High Level Computer Vision - April 26, 2o17 48

Optimal Edge Detection: Canny Assume: linear filtering additive i.i.d. Gaussian noise Edge Detection should have: good detection: filter response to edge, not noise good localization: detected edge near true edge single response: one per edge then: optimal detector is approximately derivative of Gaussian detection/localization tradeoff: more smoothing improves detection and hurts localization High Level Computer Vision - April 26, 2o17 49

The Canny edge detector original image (Lena) norm (=magnitude) of the gradient thinning (non-maximum suppression thresholding High Level Computer Vision - April 26, 2o17 50

Non-maximum suppression Check if pixel is local maximum along gradient direction choose the largest gradient magnitude along the gradient direction requires checking interpolated pixels p and r High Level Computer Vision - April 26, 2o17 51

Butterfly Example (Ponce & Forsyth) High Level Computer Vision - April 26, 2o17 52

line drawing vs. edge detection High Level Computer Vision - April 26, 2o17 53

High Level Computer Vision - April 26, 2o17 54

Edges & Derivatives recall: the zero-crossings of the second derivative tell us the location of edges 1st derivative 2nd derivative High Level Computer Vision - April 26, 2o17 55

Compute 2nd order derivatives 1st derivative: d f(x) = lim dx h 0 f(x + h) h f(x) f(x + 1) f(x) 2nd derivative: d 2 f(x) = lim dx2 h 0 f(x + 2) d d dxf(x + h) h dx f(x) 2f(x + 1) + f(x) d d f(x + 1) dx dx f(x) mask for 1st derivative: 2nd derivative: 1 1 1 2 1 High Level Computer Vision - April 26, 2o17 56

The Laplacian The Laplacian: just another linear filter: 2 f = 2 f x 2 + 2 f y 2 2 ( G f ) = 2 G f High Level Computer Vision - April 26, 2o17 57

Second Derivative of Gaussian in 1D: in 2D ( mexican hat ): High Level Computer Vision - April 26, 2o17 58

1D edge detection using Laplacian f Laplacian of Gaussian operator d 2 dx 2 g d 2 dx 2 g f High Level Computer Vision - April 26, 2o17 59

Approximating the Laplacian Difference of Gaussians (DoG) at different scales: High Level Computer Vision - April 26, 2o17 60

The Laplacian Pyramid High Level Computer Vision - April 26, 2o17 61

Edge Detection with Laplacian sigma = 4 sigma = 2 High Level Computer Vision - April 26, 2o17 62

Edge Detection Today Still topic of active research after 40 years Today dominated by learningbased methods Quantitative Evaluation eg. on Berkeley Segmentation Data Set 500 images 5 Annotations per image 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.5 [F = 0.80] Human [F = 0.74] SE [F = 0.74] SCG Ren, Bo (2012) 0.4 0.2 [F = 0.73] Sketch Tokens Lim, Zitnick, Dollar (2013) [F = 0.73] gpb owt ucm Arbelaez, et al. (2010) 0.3 [F = 0.64] Mean Shift Comaniciu, Meer (2002) 0.1 [F = 0.64] Normalized Cuts Cour, Benezit, Shi (2005) 0.2 [F = 0.61] Felzenszwalb, Huttenlocher (2004) [F = 0.60] Canny 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Recall References P. Arbelaez, M. Maire, C. Fowlkes and J. Malik: Contour Detection and Hierarchical Image Segmentation; IEEE TPAMI, 2011 P.Dollar, C. Lawrence Zitnick: Fast Edge Detection using Structured Forests; International Conference on Computer Vision 2013; to appear in IEEE TPAMI 2015 Precision iso F 0.9 0.8 0.7 0.6 High Level Computer Vision - April 26, 2o17 63

Today - Basics of Digital Image Processing Linear Filtering Gaussian Filtering Multi Scale Image Representation Gaussian Pyramid, Laplacian Pyramid Edge Detection Recognition using Line Drawings Image derivatives (1st and 2nd order) Hough Transform Finding parametrized curves, generalized Hough transform Object Instance Identification using Color Histograms (Several slides are taken from Michael Black @ Brown) High Level Computer Vision - April 26, 2o17 64

Discussion edge detection + contour extraction edges are defined as discontinuities in the image we can assemble them, to obtain corresponding object contours but contours do not necessarily correspond to object boundaries problem: there is basically no knowledge used how object contours look like obviously humans use such knowledge to segment objects in principle: if we knew which object is in the image it would be much simpler to segment the object High Level Computer Vision - April 26, 2o17 65

Hough Transformation detection of straight lines use the knowledge that many contours belong to straight lines representation of a line: y = a x + b 2 parameters: a and b - determine all points of a line this corresponds to a transformation: (a,b) -> (x,y) - y = a x + b inverse interpretation: transformation of (x,y) -> (a,b) - b = (-x)a + y usage: points for which the magnitude of the first derivate is large lie potentially on a line High Level Computer Vision - April 26, 2o17 66

Hough Transformation for a particular point (x,y) determine all lines which go through this point: the parameters of all those lines are given by: b = (-x)a + y I.e. those lines are given by a line in the parameter space (a,b) High Level Computer Vision - April 26, 2o17 67

Hough Transformation implementation: the parameter space (a,b) has to be discretized for each candidate (x,y) for a line, store the line b = (-a) x + y in principle each candidate (x,y) votes for the discretized parameters the maxima in the parameter space (a,b) correspond to lines in the image problem of this particular parameterization the parameter a can become infinite (for vertical lines) problematic for the discretization High Level Computer Vision - April 26, 2o17 68

Hough Transformation choose another parameterization: y x cos( )+y sin( )= for this parameterization the domain is limited: - is limited by the size of the image - and [0, 2 ] x High Level Computer Vision - April 26, 2o17 69

Examples Houghtransform for a square (left) and a circle (right) High Level Computer Vision - April 26, 2o17 70

Examples High Level Computer Vision - April 26, 2o17 71

Hough Transform the same idea can be used for other parameterized contours Example: - circle: (x-a) 2 + (y-b) 2 = r 2-3 parameters: center point (a, b) and radius r Limitation: the parameter space should not become too large not all contours can be parameterized High Level Computer Vision - April 26, 2o17 72

Generalized Hough Transform Generalization for an arbitrary contour choose reference point for the contour (e.g. centre) for each point on the contour remember where it is located w.r.t. to the reference point e.g. if the center is the reference point: remember radius r and angle relative to the tangent of the contour recognition: whenever you find a contour point, calculate the tangent angle and vote for all possible reference points High Level Computer Vision - April 26, 2o17 73

Today - Basics of Digital Image Processing Linear Filtering Gaussian Filtering Multi Scale Image Representation Gaussian Pyramid, Laplacian Pyramid Edge Detection Recognition using Line Drawings Image derivatives (1st and 2nd order) Hough Transform Finding parametrized curves, generalized Hough transform Object Instance Identification using Color Histograms (Several slides are taken from Michael Black @ Brown) High Level Computer Vision - April 26, 2o17 74

Object Recognition (reminder) Different Types of Recognition Problems: Object Identification - recognize your apple, your cup, your dog - sometimes called: instance recognition Object Classification - recognize any apple, any cup, any dog - also called: generic object recognition, object categorization, - typical definition: basic level category High Level Computer Vision - April 26, 2o17 75

Object Identification Example Database for Object Identification: COIL-100 - Columbia Object Image Library contains 100 different objects, some form the same object class (e.g. cars,cups) High Level Computer Vision - April 26, 2o17 76

Challenges = Modes of Variation Viewpoint changes Translation Image-plane rotation Scale changes Out-of-plane rotation 3D object r y r x Illumination Clutter Occlusion Noise 2D image High Level Computer Vision - April 26, 2o17 77

Appearance-Based Identification / Recognition Basic assumption Objects can be represented by a collection of images ( appearances ). For recognition, it is sufficient to just compare the 2D appearances. 3D object r y r x No 3D model is needed. Fundamental paradigm shift in the 90 s High Level Computer Vision - April 26, 2o17 78

Global Representation Idea Represent each view (of an object) by a global descriptor. = = = For recognizing objects, just match the (global) descriptors. Modes of variation can be taken care of by: - built into the descriptor e.g. a descriptor can be made invariant to image-plane rotations, translation - incorporate in the training data or the recognition process. e.g. viewpoint changes, scale changes, out-of-plane rotation - robustness of descriptor or recognition process (descriptor matching) e.g. illumination, noise, clutter, partial occlusion High Level Computer Vision - April 26, 2o17 79

Case Study: Use Color for Recognition Color: Color stays constant under geometric transformations Local feature - Color is defined for each pixel - Robust to partial occlusion Idea Directly use object colors for identification / recognition Better: use statistics of object colors High Level Computer Vision - April 26, 2o17 80

Color Histograms Color statistics Given: tri-stimulus R,G,B for each pixel Compute 3D histogram - H(R,G,B) = #(pixels with color (R,G,B)) [Swain & Ballard, 1991] High Level Computer Vision - April 26, 2o17 81

Color Histograms Robust representation presence of occlusion, rotation [Swain & Ballard, 1991] High Level Computer Vision - April 26, 2o17 82

Color One component of the 3D color space is intensity If a color vector is multiplied by a scalar, the intensity changes, but not the color itself. This means colors can be normalized by the intensity. - Intensity is given by: I = R + G + B: Chromatic representation r = g = b = R R + G + B G R + G + B B R + G + B High Level Computer Vision - April 26, 2o17 83

Color Observation: Since r + g + b = 1, only 2 parameters are necessary E.g. one can use r and g and obtains b = 1 - r - g r + g + b = 1 b = 1 r g G R + G + B = 1 B R High Level Computer Vision - April 26, 2o17 84

Recognition using Histograms Histogram comparison Database of known objects Test image of unknown object known objects test image High Level Computer Vision - April 26, 2o17 85

Recognition using Histograms Database with multiple training views per object test image High Level Computer Vision - April 26, 2o17 86

Histogram Comparison Comparison measures Intersection Motivation Measures the common part of both histograms Range: [0,1] For unnormalized histograms, use the following formula High Level Computer Vision - April 26, 2o17 87

Histogram Comparison Comparison Measures Euclidean Distance Motivation Focuses on the differences between the histograms Range: [0, ] All cells are weighted equally. Not very discriminant High Level Computer Vision - April 26, 2o17 88

Histogram Comparison Comparison Measures Chi-square Motivation Statistical background: - Test if two distributions are different - Possible to compute a significance score Range: [0, ] Cells are not weighted equally! - therefore more discriminant - may have problems with outliers (therefore assume that each cell contains at least a minimum of samples) High Level Computer Vision - April 26, 2o17 89

Histogram Comparison Which measure is best? Depends on the application Both Intersection and χ 2 give good performance. - Intersection is a bit more robust. - χ 2 is a bit more discriminative. - Euclidean distance is not robust enough. There exist many other measures - e.g. statistical tests: Kolmogorov-Smirnov - e.g. information theoretic: Kullback-Leiber divergence, Jeffrey divergence,... High Level Computer Vision - April 26, 2o17 90

Recognition using Histograms Simple algorithm 1. Build a set of histograms H = {M1, M2, M3,...} for each known object - more exactly, for each view of each object 2. Build a histogram T for the test image. 3. Compare T to each Mk H - using a suitable comparison measure 4. Select the object with the best matching score - or reject the test image if no object is similar enough. Nearest-Neighbor strategy High Level Computer Vision - April 26, 2o17 91

Color Histograms Recognition (here object identification) Works surprisingly well In the first paper (1991), 66 objects could be recognized almost without errors [Swain & Ballard, 1991] High Level Computer Vision - April 26, 2o17 92

Discussion: Color Histograms Advantages Invariant to object translations Invariant to image rotations Slowly changing for out-of-plane rotations No perfect segmentation necessary Histograms change gradually when part of the object is occluded Possible to recognize deformable objects - e.g. pullover Problems The pixel colors change with the illumination ( color constancy problem ) - Intensity - Spectral composition (illumination color) Not all objects can be identified by their color distribution. High Level Computer Vision - April 26, 2o17 93