stereoscopic imaging for slow-moving autonomous vehicle by: alex norton advisor: dr. huggins...

20
Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February 28, 2012 Senior Project Progress Report Bradley University ECE Department

Upload: ariel-ellis

Post on 19-Jan-2018

223 views

Category:

Documents


0 download

DESCRIPTION

Project Overview Two horizontally aligned, slightly offset cameras taking a pair of images at the same time By matching corresponding pixels between the two images, the distances to objects can be calculated using triangulation This depth information can be used to create a 3-D image and terrain map

TRANSCRIPT

Page 1: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Stereoscopic Imaging for Slow-Moving Autonomous Vehicle

By: Alex NortonAdvisor: Dr. HugginsFebruary 28, 2012

Senior Project Progress Report Bradley University ECE Department

Page 2: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Presentation Outline Review of Proposed Project

Project Overview Original Proposed Schedule

Tasks Completed Webcams setup Calibration mode software

Remaining Tasks Run mode software Improve existing software

Revised Schedule

Page 3: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Project Overview

Two horizontally aligned, slightly offset cameras taking a pair of images at the same time

By matching corresponding pixels between the two images, the distances to objects can be calculated using triangulation

This depth information can be used to create a 3-D image and terrain map

Page 4: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Original Proposed ScheduleTentative Schedule for Spring 2012

Weeks Alex Norton Matthew Foster

1 Assemble camera setup Assemble camera setup

2 Configure calibration rig Ensure OpenCV runs correctly on lab computers

3 Begin writing OpenCV code for calibration mode

Begin writing OpenCV code for run mode

4 Continue writing OpenCV code for calibration mode

Continue writing OpenCV code for run mode

5 Continue writing OpenCV code for calibration mode

Continue writing OpenCV code for run mode

6 Continue writing OpenCV code for calibration mode

Continue writing OpenCV code for run mode

7 Test and debug calibration mode code Continue writing OpenCV code for run mode

8 Test and debug calibration mode code Continue writing OpenCV code for run mode

9 Test run mode code with calibrated cameras Test run mode code with calibrated cameras

10 Debug calibration mode code Debug run mode code

11 Debug calibration mode code Debug run mode code

12 Test and debug complete computer vision code Test and debug complete computer vision code

13 Test and debug complete computer vision code Test and debug complete computer vision code

14 Prepare for final presentation Prepare for final presentation

Page 5: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Tasks Completed Webcams setup

Creates “capture” objects for both webcams Takes a set of images each time the “enter” key is

pressed Displays the saved set of images in two windows Saves the images to a specified folder to use for

further image processing

Page 6: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Webcams Setup Output

Page 7: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Necessity of Calibration

Produces the rotation and translation matrices needed to rectify sets of images

Rectification makes the stereo correspondence more accurate and more efficient

Failing to calibrate the cameras is a possible reason for why past groups have failed to get accurate results

Page 8: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software Input is a list of sets of images of a chessboard,

and the number of corners along the length and width of the chessboard

Read in the left and right image pairs, find the chessboard corners, and set object and image points for the images where all the chessboards could be found

Given this list of found points on the chessboard images, the code calls cvStereoCalibrate() to calibrate the cameras

Page 9: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

This calibration gives us the camera matrix M and the distortion vector D for the two cameras; it also yields the rotation matrix R, the translation vector T, the essential matrix E, and the fundamental matrix F

The accuracy of the calibration is assessed by checking how nearly the points in one image lie on the epipolar lines of the other image

Page 10: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

The code then moves on to computing the rectification maps using Bouguet’s method with cvStereoRectify()

The rectified images are then computed using cvRemap()

The disparity map is then computed by using cvFindStereoCorrespondenceBM()

Page 11: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

Two methods for stereo rectification Hartley’s Method: uses the fundamental matrix, does

not require the cameras to be calibrated, produces more distorted images than Bouguet’s method

Bouget’s Method: uses the rotation and translation parameters from two calibrated cameras, also outputs the reprojection matrix Q used to project two dimensional points into three dimensions

Page 12: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software Matrices

Rotation matrix R, Translation Vector T : extrinsic matrices, put the right camera in the same plane as the left camera, which makes the two image planes coplanar

Fundamental matrix F: intrinsic matrix, relates the points on the image plane of one camera in pixels to the points on the image plane of the other camera in pixels

Page 13: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software Matrices

Essential Matrix E: intrinsic matrix, relates the physical location of the point P as seen by the left camera to the location of the same point as seen by the right camera

Camera matrix M, distortion matrix D: intrinsic matrices, calculated and used within the function

Page 14: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

Example of bad chessboard image

Page 15: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

Output when bad chessboard images are run through the calibration software

Page 16: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

Example of good chessboard image

Page 17: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Calibration Mode Software

Output when good chessboard images are run through the calibration software

Page 18: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Remaining Tasks

Use triangulation to determine distances to objects

Calculate the error in the distance measurements

Minimize the error in both the camera calibration and the distance measurements

Page 19: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Revised ScheduleSchedule for Spring 2012

Weeks Alex Norton Matthew Foster

7 Test and debug calibration mode code Test and debug calibration mode code

8 Test and debug calibration mode code Test and debug calibration mode code

9 Write OpenCV code for run mode Write OpenCV code for run mode

10 Write OpenCV code for run mode Write OpenCV code for run mode

11 Test and debug run mode code Test and debug run mode code

12 Test and debug run mode code Test and debug run mode code

13 Test and debug complete computer vision code Test and debug complete computer vision code

14 Test and debug complete computer vision code, prepare for final presentation

Test and debug complete computer vision code, prepare for final presentation

Page 20: Stereoscopic Imaging for Slow-Moving Autonomous Vehicle By: Alex Norton Advisor: Dr. Huggins February…

Questions??