Hough transform with fuzzy gradient and fuzzy voting

Abstract: A fuzzy method for the recognition of geometric shapes in images, the particularity whereof is that it comprises the following steps: recognition of at least one edge of a curve of an image; recognition of the gradient of the edge; correction of the gradient by virtue of first fuzzy means; and determination of the number of points that belong to the curve by virtue of second fuzzy means. The process according to the present invention is performed by a fuzzy device for the recognition of geometric shapes in images that comprises: an edge detector, adapted to recognize at least one edge of a curve of an image and adapted to recognize the gradient of the edge; a fuzzy gradient corrector, adapted to correct said gradient; a fuzzy vote attributor, adapted to determine the number of points that belong to the curve.

Description: The present invention relates to a fuzzy method and device for the recognition of geometric shapes in images. The fields of application of this method and of this device range from automatic guidance and navigation systems to image understanding systems. The primary goal of vision systems is to recognize objects in an image. However, before the object can be recognized it is necessary to recognize the characteristic lines that compose it and provide a symbolic representation of the object. One way to achieve these goals is to use the Hough transform, which is capable of performing a mapping from structures of the feature space to structures of an appropriate parameter space. Straight lines can be considered as an example of this Hough transform also because they are undoubtedly the lines that most frequently occur in the description of the shape of objects. It is thus evident that providing a method capable of identifying and describing these lines, which compose an object so often, has been extremely important. The Hough transform, introduced in 1962, was in fact developed to solve this problem and generalized only at a later time so as to consider other types of parameter lines. Consider a point that has the coordinates (x i , y i ) and belongs to a generic straight line defined by the equation y = ax + b. It is evident that an infinite number of lines pass through this point; however, all such straight lines must satisfy the equation y i = ax i + b for different values of a and b. Therefore, by writing this last equation in the form b = y i - ax i and considering the plane ab (parameter plane) it is possible to obtain the equation of a single straight line at a point having preset coordinates. The same line of reasoning can of course be followed for another point that has the coordinates (x j , y j ); a new straight line associated with this point will be obtained in the parameter space. The intersection between the two straight lines generated in the parameter plane allows to obtain the parametric coordinates (a,b) of the straight line that connects the two points of the feature plane. Figure 1 illustrates this graphically. The parametric equation for straight lines proposed above has some severe drawbacks: even for limited portions of the feature space, the domain of values of both parameters a and b can be the entire set of real numbers (for example, in vertical straight lines a = ∞). In order to obviate this drawback, the following representation is usually adopted instead: p = X cos  + Y sen  where p is the distance of the straight line from the origin and  is the angle formed by the axis x and by the normal to the straight line, as shown in figure 2. By using this representation, each point of the feature space is matched by a sinusoid in the parameter space. Clearly the parameter space is limited, since p is within the range [-R√2, r√2] for images with a linear dimension R and  can be limited between 0° and 180°, since 180° translations in  and an optional reversal of sign in p allow to return to the range [0°, 180°]. Accordingly, if one has a set of n point [(X1,X2),...,(Xn,Yn)] that belong to a given straight line in the feature plane and one wishes to determine the parameters that describe this straight line, it is necessary to transform the points (Xi,Yi) into sinusoidal curves in the plane p-, which are described by p = Xi cos + Yi sin, and to note that these curves all intersect at the parametric values of the straight line being sought, as shown in figure 3. In other words, by transforming co-linear pixels in the feature plane one obtains several sinusoids that intersect in a single point that has the coordinates ( 0 ,p 0 ) and corresponds to the straight line on which said points lie. Accordingly, the problem of finding collinear points in the feature can be converted into the problem of finding concurrent curves. The computational advantage of the Hough transform arises from dividing the parameter space into cells, that is to say, from introducing an acceptable error in p and  in the quantization of the parameters in a grid. Quantization can be reduced to the region 0 ≤  ≤ π and -R ≤ p ≤ R, where R is the maximum distance that a point of the feature plane can have from the center of the image (in practice, half of a diagonal). The quantized region can thus be reduced to a two-dimensional array of accumulators. For each point (Xi, Yi) in the feature plane, the corresponding curve is mapped onto the array, increasing the accumulator in each cell that lies along the curve. Accordingly, each cell of the parameter space stores the number of curves that have passed through it, minus the noise and the discretization that is carried out. After transforming all the points of the edge, the problem is to find the local maximums in the array of accumulators. These local maximums must be higher than a certain threshold in order to extract only lines that are long enough and most of all in order to eliminate noise (false maximums). It is therefore necessary to find a threshold that varies in each situation in the most intelligent possible manner according to the image to be analyzed. After extracting the local maximums from the array of accumulators it is possible to draw the lines that they have generated. In other words, the inverse transform is applied, reconstructing the corresponding straight line for each maximum point (, p) by using the following equation: Y i = P sen  - X i cos  sen  It should be noted that the Hough transform can also be used for other geometric shapes, such as curves, circles, etcetera. However, the transformation performed with the Hough transform is sensitive to the noise that is present in the image and depends on the performance of the edge detection system that is used. Another problem in the use of the Hough transform is the recovery of points lost due to discretizations and noise. A problem of vision systems in general is processing speed. Known systems have a very high level of processing complexity and have processing speeds that are not satisfactory for the required applications, that is to say, for theoretically real-time processing. Another problem of known vision systems is the complexity of the hardware. Accordingly, a principal aim of the present invention is to provide a fuzzy method and device for the recognition of geometric shapes in images that gives greater robustness to the standard Hough transform. Within the scope of the above aim, an object of the present invention is to provide a device that is less complex than known systems. Another object of the present invention is to provide a method and a device that allow faster processing than known systems, theoretically in real time. This aim, these objects, and others which will become apparent hereinafter are achieved by a fuzzy method and device for the recognition of geometric shapes in images as set out in independent claims 1 and 11 respectively. An embodiment of a method according to the invention being comprises the following steps: detection or at least one edge of a curve of an image; recognition of the gradient of said edge; correction of said gradient by virtue of first fuzzy means; and determination of the number of points that belong to said curve by virtue of second fuzzy means. An embodiment of the device according to the present invention for the recognition of geometric shapes in images, being comprises an edge detector, adapted to detect at least one edge of a curve of an image and to recognize the gradient of said edge; a fuzzy gradient corrector, adapted to correct said gradient; a fuzzy vote attributor, adapted to determine the number of points that belong to said curve. The characteristics and advantages of the present invention will become apparent from the description of a preferred but not exclusive embodiment, illustrated only by way of non-limitative example in the accompanying drawings, wherein: figure 1 is a graphic representation of the normal parameterization of a straight line; figure 2 is a graphic representation of the normal parameterization of a straight line with polar coordinates; figure 3 is a plot of the quantization of the parameters p and  of figure 2; figure 4 is a block diagram of the device according to the present invention; figure 5 is a block diagram of the device according to the present invention, adapted for recognizing geometric shapes constituted by line segments; figure 6 is a block diagram of the interfaces of the device according to the present invention; figure 7 is a block diagram of the fuzzy gradient corrector; figure 8 is a block diagram of the fuzzy vote attributor of the a device according to the present invention; figure 9 is a graphic representation of the mask used to correct the gradient; figure 10 is a diagram of the fuzzy sets for the antecedents of the rules used by the fuzzy means of the fuzzy gradient corrector; figure 11 shows the calculation of a rule on the part of the fuzzy means; figure 12 is a view of an example of points that belong to a straight line; figure 13 is a view of the fuzzy transformation for a straight line in the parameter space, performed by the fuzzy means of the fuzzy vote attributor. With reference to figure 4, the device according to the present invention comprises an A/D converter 1 adapted to sample the image signal IN and convert it into a sequence of digital data. The image signal is scanned by consecutive lines (raster scanning). The A/D converter 1 is not necessary if the image signal IN is already in digital form. The output of the A/D converter 1 is connected to a first interface 2 that is essentially constituted by memory elements and adapted to create image portions, defined as sub-images. The output of the first interface 2, that is to say, the pixels of the sub-images, is the input of an edge detector 3 that is adapted to detect the edges that are present in said sub-images. The size of said sub-images depends on the type of edge detector that is used. An important aspect of the present invention is that the output of the edge detector 3 is constituted by information on the gradient GRAD at the identified edge. This allows to perform a smaller number of calculations than the standard Hough transform. This data on the gradient GRAD is sent to a second interface 4, which is also constituted by a number of memory elements that depends on the particular implementation of the system; said second interface is adapted to select a portion of the GRAD gradient image that is associated with the input image IN. Said image portion is the input of a fuzzy gradient corrector 5. Said corrector 5 is adapted to make fuzzy inferences starting from the structure of the data in the neighborhood of the edge point to be classified, and is capable of correcting the stream of data affected by the intrinsic inaccuracy of the edge detector 3 and by noise. The fuzzy gradient corrector 5 produces in output the parameters PARAM related to the parametric representation of the curve being sought, after establishing a reference system within the feature plane. The parameters PARAM are then sent to a fuzzy vote attributor 6 adapted to determine the number of points that belong to a given curve. The output of the fuzzy vote attributor 6 is constituted by the parameters OUTPARAM that characterize the curve and by the number of points N belonging thereto. Finally, all the blocks that compose the device according to the present invention are synchronized by a clock 7 that is adapted to generate a timing signal CLOCK. The simplest embodiment of the device according to the present invention is the one adapted to identify straight lines, line segments, and geometric shapes constituted by line segments, and is shown in figure 5. In this case, the parameters PARAM related to the parametric representation of the straight line are the radius R and the phase F, if a polar coordinate system is used, and are generated by the fuzzy gradient corrector 5. The fuzzy vote attributor 6 generates the output of the device, which is constituted by the line segment (determined by R out and R out ) and by the length N thereof. With reference to this implementation of the device according to the present invention, the internal architecture of each block is now considered. The A/D converter 1 will not be explained in detail, since it is assumed to be known. The first interface 2 is constituted by a plurality of line and pixel memory elements. In the particular case of a 3x3 work window required by the edge detector 3, the architecture of the interface 2 is shown in figure 6. Assume that the 3x3 window is designated by columns A, B, and C, and that the rows of the window are designated by I, II, and III. In a raster scan, the pixels are sent to the input I of the interface 2 in the following sequence: AI, BI, CI, AII, BII, CII, AIII, BIII, and CIII. The first pixel AI is stored in the first line memory 11. Then said pixel is transferred to the second line memory 12, while the subsequent pixel BI is stored in the first line memory 11. When the third pixel CI is sent, the first three pixels AI, BI, and CI are transferred into the respective first delay memories 13, 14, and 15. This sequence is then repeated with the second three pixels AII, BII, and CII, while the first three pixels are transferred into the respective second delay memories 16, 17, and 18. When the third three pixels AIII, BIII, and CIII are sent, the outputs of the interface 2 are as shown in figure 6. The window [AI..CIII] is sent to the edge detector 3. The edge detector 3 divides an image into uniform regions according to any principle and separates these regions with lines that form their borders. The edge detector reliably identifies these borders, known as edges. As a first hypothesis, one may consider an image as a continuous function with two variables that establishes a relationship between each point in the plane and a third value, which is generally light intensity. Seeking the edges of regions therefore entails identifying the areas where this function varies more rapidly, that is to say, where the value of the derivative is higher. Indeed because of this fact, one of the categories of segmentation methods is known in the literature as "differential operators". It can in fact be easily demonstrated that in one dimension the first derivative is a simple and fast method for pointing out sudden transitions of a function. In order to locate the exact point that separates two regions, one proposed method consists in making said point coincide with the zero value of the second derivative. However, it should be noted that the differentiation operation is not robust with respect to noise. This fact entails that a small variation in light intensity leads to a large value of the first derivative and accordingly to a larger effect on the second derivative. Therefore, a threshold on the value of the first derivative is introduced in order to select only the significant transitions. The above described situation for single-variable functions can obviously be applied to the two-dimensional case without significant variations: in this case, the gradient and the second derivative of the intensity function, calculated in the direction of the gradient, are considered. However, images are discrete functions, not continuous functions, and therefore it is necessary to perform appropriate approximations of the differential operators; these approximations are produced by means of discrete convolutions with appropriate masks. These masks differ in terms of dimension and weight, but they are all based on the approximation of the incremental ratio: df (x) dx = f (x+h) - f (x-h) 2h The partial derivative (in the direction x or y) calculated in one point, however, is obtained from a weighted average of a set of incremental ratios in order to limit the noise that is assumed to be present, especially in the frequency spectrum part of the signal being processed. A mask (window) measuring 3x3 has been used in the present case, since this has allowed to achieve good approximations of the gradient without excessively affecting the computing time. The following operators are used (they are Sobel operators, but other might be used): Regardless of the operator that is used, the modulus of the gradient is calculated by means of the formula: | f | = √( f 2 x + f 2 y ) This formula, too, is computationally intensive and is therefore approximated as follows: | f | = f x + f y Actually, since the use of a single threshold has shown to generate jagged edges, it has been thought to use a heuristically-defined threshold in the algorithm that has been developed. The solution of hysteresis thresholding has therefore been adopted: if the force of an edge point is greater than the upper threshold, the point is considered valid; if instead the force of an edge point is smaller than the upper threshold and greater than the lower threshold, the point is considered valid only if at least one of the neighboring points fits the previous case; otherwise the edge point is discarded. When the pixel is classified as an edge pixel, the gradient GRAD is calculated as: GRAD = arctan f y f x As an alternative, it is possible to use the Canny algorithm, which filters the image with a Gaussian derivative operator and detects the edges that are present by detecting the gradient maximums. It is important to filter the image with a low-pass filter, since differentiation is highly noise-sensitive. The Canny recognition algorithm, too, in addition to the edge detection step, includes a post-processing procedure which consists in hysteresis thresholding. Both the Sobel and the Canny recognition methods have positive and negative aspects, and therefore one method or the other is chosen according to the characteristics of the images to be analyzed. The Sobel algorithm is very fast, due to its considerable structural simplicity, but its behavior is not very reliable in the case of particularly complex and noisy images. The Canny algorithm instead combines lower processing speed with good reliability as to the existence of the detected edge and accurate localization (in that the points of the image that the detection operator determines are very close to the real edge). The value of the gradient GRAD thus determined by means of one of these two algorithms, or in any other manner, is sent to the second interface 4, which selects a portion of the gradient image associated with the input image. The structure of the second interface 4 is identical to the structure of the first interface 2 and will not be explained in detail, since there may be a different number of delay elements depending on the size of the mask. It is assumed to be 3x3 by way of example. The portion of the gradient image is sent to the fuzzy gradient corrector 5 shown in figure 7. The corrector 5 comprises a differential block 21 that receives in input the 3x3 window of the gradient image from the second interface 4. The differential block 21 is adapted to calculate the differences between the gradient at the central point of the window being used and the neighboring pixels inside said window. The 3x3 mask as shown in figure 9 has been used for this purpose. The reference symbols P1, P2, ..., P8 designate the pixels in the positions shown in figure 9; the values of the gradient in each one of these points are obtained. These values are used to obtain the differences D1, D2, the central pixel and the gradient in the n-th position. These differences Dn are sent to the fuzzy means 22, which make inferences on these differences, so as to determine the correct value of the gradient (or phase). The differences Dn are used to obtain the antecedent of the fuzzy rules being applied. The Negative High, Negative Low, Positive High, and Positive Low membership functions are defined as shown in figure 10. Accordingly, there are two fuzzy sets for the positive differences and two sets for the negative differences. The input variables for each rule are the differences Dn between the central pixel and one of the neighboring pixels. Figure 11 shows how the output of a rule is determined with the MAX-DOT method. The rule can be the following: IF D1 IS PL AND D2 IS PL THEN OUT IS HIGH The MAX-DOT method has been chosen to determine the output fuzzy set due to computational reasons. When a fixed reference system is assigned for all the fuzzy sets that are consequents of the rules, the output of the inference process is calculated by means of the formula: OUT = Σ A i * C i Σ A i where A is the area of the output fuzzy set and C is the centroid of the output fuzzy set. The above formula can be simplified if one considers that each rule produces a triangular output fuzzy set having a constant base b i and an altitude h i that is equal to the activation level: OUT = Σ A i * C i Σ A i = Σ (b i * h i ) * C i Σ (b i * h i ) OUT = Σ (h i * C i ) Σ h i where h is the activation level of the i-th rule and C i is the centroid of the i-th output fuzzy set. In this manner, in order to calculate the output of the fuzzy process it is sufficient to assign the centroid C i that corresponds to the output fuzzy set of the rule, avoiding the calculation of the area. The rules that are applied are of the following kind: IF D1 IS POSITIVE LOW AND D2 IS POSITIVE LOW THEN OUT IS HIGH IF D1 IS POSITIVE HIGH AND D2 IS POSITIVE HIGH THEN OUT IS LOW IF D1 IS POSITIVE LOW AND D2 IS POSITIVE HIGH THEN OUT IS MEDIUM The output of the inference process in the fuzzy means 22 must now be used to correct the gradient. In the provided algorithm, the decision as to the value of the gradient F in the central pixel is reached by using a formula of the following kind: F = (1-OUT) * P + P Dn1 + P Dn2 2 where OUT is the final output of the fuzzy rules, P is the gradient value of the central pixel, P Dn1 and P Dn2 are values of the gradient of two pixels that are aligned with the central pixel and are more representative of the trend of the gradient within the mask. Let us consider an example to clarify the operation of the algorithm. Assume a pixel configuration as in the mask shown below: 45 - - - 48 - - - 46 The Dn terms that are chosen are D1 and D8, whose values are respectively 3 and 2. By applying the fuzzy rules, one obtains a final output value OUT=0.9 which, when applied to the correction formula, produces: F = (1 - 0,9) * 48 + 0,9 * (45 + 46) 2 This yields a corrected value of the gradient of the central pixel F=45.75°, rounded to 46°. This procedure has allowed to obtain a more accurate image of the objects in the parameter plane, eliminating the relative maximums that were essentially due to the errors in the gradient. The fuzzy gradient corrector 5 is furthermore provided with an arithmetic unit 23 adapted to calculate the radius R related to the point in a polar coordinate system by applying the previously described formula: R = X cos(F) + Y sen(F) where F is the gradient of the line being sought. Two counters are connected to the arithmetic unit 23: a first horizontal counter 24 for generating the X coordinate, and a second vertical counter 25 for generating the Y coordinate. Both counters 24 and 25, as well as the differential block 21 and the arithmetic unit 23, are driven by a clock signal which increases the value of X of the counter 24 at each pulse and increases the value of Y of the counter 25 every 1/n clock pulses, where n is the number of columns of the image being analyzed. The division 1/n occurs by means of a divider 26 that is connected to the vertical counter 25. This establishes the position of the point within the image and determines the row and column to which the pixel of an edge belongs. The arithmetic unit 23 then calculates the radius R related to the point in a polar coordinate system. The value of the corrected gradient F and the radius R related to the processed pixel are sent to the fuzzy vote attributor 6. The fuzzy vote attributor 6 allows to assign an edge point to the curve to which it belongs. The parameter space is constituted by a memory element: the parameters that identify the curve constitute the address of a memory location that contains the number of points of the curve. Every time the parameters identify a memory location, the content of that memory location is increased by 1. At the same time, a fuzzy system determines weights to be added to other memory locations determined by an address expander. The input parameters of the fuzzy vote attributor 6 are the corrected gradient F and the radius R. These parameters are sent to an address generator 31. Said generator is connected to a memory 32 and is capable of selecting a memory location. By means of a first adder block 33 connected to the memory 32, the content of this memory location is increased by 1 (Count). The output of the address generator 31 is furthermore connected to an address expander 34. With respect to the address provided by the address generator 31, the address expander 34 identifies other memory locations that contain the number of the points of straight lines that are close to the one to which the point being considered belongs. For each one of these memory locations, second fuzzy means 35 determine a weight W, comprised between 0 and 1, to be added (Countl) by means of a second adder block 36 to the content of the memory locations identified by the address expander 34. The weight W indicates the degree of confidence assigned to the fact that the edge point might also belong to straight lines other than the one identified by the first analysis. The output of the memory 32 is the content N of the memory locations identified by the parameters R and F. Accordingly, the output of the system is constituted by the parameters that identify the straight line (R and F) and by the number of points (N) that compose it. The fuzzy analysis used in this block will be explained in greater detail. Consider the straight line and the corresponding points of figure 12. In a case like this, the standard Hough transform would treat points P3 and P5 in the same manner, since both would vote for a cell other than the one of the straight line represented by the dashes. Actually, these two points must be evaluated in a completely different manner. Indeed, it is evident that the distance of the point P3 from the straight line represented by the dashes is very probably due to noise. Since a situation of this type occurs many times in the images to be processed, it is possible to provide a fuzzy process that allows to return, when necessary, the points to the positions to which they really belong. An attempt will be made to analyze the Hough transform from a fuzzy point of view. Consider an image that contains several points aligned along a straight line. Their transformation in the parameter plane will produce lines that intersect each other in a single point. If instead the original points lie only approximately along a straight line, their transforms will intersect only approximately in a single point. Actually, they will pass through a region around the theoretical point. The parametric lines will therefore intersect in a "fuzzy point", in that they will pass through an area around the theoretical point in a manner that can be indicated by a membership function. In particular, it can be stated that a fuzzy point in the parameter plane represents a fuzzy straight line in the feature plane, whereas a fuzzy point in the feature plane is a fuzzy line in the parameter plane. These remarks can be demonstrated by theory. Assume that each point in the feature plane is represented by a (circular) fuzzy area centered on the original point. It is evident that the membership function relating to this area must be isotropic and have a Gaussian behavior, decreasing as it moves away from the center. Consider, for example, a point P which is at a distance d from (x,y). This point belongs to the transform of (x,y) according to a membership function whose value is m(d). The further from (x,y), the lower the contribution. Consider now the case of straight line recognition. The neighborhood of the point can be parameterized according to the following equations: x = x 0 + r * cosα y = y 0 + r * sinα Accordingly, each point that belongs to the neighborhood being considered traces, in the parameter space, a curve of the following kind: (x 0 + r * cosα) cosβ + (y 0 + r * sinα) sinβ = p It is possible to obtain the envelope of all these curves at different values of α. To achieve this, eliminate α between the previous equation and its derivative: -r * sinα cosβ + r * cosα sinβ = 0 This produces the following expression: tanβ = tanα → β = α o β = α + π Replacement yields the following: p = (x 0 ± r * cosβ)cosβ + (y 0 ± r * sinβ)sinβ = x 0 cosβ + y 0 sinβ In this manner, the points of a circular neighborhood are transformed in the parameter space by translating by ± r the line produced by the transformation of its central point, as shown in figure 13. It is therefore possible to project a single point as in the standard Hough transform, subsequently performing a convolution along the axis p with a membership function whose value is m(r), or taking m(r) times the contribution of each point of the circle, yielding the same result. The invention thus conceived is susceptible of numerous modifications and variations, all of which are within the scope of the inventive concept of the present invention as defined by the appended claims. Thus, for example, the pixel mask of the interfaces can also be larger, according to the requirements. Furthermore, the fuzzy means of the fuzzy vote attributor and of the gradient corrector can be provided as an on-line or off-line fuzzy processor, in which case it will be a memory element (look-up table) that contains the result of the fuzzy calculation. Although the example analyzed herein in detail is adapted for identifying straight lines, the inventive concept can be applied to other geometric shapes (curves). Finally, all the details may be replaced with other technically equivalent ones. In practice, the materials employed, as well as the shapes and dimensions, may be any according to the requirements without thereby abandoning the scope of the protection of the appended claims. Where technical features mentioned in any claim are followed by reference signs, those reference signs have been included for the sole purpose of increasing the intelligibility of the claims and accordingly such reference signs do not have any limiting effect on the interpretation of each element identified by way of example by such reference signs.

