Process for judging a runway

Abstract: There is disclosed a process for judging a runway on a two-dimensional image display presenting image information obtained by taking a picture of the runway. The process comprises a first step of setting a first window (WD 1L ) and a second window (WD 1R ) for scanning and tracing required parts of the runway on the image display, and setting a third window (WD 1C ) interlocked with the first and the second windows in a set positional relationship therewith, and a second step of, when the third window detects a required part of the runway (Eoc), changing a scanning area of the third window to the surrounding of the required part of the runway.

Description: This invention relates to a runway judging process, specifically to a process for judging the contour of the runway, based on image information obtained by taking a picture of the runway. To drive automatically a vehicle (e.g., automobile) on a runway (e.g., road), it is necessary to recognize and judge the contour of the road in real time. In such a conceivable runway judging process, for example, a road ahead of an automobile is pictured by a TV camera, or the like, and the obtained data is image-processed. Fig. 1A - F show image displays of a road whose contour is to be judged. In Fig. 1A - F, HL indicates a horizon, and RL and LL indicate the right and the left edges of the road respectively. SR represents a fork of the road. Contours of the road are a straight road (Fig. 1A), a curved road (Fig. 1B), a forked road (Fig. 1C), a branch divided from a main road Fig. 1D, and branches joined to main roads (Figs. 1E and F). It is not easy to recognize such variations of the contour of a runway. In a conceivable process, for example, the edges corresponding to the sides RL, LL of a runway are extracted at the lower end of an image display, i.e., on the foreground of a road, and based on the extracted result, the sides RL, LL are traced upward on the image display, i.e., forward of the runway. But it is very difficult to recognize the branches exemplified in Figs. 1C and D by this process. IEEE Journal of Robotics and Automation, vol. RA-3, No. 2, April 1987, New York US, pages 124-141, discloses a method of tracing the contour of a road by setting left and right windows which are used to scan and trace the edges of the road. However, the method is unable to deal with intersections. When a recognition error takes place at the start or in the course of image data processing for the recognition, it becomes impossible to judge the contour of a road. Here it is assumed that a process is used in which the edges corresponding to the sides of a runway are extracted at the lower end of an image display of the road, i.e., on the foreground of the road, and based on the extracted result, the right and left sides of the road are traced upward on the image display, i.e., forward of the road. In this process, for example when the edge corresponds to the left side of the road, it is impossible to trace the left edge upward on the image display. A first object of this invention is to provide a runway judging process which can judge variations of the contour of a runway easily and with high precision. A second object of this invention is to provide a runway judging process which can judge variations of the contour of a runway with no errors and easily. According to the present invention, there is provided a method of tracing the contour of a runway on a two-dimensional image display presenting image information obtained by taking a picture of the runway, the method comprising the steps of setting a first window and a second window for scanning and tracing the left and right edges of the runway on the image display, characterised by: setting a third window between the first and second windows in a set positional relationship with respect to the first and the second windows, and when the third window detects an edge of the runway, tracing said detected edge back towards the foreground in the image. Preferably, the method further comprises a second step of setting additional first and second windows respectively one after another in the direction of extension of the left and right edges to scan and trace the left and right edges in a scanning operation by the first and second windows, and setting intermediate between the first and second windows additional third windows one after another for scanning an edge of the runway. Preferably, the method further comprises a third step of, when one of the third windows detects an edge of the runway, setting additional third windows so as to scan and trace and detect the detected edge towards the foreground in the image. preferably, the third step comprises, when one of the third windows detects the edge of the runway, tracing said detected edge back towards the foreground in the image so as to detect a V-shape of the detected edge. preferably, the method comprises setting the third window a little forward of the runway between the first and the second windows. Preferably, the second step comprises conducting the scanning operation and the setting operation of the additional first and second windows alternately on the left and the right sides. Preferably, the third step comprises conducting the scanning and tracing operation of the additional third windows towards the foreground in the image with the scanning operation of the first and the second windows paused. Preferably, the third step comprises tracing the detected edge back towards the foreground in the image so as to detect the vertex of the V-shape. Preferably, the method further comprises a fourth step of, when the detected edge of the runway scanned and traced in the third step terminates, branching the scanning area at the vertex of the V-shape to the left and the right to scan and trace the edge of the runway. Preferably, the fourth step comprises conducting the branched tracing to the left and the right by a set number of windows. Preferably, when the third window detects an edge of the runway the method comprises tracing the detected edge back towards the foreground in the image so as to detect possible errors of the scanning of the left and right edges conducted by the first and the second windows. Preferably, when the detected edge being scanned and traced towards the foreground in the image by the third windows emerges into either of the edges being scanned by the first and the second windows, judging the detected edge as the left or the right edge respectively. The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only, and thus are not to be considered as limiting the present invention. Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the scope of the invention will become apparent to those skilled in the art from this detailed description. Brief Description of the Drawings Fig. 1A - F are views of variations of a runway to be judged; Fig. 2 is a diagrammatic view of a system in which runway judging process of the present invention may be used; Fig. 3 is a view explaining the pre-processing in patterns; Fig. 4A - H are views explaining the edge tracing processing; Fig. 5A - D are views explaining the consecutive small area tracing window processing; Fig. 6 is a flow chart of the general processing of the runway judging process according to the first embodiment; Fig. 7 is a flow chart of the initiation processing; Fig. 8 is a flow chart of the left,(right) tracing; Fig. 9 is a flow chart of the central processing; Fig. 10 is a flow chart of the backward processing; Fig. 11 is a flow chart of the V-shape scanning processing; Fig. 12A - C are views explaining the initialization processing, and the setting of the windows; Fig. 13A - B are views explaining the setting of the central window, and the edge scanning; Fig. 14 is a view explaining a major part of the runway judging process according to a first embodiment of this invention; Fig. 15A - D are views explaining the V-shape scanning processing related to a major part of a second embodiment of this invention; and Fig. 16A - D are views explaining the scanning error detection performed by a major part of a third embodiment of this invention. In Fig. 2, a camera 11 takes a picture of a road in the forward direction to supply an output of analog image data. This output is converted to 256 gradation-digital image data by an A/D converter board 12. Then the digital image data is space-differentiated by a Sobel board 13 so that parts, i.e., edges where the darkness of the image display abruptly changes, are detected. The processing result of the Sobel board 13 is stored by a multivalued memory 14 in 256 gradations. Then the multivalued memory 14 supplies its stored data to a binary board 15 and is stored by a binary memory 16 in binary data (0, 1). The processing operations executed by the system from the camera 11 to the binary memory 16 are referred to as pre-processing. This pre-processing is shown in patterns in Fig. 3. A mobile analog image taken by the camera 11 is digitized first along the space and the time axes and then is digitized into 256 gradations with respect to the darkness. Subsequently the digitized image is two-valued to produce binary image data of 512 x 512 picture elements. The processing, i.e., main processing on this binary image data is performed by CPU 17 in Fig. 2. Next, before the main processing is explained, the tracing processing and the window processing used in the process for judging a runway according to this invention will be explained. To process an image it is essential to extract a feature, e.g., a boundary line, etc. of an object from the image. One of the typical features on the image represents an edge. In this embodiment, for extracting an edge, an image is space-differentiated to detect the edge. The edge is detected at a position where a feature (generally gray level) abruptly changes, and the edge defines the boundary, i.e., contour of an object. To be specific, a white line i.e., a shoulder line of a road abruptly changes darkness on the image display, which permits the edge to be detected, and consequently a side of the road can be recognized. (Consecutive tracing processing) An edge detected by extracting the feature is detected as a line by the following consecutive tracing processing. (Step-i) Select a picture element for initiating a consecutive tracing processing operation; (Step-ii) Scan a next picture element to be processed, based on an immediately preceding processed picture element, and perform required processing on the next picture element. (Step-iii) Repeat Step-ii when a further next picture element is processed, or otherwise finish the consecutive tracing processing operation. This tracing processing is characterized firstly in that which picture element is to be processed depends on a result, i.e., the position of an initial picture element, of the pre-processing preceding the tracing processing, and secondly in that the processing area can be restricted by using the result of the preceding preprocessing, with results that it is possible to remove wasteful processing and improve the processing precision. Examples of the tracing processing will be briefly explained with reference to Figs. 4A - H. It is assumed that an edge to be traced (not "0" but "1" of binary data) is positioned as indicated by the hatchings in Fig. 4A. An initial picture element is chosen as indicated by the cross hatching in Fig. 4B to scan for picture elements which are continuous to this initial picture element. This scanning operation is performed on the picture elements marked by (*), and the edge is detected on a next picture element as in Fig. 4C. The next scanning operation for the edge is performed in an anticipated direction of the edge as indicated by the marks (*) in Fig. 4C. As indicated by Figs. 4D, E and F, the scanning operation is repeated to detect the edge in the areas restricted by the processing results of the preceding scanning operations. But, here in Fig. 4F, the edge is absent on the continuous picture elements, and the tracing processing operation cannot be performed. In this case, the scanning area is jumped by one picture element as in Fig. 4G. Then the edge can be detected as in Fig. 4H. If the edge cannot even be detected with one picture element jumped, two picture elements are jumped. (Window processing) In this embodiment, an edge is not traced over the entire image display but over a part of the image display by window processing. This makes it possible to take out to process a part of the image display where an object is present. In addition, in this embodiment, the contour of an object is extracted based on the above-described consecutive tracing processing. (Step-i) Set a window to be processed, based on a picture element satisfying suitable conditions; (Step-ii) Scan picture elements to be processed with the picture element in Step-i set as the initial picture element, and trace the edge to scan picture elements to be processed next; (Step-iii) Repeat Step-ii when the traced picture element is inside the window. Return to Step-i to set an additional window when the traced picture element is outside the window. Jump some picture elements in the direction where the edge is anticipated to be present when the edge is interrupted, and horizontally scan the edge, (Step-iv) Repeat Step-ii. This window processing is characterized in that; first, since this window processing uses the result of the preceding processing operation, it is possible to restrict the area of the window processing, and accordingly wasteful processing is removed; second, setting the processing window keeps the processing away from the influences of information outside the processing window; third, elaborate tuning can be performed depending on arrangements of the processing window; and, fourth, this window processing is effective for interrupted lines. Next, an example of the consecutive small window tracing processing will be explained with reference to Fig. 5A - D. First, as shown in Fig. 5A, a window WD 1 is set with a picture element G 1 which has been traced in the preceding processing operation centered. Then the tracing processing operation is repeated only in this window WD 1 , and when a picture element G 2 which is the first outside the window WD 1 is determined, as shown in Fig. 5B, an additional window WD 2 is set with the picture element G 2 centered. The tracing processing operation is repeated by the window WD 2 in the same way as by the window WD 1 . Here it is assumed that, as shown in Fig. 5C, the edge continuous to that of the picture element G 3 is detected neither on the adjacent picture elements nor on the picture elements jumped by one picture element. In this case, as shown in Fig. 15B, one additional window WD 3 is set on the window WD 2 , and the edge is scanned on the picture elements indicated by (*) in Fig. 5C. Then the edge is detected on the picture element G 4 as in Fig. 5D. With the picture element G 4 set as a basic point, the scanning operation is repeated in the window WD 3 . When a final picture element G 5 is detected in the window WD 3 , an additional window WD 4 is set on the window WD 3 . Next, the main processing of the runway judging process according to this embodiment will be explained. Fig. 6 is a general flow chart of the main processing. As shown, the main processing comprises initiation processing (Step 601) shown in detail in the flow chart of Fig. 7, left tracing and right tracing (Steps 602 and 603) including the left (right) side tracing shown in detail in the flow chart of Fig. 8, and center processing (Step 604) including center scanning detailed by the flow chart of Fig. 9. When the center scanning of Step 604 detects an edge, backward processing shown by the flow chart of Fig. 10 and V-shape tracing shown by the flow chart of Fig. 11 are executed. The initiation processing will be explained in good detail with reference to Figs. 7 and 12A - C. A camera 11 is placed on a vehicle at a suitable height, When the camera 11 is faced in the direction of run of the road, the white lines on the right and the left sides of the road (the edges of the road RL, LL) are positioned respectively on the right and the left of the center of the image display as shown in Fig. 12A. Based on this natural arrangement, initial windows WD OL′ , WD OR are set respectively on the left and right sides of the bottom of the image display (when a car is partially present in the image display, immediately above the car) (Step 701 in Fig. 7). Then follow the processing operations of Steps 702 - 705 in Fig. 7, and those of Steps 706 - 709 of Fig. 7 continuously. That is, since the edges are absent inside the road, the interiors of the initial windows WD OL , WD OR are scanned outward from the respective sides nearer to the center. and the first edges to be detected are the sides of the runway in the form of the white lines (RL, LL). When a mass of some edges is detected, the edges are judged to be the white lines corresponding to the sides RL, LL of the runway, taking into consideration that there are actually small noises on the road, i.e., G b , G c in Figs. 12 B and C (Steps 702 and 706). When the edges in the form of the white lines of the road are detected, the upward, i.e., forward of the road, tracing starts and ends at the position immediately outside the initial windows WD OL , WD OR . When one scanning operation cannot detect the edges, the same scanning operation is repeated within the initial windows WD OL , WD OR at an upper position by some picture elements until the edges are detected or the initial windows WD OL , WD OR run out. When the edges cannot be detected within the initial window WD OL , (Steps 703 and 707) as shown in Figs. A and B, a phantom tracing point E OL is set at the upper outer corner of the initial window WD OL , which is treated as if the edge has been detected (Steps 705 and 709). But this phantom tracing point E OL is not outputted in a line of points. The left (right) tracing will be explained with reference to Figs. 8, 12A - C and 13A and B. Based on the edges, i.e., E OL , E OR in Fig. 12A, traced in the initiation processing, smaller right and left windows WD 1L WD 1R are set respectively on the initial windows WD OL , WD OR The smaller right and the smaller left windows WD 1L , WD 1R are so set that initial picture elements are at the center of the bottom of the respective windows. In the following tracing operations, a small area is set in the same way as described above, based on the edge traced in their preceding operations. The right and the left windows WD 1L , WD 2L , ..., WD 1R , WD 2R′ are made smaller than the initial windows WD OL , WD OR for decreasing the influence of noises. When set windows WD are partially out of the image display, the windows are set nearer to the center of the image display so as to be within the image display. In a window WD, the above-described tracing processing is started on the initial picture elements and ends at a position immediately outside the window, and then additional windows are set. The scanning is performed basically in the unit of window alternately on the right and the left as shown in Fig. 6. The central processing which will be explained later is performed once every respective right and left tracing operation. A scanning operation ends when the edge is completely lost, or when numbers of set right and left windows reach preset numbers (they are counted from the position of the horizon). A phantom scanning point is set as in the initiation processing (Step 803) only when the edge has gone out of the image display at the right and the left sides thereof during a tracing operation of the edge (Step 802). This makes it possible to detect an edge which has gone out of the image display and returns again thereinto. Next, the central processing which is a major part of this embodiment will be explained with reference to Figs. 9 and 13A and B. In the central window processing in Fig. 9 are performed position computation for setting a central window (Step 901), setting the central window (Step 902), and center scanning (Step 903). The central processing will be explained with reference to Fig. 13A and B. A position is determined which is upper by "b" of a middle point between the right and the left windows WD lL , WD IR spaced from each other by "2a" on the image display, and at this position is set a central window WD 1C (Fig. 13A). The scanning operation within the central window WD 1C is basically the same as in the initiation processing but differs from the latter in the following two points. First, in the central processing, a scanning initial picture element is set at the upper left corner of the window WD 1C , and the scanning is performed to the right. Second, the scanning is jumped downward so as to speed up the processing. Every time one cycle of scanning ends, an additional central window WD 2C - WD nC are set as shown in Fig. 13B. The backward processing (Step 904) in Fig. 9 is executed as shown in Fig. 14. This backward processing is for detecting the edge E OC by the central window WD nC as shown in Fig. 14 and tracing the edge downward for the purpose of detecting the edge E VP at the vertex of a V-shape. The edge E OC , which has been detected by the central window, is traced downward by the backward processing by windows WD 1B - WD 4B , and when the vertex of the V-shape is detected, the backward processing ends. Meanwhile, on the other hand, the tracing operations by the right and the left windows WD nL′ , WD nR are at pause until the backward processing, and the V-shape and the right and left tracing points are reset. Whether or not the edge E VP is the vertex of the V-shape is determined by whether or not the edge continues downward on the image display. When the edge is interrupted, the position is judged to be the vertex. Whether or not the edge is interrupted is determined by setting one additional window (WD 5B ) further downward from the position of the interruption and detecting none of the edge. The V-shape tracing processing in Fig. 9 (Step 905), i.e., a major part of a second embodiment of this invention, is executed as shown in Figs. 15A - B. To extract the V shape in Fig. 15A, the window WD 1V at the vertex of the V-shape is branched into upper right windows WD 2RV - WD iRV and upper left windows WD 2LV - WD iLV to trace edges as shown in Fig. 15C. The division of the tracing direction into the right and the left is detected by tracing first either of the right and the left picture elements. For example, in Fig. 15 D, when the edge is traced to the left, the scanning operation is started on the picture element (1) in FIG, 15D, and a tracing operation is conducted in the direction of the picture element (2) first detected. When the edge is traced to the right, oppositely a scanning operation is started on the picture element (5), and a tracing operation is conducted in the direction of the picture element (4) first detected. The distance to be traced over is set small enough to recognize the contour of the V-shape, and in this embodiment 5 picture elements are set respectively on the right and the left sides. In this embodiment, to recognize a branch uniquely and simply, after one V-shape has been extracted, the right and the left edges of the road are set anew in accordance with the direction of drive inputted beforehand, and the tracing operation proceeds. Thus, even when there are several branches on one image display, these branches can be recognized one by one. The backward processing executed by a major part of a third embodiment of this invention is as shown in Fig. 16A - D. In this backward processing, an edge is detected by the scanning operation by a central window WD 7C as shown in Fig. 16A, and a tracing operation is performed downward. This backward processing is for detecting the sides of a road which has escaped the processing by a left window, i.e., the left side of road the left window has failed to scan. That is, when a left window traces an edge outside the road due to a scanning error of the left window, as shown in Fig. 16A, a central window WD 7C can detect the left edge, because the central window scans the center between the phantom scanning point of the left window and the edge detected by a right window. Then, the scanning operations by the right and the left windows are stopped, the scanning continues in Fig. 16B to trace the edge down to the most bottom of the image display. When a central window has conducted the tracing to the most bottom of the image display, the position of the central window there is judged to be the left edge if it is left from the center of the image display, and when the position is right from the center of the image display, it is judged to be the right edge. The line of edge points (phantom scanning points) on the erroneous side (left side) is cut off, using the line of edge points traced by the backward processing. That is, the line of the edge points traced in the backward processing is the left side. Then, as shown in Fig. 16C, a scanning operation proceeds with an edge E OC set as a tracing initiating position of the left window. Fig. 16D shows the lines of the edge points given by the above-described processing. The above-described scanning operation on one side of a runway is not limited to the left side but may be performed on the right side in the same way. The central windows can detect a scanning error when an intermediate right or left window fails to scan an edge as well as when it fails in the initial right or left window.

