-
Transform Edge Detections into lines
-
Detects lines/shapes
- only for shapes that can be expressed as an equation
-
Gives good detections even with noise or if shape is partially hidden
-
Input
- Output of some Edge Detection
- pixels that partially describe boundary of objects
- Output of some Edge Detection
-
We want to find sets of pixels that make up straight lines
-
assume n=y, m=x
f[n,m] = f[y,x]
-
We don’t know which pairs of edge points belong to the same line.
- Do two points lie on the same line?
-
BUT this fixes that
-
all straight lines passing through a point have
-
rewrite as
-
we consider x and y as parameters, a and b as coordinates
-
so one point will give us a line in (a,b) space
-
Ex. if 6 edge points intersect at (1,1)
- there might be a line with y-intercept 1, slope 1
- but not all intersections are valid lines
- two edge points not in a real edge could still intersect
- How do we identify intersections that are belong to the same edge versus random points?
-
More lines intersecting at (a’,b’), the more likely y=a’x+b’ is a real edge
- Converts from one domain to another, counts in second domain
- voting algorithm , vote for buckets of intersection in (a,b) space
- each point votes for compatible models
- each point votes for compatible models
- voting algorithm , vote for buckets of intersection in (a,b) space
- Converts from one domain to another, counts in second domain
-
Can also represent lines as polar coordinates
- Can transform from (x,y) to curves in (p, theta) space
- reason to do this: you can’t represent horizontal/vertical lines in (a,b) due to no y-intercept?
- in curve space,
remarks
- advantages
- simple
- ez
- can handle missing/occluded data
- adaptable to other shapes than lines
- disadvantages
- complex for high parameter shapes
- looks for one shape
- can be fooled by “apparent lines”
- length/pos of line segment can’t be determined
- co-linear line segments cannot be separated
- runs in O(N^2) coz considers all point pairs, iterates through features and parameters
- noisy points vote too, but typically their votes are inconsistent with majority of good edge points (outliers)