Stereo vision in the CARSENSE project

Georges Gyory

The stereo vision part of the CARSENSE  project was designed with the following points in mind:
  •  Obstacle detection in order to assure enhanced safety for the driver, but no autonomous driving for the time being
  •  Real-time execution for slow to moderate speeds
  •  Parallelizable program architecture (in case multiple processors can be attributed to the stereo vision part of the vehicle control)
  •  Preferably independent from the other sensors of the car, in order to deliver independent data to the data fusion algorithms.
This page describes the progress of the work until the end of the project (december 2002).


 
In the first phase of the work a simple speed-enhanced disparity map algorithms was tested (adapted from Gregoire Malandain - greg@sophia.inria.fr ).
To gain speed we reused a code of wavelet decomposition the author wrote for another project (Georges Gyory, georges.gyory@inria.fr ), based on a publication of Lewis and Knowles about how to implement the coding in integer arithmetic.

Image-by-image disparity maps being unsatisfactory both in terms of speed and in producing  misfits, the author's attention turned to predicting the next disparity map from previous disparity maps and velocity/steering data.
 
First, enrolling a high school student (Mr Fabien Robert) on a stage at the INRIA, we tried a linear deformation model with an estimated expansion value (~ speed) and  vanishing point position (~ steering angle). The estimation process seemed to hold water (the student found parameter values that seemed to work for one particular sequence) but the linear expansion model was unsatisfactory. 
In the next stage the author designed and implemented a distance-dependent expansion model which looks satisfactory for prediction but has yet to be honed before we can judge the stability of the estimation process.



As the dense disparity map approach couldn't be accelerated and kept simple as I wished, I tried another approach

The skewed left and right images are matched on two road surface points. This will eliminate all the road surface in the difference image (except for errors due to imprecise matching). In the next step we keep the points of contrast from the unmatched area of the image and look for disparity values for these points. The points of contrast are grouped by their horizontal position and disparity value
A Hough transform is used to detect lane markings (and as a byproduct points on the road surface). The center of the camera-road projection can be displaced to correct for the yaw angle of the car
In the final stage a dependency between the Shift and Slant values used to superpose the right and left images is exploited to estimate just one parameter for the exact superposition. 



The method is slightly sensible to non-horizontal images and non-level roads.

The program may easily be transformed to use multiple CPUs: the expanded disparity maps and the "self-contained" disparity map algorithm can all use independent units from the one correcting the disparity map estimate.

On a Macintosh G4/450 approximately 8-10 images pairs / second can be analyzed and this speed can be enhanced by further optimization as well as by the use of a gyroscope's output data.



 
Return to the Carsense project page
Return to the Imara page
Author's homepage 
Author's resume
BgW