home *** CD-ROM | disk | FTP | other *** search
/ vis-ftp.cs.umass.edu / vis-ftp.cs.umass.edu.tar / vis-ftp.cs.umass.edu / pub / CMU / cmu_files / desc / desc.stereo < prev    next >
Text File  |  1990-12-11  |  3KB  |  65 lines

  1. Robert:
  2.  
  3.     The stereo and sonar data were taken from the same vehicle on a single
  4. run.  For reference, this data set is from May 21, 1986.  The vehicle took
  5. 69 steps straight forward, each step being 3.866 inches or 0.0981 meters.
  6. Thus, there are 70 stereo pairs, including the pair taken before the first
  7. step.
  8.  
  9.     The physical set-up of the cameras was as follows:
  10.  
  11.         height: 37 1/2 inches = 0.952 meters from floor
  12.         left camera: 0.09 meters left of vehicle centerline
  13.         right camera: 0.11 meters right of vehicle centerline
  14.         overall baseline: 0.2 meters
  15.  
  16.     The nominal focal points were 27 inches = .6868 meters forward
  17. of the vehicle origin (set attached figure).  The cameras were slightly
  18. forward and above the sonar ring.  The ring is described in file desc.sonar.
  19.  
  20.     The cameras were calibrated with Hans Moravec's image warping
  21. calibration.  This algorithm computes bi-cubic polynomnials that are
  22. applied to the actual (row,col) image coordinates and return image
  23. coordinates in an "ideal" image.  This ideal image has a focal length of 1,
  24. square aspect ratio, and an ideal camera axis parallel to the vehicle axis.
  25. The coefficients of the polynomials are in files
  26.  
  27.         may21.laxi        left camera, actual to ideal
  28.         may21.laix        left camera, ideal to actual
  29.         may21.raxi        likewise for the right camera
  30.         may21.raix
  31.  
  32.     The data in these files is read by routines in the file coordtrans3.c.
  33. I have included a sample program that reads the calibration data, prompts
  34. for the baseline, then prompts for left and right column coordinates and
  35. computes the nominal depth associated with that disparity.  For example,
  36. 250 (left), 220 (right) yields a depth of about 7.2 meters (baseline is 0.2
  37. meters).  The files associated with the sample program are:
  38.  
  39.         test.c        main program
  40.         getcal3.c    calls routines to load calibration data
  41.         coordtrans3.c    the routines that read the cal. data
  42.         matrix.c    an arbitrary-bounds matrix package
  43.         matrix.h    declarations for matrix package
  44.         test.h        miscellaneous declarations
  45.         makefile    puts it together
  46.  
  47. This stuff was written in C on a Sun 3 running Unix 4.2.  Look at test.c to
  48. see how to use the routines.  Basically, you call "getcalibration" (in file
  49. getcal3.c) to read the calibration data, then use the macro RCI to transform
  50. actual image coordinates into ideal image coordinates:
  51.  
  52.         RCI (row, col, x, y, camera)
  53.  
  54. "camera" selects polynomicals for the left or right camera.  Use the macro
  55. definitions LEFT and RIGHT.  The images have 480 rows, 512 columns, and 8 bits per pixel (ie. no color).  The "actual" coordinate system has (0,0) in
  56. the upper left corner.  The "ideal" system has the origin at the piercing
  57. point, X increasing right and Y increasing up.  Macro RCI is defined in file
  58. test.h along with its inverse IRC and some other macros.
  59.  
  60.     This method of calibrating takes care of slight camera rotations,
  61. the piercing point, focal length, and aspect ratio.  I have also computed
  62. values for these with another calibration program I wrote.  Send me mail if
  63. you want that information too.
  64.  
  65.