Claims: A fuzzy method for the recognition of geometric shapes in images, characterized in that it comprises the steps of: identifying a curve of an image; recognizing at least one edge of a curve of an image; recognizing the gradient of said edge; correcting said gradient by virtue of first fuzzy means, to determine parameters related to a parametric representation of the curve; and determining the number of points that belong to said curve by virtue of second fuzzy means, and of parameters that define the curve to which said points belong. The method according to claim 1, characterized in that it comprises the step of creating image portions prior to the recognition of said edge. The method according to one or more of the preceding claims, characterized in that it comprises a step of selecting a portion of the gradient image generated by said gradient recognition step. The method according to one or more of the preceding claims, characterized in that it comprises an image digitizing step prior to said step for recognizing at least one edge. The method according to one or more of the preceding claims, characterized in that said step of correcting said gradient comprises the step for differentiating the gradient between the central pixel of said gradient image portion and the surrounding pixels. The method according to one or more of the preceding claims, characterized in that the differences generated by said differentiation step are processed by said first fuzzy means to generate the value of the corrected gradient. The method according to one or more of the preceding claims, characterized in that said step of correcting said gradient comprises the step for calculating the radius related to the recognized edge. The method according to one or more of the preceding claims, characterized in that said step of determining the number of points comprises a step for generating a main memory location based on the values of said corrected gradient and said calculated radius. The method according to claim 8, characterized in that said step of determining the number of points comprises a step of identifying the additional memory locations that contain the number of points of curves and/or straight lines that are close to the one identified by said curve and/or straight line related to said main memory location. The method according to claim 9, characterized in that said step for determining the number of points comprises a step for assigning a weight, by virtue of said second fuzzy means, for each one of said additional memory locations, said weight being added to the content of said main memory location, the final sum being the number of points related to said memory location related to said gradient and radius values. A fuzzy device for recognizing geometric shapes in images, characterized in that it comprises: an edge detector (3) adapted to recognize at least one edge of a curve of an image and adapted to recognize the gradient (GRAD) of said edge; a fuzzy gradient corrector (5) adapted to correct said gradient and to define parameters (PARAM) related to the parametric representation of the curve; a fuzzy vote attributor (6) adapted to determine the number of points that belong to said curve. The device according to claim 11, characterized in that it comprises a first interface (2) that is adapted to create portions of said image, the output of said first interface being connected to the input of said edge detector (3). The device according to one or more of the preceding claims, characterized in that it comprises a second interface (4) that is interposed between said edge detector (3) and said fuzzy gradient corrector (5) and is adapted to select a portion of the gradient image that is generated by said edge detector. The device according to one or more of the preceding claims, characterized in that said fuzzy gradient corrector (5) comprises a differential block (21) adapted to calculate the differences (D1...Dn) between the gradient of the central pixel of said portions generated by said first interface (2) and the surrounding pixels. The device according to one or more of the preceding claims, characterized in that said fuzzy gradient corrector (5) comprises first fuzzy means (22) adapted to process said differences (D1...Dn) to generate the corrected gradient value . The device according to one or more of the preceding claims, characterized in that said fuzzy gradient corrector (5) comprises an arithmetic unit (23) that is adapted to calculate the radius (R) of the curve related to the gradient generated by said first fuzzy means (22). The device according to one or more of the preceding claims, characterized in that said fuzzy vote attributor (6) comprises an address generator (31) that is adapted to generate, in a memory 32), a main memory location that is related to the value of the gradient and of the radius (R) generated by said fuzzy gradient corrector (5). The device according to one or more of the preceding claims, characterized in that said fuzzy vote attributor (6) comprises an address expander (34) that is adapted to identify additional memory locations that contain the number of points of curves and/or straight lines that are close to the one identified by said curve and/or straight line related to said main memory location. The device according to one or more of the preceding claims, characterized in that said fuzzy vote attributor (6) comprises second fuzzy means (35) which are adapted to assign a weight (W) for each one of said additional memory locations, said weight being added to the content of said main memory location, the final sum being the number of points related to said memory location related to said gradient and radius values. The device according to one or more of the preceding claims, characterized in that it comprises an A/D converter (1) for digitizing the input image.

Inventors: MANCUSO MASSIMO, MORETTI PAOLO, POLUZZI RINALDO, RIZZOTTO GIANGUIDO, MANCUSO, MASSIMO, MORETTI, PAOLO, POLUZZI, RINALDO, RIZZOTTO, GIANGUIDO
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1995
Main classification: G06K9
IPC codes: G06T7, G06K9