Computer Vision, Robert Pless

Slides:



Advertisements
Similar presentations
Single-view geometry Odilon Redon, Cyclops, 1914.
Advertisements

3D reconstruction.
Last 4 lectures Camera Structure HDR Image Filtering Image Transform.
Computer vision: models, learning and inference
1 pb.  camera model  calibration  separation (int/ext)  pose Don’t get lost! What are we doing? Projective geometry Numerical tools Uncalibrated cameras.
Lecture 8: Stereo.
Camera calibration and epipolar geometry
Camera Models A camera is a mapping between the 3D world and a 2D image The principal camera of interest is central projection.
Structure from motion.
3D Geometry and Camera Calibration. 3D Coordinate Systems Right-handed vs. left-handedRight-handed vs. left-handed x yz x yz.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Lecture 5: Projection CS6670: Computer Vision Noah Snavely.
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
Lecture 7: Image Alignment and Panoramas CS6670: Computer Vision Noah Snavely What’s inside your fridge?
CS485/685 Computer Vision Prof. George Bebis
3-D Geometry.
Camera model Relation between pixels and rays in space ?
Computer Vision : CISC4/689
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
3D photography Marc Pollefeys Fall 2007
Sebastian Thrun and Jana Kosecha CS223B Computer Vision, Winter 2007 Stanford CS223B Computer Vision, Winter 2007 Lecture 4 Camera Calibration Professors.
CMPUT 412 3D Computer Vision Presented by Azad Shademan Feb , 2007.
Lecture 16: Single-view modeling, Part 2 CS6670: Computer Vision Noah Snavely.
Single-view geometry Odilon Redon, Cyclops, 1914.
The Pinhole Camera Model
MSU CSE 803 Fall 2008 Stockman1 CV: 3D sensing and calibration Coordinate system changes; perspective transformation; Stereo and structured light.
The Image Formation Pipeline
CS223b, Jana Kosecka Rigid Body Motion and Image Formation.
Camera parameters Extrinisic parameters define location and orientation of camera reference frame with respect to world frame Intrinsic parameters define.
Cameras, lenses, and calibration
Image formation & Geometrical Transforms Francisco Gómez J MMS U. Central y UJTL.
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013.
Computer vision: models, learning and inference
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München.
Camera Geometry and Calibration Thanks to Martial Hebert.
Epipolar geometry The fundamental matrix and the tensor
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.
Geometric Camera Models and Camera Calibration
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Geometric Models & Camera Calibration
Single-view Metrology and Camera Calibration Computer Vision Derek Hoiem, University of Illinois 01/25/11 1.
CS654: Digital Image Analysis Lecture 8: Stereo Imaging.
Metrology 1.Perspective distortion. 2.Depth is lost.
Geometric Camera Models
Vision Review: Image Formation Course web page: September 10, 2002.
Lecture 03 15/11/2011 Shai Avidan הבהרה : החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Single-view geometry Odilon Redon, Cyclops, 1914.
CS-498 Computer Vision Week 7, Day 2 Camera Parameters Intrinsic Calibration  Linear  Radial Distortion (Extrinsic Calibration?) 1.
1 Chapter 2: Geometric Camera Models Objective: Formulate the geometrical relationships between image and scene measurements Scene: a 3-D function, g(x,y,z)
Reconnaissance d’objets et vision artificielle Jean Ponce Equipe-projet WILLOW ENS/INRIA/CNRS UMR 8548 Laboratoire.
Computer vision: models, learning and inference M Ahad Multiple Cameras
Auto-calibration we have just calibrated using a calibration object –another calibration object is the Tsai grid of Figure 7.1 on HZ182, which can be used.
Single-view geometry Odilon Redon, Cyclops, 1914.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Camera Calibration Course web page: vision.cis.udel.edu/cv March 24, 2003  Lecture 17.
CS682, Jana Kosecka Rigid Body Motion and Image Formation Jana Kosecka
Calibration ECE 847: Digital Image Processing Stan Birchfield Clemson University.
Calibrating a single camera
CSCE 441 Computer Graphics 3-D Viewing
Homogeneous Coordinates (Projective Space)
Epipolar geometry.
Lecture 3: Camera Rotations and Homographies
Geometric Camera Models
Multiple View Geometry for Robotics
2D transformations (a.k.a. warping)
Projective geometry Readings
Single-view geometry Odilon Redon, Cyclops, 1914.
Presentation transcript:

