Structured illumination autonomous machine vision system
The present invention is directed to a method and apparatus for automatically determining pathway boundaries for autonomic robotic navigation. 
     In modern day warfare, mobile robots or autonomous vehicles are deployed in a foreign terrain environment. These must be provided with a vision system which rapidly and accurately determines the location and direction of the pathway ahead, so as to keep the vehicle moving properly on the pathway. 
     The present invention solves the formidable problem of distinguishing between pathway and background so as to permit such automatic vehicular navigation. 
     The invention makes use of the fact that a major distinguishing feature between the pathway and background is the three dimensional texture of these two regions, with the texture of the pathway usually being much finer than that of the background. 
     In the prior art, guidance of autonomous vehicles is accomplished by sensing the difference in color between the pathway and background. However, in off road situations, many instances can be imagined when the color of the pathway differs little from that of the background. In such situations the system of the present invention can successfully discriminate between the three dimensional texture of pathway and background. 
     Additionally, when autonomous vehicles are navigating along predefined roadways, it is a reasonable assumption that the grade and cant of the roadway will not exceed the vehicle&#39;s capabilities. However, with off-road navigation, no such assumption can be made concerning pathways chosen by the autonomous vision system through an unstructured environment. While the color discrimination system of the prior art was not capable of providing such information, appropriate processing of the image captured with the system of the invention allows the 3-D characteristics of the pathway to be determined. 
     In accordance with the invention, a structured light pattern of scanned lines is projected on the area to be navigated. The reflected light pattern is viewed by a stereoscopically located video camera. The resultant image field is stored in memory, and is processed so as to determine the degree of distortion of the reflected pattern. Since the texture of the background is coarser than the texture of the pathway, scanned lines reflected from the background have a greater degree of discontinuity than those reflected from the path. Thus, appropriate processing of the image field determines the location and shape of the pathway, as well as its boundaries, and further processing determines its 3-D characteristics. 
    
    
     The invention will be better understood by referring to the accompanying drawings, in which: 
     FIG. 1 is an illustration of the geometry of the system of the present invention. 
     FIG. 2 is a schematic representation of a light scanner for producing the structured light pattern. 
     FIG. 3 is an illustration of a typical image field corresponding to a reflected light pattern. 
     FIG. 4 is an illustration of an image field which shows division thereof into sub-fields. 
     FIG. 5 is a flow chart which depicts the various image processing steps which are utilized in the present invention. 
    
    
     Referring to FIG. 1, the geometry of the laser scanner and video camera is shown. The laser scanner 2 is arranged so as to scan horizontal lines of light on the scene to be determined. 
     A video camera 4 is located offset vertically and laterally from the laser scanner, so as to advantageously view the reflected light. 
     FIG. 1 is a geometrical model of the stereoscopic visual system utilized by the invention wherein significant features of the video camera that are incorporated into the model are the focal point, image plane, and optical axis. A 3-D, right handed, cartesian coordinate system serves as the reference frame for the camera model. The focal point is modeled by a point located at the origin of the coordinate system, and the optical axis coincides with the positive y-axis. Consequently, the image plane of the camera is parallel to the x - z plane and is displaced perpendicularly from this plane by a distance equal to the focal length (fl) of the camera lens. The image plane can reside on either the positive or negative y side of the x - z plane, but for clarity, it is placed on the positive y side. 
     Because the primary application for the invention entails vehicle guidance, the coordinate system shown in FIG. 1 conforms to that currently in use in vehicular environments. Although the z axis is often chosen as the axis of propagation, vehicles typically interface with a surface oriented coordinate system where the z axis extends upward, normal to the surface. Thus, the x - y plane is horizontal, with the y axis in the general direction of propagation. 
     FIG. 1 illustrates the association that exists between a point in an image and a particular 3-D ray. Each ray originates at the camera focal point, extends through a point in the image plane, and terminates at a point in the scene. Consequently, the video camera can be calibrated such that a pixel location in an image is sufficient for determining the angular orientation of the ray associated with a particular point. 
     A digitized image is a 2-D array of pixels, which is a representation of the 3-D texture in the scene. In reference to the camera model, the middle column of pixels corresponds to the y - z plane, and the middle row of pixels corresponds to the x - y plane. The intersection of these two planes, the optical axis, is mapped to the center pixel of the image. After the camera is calibrated, since the focal length of the camera lens is known, the pixel coordinates of an image point allow determination of the horizontal and vertical displacements, x i  and z i  respectively in FIG. 1, of the image point from the center of the image. The horizontal and vertical displacements are utilized in calculating the 3-D coordinates of the corresponding point in the scene, as explained below. 
     The structured light pattern is preferably produced by a holographic scanner disk such as shown in FIG. 2, spinning in the path of a laser beam. Referring to FIG. 2, disk 10 to which laser beam 14 is inputted includes holographic grating 12, and as the disk spins, sequentially scanned horizontal lines 16 are generated. Such a scanner disk is described in detail in the article entitled &#34;Holographic Laser Beam Deflector&#34;, by R. V. Pole and H. P. Wollenmann, Applied Optics, Vol. 14, No. 4, April, 1975, as well as in U.S. Pat. No. 4,235,504, both of which are incorporated herein by reference. In the alternative, the structured horizontal lines can be obtained by a known system utilizing scanning mirrors. 
     The scanner disk offers an additional capability. When the gratings rotate to a position 90 degrees around the disk, they are oriented to produce vertical scanning. Therefore, if a second laser beam is incident on the disk, 90 degrees from the first beam, a grid of sequentially scanned horizontal and vertical lines is produced. 
     While any light source can be used to produce the structured light, laser illumination is preferred because it has sufficient power density to be sensed by a low light video camera, and sufficient collimation, when scanned across a scene, to produce fine line, easily thresholded, images suitable for further processing. Further, since laser illumination is an active source, the system is ideally suited to operation at night. Additionally, the narrow bandwidth monochromatic, high power density, nature of laser light coupled with the ability to choose a wavelength to which vegetation is highly reflective, to which a video sensor is very sensitive, and at which solar radiation is substantially reduced, make daylight operation possible using narrowband optical filters on the video sensor. 
     Any standard video camera will suffice, but it should be chosen such that the sensor response is high at the laser wavelength used and exhibits low image lag, low geometric distortion, and desirable ruggedness. To facilitate processing, single scan lines, or portions of these lines, can be captured by use of the electronically gated features of many a cameras, synchronized with the scanner disk. For example, a suitable camera is the Model ISG-01 Gated Intensified Solid-State (CID) Video Camera manufactured by XYBION Electronic Systems Corp. 
     The 3-D texture of the pathway differs greatly from that of the background in the scene, with the pathway texture being considerably more fine and regular. Therefore, the shape of the grid lines varies significantly between the pathway regions and background regions of the image, as the amount of discontinuity of the lines in various regions of the image yields an artificially generated texture which is a 2-D representation of the 3-D texture in these regions. The application of the above descriptions of image texture and the accompanying segmentation methods provides a rapid first order processing method to identify the pathway boundaries for input to a route planner for an autonomous robot or vehicle. 
     Referring again to FIG. 1, the image is captured with the use of real time video field digitizer 6. Image capturing consists of digitizing a single video field into a plurality of grey levels and storing it in a memory. This operation is depicted by block 40 of the overall system processing flow chart, illustrated in FIG. 5. 
     The captured video image of structured light horizontal grid lines is depicted in FIG. 3. Because all desired information in the image is given by the fact that pixels are either illuminated by laser light or not, a binary image is desired to simplify further processing. Thus, the grey level image field is easily globally thresholded such that each pixel is reassigned a value of 0 if its grey level is less than a threshold, or 1 is greater than or equal to the threshold. The resulting binary image field facilitates further processing. 
     The 3-D texture in the scene is represented by the 2-D shape of the images of the laser lines. Therefore, considerable reduction in processing can be accomplished by only processing sub-fields of the image containing the image of the laser lines, and the line images are thus vertically compressed, as depicted by block 44 of the flow chart of FIG. 5. 
     The 3-D texture of regions in the scene is proportional to the spatial deviation of the image of the structured light grid lines. Pathway determination amounts to detection of lines in the thresholded image field. Line detection is accomplished by means of the Hough transform by mapping each image point into a parameter space based on the linear equation j 2  = aj 1  + b where j 2  is the vertical index, j 1  is the horizontal index, a is the slope of the line, and b is the vertical intercept. Alternately, the transformation can be based on the normal form of the linear equation, j 1  cos θ + j 2  sin θ = ρ, where p is the normal distance from the origin to the line, and θ is the angle from the horizontal axis to the normal to the line. Acceptable pathways differ little from level, therefore, the grid line images are near horizontal, and the range of slopes of the lines is small and close to zero. Therefore, the Hough transform based on the linear equation j 2  = aj 1  +b is appropriate and more computationally efficient. The Hough transformation is represented by blocks 46 and 48 of the flow chart of FIG. 5. 
     The Hough transform defines the image lines by providing a slope and intercept for each line. Thus, the transform maps every white image pixel into a line in the (a,b) parameter space output of the Hough transform using the equation b h  = j 2  - a h  j 1 . The range of slopes corresponds to acceptable pathway cant, thus excluding pathways with excessive cant. The range of slopes is quantized and sequenced, forming a line in the (a,b) plane corresponding to the (j 1 , j 2 ) image spatial coordinates of each white pixel in the image field. The Hough transform output of a complete image amounts to the addition of the lines associated with each white image pixel. Peaks in the Hough transform parameter space, formed at points where many of these lines intersect, denote strong line tendencies in the image field, t(j 1 ,j 2 ). Parameter space coordinates (a h , b h ) are associated with each peak denoting a line with slope a h  and intercept b h  in the image field. 
     As shown in FIG. 4, image subfields are extracted from the image field where the center line of each subfield, t h  corresponds to the mapping: i 1  = j 1  and i 2  = a h  j 1  + b h . Image lines of slope a h  are now horizontal in the subfield, t h  (i 1 ,i 2 ). Each subfield is 2p + 1 image lines high, such that each line in a subfield corresponds to the mapping: 
     
         i.sub.1 =j.sub.1 and i.sub.2 =a.sub.h j.sub.1 +b.sub.n +l,-p≦l≦p.                                  (1) 
    
     Determining the location of a pathway requires that only regions of two textures be identified; the low texture pathway region, and high texture background. Detection of the pathway within the image subfield can now be viewed as an image filtering problem. The continuous line image across the low texture pathway region can be treated as the object of interest, whereas the broken portions of the line across the background regions appear as noise. Pathway detection amounts to filtering the noise while accurately preserving the edges of the object. A ranked order filter is chosen because it is particularly effective in a situation where the noise consists of strong impulses, such as the broken line clusters encountered in the background regions, and where the image characteristic to be preserved is object edge sharpness. 
     A morphological window operator is defined where M is the width of the window in pixels, and is odd, and N is the height of the window in image subfield lines. M &gt;&gt; N because the operator is structured to preserve horizontal lines in the subfield. The window operator is translated throughout the image subfield. The location of the window, where i o  is the horizontal window center and l o  is the top line, is described by: ##EQU1## 
     A ranked order filtering operation is performed at each window location, resulting in a mapping of each image subfield, t h  (i 1 ,i 2 ), to a filter output subfield, x h  (i 1 ,i 2 ). Each pixel in the filter output subfield corresponds to the filter output: 
     
         x.sub.h (i&#39;.sub.1,i&#39;.sub.2)=Rank.sub.T [t.sub.h (i.sub.1,i.sub.2)εW.sub.h [i.sub.0,l.sub.0 ]]     (3) 
    
     where the Rank T  operation consists of ordering the pixel values within the filter window and choosing the pixel value at the rank corresponding to the threshold T. 
     The filter output subfield is then compressed vertically into a single line, y h  (i&#39; 1 ), corresponding to the image field spatial location of the Hough transform extracted line, t h  (i 1 ), where: 
     
         .sub.yh (i&#39;.sub.1)=Max[x.sup.0.sub.h (i&#39;.sub.1),x.sup.1.sub.h (i&#39;.sub.1),....x.sup.2p-N+2.sub.h (i&#39;.sub.1)]             (4) 
    
     Although the ranked filter preserves the pathway edges, or ends of the pathway lines, the filtering operation erodes M/2 pixels from each end of each line and both sides of any breaks in the lines. Restoration of eroded pixels is accomplished by morphological dilation, which is a transformation which combines two sets using vector addition of set elements. If A and B are sets in Euclidean N-space (E N ), the dilation of A by B is denoted by A ⊕ B and defined by: 
     
         A⊕B=[cεE.sup.N |c=a+bforsomeaεAandbεB](5) 
    
     The vertical compression of the filter output subfield into a single line (y h ), results in the dilation needing to be performed only in the single horizontal spatial dimension, therefore, N = 1 in the above definition. Each of the resulting filtered, compressed lines is then dilated with an M by 1 structuring element, B: 
     
         y&#39;.sub.h (i&#39;.sub.1)=y.sub.h (i&#39;.sub.1)⊕B               (6) 
    
     The dilated line segments, y&#39; h  (i&#39; 1 ), overlay the region of low texture pathway crossed by the structured light horizontal grid line, and the left and right end points, y&#39; h  (i 11 ) and y&#39; h  (i lr ), of each line segment correspond to the left and right boundaries of the pathway in image subfield coordinates. 
     These end points, y40  h  (i 1l ) and y&#39; h  (i 1r ), are then mapped to their corresponding image coordinates, a hl  (j l1 ,j 2l ) and a hr  (j 1r ,j 2r ), using the transformations: 
     
         j.sub.1 =i.sub.1 and j.sub.2 =a.sub.h i.sub.1 +b.sub.h     (7) 
    
     The points, a hl  (j 1l ,j 2l ) and a hl  (j 1r ,j 2r ), constitute a pathway boundary point pair which, when combined with all other such pairs (h = 1 to h MAX ), defines the pathway location in the image field quantized corresponding to the number of horizontal structured light grid lines. 
     In practice, pixels are not extracted from the image field and placed in a new location and orientation. Instead, the window operator is structured with slope a h  and translated through the image field, t(j 1 ,j 2 ), along lines parallel to the line j 2  = a h  j 1  + b h . The output of this process is a boundary point pair detected at each horizontal laser line image location. Connecting all of the left pathway boundary points with straight line segments, and all of the right points in the same manner, yields an image of the estimate of the pathway boundaries that can be overlaid on the original image for comparison purposes. 
     Referring to the flow chart of FIG. 5, blocks 50, 52, and 54 refer to the rank filtering, morphological dilation, and end point detecting operations respectively. 
     In addition to determining pathway boundaries, since adequate geometric parameters are known about the structured light projection and camera sensing system, the system of the invention is capable of determining the 3-D characteristics of the pathway. 
     Referring to FIG. 1, the camera focal point can be chosen as the origin, with the laser scanner focal point at (x l ,y l ,z l ) The laser scan rotation angle (φ lr ) and vertical projection angle (φ lv ) are known, and the camera image location (x i ,fl,z i ) is calculated based on the previously derived camera calibration. The coordinates (x,y,z) of the laser spot in the scene can then be derived by calculating the point of intersection of the camera ray: ##EQU2## with the laser scanning plane: ##EQU3## where the planar intercepts are: ##EQU4## 
     Solving for x, y, and z yields: ##EQU5## 
     Each scan line is formed as the laser beam sweeps through a plane in space. The vertical projection angles associated with each horizontal line on the structured light grid are those corresponding to the horizontal planes swept by the laser beam as it traces the grid lines. These calculations, or a discrete calibration similar to the camera calibration need only be performed once. As long as the grid scanning remains unchanged, a look-up table method can be utilized to obtain the laser vertical projection angle corresponding to a particular grid line of interest. The camera image location is calculated based on the previously derived camera calibration and the location of the pixel in the camera image. 
     As a result of the above-discussed segmentation processing, the approximate vertical image location of each horizontal laser line corresponds to the vertical position of the center line, t o  h, of the image subfield, t h  (i 1 ,i 2 ), in which it is contained. Also, the 3-D coordinates of only the points within the pathway boundaries are of interest, therefore an arbitrary number of image points can be chosen lying on the image subfield center line between the previously identified left and right boundary points, a hl  (i 1l ,i 2l ) and a hl  (i 1r ,i 2r ), in each subfield. All points in one image subfield will have the same vertical laser projection angle. 
     As in the segmentation procedure, the chosen subfield points are mapped to their corresponding points in the image field using the transformation shown in Eqns. 7. By using time sequential images of single laser lines, the grid line that corresponds to each chosen point is identified, such that the vertical laser projection angle of each chosen point can be determined. The image coordinates, (j 1 ,j 2 ), of each chosen point can then be mapped to camera image plane coordinates using the previously described camera model and calibration. The laser angle and camera image coordinates constitute all the information required to utilize Eqn. 12 to calculate the 3-D scene coordinates corresponding to each detected point. 
     In practice, pixels are not extracted from the image field and placed in a new location and orientation described as a subfield. Instead, point selection is accomplished along each line j 2  = a h  j 1  + b h  from the output of the Hough transform, and need only occur between the previously identified left boundary point, b hl  (j 1l ,j 2l ), and the and the identified right boundary point b hl  (j lr ,j 22 ). 
     Another approach to 3-D quantification is to project a grid of vertical as well as horizontal lines on the pathway and background. The points are which these lines cross within the pathway boundaries can be identified. These crossing points can be mapped to a particular horizontal and vertical laser projection angle because their sequential scanning can be synchronized to a gated video camera. Geometrical computational methods can then derive 3-D coordinates for these points. A planer fit of all such pathway points or a piecewise planer fit of points in pathway subregions could provide a vehicular navigation system with essential information such as pathway cant and grade. 
     An obstacle in the pathway is simply a distortion in the 3-D shape of the pathway, and is therefore sensed by all of the processing methods described. An adaptive method may be applied whereby initial processing identifies a discontinuity in pathway scan lines that may indicate the presence of an obstacle, and the laser scanner would then be aimed at that area to provide higher resolution scanning for identification. 
     The program listings for the Hough transform, rank filtering, morphological dilation, end-point detecting, and derivation of 3-D coordinates software are given below in the C language. 
     There thus has been described a method and system for automatically determining pathway boundaries and for 3-D characterization of the pathway. 
     While the invention has been described in accordance with illustrative embodiments, it should be understood that variations will occur to those skilled in the art, and the scope of the invention is to be limited only by the claims appended hereto and equivalents.