Claims: A method of tracing the contour of a runway on a two-dimensional image display presenting image information obtained by taking a picture of the runway, the method comprising the steps of setting a first window (WD nL ) and a second window (WD nR ) for scanning and tracing the left (LL) and right edges (RL) of the runway on the image display, characterised by: setting a third window (WD nC ) between the first (WD nL ) and second (WD nR ) windows in a set positional relationship with respect to the first (WD nL ) and the second windows (WD nR ), and when the third window (WD nc ) detects an edge of the runway, tracing said detected edge back towards the foreground in the image. A method of tracing the contour of runway according to claim 1 further comprising a second step of setting additional first (WD nL ) and second windows (WD nR ) respectively one after another in the direction of extension of the left (LL) and right (RL) edges to scan and trace the left (LL) and right (RL) edges in a scanning operation by the first (WD nL ) and second windows (WD nR ), and setting intermediate between the first (WD nL ) and second (WD nR ) windows additional third windows (WD nC ) one after another for scanning an edge of the runway. A method of tracing the contour of a runway according to claim 2 further comprising a third step of, when one of the third windows (WD nC ) detects an edge of the runway, setting additional third windows (WD nB ) so as to scan and trace and detect the detected edge towards the foreground in the image. A method of tracing the contour of a runway according to claim 3, wherein the third step comprises, when one of the third windows (WD nC ) detects the edge of the runway, tracing said detected edge back towards the foreground in the image so as to detect a V-shape of the detected edge. A method of tracing the contour of a runway according to any preceding claim, comprising setting the third (WD nC ) window a little forward of the runway between the first (WD nL ) and the second (WD nR ) windows. A method of tracing the contour of a runway according to any of claims 2 to 5, wherein the second step comprises conducting the scanning operation and the setting operation of the additional first (WD nL ) and second (WD nR ) windows alternately on the left (LL) and the right (RL) sides. A method of tracing the contour of a runway according to claim 3 or any of claims 4 to 6 when dependent on claim 3, wherein the third step comprises conducting the scanning and tracing operation of the additional third windows (WD nB ) towards the foreground in the image with the scanning operation of the first (WD nL ) and the second windows (WD nR ) paused. A method of tracing the contour of a runway according to claim 3 or any of claims 4 to 7 when dependent on claim 3, wherein the third step comprises tracing said detected edge back towards the foreground in the image so as to detect the vertex of the V-shape. A method of tracing the contour of a runway according to claim 7 or 8, further comprising a fourth step of, when the detected edge of the runway scanned and traced in the third step terminates, branching the scanning area at the vertex of the V-shape to the left and the right to scan and trace the edge of the runway. A method of tracing the contour of a runway according to claim 9, wherein the fourth step comprises conducting the branched tracing to the left and the right by a set number of windows (WD nLV ;WD nRV ). A method of tracing the contour of a runway according to any preceding claim wherein when the third window (WD nC ) detects an edge of the runway said method comprises tracing said detected edge back towards the foreground in the image so as to detect possible errors of the scanning of the left (LL) and right edges (RL) conducted by the first (WD nL ) and the second windows (WD nR ). A method of tracing the contour of a runway according to any of claims 3 to 11, wherein, when the detected edge being scanned and traced towards the foreground in the image by the third windows (WD nB ) emerges into either of the edges being scanned by the first (WD nL ) and the second windows (WD nR ), judging said detected edge as the left (LL) or the right edge (RL) respectively.

Inventors: HASEGAWA HIROSHI, IGARASHI RYOJI, HASEGAWA, HIROSHI, IGARASHI, RYOJI
Applicants: HONDA MOTOR CO LTD, HONDA GIKEN KOGYO KABUSHIKI KAISHA
Application year: 1990
Main classification: G06K9
IPC codes: G06K9, G05D1, G06T1, G06T7