Computer Vision, Robert Pless

Lecture 2, Pinhole Camera Model Last time we talked through the pinhole projection. This time we are going to look at the coordinate systems in the pinhole camera model. Computer Vision, Robert Pless

Computer Vision, Robert Pless Some context Our goal is to understand the process of stereo vision, which requires understanding: How cameras capture the world Representing where cameras are in the world (and relative to each other) Finding similar points on each image Computer Vision, Robert Pless

“Normalized Camera” This is called the “normalized camera model” Pinhole at (0,0,0), point P at (X,Y,Z) Virtual film at Z = 1 plane. Point X,Y,Z is imaged at intersection of: Line from (0,0,0) to (X,Y,Z), and the Z = 1 plane Intersection point (x,y), has coordinates (X/Z, Y/Z, 1) This is called the “normalized camera model” What happens when focal length is not 1? Camera Center of Projection Computer Vision, Robert Pless

Computer Vision, Robert Pless (X,Y,Z) Pinhole, (Center of projection), at (0,0,0) f Z-axis Image plane Computer Vision, Robert Pless

…but the cow is not a sphere We don’t just want to know where, mathematically, the point ends up on the image plane… we want to know the pixel coordinates of the point. Why might this be hard?! Computer Vision, Robert Pless

Intrinsic Camera Parameters The pixels may be rectangular: x = aX/Z Y = bY/Z CCD sensor array Computer Vision, Robert Pless

Intrinsic Camera Parameters Chip not centered, or 0,0 may not be center of the chip. x = aX/Z + x0 Y = bY/Z + y0 CCD sensor array Computer Vision, Robert Pless

Intrinsic Camera Parameters cheap glue cheap CMOS chip cheap lens image cheap camera x = aX/Z – a cot(q) Y/Z + x0 y = b/sin(q) Y/Z + y0 Ugly relationship between (X,Y,Z) and (x,y). Computer Vision, Robert Pless

Homogeneous Coordinates Represent 2d point using 3 numbers, instead of the usual 2 numbers. Mapping 2d 2d homogeneous: (x,y)  (x,y,1) (x,y)  (sx, sy, s) Mapping 2d homogeneous to 2d (a,b,w)  (a/w, b/w) The coordinates of a 3D point (X,Y,Z) *already is* the 2D (but homogeneous) coordinates of its projection. Will make some things simpler and linear. Computer Vision, Robert Pless

Computer Vision, Robert Pless Why?! x = aX/Z – a cot(q) Y/Z + x0 y = b/sin(q) Y/Z + y0 Computer Vision, Robert Pless

Homogenous Coordinates! Equation of a line on the plane? Equation of a plane through the origin in 3D? Computer Vision, Robert Pless

Computer Vision, Robert Pless Given enough examples of 3D points and their 2D projections, we can solve for the 5 intrinsic parameters… Example calibration object… Computer Vision, Robert Pless

Practical Linear Algebra 1: Given many examples of the equation at the right, solve for the matrix of values fx, fy, s, x0, y0 How can we solve for this? Computer Vision, Robert Pless

Computer Vision, Robert Pless … and all this assumes that we know X,Y,Z Given enough examples of 3D points and their 2D projections, we can solve for the 5 intrinsic parameters… Exactly Known! (0,0,0) Computer Vision, Robert Pless

Computer Vision, Robert Pless More commonly, we can put a collection of points (usually in a grid) in the world with known relative position, but with unknown position relative to the camera. Then we need to solve for the intrinsic calibration parameters, and the extrinsic parameters (the unknown relative position of the grid). How do we represent the unknown relative position of the grid? Computer Vision, Robert Pless

Computer Vision, Robert Pless The grid defines its own coordinate system That coordinate system has a Euclidean transformation that relates its coordinates to the camera coordinates… that is, there is some R, T such that: X Z Y With enough example points, could we solve for R,T? Computer Vision, Robert Pless

