CMPUT 412 3D Computer Vision Presented by Azad Shademan Feb. 13-15, 2007.

Slides:



Advertisements
Similar presentations
Projective 3D geometry class 4
Advertisements

Epipolar Geometry.
Computer Vision, Robert Pless
Lecture 11: Two-view geometry
3D reconstruction.
Robot Vision SS 2005 Matthias Rüther 1 ROBOT VISION Lesson 3: Projective Geometry Matthias Rüther Slides courtesy of Marc Pollefeys Department of Computer.
Computer vision: models, learning and inference
Two-View Geometry CS Sastry and Yang
1 pb.  camera model  calibration  separation (int/ext)  pose Don’t get lost! What are we doing? Projective geometry Numerical tools Uncalibrated cameras.
Jan-Michael Frahm, Enrique Dunn Spring 2012
Two-view geometry.
Camera Models CMPUT 498/613 Richard Hartley and Andrew Zisserman, Multiple View Geometry, Cambridge University Publishers, 2000 Readings: HZ Ch 6, 7.
Camera calibration and epipolar geometry
Part 1: The 2D projective plane and it’s applications Martin Jagersand CMPUT 613 Non-Euclidean Geometry for Computer Vision.
Structure from motion.
Multiple View Geometry
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
3D reconstruction class 11
Used slides/content with permission from
Parameter estimation class 5 Multiple View Geometry Comp Marc Pollefeys.
Epipolar geometry. (i)Correspondence geometry: Given an image point x in the first view, how does this constrain the position of the corresponding point.
Structure from motion. Multiple-view geometry questions Scene geometry (structure): Given 2D point matches in two or more images, where are the corresponding.
Uncalibrated Geometry & Stratification Sastry and Yang
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Multiple View Geometry
Projective 3D geometry. Singular Value Decomposition.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Projective 3D geometry. Singular Value Decomposition.
3D photography Marc Pollefeys Fall 2007
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Cameras and Projections Dan Witzner Hansen Course web page:
Single View Metrology Class 3. 3D photography course schedule (tentative) LectureExercise Sept 26Introduction- Oct. 3Geometry & Camera modelCamera calibration.
Camera Models class 8 Multiple View Geometry Comp Marc Pollefeys.
Camera parameters Extrinisic parameters define location and orientation of camera reference frame with respect to world frame Intrinsic parameters define.
Projective 2D geometry course 2 Multiple View Geometry Comp Marc Pollefeys.
Computer Vision Calibration Marc Pollefeys COMP 256 Read F&P Chapter 2 Some slides/illustrations from Ponce, Hartley & Zisserman.
Multi-view geometry. Multi-view geometry problems Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates.
Projective Geometry and Camera Models
Projective geometry of 2-space DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity.
Robot Vision SS 2008 Matthias Rüther 1 ROBOT VISION Lesson 2: Projective Geometry Matthias Rüther Slides courtesy of Marc Pollefeys Department of Computer.
Camera Geometry and Calibration Thanks to Martial Hebert.
Multi-view geometry.
© 2005 Yusuf Akgul Gebze Institute of Technology Department of Computer Engineering Computer Vision Geometric Camera Calibration.
Homogeneous Coordinates (Projective Space) Let be a point in Euclidean space Change to homogeneous coordinates: Defined up to scale: Can go back to non-homogeneous.
Computer Vision The 2D projective plane and it’s applications HZ Ch 2. In particular: Ch 2.1-4, 2.7, Szelisky: Ch 2.1.1, Estimation:HZ: Ch ,
Camera Model & Camera Calibration
Projective 3D geometry class 4
Two-view geometry Epipolar geometry F-matrix comp. 3D reconstruction
Parameter estimation. 2D homography Given a set of (x i,x i ’), compute H (x i ’=Hx i ) 3D to 2D camera projection Given a set of (X i,x i ), compute.
Two-view geometry. Epipolar Plane – plane containing baseline (1D family) Epipoles = intersections of baseline with image planes = projections of the.
776 Computer Vision Jan-Michael Frahm & Enrique Dunn Spring 2013.
ROBOT VISION Lesson 4: Camera Models and Calibration Matthias Rüther Slides partial courtesy of Marc Pollefeys Department of Computer Science University.
Structure from motion Multi-view geometry Affine structure from motion Projective structure from motion Planches : –
Camera Models class 8 Multiple View Geometry Comp Marc Pollefeys.
Parameter estimation class 5 Multiple View Geometry CPSC 689 Slides modified from Marc Pollefeys’ Comp
Camera Calibration Course web page: vision.cis.udel.edu/cv March 24, 2003  Lecture 17.
Projective 2D geometry course 2 Multiple View Geometry Comp Marc Pollefeys.
Multi-view geometry. Multi-view geometry problems Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates.
55:148 Digital Image Processing Chapter 11 3D Vision, Geometry
Homogeneous Coordinates (Projective Space)
Parameter estimation class 5
Two-view geometry Computer Vision Spring 2018, Lecture 10
Epipolar geometry.
Estimating 2-view relationships
Multiple View Geometry Comp Marc Pollefeys
3D reconstruction class 11
Two-view geometry.
Two-view geometry.
Multi-view geometry.
Presentation transcript:

