Circular object identification system
First Claim
1. A computer implemented method for determining a center point of a circular object in an image, said method employing a computer system comprising at least one processor communicatively coupled to a non-transitory computer readable storage medium that stores instructions executable by said at least one processor, said at least one processor configured to implement said method, said method comprising:
- determining a gradient direction for each of a plurality of pixel points in said image, wherein said gradient direction defines an angular orientation related to a change in intensity at said each of said pixel points with respect to a reference axis;
identifying prospective center points of said circular object for said each of said pixel points at a predetermined distance along said gradient direction of said each of said pixel points, and constructing an axis that joins corresponding said prospective center points and a corresponding pixel point of said each of said pixel points;
locating prospective circumference points among said pixel points at predetermined angles from said constructed axis for said corresponding pixel point, wherein said prospective circumference points are at said predetermined distance from a corresponding one of said prospective center points;
comparing said gradient direction of each of said prospective circumference points with a direction defined by said each of said prospective circumference points and said corresponding one of said prospective center points, with respect to said reference axis to find a match;
determining convergence of said gradient direction of said each of said prospective circumference points to said corresponding one of said prospective center points on finding said match, for establishing that said each of said prospective circumference points lies on a circumference of said circular object;
assigning a decision vote to said corresponding one of said prospective center points based on said determination of said convergence of said gradient direction of each of one or more of said prospective circumference points to said corresponding one of said prospective center points;
determining number of resultant decision votes assigned to each of said prospective center points identified for said each of said pixel points in said image by counting each said decision vote assigned to said each of said prospective center points; and
determining said center point of said circular object from said prospective center points identified for said pixel points in said image based on said determined number of said resultant decision votes assigned to said each of said prospective center points.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented method and system determines a center point of a circular object in an image. A circular object identification system identifies prospective center points of the circular object for each of multiple pixel points at a predetermined distance along a gradient direction determined for each of the pixel points, constructs an axis between the corresponding prospective center points and a corresponding pixel point, and locates prospective circumference points at predetermined angles from the constructed axis. The circular object identification system compares the gradient direction of each of the prospective circumference points with a direction defined by each of the prospective circumference points and a corresponding prospective center point to find a match, determines convergence of the gradient direction of each of the prospective circumference points to a corresponding prospective center point, and determines the center point based on resultant decision votes of each of the prospective center points.
-
Citations
41 Claims
-
1. A computer implemented method for determining a center point of a circular object in an image, said method employing a computer system comprising at least one processor communicatively coupled to a non-transitory computer readable storage medium that stores instructions executable by said at least one processor, said at least one processor configured to implement said method, said method comprising:
-
determining a gradient direction for each of a plurality of pixel points in said image, wherein said gradient direction defines an angular orientation related to a change in intensity at said each of said pixel points with respect to a reference axis; identifying prospective center points of said circular object for said each of said pixel points at a predetermined distance along said gradient direction of said each of said pixel points, and constructing an axis that joins corresponding said prospective center points and a corresponding pixel point of said each of said pixel points; locating prospective circumference points among said pixel points at predetermined angles from said constructed axis for said corresponding pixel point, wherein said prospective circumference points are at said predetermined distance from a corresponding one of said prospective center points; comparing said gradient direction of each of said prospective circumference points with a direction defined by said each of said prospective circumference points and said corresponding one of said prospective center points, with respect to said reference axis to find a match; determining convergence of said gradient direction of said each of said prospective circumference points to said corresponding one of said prospective center points on finding said match, for establishing that said each of said prospective circumference points lies on a circumference of said circular object; assigning a decision vote to said corresponding one of said prospective center points based on said determination of said convergence of said gradient direction of each of one or more of said prospective circumference points to said corresponding one of said prospective center points; determining number of resultant decision votes assigned to each of said prospective center points identified for said each of said pixel points in said image by counting each said decision vote assigned to said each of said prospective center points; and determining said center point of said circular object from said prospective center points identified for said pixel points in said image based on said determined number of said resultant decision votes assigned to said each of said prospective center points. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer implemented method for determining a center point of a circular object in an image, said method employing a computer system comprising at least one processor communicatively coupled to a non-transitory computer readable storage medium that stores instructions executable by said at least one processor, said at least one processor configured to implement said method, said method comprising:
-
determining a gradient direction for each of a plurality of pixel points in said image, wherein said gradient direction defines an angular orientation related to a change in intensity at said each of said pixel points with respect to a reference axis; identifying prospective center points of said circular object for said each of said pixel points at a predetermined distance along said gradient direction of said each of said pixel points, and constructing an axis that joins corresponding said prospective center points and a corresponding pixel point of said each of said pixel points; identifying a first local neighborhood of said pixel points around each of said prospective center points; locating prospective circumference points among said pixel points at predetermined angles from said constructed axis for said corresponding pixel point, wherein said prospective circumference points are at said predetermined distance from a corresponding one of said prospective center points; identifying a second local neighborhood of said pixel points around said each of said prospective circumference points; determining convergence of said gradient direction of said each of said prospective circumference points and each of said pixel points in said second local neighborhood to one of said corresponding one of said prospective center points and any of said pixel points in said first local neighborhood around said corresponding one of said prospective center points, by traversing said predetermined distance from said each of said prospective circumference points and said each of said pixel points in said second local neighborhood to reach said one of said corresponding one of said prospective center points and said any of said pixel points in said first local neighborhood; assigning a local vote to said corresponding one of said prospective center points based on each said determination of said convergence of said gradient direction of each of one or more of said prospective circumference points and said pixel points in said second local neighborhood to one of said corresponding one of said prospective center points and said any of said pixel points in said first local neighborhood; adding a decision vote to said corresponding one of said prospective center points in an accumulator array when number of resultant local votes assigned to said corresponding one of said prospective center points determined by counting each said local vote assigned to said corresponding one of said prospective center points is greater than a predetermined vote count threshold; determining number of resultant decision votes assigned to each of said prospective center points identified for said each of said pixel points in said image by counting each said decision vote assigned to said each of said prospective center points; and determining said center point of said circular object from said prospective center points identified for said pixel points in said image based on said determined number of said resultant decision votes assigned to said each of said prospective center points. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer implemented method for identifying a circular object in an image, said method employing a computer system comprising at least one processor communicatively coupled to a non-transitory computer readable storage medium that stores instructions executable by said at least one processor, said at least one processor configured to implement said method, said method comprising:
-
determining a gradient direction for each of a plurality of pixel points in said image, wherein said gradient direction defines an angular orientation related to a change in intensity at said each of said pixel points with respect to a reference axis; identifying prospective center points of said circular object for said each of said pixel points at a predetermined distance along said gradient direction of said each of said pixel points, and constructing an axis that joins corresponding said prospective center points and a corresponding pixel point of said each of said pixel points; locating prospective circumference points among said pixel points at predetermined angles from said constructed axis for said corresponding pixel point, wherein said prospective circumference points are at said predetermined distance from a corresponding one of said prospective center points; comparing said gradient direction of each of said prospective circumference points with a direction defined by said each of said prospective circumference points and said corresponding one of said prospective center points, with respect to said reference axis to find a match; determining convergence of said gradient direction of said each of said prospective circumference points to said corresponding one of said prospective center points on finding said match, for establishing that said each of said prospective circumference points lies on a circumference of said circular object; assigning a decision vote to said corresponding one of said prospective center points based on said determination of said convergence of said gradient direction of each of one or more of said prospective circumference points to said corresponding one of said prospective center points; determining number of resultant decision votes assigned to each of said prospective center points identified for said each of said pixel points in said image by counting each said decision vote assigned to said each of said prospective center points; determining said center point of said circular object from said prospective center points identified for said pixel points in said image based on said determined number of said resultant decision votes assigned to said each of said prospective center points; identifying each of said pixel points at said predetermined distance from said determined center point, that contributes each said decision vote to said determined center point of said circular object; determining an angle range that defines a curvature and a magnitude of said circular object by generating an angle histogram of said identified each of said pixel points; and correlating said resultant decision votes assigned to said determined center point of said circular object with said angle range determined from said angle histogram for identifying said circular object in said image. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer implemented system for determining a center point of a circular object in an image, comprising:
-
at least one processor; a non-transitory computer readable storage medium communicatively coupled to said at least one processor, said non-transitory computer readable storage medium storing modules of said computer implemented system that are executable by said at least one processor, said modules comprising; a gradient direction determination module that determines a gradient direction for each of a plurality of pixel points in said image, wherein said gradient direction defines an angular orientation related to a change in intensity at said each of said pixel points with respect to a reference axis; a point determination module that performs; identifying prospective center points of said circular object for said each of said pixel points at a predetermined distance along said gradient direction of said each of said pixel points; constructing an axis joining corresponding said prospective center points and a corresponding pixel point of said each of said pixel points; and locating prospective circumference points among said pixel points at predetermined angles from said constructed axis for said corresponding pixel point, wherein said prospective circumference points are at said predetermined distance from a corresponding one of said prospective center points; a comparison module that compares said gradient direction of each of said prospective circumference points with a direction defined by said each of said prospective circumference points and said corresponding one of said prospective center points, with respect to said reference axis to find a match; a convergence determination module that determines convergence of said gradient direction of said each of said prospective circumference points to said corresponding one of said prospective center points on finding said match, for establishing that said each of said prospective circumference points lies on a circumference of said circular object; a vote assignment module that assigns a decision vote to said corresponding one of said prospective center points based on said determination of said convergence of said gradient direction of said each of one or more of said prospective circumference points to said corresponding one of said prospective center points; said vote assignment module that determines number of resultant decision votes assigned to each of said prospective center points identified for said each of said pixel points in said image by counting each said decision vote assigned to said each of said prospective center points; and said point determination module in communication with said vote assignment module that determines said center point of said circular object from said prospective center points identified for said pixel points in said image based on said determined number of said resultant decision votes assigned to said each of said prospective center points. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer program product comprising a non-transitory computer readable storage medium, said non-transitory computer readable storage medium storing computer program codes comprising instructions executable by at least one processor, said computer program codes comprising:
-
a first computer program code for determining a gradient direction for each of a plurality of pixel points in an image, wherein said gradient direction defines an angular orientation related to a change in intensity at said each of said pixel points with respect to a reference axis; a second computer program code for identifying prospective center points of a circular object for said each of said pixel points at a predetermined distance along said gradient direction of said each of said pixel points; a third computer program code for constructing an axis that joins corresponding said prospective center points and a corresponding pixel point of said each of said pixel points; a fourth computer program code for locating prospective circumference points among said pixel points at predetermined angles from said constructed axis for said corresponding pixel point, wherein said prospective circumference points are at said predetermined distance from a corresponding one of said prospective center points; a fifth computer program code for comparing said gradient direction of each of said prospective circumference points with a direction defined by said each of said prospective circumference points and said corresponding one of said prospective center points, with respect to said reference axis to find a match; a sixth computer program code for determining convergence of said gradient direction of said each of said prospective circumference points to said corresponding one of said prospective center points on finding said match, for establishing that said each of said prospective circumference points lies on a circumference of said circular object; a seventh computer program code for assigning a decision vote to said corresponding one of said prospective center points based on said determination of said convergence of said gradient direction of each of one or more of said prospective circumference points to said corresponding one of said prospective center points; an eighth computer program code for determining number of resultant decision votes assigned to each of said prospective center points identified for said each of said pixel points in said image by counting each said decision vote assigned to said each of said prospective center points; and a ninth computer program code for determining said center point of said circular object from said prospective center points identified for said pixel points in said image based on said determined number of said resultant decision votes assigned to said each of said prospective center points. - View Dependent Claims (40, 41)
-
Specification