Patent Abstract:
The present invention provides an improved system and method for estimating range of the objects in the images from various distances. The method comprises receiving a set of images of the scene having multiple objects from at least one camera in motion. Due to the motion of the camera, each of the images are obtained at different camera locations Then an object visible in multiple images is selected. Data related to approximate camera positions and orientations and the images of the visible object are used to estimate the location of the object relative to a reference coordinate system. Based on the computed data, a projected location of the visible object is computed and the orientation angle of the camera for each image is refined. Additionally, pairs of cameras with various locations can then be chosen to obtain dense stereo for regions of the image at various ranges. The process is further structured so that as new images arrive, they are incorporated into the pose adjustment so that the dense stereo results can. be updated.

Full Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application No. 60/847,000 filed Sep. 25, 2006, the entire disclosure of which is incorporated herein by reference. 
     
    
     GOVERNMENT RIGHTS IN THIS INVENTION 
       [0002]    This invention was made with U.S. government support under contract number DAAD19-01-2-0012. The U.S. government has certain rights in this invention. 
     
    
     FIELD OF THE INVENTION 
       [0003]    The invention relates generally to a visual means for a mobile sensing system for refining camera poses used to acquire multiple views of a scene. More specifically, the invention relates to an improved system and method for estimating range including objects in the images from various distances. 
       BACKGROUND OF THE INVENTION 
       [0004]    A persistent issue in the sensing system is the need to determine the structure of a scene, including objects seen at long distances using a mobile platform. Scene structure recovered in the range of 50 m-1000 m is useful for planning for autonomous mobility and mapping unobserved areas. Sensing from 100 m-200 m is useful for reconnaissance, surveillance, and target acquisition (RSTA), target designation, and cueing automatic target recognition (ATR). The difficulty with using images from a moving platform is knowing the precise relationship (position and direction) between the cameras that acquired the images. In particular, the relative pointing angles between the cameras must be known to a milliradian or better. 
         [0005]    A conventional approach is to use a laser range finder or LADAR, but these ranges require high power, and LADAR is emissive. So, the scene structure typically recovered from LADAR sensing has power/speed/resolution limitations at the ranges of interest (hundreds of meters to a kilometer or more). 
         [0006]    Vision stereo with a fixed baseline can also be used to acquire range information. Accurate range estimates for objects that are a kilometer away, however, requires a 10 m baseline, which is impractical for a mobile, fixed-baseline system. Passive depth recovery at mid-ranges requires longer baselines than can be achieved by a practical fixed-baseline stereo system. So, scene structure recovered from conventional stereo vision systems have a fixed baseline that limits range and/or mobility of the stereo system. 
         [0007]    Thus, a need exists in the art for an improved sensing system for estimating range and detecting the objects from large distances. 
       SUMMARY OF THE INVENTION 
       [0008]    The present invention provides a method for detecting range of at least one object of a scene. The method comprises receiving a set of images of the scene having multiple objects from at least one camera in motion. The images are obtained at different locations of the camera. The method also comprise selecting images having at least one of the object and computing data related to estimation of a position and orientation of the camera and position and orientation of the selected images. The method further comprise determining a projected location of the object based on the computed data and adjusting the estimated orientation of the camera for each of the selected images based on the projected location of the object. 
         [0009]    Furthermore, there is provided a computer program product comprising computer readable storage medium having a computer program stored thereon for performing the method described above. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0010]      FIG. 1  illustrates a flow diagram of the procedure of the visual means of the sensing system in accordance with an embodiment of the present invention. 
           [0011]      FIG. 2  shows an illustration of the exemplary sensing system in accordance with the of the present invention. 
           [0012]      FIG. 3A  shows an exemplary imagery illustrating the processing steps of the in accordance with another embodiment of the present invention. 
           [0013]      FIG. 3B  illustrates a block diagram of the architecture of the algorithm of the sensing system in accordance with an embodiment of the present invention. 
           [0014]      FIG. 4A  shows a graphical representation of the ray bundles of the location of the features of the image. 
           [0015]      FIG. 4B  shows a graphical representation of the slope of the ray bundles of  FIG. 4A  as a function of the position. 
           [0016]      FIG. 4C  shows a graphical representation of the ray bundles corresponding to the trend line of  FIG. 4B . 
           [0017]      FIG. 5  illustrates a block diagram of the adjustment pose of the algorithm of the system in accordance with another embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0018]    The basic scenario in the present invention is that images of essentially the same scene are captured from multiple viewpoints. The images are captured preferably due to one camera mounted on a moving platform or alternatively due to multiple cameras mounted on the moving platform that are moving through the scene. So, if the relative camera positions are known, the present invention proposes to rectify the images (correct them for differing camera orientations) prior to computing the stereo disparity (through image-matching techniques) to determine the range to objects in the scene. Referring to  FIG. 1 , there is shown a flow diagram of the procedure of visual means of the sensing system in accordance with an embodiment of the present invention. A series of raw images are captured at step  102  from the camera (not shown) mounted on a moving platform. Note that these images are captured at different camera locations or at different camera separations relative to the first camera image. Simultaneously, the camera metadata  104  is obtained from the inertial navigation system (INS) also installed on the moving platform. Preferably, the camera orientation  106  and the camera position  108  are derived from the metadata  104 . The steps described above are known to one skilled in the art. 
         [0019]    The current invention assumes that the positions of the cameras are known well enough but that individual orientation measurements are not accurate enough to permit range estimation at distances of interest. So, in order to correct the error in individual camera orientations, a multiple view pose adjustment of the raw images are performed at step  110  using the measurements of the camera metadata  102 . Then, using the multiple view pose adjustment  110  and the camera orientation  106 , an improved orientation of the camera is obtained at step  112 . Upon obtaining the adjusted improved orientation  112 , the images can be rectified at step  114 , which is followed by the standard stereo analysis of image pairs to obtain dense range maps at step  116 . Image rectification  114  and standard stereo pair analysis  116  are procedural steps well known in the art. 
         [0020]    The procedural steps of multiple view pose adjustment  110  and improved orientation  112  will be described in greater detail herein with respect to  FIGS. 2 ,  3 A and  3 B. The procedural steps depends on tracking multiple objects in multiple images.  FIG. 2  illustrates an exemplary sensing system for the procedural steps.  FIG. 3A and 3B  illustrates an exemplary imagery and the corresponding block diagram of the architecture of the algorithm to execute the major processes of multiple view pose adjustment  110  and the improved orientation  112 . 
         [0021]    In  FIG. 2 , there is shown multiple cameras  200  on a moving platform (not shown), each of the cameras  200  capturing images  202  of a scene  204  having multiple features or objects  206 . These images  202  are captured at different locations of the cameras  200 . In this application, a “feature” or an “object” is any small region corresponding to a single distance in the world, and having sufficient texture to be tracked. Note that the range of the images  202  obtained are both for a distant background as well as a foreground and the range can vary from about 5 m to about 2000 m. Consider one object, for example a tree  206 ′ in  FIG. 3  that is visible in multiple images  202 . In each image  202 , the location of the tree  206 ′ in the image and the estimation of the camera position and orientation define a ray  208  in space. A bundle of rays  208  defines the likely location of the tree  206 ′ in three dimensions (left-right, up-down, and range) relative to a reference coordinate system (e.g. the one defined by the first camera). This step of the bundle analysis is preferably repeated for multiple objects in the scene  204 . 
         [0022]    Referring back to  FIG. 2 , now, consider one camera  200  on a moving platform, and the objects  206  that it are in its field-of-view. Using the 3D object locations determined earlier, one can compute the places where the objects  206  should be located in the image  202 , based on the estimated camera orientation. Then, adjust the estimated orientation angles for the camera  200  in order to make the computed locations match the locations where the objects were actually observed. This step of orientation adjustment may preferably be repeated for multiple cameras. The procedure steps defined above may be iterated, but the iteration is not required. 
         [0023]    The imagery including the general steps of  FIG. 3A  will be described simultaneously with the architecture of  FIG. 3B . Referring now to  FIG. 3A , there is shown a camera  300  preferably integrated with an INS, on a moving platform  301 , to capture video and vehicle pose while moving to generate sufficient camera separation. The captured images, INS poses and camera calibration are buffered in a memory  302  as shown in  FIG. 3B . Then, using stereo calculations with the initial camera poses (positions and orientations), identify and track objects or features  303  as shown in  FIG. 3A , preferably at a distant region, that could be expected to be visible across many images. This process is identified as a Add features  304  in  FIG. 3B . Any small image patch with enough texture to allow matching in a subsequent images was considered to be an “object” or “feature.” As described above, the location of each object  303  in the image and the estimation of the camera position and orientation defines a ray  305  in space as shown in  FIG. 3A . A bundle of these rays  305  define the likely or projected location of the objects  303  in three dimensions relative to a reference coordinate system . 
         [0024]    Now referring back to  FIG. 3B , the process of Register Existing Features  306  is computed in which when a new image arrives via the camera (typically after vehicle travel of 0.5 m), image registration techniques are used to obtain a gross alignment of the distant region of the previous image with the new image. The exact locations of tracked features are then determined by local registration of image patches surrounding the expected feature location. Even though it is not required, these processes are preferably iterated to obtain sufficient history of the features. If sufficient history is available, adjust the camera poses by adjusting the estimated orientation angles for the camera in order to make the computed locations match the locations where the objects were actually observed. This is computed by the Adjust Pose  308  process of  FIG. 3  to minimize the global error measure. Then, using the resulting pose compute dense stereo for the current image at process  310 . 
         [0025]    Dense stereo for foreground objects is computed most effectively by comparing the current image with a nearby image, for which the effective baseline is short (for example, 1 m or less). Dense stereo for distant objects is computed most effectively by comparing images with a wider separation, for which the effective baseline is longer (for example, 10 m). In general, different baselines can be chosen to compute dense stereo for different regions of the image, according to the distance of features in that part of the image. Short-baseline stereo indicates where the disparity is small, requiring a longer baseline. Stereo in these areas can be computed with increasing separation between cameras, until the range to the most distant features is determined. The output is a composite range image having range estimates obtained for the distant background (1800 m) as well as the foreground (5 m)as shown in  FIG. 3A . 
         [0026]    This implementation involves a “boot-strap” element, known to one skilled in the art, in which un-corrected poses are used to identify regions of the image that are not close to the camera, to seed the feature selection. The output of the system improves as a history of tracked features accumulates, and pose adjustment becomes possible. Alternatively, one can use a conventional fixed-baseline stereo with a short baseline (on the order of 0.5 m) to obtain the range estimates needed to choose distant features. 
         [0027]    Note as described above in  FIG. 1 , that for each stereo pair, the refined/adjusted poses (improved orientation  112 ) of the cameras are preferably used to rectify the images at step  114  prior to the stereo calculation at step  116 . The image rectification involves making the raw images  102  appear as they would through this improved orientation of the camera. 
         [0028]    The pose adjustment process  308  will now be described in greater details with respect to the graphical representation of the ray bundles in  FIGS. 4A ,  4 B and  4 C. Referring to  FIG. 4A , a feature-track consists of x, y image location (image pixels from upper left corner) of the same object in the scene from one image to the next. Relative to the camera, the object is located at coordinates X,Y,Z where X is to the right, Y is down and Z is away from the camera (meters). As described above, when combined with the nominal camera poses, the image locations describe rays  402  in space that should intersect in a single point. In practice, the rays  402  form a bundle without a single intersection point, as illustrated schematically in  FIG. 4A . 
         [0029]    To estimate a single intersection point, consider the slope of each ray  402  as a function of its initial X coordinate, as illustrated in  FIG. 4B . A line that is fit to this data defines an approximation to the specified bundle, with the property that the approximation does have a single intersection point. A robust technique is used to identify outliers. The inliers are fit using standard techniques (such as least squares).  FIG. 4C  shows the ray bundle corresponding to the trend line. The range obtained from the bundle in the X-Z plane can then be used to compute a mean Y value for the intersection point. (Here X is to the right, Y is down, and Z is along the viewing direction.) 
         [0030]    Referring to  FIG. 5 , there is shown a block diagram of the process summary of the adjustment pose  308 . So, initially, the ray bundles  402  are analyzed at step  502  for each image xy(i,k), i stands for a feature and k is the camera pose. Step  502  includes analyzing the ray bundles  402  to estimate world points. Once a set of world points is obtained, X,YZ (i), the points can be projected into the images from the cameras. This is shown in step  504  where XYZ is projected into the camera and the output is the projected image, Proj. x,y (i,k). Each projection depends on the orientation of the respective camera, i.e. Pose (k). This mathematical projection, Proj. x,y (i,k) is used to adjust the orientation angle, pose k of the camera at step  506 , thus outputting the Adj. Pose (k). The feed back loop shows that these process steps are iterated for each camera. The Adj. Pose (k) forces the camera to align in order to refine poses, thus, forcing the projected locations to match the locations of the tracked images having the objects or features. Note that the initial camera angles, i.e. Pose (k) are accurate to about 10 mR (0.6 degree), however, after the pose adjustment, the angles, i.e. Adj. Pose (k) are accurate to about 0.1 mR. Although, not shown, the yaw, pitch and roll of each camera is adjusted by the adjustment pose  308  to minimize the error between the locations of the projected points and the observed (tracked) locations. 
         [0031]    Furthermore, for efficiency and fidelity the correction for lens distortion is performed as part of the stereo calculation. The projective transformation used to rectify images is combined with the lens distortion correction to obtain an overall flow field. This overall flow field is applied to the raw image to obtain a rectified image with just one warp. Tn principle, the pose adjustment needs an image corrected for lens distortion, but without any correction for camera orientation. 
         [0032]    In the preferred embodiment of the present invention, the camera lens distortion correction and projective rectification are combined in a single image warping operation, to reduce processing time and image smoothing due to multiple warping operations. The problem is resolved by tracking features in the raw (distorted) image, but converting the image coordinates of each feature to those for an undistorted image when the feature track is stored. The pose adjustment is then carried out using an ideal camera model. A similar problem arises with the selection of distant features. Tracking is performed with raw (distorted) images, but the range information needed for selecting features is computed in undistorted, rectified images. Here the solution is to warp the range image from rectified to distorted coordinates. 
         [0033]    Thus, the present invention provides a visual means to determine the range to distant objects by simultaneously locating points in the world and refining camera pointing angles. The techniques described above could be used with intermediate and long range observations to refine the camera poses (positions and orientations) to obtain a self-consistent set of range information. Note that the present invention is not limited to moving platforms on ground and may preferably include moving platforms on air needed to sense the environment. 
         [0034]    Although various embodiments that incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings without departing from the spirit and the scope of the invention.

Technology Classification (CPC): 6