henning lorch page 1 vector gradient intersection transform (vgit) pattern recognition circle...
Post on 21-Dec-2015
227 views
TRANSCRIPT
Henning LorchPage 1
Vector Gradient Intersection Transform (VGIT)
Pattern Recognition Circle Detection
Henning Lorch 2007, [email protected]
?
Henning LorchPage 2
Vector Gradient Intersection Transform (VGIT)
Motivation
• Why circles?1. General purpose2. Practical astronomy: detection of
• mask pinholes,• optical fiber ends,• circular celestial sources, etc.
3. Used at ESO for:• instrument & telescope control software
• Why a new circle detection method?– Compare to Hough Transform for circles:
• Complexity O(N3/2) as multi-stage approach for (x,y) and r (best known)
• Sensitive to distorting image content
Henning LorchPage 3
Vector Gradient Intersection Transform (VGIT)
Idea (1)
• Multi-stage determination of (x,y) and r• Principle:
Input Image
In principle O(N2), but will be decreased to O(N3/2) (see ahead)
1. VectorialGradientComputation
2. Take a Pairof GradientVectors
3. GetIntersection
4. GetDistribution ofIntersectionsfor all pairs
Henning LorchPage 4
• Constraints on getting intersections:– Weight by gradient intensities– Give high weight to (more or less)
perpendicular gradients, suppress others– Free choice: limit to positive gradient direction?
• Got (x,y), now determine r– E.g. by creating a gradient-radius histogram
Complexity is O(N) negligible
Vector Gradient Intersection Transform (VGIT)
Idea (2)
Weight angle difference
Henning LorchPage 5
Vector Gradient Intersection Transform (VGIT)
Efficient Algorithm (1)
• VGIT:– Avoid building pairs of gradients (avoid O(N2))– Allow approximation:
• Group gradients with similar direction• Combine perpendicular gradient groups to respective
intersection distributions• Combine intersection distributions to overall distribution
Henning LorchPage 6
Vector Gradient Intersection Transform (VGIT)
Efficient Algorithm (2)
• Procedure:– Create a set of intermediate accumulator frames
• Each corresponding to an arc fraction
– gradient pixels:• Select a frame according to the angle range• Draw a weighted line from the pixel‘s position
– Multiply „perpendicular“ frames
– Draw oppositely directed lines into same frame
=
Henning LorchPage 7
• Procedure:
=
=
=
=
=
=
+ + + +...+ + =
Vector Gradient Intersection Transform (VGIT)
Efficient Algorithm (3)
. . .
Henning LorchPage 8
• Disturbance:
=
=
=
=
=
=
...
Median
Vector Gradient Intersection Transform (VGIT)
Efficient Algorithm (4)
. . .
Henning LorchPage 9
Vector Gradient Intersection Transform (VGIT)
Resulting Parameters
• Radius:– Can also be improved, by:
• creating multiple histograms for different angle ranges,• and generating the median histogram
• General Optimisation:– Parameters x, y, r need to be optimised
• using integral along perimeter• E.g. „Amoeba“ strategy
Henning LorchPage 10
Vector Gradient Intersection Transform (VGIT)
Summary
• Order of complexity same as Hough• Accumulation process is different:
– Angle ranges are separated– Intersection frames are generated in non-linear step– Intersections are accumulated by median
Clear peaks are generated at circle centres Elimination of distortions by usage of median
Henning LorchPage 11
Vector Gradient Intersection Transform (VGIT)
Comparison Hough / VGIT
Hough (log) Hough improved VGIT (linear)
Linear Logarithmic
RAW FrameLow SNR
Henning LorchPage 12
• Questions?
Vector Gradient Intersection Transform (VGIT)
Thank You
!