Computer Vision, Robert Pless An aside…Representation of Rotation with a Rotation Matrix Rotation matrix R has two properties: Property 1: R is orthonormal, i.e. In other words, Property 2: Determinant of R is 1. Therefore, although the following matrix is orthonormal, it is not a rotation matrix because its determinant is -1. this is a reflection matrix Computer Vision, Robert Pless

Computer Vision, Robert Pless Representation of Rotation -- Euler Angles Euler angles pitch: rotation about x axis : yaw: rotation about y axis: roll: rotation about z axis: X Y Z Computer Vision, Robert Pless

Computer Vision, Robert Pless Putting it all together… + P is a 4X3 matrix, that defines projection of points (used in graphics). P has 11 degrees of freedom, (the scale of the matrix doesn’t matter). 5 intrinsic parameters, 3 rotation, 3 translation Computer Vision, Robert Pless

Computer Vision, Robert Pless Given many examples of: World points (X,Y,Z), and Their image points (x,y) Solve for P. Then Rotation + intrinsic, all mixed up. translation Computer Vision, Robert Pless

Computer Vision, Robert Pless Then take the QR decomposition of this part of the matrix to get the rotation and the intrinsic parameters. (from mathworld). Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless Other common trick, use many planes, then you have to solve for multiple different R,T, one for each plane… Counting: For each grid, we have 3 unknowns (translation), 3 unknowns (rotation). + 5 extra unknowns defining the intrinsic calibration. Method. For a collection of planes, calculate the homography between the image and the real world plane. Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless Corners.. Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless

What is left? Barrel and Pincushion Distortion wideangle tele Computer Vision, Robert Pless

Computer Vision, Robert Pless What other calibration is there? Computer Vision, Robert Pless

Models of Radial Distortion distance from center Computer Vision, Robert Pless

Computer Vision, Robert Pless More distortion. Computer Vision, Robert Pless

Computer Vision, Robert Pless Distortion Corrected… Computer Vision, Robert Pless

Computer Vision, Robert Pless Applications? Computer Vision, Robert Pless

Computer Vision, Robert Pless Cheap applications Can you use this? If you know the 3D coordinates of a virtual point, then you can draw it on your image… Often hard to know the 3D coordinate of a point; but there are some (profitable) special cases… Computer Vision, Robert Pless

Computer Vision, Robert Pless Applications First-down line courtesy of Sportvision Computer Vision, Robert Pless

Computer Vision, Robert Pless Applications Virtual advertising courtesy of Princeton Video Image Computer Vision, Robert Pless

Computer Vision, Robert Pless Recap Three main concepts: 1) Projection, 2) Homogeneous coordinates 3) Camera calibration matrix Computer Vision, Robert Pless

Computer Vision, Robert Pless

Another Special Case, the world is a plane. Projection from the world to the image: Ignore z-coordinate (it is 0 anyway), drop the 3rd column of the P matrix, then you get a mapping between the plane and the image which is an arbitrary 3 x 3 matrix. This is called a “homography”. Irrelevant Computer Vision, Robert Pless

Homography: (x’,y’,1) ~ H (x,y,1) Not a constraint. Unlike the fundamental matrix, tells you exactly where the point goes. Point (x,y) in one frame corresponds to point (x’,y’) in the other frame. If we need to think about multiple points, we may put subscripts on them. Being careful about the homogenous coordinate, we write: Computer Vision, Robert Pless

Homography is a “simple” example of a 3D to 2D transformation It is also the “most complicated” linear 2D to 2D transformation. What other 2D  2D transformations are there? Computer Vision, Robert Pless

Homography is most general, encompasses other transformations Views of a plane from different viewpoints, any view of a scene from the same viewpoint. Projective 8 dof Images of a “far away” object under any rotation Affine 6 dof Camera looking at an assembly line w/ zoom. Similarity 4 dof Euclidean 3 dof Camera looking at an assembly line. Computer Vision, Robert Pless

Computer Vision, Robert Pless Invariants… Concurrency, collinearity, order of contact (intersection, tangency, inflection, etc.), cross ratio Projective 8 dof Parallellism, ratio of areas, ratio of lengths on parallel lines (e.g midpoints). Affine 6 dof Ratios of any edge lengths, angles. Similarity 4 dof Euclidean 3 dof Absolute lengths, areas. Computer Vision, Robert Pless

