henning lorch page 1 vector gradient intersection transform (vgit) pattern recognition circle...

12
Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition Circle Detection Henning Lorch 2007, [email protected] ?

Post on 21-Dec-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

Henning LorchPage 1

Vector Gradient Intersection Transform (VGIT)

Pattern Recognition Circle Detection

Henning Lorch 2007, [email protected]

?

Page 2: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

Page 3: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

Page 4: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

Page 5: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

Page 6: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

=

Page 7: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

Henning LorchPage 7

• Procedure:

=

=

=

=

=

=

+ + + +...+ + =

Vector Gradient Intersection Transform (VGIT)

Efficient Algorithm (3)

. . .

Page 8: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

Henning LorchPage 8

• Disturbance:

=

=

=

=

=

=

...

Median

Vector Gradient Intersection Transform (VGIT)

Efficient Algorithm (4)

. . .

Page 9: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

Page 10: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

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

Page 11: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

Henning LorchPage 11

Vector Gradient Intersection Transform (VGIT)

Comparison Hough / VGIT

Hough (log) Hough improved VGIT (linear)

Linear Logarithmic

RAW FrameLow SNR

Page 12: Henning Lorch Page 1 Vector Gradient Intersection Transform (VGIT) Pattern Recognition  Circle Detection Henning Lorch 2007, hlorch@eso.org ?

Henning LorchPage 12

• Questions?

[email protected]

Vector Gradient Intersection Transform (VGIT)

Thank You

!