System and method for performing edge detection in an image
First Claim
1. A computer-implemented method for performing edge detection in an image comprising a plurality of pixels, the method comprising:
- a) receiving the plurality of pixels;
b) generating a curve based on two or more random pixels of the plurality of pixels;
c) testing the curve against a first subset of the plurality of pixels, wherein said testing produces first test results;
d) if said first test results meet first criteria, outputting information regarding the curve, wherein the curve comprises a detected edge in the image.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing a curve fit on a plurality of data points. In an initial phase, a subset Pmax of the plurality of points which represents an optimal curve is determined. This phase is based on a statistical model which dictates that after trying at most Nmin random curves, each connecting a randomly selected two or more points from the input set, one of the curves will pass within a specified radius of the subset Pmax of the input points. The subset Pmax may then be used in the second phase of the method, where a refined curve fit is made by iteratively culling outliers from the subset Pmax with respect to a succession of optimal curves fit to the modified subset Pmax at each iteration. The refined curve fit generates a refined curve, which may be output along with a final culled subset Kfinal of Pmax.
34 Citations
63 Claims
-
1. A computer-implemented method for performing edge detection in an image comprising a plurality of pixels, the method comprising:
-
a) receiving the plurality of pixels;
b) generating a curve based on two or more random pixels of the plurality of pixels;
c) testing the curve against a first subset of the plurality of pixels, wherein said testing produces first test results;
d) if said first test results meet first criteria, outputting information regarding the curve, wherein the curve comprises a detected edge in the image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method for detecting an edge in an image comprising a plurality of pixels, the method comprising:
-
a) receiving the plurality of pixels;
b) performing the following steps c) through f) in an iterative manner;
c) generating a curve based on two or more random pixels of the plurality of pixels;
d) pre-testing the curve against a first random subset of the plurality of pixels, wherein said testing produces first test results;
e) if said first test results meet first criteria, testing the curve against a second subset of the plurality of pixels, thereby generating second test results;
f) if said second test results meet second criteria, storing information regarding the curve; and
g) outputting said information regarding the curve, wherein the curve comprises a detected edge in the image. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A computer-implemented method for detecting an edge in an image comprising a plurality of pixels, the method comprising:
-
a) receiving the plurality of pixels, P;
b) randomizing the order of the plurality of pixels P;
c) performing the following steps d) through j) in an iterative manner;
d) selecting two or more pixels from P;
e) generating a curve using the two or more pixels, wherein said generating comprises calculating two or more parameters defining the curve;
f) selecting a subset Pm of P, wherein Pm comprises M pixels;
g) determining and recording a subset Pj of Pm, wherein Pj comprises J pixels in Pm whose distance from the curve is less than or equal to a specified pixel radius. h) if a ratio of J to M exceeds a threshold, updating the recorded subset Pj and J to include all pixels in P whose distance from the curve is less than or equal to the specified pixel radius;
i) if J exceeds all values of J calculated in previous iterations, recording the subset Pj as a subset Pmax, comprising Jmax pixels, and recording the two or more parameters defining the curve, wherein the curve comprises an estimated fit to the plurality of pixels, P;
j) testing for criteria to end said iterating; and
k) generating output, wherein said output comprises the subset Pmax, and said two or more parameters defining the generated curve;
wherein said criteria comprise one or more of;
the number of iterations meeting or exceeding an iteration threshold; and
the value of Jmax meeting or exceeding a minimum pixel count; and
wherein the generated curve comprises a detected edge in the image. - View Dependent Claims (41)
-
-
42. A memory medium operable to store program instructions for performing edge detection in a received image comprising a plurality of pixels, wherein the program instructions are executable to perform:
-
a) generating a curve based on two or more random pixels of the plurality of pixels;
b) testing the curve against a first subset of the plurality of pixels, wherein said testing produces first test results;
c) if said first test results meet first criteria, outputting information regarding the curve, wherein the curve comprises a detected edge in the image. - View Dependent Claims (43, 44, 45, 46, 47)
-
-
48. A memory medium operable to store program instructions for performing edge detection in an image comprising a plurality of pixels, wherein the program instructions are executable to perform:
-
a) performing the following steps b) through e) in an iterative manner;
b) generating a curve based on two or more random pixels of the plurality of pixels;
c) pre-testing the curve against a first random subset of the plurality of pixels, wherein said testing produces first test results;
d) if said first test results meet first criteria, testing the curve against a second subset of the plurality of pixels, thereby generating second test results;
e) if said second test results meet second criteria, storing information regarding the curve; and
f) outputting said information regarding the curve, wherein the curve comprises a detected edge in the image. - View Dependent Claims (49, 50, 51, 52)
-
-
53. A computer based system for performing edge detection in an image comprising a plurality of pixels, the system comprising:
-
a CPU;
a memory medium coupled to the CPU, wherein the memory is operable to store program instructions for performing edge detection, and wherein the CPU is operable to execute the program instructions; and
an input which is operable to receive the plurality of pixels;
wherein the program instructions are executable by the CPU to perform;
a) generating a curve based on two or more random pixels of the plurality of pixels;
b) testing the curve against a first subset of the plurality of pixels, wherein said testing produces first test results;
c) if said first test results meet first criteria, outputting information regarding the curve, wherein the refined curve comprises a detected edge in the image. - View Dependent Claims (54, 55, 56, 57, 58)
-
-
59. A computer based system for performing a curve fit, comprising:
-
a CPU;
a memory medium coupled to the CPU, wherein the memory is operable to store program instructions, and wherein the CPU is operable to execute the program instructions; and
an input which is operable to receive a plurality of pixels;
wherein the program instructions are executable by the CPU to perform;
a) performing the following steps b) through e) in an iterative manner;
b) generating a curve based on two or more random pixels of the plurality of pixels;
c) pre-testing the curve against a first random subset of the plurality of pixels, wherein said testing produces first test results;
d) if said first test results meet first criteria, testing the curve against a second subset of the plurality of pixels, thereby generating second test results;
e) if said second test results meet second criteria, storing information regarding the curve; and
f) outputting said information regarding the curve, wherein the curve comprises a detected edge in the image. - View Dependent Claims (60, 61, 62, 63)
-
Specification