Computer Vision, Robert Pless Image registration Determining the 2d transformation that brings one image into alignment (registers it) with another. Computer Vision, Robert Pless

Computer Vision, Robert Pless Image Warping What kind of warps are these? Interpolation is basic tool that we have to deal with it. There are many interpolation methods -- for example, nearest neighbor, bilinear, and bicubic. Next is the image warping. This is the example of image warping. The left image is the original image. And we apply the motion parameters here. After warping or transforming, we will get this as the result. The motion parameters here is of the projective model. Therefore, we can see that the resulting image contain many effects together like the rotation, translation, zooming in here, shrinking around here, chirping and keystoning. Computer Vision, Robert Pless

How to solve for these mappings? Given: Solve for: Computer Vision, Robert Pless

Computer Vision, Robert Pless Unwrapping a matrix. Write out the lines of this matrix equation. And remember which variables are unknown. Computer Vision, Robert Pless

Computer Vision, Robert Pless Unwrapping a matrix. Computer Vision, Robert Pless

Computer Vision, Robert Pless Looks like another matrix equation: Computer Vision, Robert Pless

Computer Vision, Robert Pless Looks like another matrix equation: Data from different points Computer Vision, Robert Pless

Computer Vision, Robert Pless Why does this suck? Maybe you have error in finding corresponding points, and want to use many many corresponding points. Then your number of unknowns keeps growing… Is there a better way? What is x’? Computer Vision, Robert Pless

Computer Vision, Robert Pless The game of “finding the linear constraint…” x’ = wx’ / w Non-linear Linear (in a,b,c,g,h) Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless And just add two more rows for each corresponding point Computer Vision, Robert Pless

Computer Vision, Robert Pless Ax=b Matlab: x = A\b Then make your homography matrix by rearranging x into a 3 x 3 matrix Size of A? b? Computer Vision, Robert Pless

Computer Vision, Robert Pless

Computer Vision, Robert Pless H12 H23 H34 (H12)-1 (H34H23H12) (H34H23H12)-1= ((H12)-1(H23)-1(H34)-1) Chaining, inverses, and pre-computation can all be done on the matrices… Computer Vision, Robert Pless

Computer Vision, Robert Pless

More than Geometry: image processing The above gave different ways of transforming the coordinates of one image into the coordinates of another. Graphics question. Given one image, the homography H, make the second image. (why would you want to do this? One application is image tweening…). Process: Take pixel (x,y) of image 1, and put its color at pixel H(x,y,1) in new image. Repeat. Problems? Computer Vision, Robert Pless

Backward Transformation Because of the above, some techniques estimate the parameters of the “backwards” transformation, H-1: From the destination image to the source image Remember, you don’t have to work hard to find the backwards transformation. It’s just the matrix inverse. Computer Vision, Robert Pless

Mapping Pixel Values - Going Backwards p = H-1(p’) p’ “Source” image, Is “Destination” image, Id Id(p’) = Is(H-1(p’)) Intensity at destination pixel p’ = the intensity at the source pixel H-1(p’) Computer Vision, Robert Pless

Computer Vision, Robert Pless If you project backward from a real pixel, you also won’t land exactly on a pixel??!!? (but there is a good way of making up a value) H-1(p’) Pixel centers… Computer Vision, Robert Pless

Computer Vision, Robert Pless If you project backward from a real pixel, you also won’t land exactly on a pixel??!!? (but there is a good way of making up a value) Computer Vision, Robert Pless

Computer Vision, Robert Pless Use linear interpolation along the top and bottom horizontal lines to determine IA and IB: IA = (1 – f)•I(xi, yj) + f•I(xi+1, yj) IB = (1 – f)•I(xi, yj+1)+ f•I(xi+1, yj+1) Use linear interpolation along the vertical line between IA and IB to determine I(x,y): I(x,y) = (1 – g)•zA + g•zB Or,  I(x,y) = (1 – f)•(1 – g)•I(xi, yj) +   f•(1 – g)•I(xi+1, yj) +   (1 – f)• g •I(xi, yj+1) +  f• g •I(xi+1, yj+1) Computer Vision, Robert Pless

Computer Vision, Robert Pless Beyond geometry… Computer Vision, Robert Pless