110 likes | 283 Views
Feature Detection. Feature Detection. Image Features –Decisions!. Features such as edges, corners, junction, eyes, … are obtained by making some decision from the image measurements.
E N D
Feature Detection Feature Detection Computer Vision
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. Computer Vision
A step edge at q=0. The value is (equally) large for both q=0 and q=p/4 as shown (in red) for scale s=3 pixels. It is also large for values q=p/6, p/3 not shown. However, the quantity is significantly larger for q=0. Decisions: Edgels (Edge-pixels and Orientation) Edge threshold: Decision! Edge orientation: Decision! Computer Vision
Decisions: Edgels (cont.) Strength of the Edgel Eliminate some spurious locations. Decision! The gray level indicates the angle: the darkest one is 0 degrees. The larger is the angle the lighter is displayed, up to 5p/6. Computer Vision
Decisions: Local Angle Change Angle change where is the contour curvature multiplied by the arc length , where A contour segment y x Computer Vision
Decisions: Junctions, Corners Junction threshold: Decision! Remove (Undo) detection if Eliminate spurious locations. Decisions! Examining the values of q where allow us to characterize the junctions. For example, when only two value of q pass the test and or suggest a corner. Corners are many times called L-junctions. If three angles are detected, it may be a T-junction or an Y-junction. T-junctions exhibit one region with angle near p, and usually arise in images due to surface occlusions in a scene. Four angles suggest a X-junction, and usually arise in images due to surface transparency in the scene. Note that this detector also detects many edgels. Computer Vision
qmax (xc , yc) Decisions: Connecting Edgels, Pseudocode Algorithm to link edgels. Start with a seed location (xc,yc) Contour-Follower(xc , yc) if (Edgel(xc , yc ) NIL ) Link-neighbors+(xc , yc ,qmax) Link-neighbors-(xc , yc ,qmax) end Link-neighbors±(xc , yc ,qmax) xn±= xc ± xqmaxcosqmax ; yn±= yc ± yqmaxsinqmax ; if (Edgel(xn±,yn±) NIL ) Link((xc , yc), (xn±,yn±)) Link-neighbors±( xn±,yn±,qmax(xn±,yn±) ) end Computer Vision
Decisions: Connecting Edgels, Pseudocode Link-neighbors±(xc , yc ,qmax-c) xn±= xc ± xqmaxcosqmax ; yn±= yc ± yqmaxsinqmax ; if ((Edgel(xn±,yn±) NIL )&(Coherence(xc , yc xn±,yn±))) Link((xc , yc), (xn±,yn±)) Link-neighbors±( xn±,yn±,qmax-n(xn±,yn±) ) end Coherence(xc , yc xn,yn) if ( and ) return True else Nil end Computer Vision
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”: Computer Vision