A method is provided for identifying and locating curves within a digitized image. Digitized images are comprised of points which may represent curves stored as an array of binary coded elements in an memory device. Each addressable memory location in the array represents a single point or pixel. Particular curves within a scanned image are identified by randomly selecting a minimal subset of points which are necessary to generate a general equation for that curve; the equation along with a point on the curve is then used as in input parameter to an incremental curve generation routine which incrementally generates all points which are in a path along that curve. A comparison is made with scanned data to determine how many points exist along the path. This is repeatedly done until the curve with the greatest number of points is located.
A method for recognizing geometric shapes in an image using fuzzy logic. The method includes determining an edge in the image and a gradient of the edge. The gradient is corrected by virtue of a first fuzzy logic process, and the number of points that belong to the curve are determined by virtue of a second fuzzy logic process. A fuzzy device for the recognition of geometric shapes in images that implementing the method includes an edge detector, a fuzzy gradient corrector to correct the gradient, and a fuzzy vote attributor to determine the number of points that belong to the curve.
The present invention generally relates to pattern recognition systems, and particularly to the detection of a circle from a complex image that combines circles, straight lines, and other shapes. The system of the invention determines whether a pixel in an image being scanned is an edge pixel, and derives a gradient vector associated with the edge pixel. The direction of the gradient vector is modified toward a center of a circle incorporating the edge pixel, and then whether the edge pixel is a circle edge pixel is determined. If the edge pixel is a circle edge pixel, coordinates of a center of a circle for the edge pixel are calculated, and stored in memory. After the above steps are repeated for the other pixels in the image being scanned, the system determines whether coordinates of a calculated center of a circle for any circle edge pixel are the same for other circle edge pixels. If so, a circle is considered to be detected based on the circle edge pixels having calculated centers within a predetermined range of each other and within a predetermined frequency of occurrence.
A system and method for performing a curve fit on a plurality of data points. In an initial phase, a subset P.sub.max 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 N.sub.min 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 P.sub.max of the input points. The subset P.sub.max 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 P.sub.max with respect to a succession of optimal curves fit to the modified subset P.sub.max at each iteration. The refined curve fit generates a refined curve, which may be output along with a final culled subset K.sub.final of P.sub.max.
Disclosed is a two step process for automatically finding a human face in an electronically digitized image (for example, taken by handheld digital cameras and digital video-cameras such as cam-corders), and for confirming the existence of the face by examining facial features. Step 1 is to detect the human face and is accomplished in stages that include enhancing the digital image with a blurring filter and edge enhancer in order to better set forth the unique facial features such as wrinkles, and curved shapes of a facial image. After prefiltering, preselected curves sometimes referred to as snakelets are dropped on the image where they become aligned to the natural wrinkles and curves of a facial image. Step 2 is to confirm the existence of the human face in seven stages by finding facial features of the digital image encompassing the chin, sides of the face, virtual top of the head, eyes, mouth and nose of the image. Ratios of the distances between these found facial features can be compared to previously stored reference ratios for recognition. This method for detecting facial features of an image can be used in applications such as but not limited to detecting human faces for the gathering of population age-statistics from patrons at entertainment/amusement parks and television network viewer-rating studies. Such gathering can include counting the patrons, distinguishing certain age and gender groups, and/or identifying specific people. Computer vision with this capability can further have application in such fields as automated surveillance systems, demographic studies, automated photography for point-and-shoot cameras and human computer interactions. Automated photography can eliminate the manual adjustment problems that result in poor quality from lack of focused subjects. Computer systems can utilize this system to recognize and respond to the specific needs of a user, and further translate for human users.
Methods and apparatuses are disclosed for refining groupings of edge points that represent contours in an image. The methods and apparatuses decrease data dispersion and data quantization effects. The methods and apparatuses are particularly useful for accurate and robust detection of straight line-segment features contained in noisy, cluttered imagery occurring in industrial machine vision applications. Additionally, a measurement criterion of the quality of the detected line segments is introduced.