© 2004 by Davi GeigerComputer Vision January 2004 L1.1 Image Measurements and Detection
© 2004 by Davi GeigerComputer Vision January 2004 L1.2 Images are Intensity Surfaces and Edges are Surface Discontinuities I 1 (x,y) I(x,y)
© 2004 by Davi GeigerComputer Vision January 2004 L1.3 For each pixel (x,y) we evaluate the accumulation of the intensity along sixteen (16) directions, and four (4) different scales, s= 3, 5, 7, 9 Measurements:Intensity Accumulation, // /4 /3 /6 /3 // // s=3 pixels s=7 pixels Discrete approximation
© 2004 by Davi GeigerComputer Vision January 2004 L1.4 Measurements:Intensity Accumulation, // /4 /3 /6 /3 // // where, and for and for and for and for Removing the center pixel:
© 2004 by Davi GeigerComputer Vision January 2004 L1.5 /4 s=3 s=5 /3 /6 s=5 s=3 s=5 s=3 s=5 s=7 s=3 Measurements: Intensity Accumulation II, for for for In order to obtain more robust measures, for an angle we can average the value of along to obtain
© 2004 by Davi GeigerComputer Vision January 2004 L1.6 Measurements: Derivatives Taking the derivative along the angle i.e., in a direction Analogously we obtain. We have now a bank of sixteen (16) distinct oriented filters at different scales, namely { ; and s . will have maximum response (highest value) among the possible orientations, while, will have the minimum response. / 3
© 2004 by Davi GeigerComputer Vision January 2004 L1.7 Experiments:
© 2004 by Davi GeigerComputer Vision January 2004 L1.8 Exeriments (cont.):
© 2004 by Davi GeigerComputer Vision January 2004 L1.9 /3 /6 Measurements: Derivatives Corners and Junctions will respond to high values of at distant locations from the center The maximum responses here, among different are for and
© 2004 by Davi GeigerComputer Vision January 2004 L1.10 Measurements: 2nd Derivatives Hessian allows for computing the second derivative in order to compute the (second) derivative along a direction of a (first) derivative along a direction we compute the projections For example for we obtain and for we obtain
© 2004 by Davi GeigerComputer Vision January 2004 L1.11 Measurements: 2nd Derivatives (cont.) in order to compute the (second) derivative along a direction of a (first) derivative along a direction we obtain a continuous and a lattice approximation as x y
© 2004 by Davi GeigerComputer Vision January 2004 L1.12 Image Features –Decisions! Features such as edges, corners, junction, eyes, … are obtained by making some decision from the image measurements. Decisions are the result of some comparison followed by a choice. Examples (i) if a measurement is above a threshold we accept, not otherwise; (ii) if a measurement is the largest compared to others, we select it.
© 2004 by Davi GeigerComputer Vision January 2004 L1.13 Decisions: Edgels (Edge-pixels and Orientation) Edge threshold: Decision! Edge orientation: Decision! A step edge at The value is (equally) large for both, and as shown (in red) for scale s=3 pixels. It is also large for values not shown However, the quantity is significantly larger for
© 2004 by Davi GeigerComputer Vision January 2004 L1.14 The gray level indicates the angle: the darkest one is 0 degrees. The larger is the angle the lighter is displayed, up to Strength of the Edgel Decisions: Edgels (cont.) Edgel(xc, yc ) if else Nil
© 2004 by Davi GeigerComputer Vision January 2004 L1.15 Decisions: Connecting Edgels, Pseudocode Algorithm to link edgels. Start with a seed location (x c, y c ) Contour-Follower( x c, y c ) if (Edgel (x c, y c ) NIL ) Link-neighbors+( x c, y c, max ) Link-neighbors-( x c, y c, max ) end Link-neighbors±( x c, y c, max ) x n ± = x c ± x max cos max ; y n ± = y c ± y max sin max ; if (Edgel (x n ±, y n ± ) NIL ) Link ((x c, y c ), (x n ±, y n ± )) Link-neighbors± ( x n ±, y n ±, max (x n ±, y n ± ) ) end max ( x c, y c )
© 2004 by Davi GeigerComputer Vision January 2004 L1.16 Decisions: Connecting Edgels, Pseudocode Link-neighbors±( x c, y c, max-c ) x n ± = x c ± x max cos max ; y n ± = y c ± y max sin max ; if ((Edgel (x n ±, y n ± ) NIL )&(Coherence(x c, y c x n ±, y n ± ))) Link ((x c, y c ), (x n ±, y n ± )) Link-neighbors± ( x n ±, y n ±, max-n (x n ±, y n ± ) ) end Coherence is used so that contrast does not change and contours can not return on the same path. Coherence( x c, y c x n, y n ) if ( and ) return True else Nil end
© 2004 by Davi GeigerComputer Vision January 2004 L1.17 Threshold Parameters: Estimation We have considered at least four parameters: How to estimate them? One technique is Histogram partition: Plot the Histogram and find the parameter that “best partition it”:
© 2004 by Davi GeigerComputer Vision January 2004 L1.18 Decisions: Local Angle Change Angle change y x A contour segment is the contour curvature multiplied by the arc length, where
© 2004 by Davi GeigerComputer Vision January 2004 L1.19 Curvature of Isocontour
© 2004 by Davi GeigerComputer Vision January 2004 L1.20