Feature detection and estimation Differential geometric structures in Images Davi Geiger and Rosalba Giugno INTRODUCTION TO FEATURE DETECTION We have obtained image measurements such as D I x y s D I x y s H x y s and D I x y s We now wish to make detections and estimations which are decisions based upon our models 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 In particular we will discuss edge detection orientation curvature and junction detection and classification 1 Edgels edge detection edge orientation tangent In order to detect an intensity edge we require that there is a value DI x y s in the set I x y above some threshold value say Te In order to detect the orientation of a detected edge element at a given scale we look for the angle that simultaneously maximizes the value DI x y 2 s in magnitude and minimizes the value DI x y s in magnitude This is essence our model of extracting detecting the orientation of a hypothesized contour present at a pixel x y It requires a decision and one possible criteria is to extract the orientation at a given scale via s max x y arg max DI x y 2 s DI x y s where only eight 8 directions are considered and for locations where there is an angle such that DI x y 2 s DI x y s Te Figure 1 right Edgels Results of detecting and estimating s max x y Dark levels represent 0 degrees orientation while the brightest values represent 1 Figure 2 Shows a step edge at The value DI x y 2 s 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 DI x y 2 s DI x y s is significantly larger for Figure 3 Shows a step edge at The value DI x y 2 s at edge locations is equally large for both and as shown in red for scale s 3 pixels It is also equally large for values not shown However the quantity DI x y 2 s DI x y s is significantly larger for Figure 4 Shows a step edge at As the measurements are made away from the location of the edge The quantity DI x y 2 s DI x y s decreases and also spurious response are obtained as in this case the response is equal for both and homogeneity measure will detect these locations 2 We can further filter out spurious detections by removing locations where H x y s TH and TH is a threshold to be estimated We can define a routine called Edgel x y s which returns NIL if the location does not pass either the test DI x y 2 s DI x y s Te or the homogeneity test and returns s max x y and DI x y 2 s DI x y s otherwise Pseudocode Edgel x y s D max 0 5 6 6 DI DI x y 2 s DI x y s for 0 if DI D max s max D max DI if D max Te and H x y s TH s return max D max else NIL end s max x y Note that is selected among eight 8 directions from 2 Curvatures or changes of Edgel orientations We use the concept of the second derivatives D I x y s to construct a detector of angle changes which is related to the curvature of a contour passing by pixel x y as we will describe Consider the quantity change of angle NIL max x y s max xN yN maxs x y s if Edgel xN yN s NIL otherwise 3 where x N x x s max cos s max x y and y N y y s max sin s max x y and x and y will vary according to as x 1 and y 0 x 0 and y 1 for for for x 2 and y 2 4 x and y 2 3 4 x 2 and y 3 for for Note that the displacement length changes for different angles and for some angles such as the displacement is much larger in length as to reach a center of another s pixel The change in angle max x y quantity can be best understood in figure 2 s max x y contour 2 y s ontour max x x cos y y sin 2 s max x y Figure 2 The geometrical quantity s max x y s max x y provides an estimation of how does the hypothetical contour x present in a pixel changes its tangent angle It is proportional to the curvature of the contour We can make the estimate symmetric by averaging over both sides of the pixel x y More precisely by considering s s max x y s max x x cos y y sin max x x cos y y sin where s max x y From s max x y we can readily compute the curvature of the hypothetical contour passing by pixel x y as s max x y x y s 2 2 2 2 1 2 where x cos y sin x cos y sin 4 3 Junctions and Corners For each pixel location we examine how well a simple junction model can fit the data We ex amine locations where large values of D I x y s occurs i e where there is D I x y s T for some and T is a threshold that needs to be estimated We can further filter out spurious detections by removing locations where H x y s TH and TH is a threshold to be estimated Note that this filter also responds to edges and so let us further filter out the junctions by characterizing them Once a junction is detected one can also compute the number n of directions such that D I x y s is above the threshold T Thus Corners or L junctions will have n 2 T junctions and L Junctions will have n 3 X junctions will have n 4 More precisely corners are expected to yield only two different an gles 1 and 2 such that D I x y 1 s T and D I x y 2 s T Moreover we must require that min 2 1 1 2 2 5 6 otherwise it is an edgel not a corner It is possible to detect T junction or Y junctions where there are three distinct angles with D I x y s T i e there are three distinct regions 2 3 2 2 3 In these cases the specific angles will define if it is a T or Yjunction T junctions will have one while Y junctions will not T junctions and Yjunctions …
View Full Document