CMPUT 412 3D Computer Vision Presented by Azad Shademan Feb , 2007

Acknowledgement Marc Pollefeys’ slides (University of North Carolina), comp Spring

Motivation Images form one of the most important feedback signals in robotics. Vision-based control: –Robotic Visual Servoing –Mobile Navigation

Eye-In-Hand Visual Servoing

More motivation Course project: –Two cameras looking at one scene –Need to “correspond” similar points in these two images Laser projection on the wall Image plane Left camera Image plane Right camera

Camera Model Mostly pinhole camera model

Pinhole Camera Model

principal point Principle Point Offset

calibration matrix Principle Point Offset

Camera Rotation and Orientation

Hierarchy of transformations Projective 15dof Affine 12dof Similarity 7dof Euclidean 6dof Intersection and tangency Parallellism of planes, Volume ratios, centroids Volume

Camera Calibration Procedure that finds the camera matrix, i.e., –Intrinsic camera parameters –Extrinsic camera parameters Rotation Orientation There is a lot to be done with calibrated cameras, BUT we are more interested in uncalibrated cameras (more challenging)

Some linear algebra to get started Singular value decomposition (SVD) –Decomposes a matrix as follows:

Singular Value Decomposition

Homogeneous least-squares Span and null-space Closest rank r approximation Pseudo inverse

Parameter estimation 2D homography Given a set of (x i,x i ’), compute H (x i ’=Hx i ) 3D to 2D camera projection Given a set of (X i,x i ), compute P (x i =PX i ) Fundamental matrix Given a set of (x i,x i ’), compute F (x i ’ T Fx i =0)

Number of measurements required At least as many independent equations as degrees of freedom required Example: 2 independent equations / point 8 degrees of freedom 4x2≥8

Approximate solutions Minimal solution 4 points yield an exact solution for H More points –No exact solution, because measurements are inexact (“noise”) –Search for “best” according to some cost function –Algebraic or geometric/statistical cost

Direct Linear Transformation (DLT)

Equations are linear in h Only 2 out of 3 are linearly independent (indeed, 2 eq/pt) (only drop third row if w i ’≠0) Holds for any homogeneous representation, e.g. ( x i ’, y i ’,1)

Direct Linear Transformation (DLT) Solving for H size A is 8x9 or 12x9, but rank 8 Trivial solution is h =0 9 T is not interesting 1-D null-space yields solution of interest pick for example the one with

Direct Linear Transformation (DLT) Over-determined solution No exact solution because of inexact measurement i.e. “noise” Find approximate solution - Additional constraint needed to avoid 0, e.g. - not possible, so minimize

DLT algorithm Objective Given n≥4 2D to 2D point correspondences {x i ↔x i ’}, determine the 2D homography matrix H such that x i ’=Hx i Algorithm (i)For each correspondence x i ↔x i ’ compute A i. Usually only two first rows needed. (ii)Assemble n 2x9 matrices A i into a single 2 n x9 matrix A (iii)Obtain SVD of A. Solution for h is last column of V (iv)Determine H from h

Normalized DLT algorithm Objective Given n≥4 2D to 2D point correspondences {x i ↔x i ’}, determine the 2D homography matrix H such that x i ’=Hx i Algorithm (i)Normalize points (ii)Apply DLT algorithm to (iii)Denormalize solution

Reprojection error

OpenCV cvFindHomography() cvFindFundamentalMat() …

cvFindHomography Finds perspective transformation between two planes void cvFindHomography( const CvMat* src_points, const CvMat* dst_points, CvMat* homography ); src_points Point coordinates in the original plane, 2xN, Nx2, 3xN or Nx3 array (the latter two are for representation in homogeneous coordinates), where N is the number of points. dst_points Point coordinates in the destination plane, 2xN, Nx2, 3xN or Nx3 array (the latter two are for representation in homogeneous coordinates) homography Output 3x3 homography matrix. The function cvFindHomography finds perspective transformation H=||hij|| between the source and the destination planes: [x',,i,,] [x,,i,,] s,,i,,[y',,i,,]~H*[y,,i,,] [1 ] [ 1] So that the back-projection error is minimized: sum_i((x',,i,,-(h11*x,,i,, + h12*y,,i,, + h13)/(h31*x,,i,, + h32*y,,i,, + h33))^2^+ (y',,i,,- (h21*x,,i,, + h22*y,,i,, + h23)/(h31*x,,i,, + h32*y,,i,, + h33))^2^) -> min The function is used to find initial intrinsic and extrinsic matrices. Homography matrix is determined up to a scale, thus it is normalized to make h33=1.