Method of determining the configuration of a path for motor vehicles

Abstract: The configuration of a path for motor vehicles is recognized on the basis of image data produced by a television camera or the like. Feature points contained in original image data of the path are determined, and a group of straight lines approximating the array of the feature points are also determined. From the group of straight lines, there are extracted straight lines which are effective to determine boundaries of the path. The extracted straight lines divided into a plurality of line segments by points of intersection between the straight lines. The line segments are then checked against the feature points of the original image data to determine whether the line segments correspond to the boundaries of the path. The original image data may be divided into a plurality of areas, and the above process may be carried out with respect to the image data in each of the areas.

Description: The present invention relates to a method of determining or recognizing the configuration of a path for motor vehicles through image processing, and more particularly to a method of recognizing boundaries of a path irrespective of the configuration of the path. Recognition of the configuration of a path for motor vehicles requires that boundaries of the path at an end thereof be determined. To determine the boundaries of a path at an end thereof, it is necessary to process image data of the path at the end thereof, which are produced by a television camera or the like, and to extract line segments from the processed image data at the end of the path. One image processing method employs the Hough transformation as disclosed in Japanese Laid-Open Patent Publications Nos. 62(1987)-24310 and 62(1987)-7096. According to the disclosed process, feature points on an image produced by the image data are subjected to the Hough transformation, thereby producing a group of straight lines corresponding to the distribution of the feature points. If the path to be recognized is straight, then the above conventional method based on the image processing can directly utilize the detected straight lines produced by way of the Hough transformation. If the path is curved or branched, however, the detected straight lines produced by way of the Hough transformation cannot be utilized as they are. In such a case, it has been customary to divide an image produced by a television camera into a plurality of small processing areas, and repeatedly detect line segments in the processing areas successively from a closest small area in the image, so that information accurately representing the boundaries of an actual path can be obtained. The IEEE Journal of Robotics and Automation, Vol. RA-3, no. 2, April 1987, pages 124-141, A.M. Waxman et al., "A Visual Navigation System for Autonomous Land Vehicles", over which claim 1 is characterised, discusses a modular system architecture. While the vehicle is moving, attention is focused on small parts of the visual field to track and model the objects of interest. With the conventional methods therefore, sequential steps are required to determine the configuration of a path, and the overall process is time-consuming. Accordingly, it has been difficult to apply the conventional method to the control of running of an automobile along paths since the automobile running control or guidance process requires quick data processing. It is a major object of the present invention to provide a method of determining the configuration of a path for motor vehicles, the method being capable of easily and quickly determining boundaries of the path. According to the present invention, there is provided a method of determining the configuration of a path for motor vehicles, comprising the steps of producing original image data of the path, determining edge data points contained in said original image data, determining a group of straight lines approximating the array of the edge data points, and extracting straight lines, effective to determine boundaries of the path, from said group of straight lines, the method being characterised by the steps of dividing the extracted straight lines into a plurality of line segments by points of intersection between the straight lines, checking said line segments against the edge data points of said original image data to determine whether the line segments correspond to the boundaries of the path; and removing those line segments having a low degree of agreement with the edge data points. The step of determining feature points preferably comprises the step of producing edge data by differentiating the original image data. The step of determining a group of straight lines preferably comprises the step of effecting the Hough transformation on the edge data. The step of extracting straight lines preferably comprises the steps of determining whether the X coordinate of the starting point of one straight line is larger than the X coordinate of the starting point of another straight line, and whether the X coordinate of the ending point of the one straight line is larger than the X coordinate of the ending point of the other straight line, and determining a straight line which interconnects the starting point of the one straight line and the ending point of the other straight line, to be an effective straight line if the X coordinate of the starting point of the one straight line is larger than the X coordinate of the starting point of the other straight line and the X coordinate of the ending point of the one straight line is larger than the X coordinate of the ending point of the other straight line. The step of extracting straight lines preferably comprises the steps of determining whether the Y coordinate of the starting point of one straight line is larger than the Y coordinate of the starting point of another straight line, and whether the Y coordinate of the ending point of the one straight line is larger than the Y coordinate of the ending point of the other straight line, and determining a straight line which interconnects the starting end of the one straight line and the ending point of the other straight line, to be an effective straight line if the Y coordinate of the starting point of the one straight line is larger than the Y coordinate of the starting point of the other straight line and the Y coordinate of the ending point of the one straight line is larger than the Y coordinate of the ending point of the other straight line. The step of extracting straight lines preferably comprises the steps of determining whether the Y coordinate of the starting point of one straight line is smaller than the Y coordinate of the starting point of another straight line, and whether the Y coordinate of the ending point of the one straight line is smaller than the Y coordinate of the ending point of the other straight line, and determining a straight line which interconnects the ending point of the one straight line and the starting point of the other straight line, to be an effective straight line if the Y coordinate of the starting point of the one straight line is smaller than the Y coordinate of the starting point of the other straight line and the Y coordinate of the ending point of the one straight line is smaller than the Y coordinate of the ending point of the other straight line. The step of dividing the extracted straight lines preferably comprises the steps of defining one straight line as a master line segment and another straight line as a slave line segment, determining whether the master and slave line segments are parallel to each other, determining a point of intersection between the master and slave line segments if the master and slave line segments are not parallel to each other, determining whether the point of intersection is positioned between the starting and ending points of the master and slave line segments, and dividing the master and slave line segments by the point of intersection if the point of intersection is positioned between the starting and ending points of the master and slave line segments. The step of checking the line segments preferably comprises the steps of scanning an edge image over a predetermined width across a line segment, comparing the intensity of the edge point of each dot which is scanned, with a predetermined threshold, counting edge points whose intensity is higher than the predetermined threshold, calculating the ratio of the number of the counted edge points to the length of the line segment, and determining whether the line segment corresponds to a boundary of the path based on the calculated ratio. According to a preferred embodiment of the present invention, the method further includes the steps of dividing said original image data into a plurality of areas after said step of producing original image data of the path, said steps of determining edge data points and determining a group of straight lines being carried out on each of said plurality of areas, and uniting the extracted straight lines in each of said areas into a single combination of image data representing a single straight line; said subsequent step of dividing being carried out on said single straight line. The above and other objects, features and advantages of the present invention will become more apparent from the following description when taken in conjunction with the accompanying drawings in which a preferred embodiment of the present invention is shown by way of illustrative example. FIGS. 1(a) through 1(g) are diagrams illustrative of the basic concept of a method according to the present invention; FIG. 2 is a graph showing the expression of a representative line segment used in the method of the present invention; FIG. 3 is a flowchart of a procedure of uniting representative line segments together; FIG. 4 is a graph illustrative of a threshold TH used in the flowchart shown in FIG. 3; FIG. 5 is a flowchart of a uniting process A; FIGS. 6(a) through 6(c) are graphs showing the states of line segments in the uniting process A; FIG. 7 is a flowchart of a uniting process B; FIGS. 8(a) through 8(c) are graphs showing the states of line segments in the uniting process B; FIGS. 9(a) and 9(b) are flowcharts of a uniting process C; FIGS. 10(a) through 10(f) are graphs showing the states of line segments in the uniting process C; FIG. 11 is a flowchart of a process of dividing representative line segments; FIGS. 12(a) and 12(b) are graphs showing the states of line segments in the dividing process; FIGS. 13(a) through 13(d) are graphs illustrative of the separation of divided line segments; FIGS. 14(a) through 14(b) are graphs illustrative of checking divided line segments against edge data; FIG. 15 is a flowchart of a process of determining the degree of agreement between the divided line segments and the edge data and also determining the lengths of line segments; FIGS. 16(a) through 16(d) are graphs showing the classification of the states of the divided line segments at the time they are checked against the edge data; FIGS. 17(a) and 17(b) are graphs showing line segments excluded from data selected to draw boundaries in the flowchart shown in FIG. 15; and FIGS. 18(a) through 18(d) are graphs illustrative of the manner in which the divided line segments are joined. FIGS. 1(a) through 1(g) show the preferred basic concept of the present invention as it is applied to a method of determining or recognizing the configuration of a path for motor vehicles. It is assumed that a scene as shown in FIG. 1(a) is imaged by a television camera installed in a motor vehicle running along a path 1. As shown in FIG. 1(a), the path 1 has boundaries 2a, 2b adjoining a sidewalk 4, boundaries 3a, 3b adjoining a sidewalk 5, a boundary 6 adjoining a sidewalk 7 located beyond the boundary 6. The scene also includes a horizon 8 with a system 9 of mountains located therebeyond. The imaged scene is referred to as an original image, and the original image is divided into two images by a central vertical line. Each of the two divided images is converted into edge data produced by differentiation in each area therein. Using the edge data, the original image is expressed by dot (not shown). In each area, the edge data are subjected to the Hough transformation, thereby producing a group of straight lines approximating the array or distribution of feature points. The straight lines in each area are then statistically classified into groups by clustering, and representative straight lines in the respective groups are available as straight lines effective to determine the boundaries of the path. The original image is divided into two images because the straight lines can be detected highly accurately by way of the Hough transformation. The representative straight lines are shown in FIGS. 1(b) and 1(c). In FIG. 1(b), the representative straight lines, denoted at L1, L2, L3, correspond respectively to the boundaries 2a, 2b, 6, respectively. In FIG. 1(c), the representative straight lines, denoted at L4, L5, L6, correspond respectively to the boundaries 3a, 3b, 6, respectively. The straight lines L1 through L6 are then united together, as described later on, into a single combination of image data as shown in FIG. 1(d). Specifically, the straight lines L2, L5 are united into a straight line L7, and the straight lines L3, L6 are united into a straight line L8. Then, points of intersection between the straight lines are determined, as described later on, and the straight lines are divided into line segments at the points of intersection. More specifically, as shown in FIG. 1(e), the straight line L1 is divided into line segments ℓ1a, ℓ1b, ℓ1c, the straight line L4 line segments ℓ4a, ℓ4b, ℓ4c, the straight line L7 line segments ℓ7a, ℓ7b, ℓ7c, and the straight line L8 line segments ℓ8a, ℓ8b, ℓ8c. The line segments are checked against edge data from the original image, as described later on, to measure the degree of agreement between the line segments and the edge data. The result of the measurement is shown in FIG. 1(f). In FIG. 1(f), the line segments ℓ1b, ℓ1c, ℓ4b, ℓ4c, ℓ7b shown in FIG. 1(e) are removed because the degree of agreement between these line segments and the edge data is low. However, the line segments ℓ1a, ℓ7a corresponding to the boundaries 2a, 2b (FIG. 1(a)), the line segments ℓ4a, ℓ7c corresponding to the boundaries 3a, 3b, and the line segments ℓ8a, ℓ8b, ℓ8c corresponding to the boundary 6 remain unremoved because the degree of agreement between these line segments and the edge data is high. The manner in which the remaining line segments are joined is then determined, as described later on, thus producing information on the end of the path, which is accurately representative of the actual path boundaries, as shown in FIG. 1(g). The main arithmetic operations employed in the above basic concept will now be described below. The two divided images shown in FIGS. 1(b) and 1(c) are united into the single combination of image data shown in FIG. 1(d) as follows: First, it is determined whether the representative line segments in the lefthand area (FIG. 1(b) and the representative line segments in the righthand area (FIG. 1(c)), both obtained by clustering, can be united or not. If these representative line segments can be united, then they are united. As shown in FIG. 2, each of these representative line segments is expressed by the length ρ of a line extending from the origin of an X-Y coordinate system or Hough-transformed coordinate system perpendicularly to the representative line segment, and an angle  between the X-axis and the line whose length is ρ. The possibility of uniting the representative line segments together is determined by checking if the lengths ρ and the angles  in the respective areas are of close values or not. If they are of close values, then the line segments can be united together, and are united depending on the gradients of the line segments. Whether a representative line segment (ρL, L) in the left area and a representative line segment (ρR, R) in the right area can be united together is determined according to the flowchart shown in FIG. 3. If the difference between the lengths ρL, ρR of the representative line segments in the lefthand and righthand areas falls within Δρ, then it is determined that the representative line segments can be united together as to the lengths ρL, ρR. Thus, it is determined whether the lengths ρL, ρR of the representative line segments satisfy the following relationships in a step 301: ρL - Δρ < ρR and ρR < ρL + Δρ. If the above inequalities are satisfied, then it is determined whether the angles L, R with respect to the representative line segments satisfy the following relationships in a step 302: L - Δ < R and R < L + Δ. If the difference between the angles L, R with respect to the representative line segments in the lefthand and righth- and areas falls within Δ, then it is determined that the representative line segments can be united together as to the angles L, R. If the lengths ρL, ρR and the angles L, R of the representative line segments do not satisfy the inequalities in the steps 301, 302, then the process shown in FIG. 3 is finished. If the angles L, R with respect to the representative line segments satisfy the inequalities in the step 302, then it is determined whether the angle L of the representative line segment in the lefthand area is close to the right angle or not in a step 304 by comparing the angle L with a predetermined reference or threshold TH and also comparing the angle L with (ρai - TH) according to the following inequalities: TH < L and L < (ρai - TH) where TH and (ρai - TH) are indicated in the X-Y coordinate system shown in FIG. 4. If the angle L with respect to the representative line segment in the lefthand area satisfies the above inequalities, then it is determined whether the angle L is smaller than 90° (L < 90°) or not in a step 305. If the angle L is smaller than 90°, then a uniting process A is carried out in a step 306. If the angle L is larger than 90°, then a uniting process B is carried out in a step 307. If the angle L does not satisfy the inequalities in the step 304, then a uniting process C is carried out in a step 308. The uniting process A will now be described below with reference to FIGS. 5 and 6(a) through 6(c). If the angle L with respect to the representative line segment in the lefthand area is in the range of TH < L < 90°, as shown in FIG. 6(a), then the uniting process A is carried out. It is assumed that a representative line segment L in the lefthand area and a representative line segment R in the righthand area are relatively positioned as shown in FIG. 6 (b), and that the representative line segment L has a starting point XSL in terms of an X coordinate and an ending point XEL in terms of an X coordinate, and the representative line segment R has a starting point XSR in terms of an X coordinate and an ending point XER in terms of an X coordinate. First, as shown in FIG. 5, a step 601 determines whether the ending point XER of the line segment R is smaller than the starting point XSL of the line segment L, thereby checking if these line segments have any overlapping portion. If XER < XSL and hence the line segments R, L overlap each other, then a step 602 determines whether the following inequalities are satisfied: XSR > XSL and XER > XEL. If the above inequalities are satisfied, then the X and Y coordinates of the starting point of the line segment L are replaced with the X and Y coordinates of the starting point of the line segment R in a step 603. Then, the representative line segment R in the righthand area is removed in a step 604. As a result, the line segments L, R are united together into a line segment as shown in FIG. 6(c). The starting point of the united line segment corresponds to the starting point of the line segment R, and the ending point of the united line segment corresponds to the ending point of the line segment L. If the inequalities in the steps 601, 602 are not satisfied, then the uniting process A is immediately finished. The uniting process B will now be described below with reference to FIGS. 7 and 8(a) through 8(c). If the angle L with respect to the representative line segment in the lefthand area is in the range of 90° ≦ L < (180° - TH), as shown in FIG. 8(a), then the uniting process B is carried out. It is assumed that a representative line segment L in the lefthand area and a representative line segment R in the righthand area are relatively positioned as shown in FIG. 8(b). The representative line segments L, R have starting and ending points expressed in terms of X coordinates in the same manner as shown in FIG. 6(b). First, as shown in FIG. 7, a step 801 determines whether the ending point XEL of the line segment L is smaller than the starting point XSR of the line segment R, thereby checking of these line segments have any overlapping portion. If XEL < XSR and hence the line segments L, R overlap each other, then a step 802 determines whether the following inequalities are satisfied: XER > XEL and XSR > XSL. If the above inequalities are satisfied, then the X and Y coordinates of the ending point of the line segment L are replaced with the X and Y coordinates of the ending point of the line segment R in a step 803. Then, the representative line segment R in the righthand area is removed in a step 804. As a result, the line segments L, R are united together into a line segment as shown in FIG. 8(c). The starting point of the united line segment corresponds to the starting point of the line segment L, and the ending point of the united line segment corresponds to the ending point of the line segment R. If the inequalities in the steps 801, 802 are not satisfied, then the uniting process A is immediately finished. The uniting process C will now be described below with reference to FIGS. 9(a) and 9(b) and 10(a) through 10(f). If the angle L with respect to the representative line segment in the lefthand area is in the range of 0 ≦ L < TH or (180° - TH) ≦ L < 180°, as shown in FIG. 10(a), then the uniting process B is carried out. The representative line segments L, R have starting and ending points expressed in terms of X coordinates in the same manner as shown in FIG. 6(b). It is also assumed that the representative line segment L has a starting point YSL in terms of a Y coordinate and an ending point YEL in terms of a Y coordinate, and the representative line segment R has a starting point YSR in terms of a Y coordinate and an ending point YER in terms of a Y coordinate. It is also assumed that the representative line segments are positioned as shown in FIG. 10(b), e.g., the representative line segment L in the lefthand area and the representative line segment R in the righthand area are relatlvely positioned as shown in FIG. 10(c). In this case, a uniting process C1 as shown in FIG. 9(a) is carried out. First, a step 1001 determines whether the starting point YSL of the line segment L is larger than the starting point YSR of the line segment R. If YSL > YSR (as shown in FIG. 10(c)), then the starting point of the line segment L is replaced with the starting point of the line segment R in a step 1002. Specifically, the starting point XSL in terms of an X coordinate of the line segment L is replaced with the starting point XSR in terms of an X coordinate of the line segment R, and the starting point YSL in terms of a Y coordinate of the line segment L is replaced with the starting point YSR in terms of a Y coordinate of the line segment R. Then, the line segment R is removed in a step 1003. The line segments L, R are now united into a line segment as shown in FIG. 10(d). The starting point of the united line segment corresponds to the starting point of the line segment R, and the ending point of the united line segment corresponds to the ending point of the line segment L. If YSL is not smaller than YSR in the step 1001, then the starting point of the line segment L is employed as the starting point of the united segment in a step 1004, and then the line segment R is removed in the step 1003, so that the line segments are united. It is assumed that the representative line segments are positioned as shown in FIG. 10(a), e.g., the representative line segment L in the lefthand area and the representative line segment R in the righthand area are relatively positioned as shown in FIG. 10(e). In this case, a uniting process C2 as shown in FIG. 9(b) is carried out. First, a step 1005 determines whether the ending point YEL of the line segment L is smaller than the ending point YER of the line segment R. If YEL < YER (as shown in FIG. 10(e)), then the ending point of the line segment L is replaced with the ending point of the line segment R in a step 1006. Specifically, the ending point XEL in terms of an X coordinate of the line segment L is replaced with the ending point XER in terms of an X coordinate of the line segment R, and the ending point YEL in terms of a Y coordinate of the line segment L is replaced with the ending point YER in terms of a Y coordinate of the line segment R. Then, the line segment R is removed in a step 1007. The line segments L, R are now united into a line segment as shown in FIG. 10(f). The starting point of the united line segment corresponds to the starting point of the line segment L, and the ending point of the united line segment corresponds to the ending point of the line segment R. If YEL is not greater than YER in the step 1005, then the ending point of the line segment L is employed as the ending point of the united segment in a step 1008, and then the line segment R is removed in the step 1007, so that the line segments are united. The division of the straight lines into the line segments as shown in FIG. 1(e) will be described below with reference to FIGS. 11, 12(a) and 12(b). It is assumed that representative line segments L1, L2 as shown in FIG. 12(a) are obtained as a result of one of the uniting processes described above. In this case, a line division process as shown in FIG. 11 is carried out. The representative line segment L1 is defined as a master line segment, and the other representative line segment L2 as a slave line segment in a step 1201. Then, a step 1202 determines whether the master line segment L1 and the slave line segment L2 are parallel to each other or not. If the master and slave line segments L1, L2 are parallel to each other, then since there is no point of intersection between these line segments, the line division process is finished. Because the master and slave line segments L1, L2 are however not parallel to each other as shown in FIG. 12(a), they intersect with each other at a point C. A step 1204 determines the X and Y coordinates (XC, YC) of the point C of intersection. Then, it is determined in a step 1205 whether the point C of intersection is positioned between the starting and ending points of the master line segment L1 and between the starting and ending points of the slave line segment L2. If the point C of intersection is not positioned on the master and slave line segments L1, L2, then the line division process is brought to an end. If the point C of intersection is position on the master and slave line segments L1, L2, then, as shown in FIG. 12(b), the representative line segment L1 is divided into line segments ℓ1, ℓ2 by the point C of intersection, and the representative line segment L2 is divided into line segments ℓ3, ℓ4 in a step 1206. In this manner, points of intersection between various representative line segments are determined, and data on the determined points of intersection are stored. The above process is effected with respect to the representative line segments which are displayed as shown in FIG. 1(e), thus collecting the data on the points of intersection with respect to the respective representative line segments. Based on the points of intersection thus determined, each of the representative line segments is separated into a plurality of line segments. For example, it is assumed that a representative line segment L has points C1, C2 of intersection as shown in FIG. 13(a). The representative line segment L is severed into three line segments La, Lb, Lc by the points C1, C2 of intersection as shown in FIGS. 13(b), 13(c), and 13(d). The divided line segments are then checked against the edge data produced from the original image (FIG. 1(a)) as follows: It is assumed that a divided line segment d as shown in FIG. 14(a) has a starting point S having X and Y coordinates (SX, SY), an ending point E having X and Y coordinates (EX, EY), a gradient A, an intercept B, and is inclined at an angle  with respect to the X-axis. The divided line segment d is checked against the edge data of the original image by scanning an edge image over a constant width W of dots across the line segment d in the direction indicated by the arrows in FIG. 14(b). More specifically, the intensity of the edge point of each dot scanned is compared with a predetermined threshold, and the edge points whose intensity is higher than the predetermined threshold are counted. If the ratio of the count to the length ℓ of the line segment d is greater than a predetermined ratio, then it is determined that the segment d corresponds to a boundary of the actual path. The degree of agreement between the divided line segment d and the edge data is expressed as follows: Degree of agreement = [the number of edge points whose intensity is higher than the threshold]/ [the length ℓ of the line segment d] Since the line segment d is represented by quantized data, the length ℓ of the line segment d may be determined from the number of scanning lines across the width W. Alternatively, the length ℓ may represented by | SX - EX | or | SY - EY |, whichever is larger, or may be given by: ℓ = [(SX - EX) 2 + (SY - EY) 2 ] ½ The degree of agreement is calculated with respect to different line segments to be measured whose states are classified as shown in FIGS. 16(a) through 16(d). The degree of agreement is calculated according to the flowchart shown in FIG. 15. It is assumed that the edge point of each line segment whose degree of agreement is to be measured has X and Y coordinates (RX, RY). A counter for counting edge points whose intensity is higher than a predetermined threshold is cleared in a step 1601. Then, a step 1602 determines whether the angle  of inclination of the line segment d to be checked with respect to the X-axis is 90° or not. If the angle  is 90° and hence the line segment d is vertical, then the line segment d is in a state as shown in FIG. 16(a). In this case, the Y coordinate RY of the edge point to be measured varies from EY to SY in a step 1603, and the X coordinate RX varies by the width W across a a constant value RXO in a step 1604. Then, a step 1605 determines whether the scanned area lies in the range of the image. If the scanned area lies outside of the image, then the process is finished. If the scanned area lies within the image, the intensity of the edge point at the coordinates (RX, RY) is read in. If the intensity is higher than a predetermined threshold, then the counter for counting edge points is counted up in a step 1607. The step 1607 is carried out for every edge point existing in the scanned area, so that the number of all edge points whose intensity is higher than the threshold is measured along the line segment d. If the angle  of the line segment d is not 90° in the step 1602, then a step 1608 determines whether the angle  is smaller than 45° ( < 45°) or larger than 135° ( > 135°), thus determining whether the line segment d has a vertical tendency or not. If the line segment d has a vertical tendency, then the line segment d is in a state as shown in FIG. 16(b) and the Y coordinate RY of the edge point to be checked varies from EY to SY in a step 1609. A value D is produced by dividing the intercept B of the line segment d by the gradient A (D = B/A), and a value RXO is determined according to RXO = RY/A + D. The X coordinate RX of the edge point varies by the width W across the value RXO in a step 1610. Then, the step 1605 determines whether the scanned area lies in the range of the image. If the scanned area lies within the image, the intensity of the edge point at the coordinates (RX, RY) is read in, and if the intensity is higher than a predetermined threshold, then the counter for counting edge points is counted up in the step 1607. If the angle  does not satisfy the conditions in the step 1608, and hence the line segment d does not have a vertical tendency, then a step 1611 determines whether the X coordinate SX of the starting point of the line segment d is smaller than the X coordinate EX of the ending point E thereof or not (SX < EX). If the X coordinate SX of the starting point S is smaller than the X coordinate EX of the ending point E, then the line segment d is in a state as shown in FIG. 16(c). In this case, the X coordinate RX of the edge point to be checked varies from SX to EX in a step 1612. The Y coordinate RY varies by the width W across a value RYO = RX·A + B in a step 1613. Then, the step 1605 determines whether the scanned area lies in the range of the image. If the scanned area lies within the image, the intensity of the edge point at the coordinates (RX, RY) is read in, and if the intensity is higher than a predetermined threshold, then the counter for counting edge points is counted up in the step 1607. If the X coordinate SX of the starting point X is larger than the X coordinate EX of the ending point E in the step 1611, the line segment d is in a state as shown in FIG. 16(d). In this case, the X coordinate RX of the edge point to be checked varies from EX to SX in a step 1614. The Y coordinate RX varies by the width W across a value RYO = RX·A + B in a step 1615. Then, the step 1605 determines whether the scanned area lies in the range of the image. If the scanned area lies within the image, the intensity of the edge point at the coordinates (RX, RY) is read in, and if the intensity is higher than a predetermined threshold, then the counter for counting edge points is counted up in the step 1607. After the edge points whose intensity is higher than the predetermined threshold have been counted by the counter, the length ℓ of the line segment d is determined according to the equation (2) or one of the alternative processes in a step 1616. Then, a step 1617 determines whether the length ℓ is smaller than a predetermined minimum value or not. If the length ℓ is larger than the minimum value, then the process is finished. If the length ℓ is smaller than the minimum value, then a step 1619 determines whether neither of the opposite ends of the line segment d has a point of connection to another line segment. If either of the opposite ends of the line segment d has a point of connection, then the line segment d is determined to be effective to extract a boundary of the path in a step 1620. If neither of the opposite ends of the line segment d has a point of connection to another line segment, then the line segment d is determined to be ineffective to extract a path boundary, and is excluded from the group of line segments to be selected, in a step 1621. Line segments to be excluded are shown by way of example in FIGS. 17(a) and 17(b). Specifically, a line segment d1 shown in FIG. 17(a) is excluded from the group of line segments to be selected because one of the opposite ends thereof has no point of connection. A line segment d1 shown in FIG. 17(b) is also excluded from the group of line segments to be selected because both of the opposite ends thereof have no point of connection. Then, the ratio ratio of the number of the edge points whose intensity is higher than the predetermined threshold to the length ℓ of the line segment d is calculated according to the equation (1), thereby determining the degree of agreement in a step 1622. Based on the determined degree of agreement, the effectiveness of the line segment d is ascertained, i.e., it is determined whether the line segment d corresponds to a boundary of the actual path. The manner in which the divided line segments are joined, as shown in FIG. 1(g), is determined as described below. The selected line segments may be joined to other in different patterns as shown in FIGS. 18(a) through 18(d). FIG. 18(a) shows a pattern in which selected line segments La, Lb originally come from one representative line segment. The line segments La, Lb shown in FIG. 18(a) are joined into one line segment. FIG. 18(b) shows a pattern in which selected line segments La, Lb originate from different representative line segments. In this case, the relationship in which the line segments La, Lb are joined is converted into data, which are stored. According to the pattern shown in FIG. 18(c), selected line segments La, Lb, which derive from one representative line segment, are joined to each other at a junction to which another selected line segment Lc is joined. With this pattern, the relationship in which the line segments La, Lb, Lc are joined is converted into data, which are stored. FIG. 18(d) illustrates a pattern in which selected line segments La, Lb are originally not joined but separated. The relationship in which these line segments La, Lb are joined is also converted into data, which are stored. In the pattern of FIG. 18(d), the number of points of connection between line segments is zero. In the above embodiment, the original image is divided into two image areas, and the data from the two image areas are processed. However, the original image may not be divided, but the array or distribution of feature points may be determined directly from the original image, and a group of straight lines approximating the determined array of feature points may be determined for the recognition of the path. According to such a modification, the step of dividing the original image into a plurality of image areas and the step of combining the divided image areas into a single image are omitted. The modified arrangement also offers the same advantages as those of the illustrated embodiment. With the present embodiment, as described above, since the divided line segments are checked against the feature points of the original image data, the boundaries of the path can easily and quickly be recognized irrespective of the configuration of the path. Therefore, even if the path is curved or branched, the method of the present embodiment does not require sequential steps which would otherwise be needed to determine the configuration of the path, but can easily and quickly determine the boundaries of the path. The method of determining the configuration of a path for motor vehicles according to the present embodiment is thus well applicable to the control of running or guidance of motor vehicles such as automobiles, which requires data processing in a short period of time.

Claims: A method of determining the configuration of a path for motor vehicles, comprising the steps of: producing original image data of the path; determining edge data points contained in said original image data; determining a group of straight lines approximating the array of the edge data points; and extracting straight lines, effective to determine boundaries of the path, from said group of straight lines, the method being characterised by the steps of: dividing the extracted straight lines into a plurality of line segments by points of intersection between the straight lines; checking said line segments against the edge data points of said original image data to determine whether the line segments correspond to the boundaries of the path; and removing those line segments having a low degree of agreement with the edge data points. A method according to claim 1, wherein said step of determining edge data points comprises the step of producing edge data by differentiating said original image data. A method according to claim 2, wherein said step of determining a group of straight lines comprises the step of effecting the Hough transformation on said edge data. A method according to claim 1, wherein said step of extracting straight lines comprises the steps of determining whether the X coordinate of the starting point of one straight line is larger than the x coordinate of the starting point of another straight line, and whether the X coordinate of the ending point of said one straight line is larger than the X coordinate of the ending point of said other straight line, and determining a straight line which interconnects the starting point of said one straight line and the ending point of said other straight line, to be an effective straight line if said X coordinate of the starting point of said one straight line is larger than said x coordinate of the starting point of said other straight line and said X coordinate of the ending point of said one straight line is larger than said X coordinate of the ending point of said other straight line. A method according to claim 1, wherein said step of extracting straight lines comprises the steps of determining whether the Y coordinate of the starting point of one straight line is larger than the Y coordinate of the starting point of another straight line, and whether the Y coordinate of the ending point of said one straight line is larger than the Y coordinate of the ending point of said other straight line, and determining a straight line which interconnects the starting end of said one straight line and the ending point of said other straight line, to be an effective straight line if said Y coordinate of the starting point of said one straight line is larger than said Y coordinate of the starting point of said other straight line and said Y coordinate of the ending point of said one straight line is larger than said Y coordinate of the ending point of said other straight line. A method according to claim 1, wherein said step of extracting straight lines comprises the steps of determining whether the Y coordinate of the starting point of one straight line is smaller than the Y coordinate of the starting point of another straight line, and whether the Y coordinate of the ending point of said one straight line is smaller than the Y coordinate of the ending point of said other straight line, and determining a straight line which interconnects the ending point of said one straight line and the starting point of said other straight line, to be an effective straight line if said Y coordinate of the starting point of said one straight line is smaller than said Y coordinate of the starting point of said other straight line and said Y coordinate of the ending point of said one straight line is smaller than said Y coordinate of the ending point of said other straight line. A method according to claim 1, wherein said step of dividing the extracted straight lines comprises the steps of defining one straight line as a master line segment and another straight line as a slave line segment, determining whether said master and slave line segments are parallel to each other, determining a point of intersection between said master and slave line segments if the master and slave line segments are not parallel to each other, determining whether the point of intersection is positioned between the starting and ending points of said master and slave line segments, and dividing said master and slave line segments by the point of intersection if the point of intersection is positioned between the starting and ending points of the master and slave line segments. A method according to claim 1, wherein said step of checking said line segments comprises the steps of scanning an edge image over a predetermined width across a line segment, comparing the intensity of the edge point of each dot which is scanned, with a predetermined threshold, counting edge points whose intensity is higher than said predetermined threshold, calculating the ratio of the number of the counted edge points to the length of the line segment, and determining whether the line segment corresponds to a boundary of the path based on the calculated ratio. A method according to any preceding claim further including the steps of: dividing said original image data into a plurality of areas after said step of producing original image data of the path, said steps of determining edge data points and determining a group of straight lines being carried out on each of said plurality of areas; and uniting the extracted straight lines in each of said areas into a single combination of image data representing a single straight line; said subsequent step of dividing being carried out on said single straight line.

Inventors: NAKAYAMA SHIGETO, NAKAYAMA,SHIGETO, Nakayama,Shigeto, c/o K.K.Honda Gijyutsu Kenkyusho
Applicants: HONDA MOTOR CO LTD, HONDA GIKEN KOGYO KABUSHIKI KAISHA
Application year: 1990
Main classification: G06K9
IPC codes: G06K9, G06T1, G06T7