Lecture 6: Image Warping and Projection CS6670: Computer Vision Noah Snavely.

Slides:



Advertisements
Similar presentations
Last 4 lectures Camera Structure HDR Image Filtering Image Transform.
Advertisements

The Camera : Computational Photography Alexei Efros, CMU, Fall 2006.
CS 691 Computational Photography Instructor: Gianfranco Doretto 3D to 2D Projections.
More Mosaic Madness : Computational Photography Alexei Efros, CMU, Fall 2011 © Jeffrey Martin (jeffrey-martin.com) with a lot of slides stolen from.
Computer Vision CS 776 Spring 2014 Cameras & Photogrammetry 1 Prof. Alex Berg (Slide credits to many folks on individual slides)
Projection Readings Szeliski 2.1. Projection Readings Szeliski 2.1.
Image formation and cameras CSE P 576 Larry Zitnick Many slides courtesy of Steve Seitz.
Camera calibration and epipolar geometry
Lecture 11: Transformations CS4670/5760: Computer Vision Kavita Bala.
Image Warping : Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz
Announcements. Projection Today’s Readings Nalwa 2.1.
Lecture 8: Geometric transformations CS4670: Computer Vision Noah Snavely.
2D/3D Geometric Transformations CS485/685 Computer Vision Dr. George Bebis.
Lecture 5: Projection CS6670: Computer Vision Noah Snavely.
Lecture 7: Image Alignment and Panoramas CS6670: Computer Vision Noah Snavely What’s inside your fridge?
Announcements Mailing list (you should have received messages) Project 1 additional test sequences online Talk today on “Lightfield photography” by Ren.
CS485/685 Computer Vision Prof. George Bebis
Lecture 5: Cameras and Projection CS6670: Computer Vision Noah Snavely.
Lecture 6: Image transformations and alignment CS6670: Computer Vision Noah Snavely.
Camera model Relation between pixels and rays in space ?
Announcements Mailing list Project 1 test the turnin procedure *this week* (make sure it works) vote on best artifacts in next week’s class Project 2 groups.
Lecture 13: Projection, Part 2
Lecture 12: Projection CS4670: Computer Vision Noah Snavely “The School of Athens,” Raphael.
The Pinhole Camera Model
More Mosaic Madness : Computational Photography Alexei Efros, CMU, Fall 2005 © Jeffrey Martin (jeffrey-martin.com) with a lot of slides stolen from.
Panoramas and Calibration : Rendering and Image Processing Alexei Efros …with a lot of slides stolen from Steve Seitz and Rick Szeliski.
More Mosaic Madness : Computational Photography Alexei Efros, CMU, Fall 2006 © Jeffrey Martin (jeffrey-martin.com) with a lot of slides stolen from.
CS4670 / 5670: Computer Vision KavitaBala Lecture 15: Projection “The School of Athens,” Raphael.
The Camera : Computational Photography Alexei Efros, CMU, Fall 2008.
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 and cameras
Perspective projection
EEM 561 Machine Vision Week 10 :Image Formation and Cameras
Announcements Midterm due Friday, beginning of lecture Guest lecture on Friday: Antonio Criminisi, Microsoft Research.
Lecture 14: Projection CS4670 / 5670: Computer Vision Noah Snavely “The School of Athens,” Raphael.
776 Computer Vision Jan-Michael Frahm Fall Camera.
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 Models & Camera Calibration
Recap from Wednesday Two strategies for realistic rendering capture real world data synthesize from bottom up Both have existed for 500 years. Both are.
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013.
CS559: Computer Graphics Lecture 9: Projection Li Zhang Spring 2008.
Geometric Camera Models
Projection Readings Nalwa 2.1 Szeliski, Ch , 2.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)
Image Formation and Cameras CSE 455 Linda Shapiro 1.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Announcements Project 1 grading session this Thursday 2:30-5pm, Sieg 327 –signup ASAP:signup –10 minute slot to demo your project for a TA »have your program.
Example: warping triangles Given two triangles: ABC and A’B’C’ in 2D (12 numbers) Need to find transform T to transfer all pixels from one to the other.
Lecture 14: Projection CS4670 / 5670: Computer Vision Noah Snavely “The School of Athens,” Raphael.
Lecture 18: Cameras CS4670 / 5670: Computer Vision KavitaBala Source: S. Lazebnik.
Image Warping 2D Geometric Transformations
CSE 185 Introduction to Computer Vision
Computer vision: models, learning and inference
More Mosaic Madness © Jeffrey Martin (jeffrey-martin.com)
CS5670: Computer Vision Lecture 9: Cameras Noah Snavely
Jan-Michael Frahm Fall 2016
The Camera : Computational Photography
CSCE 441 Computer Graphics 3-D Viewing
Announcements Project 1 Project 2 Due Wednesday at 11:59pm
More Mosaic Madness : Computational Photography
Lecture 13: Cameras and geometry
Geometric Camera Models
Lecturer: Dr. A.H. Abdul Hafez
The Camera : Computational Photography
Announcements Midterm out today Project 1 demos.
Projection Readings Nalwa 2.1.
Credit: CS231a, Stanford, Silvio Savarese
Projection Readings Szeliski 2.1.
Camera model and calibration
Presentation transcript:

Lecture 6: Image Warping and Projection CS6670: Computer Vision Noah Snavely

Readings Szeliski Chapter 3.5 (image warping), 9.1 (motion models)

Announcements Project 1 assigned, due next Friday 2/18

Figures © Stephen E. Palmer, 2002 Dimensionality Reduction Machine (3D to 2D) 3D world 2D image What have we lost? Angles Distances (lengths) Slide by A. Efros

Projection properties Many-to-one: any points along same ray map to same point in image Points → points Lines → lines (collinearity is preserved) – But line through focal point projects to a point Planes → planes (or half-planes) – But plane through focal point projects to line

Projection properties Parallel lines converge at a vanishing point – Each direction in space has its own vanishing point – But parallels parallel to the image plane remain parallel

2D to 2D warps Let’s start with simpler warps that map images to other images Examples of 2D  2D warps: translation rotation aspect

Parametric (global) warping Transformation T is a coordinate-changing machine: p’ = T(p) What does it mean that T is global? – Is the same for any point p – can be described by just a few numbers (parameters) Let’s consider linear xforms (can be represented by a 2D matrix): T p = (x,y)p’ = (x’,y’)

Common linear transformations Uniform scaling by s: (0,0) What is the inverse?

Common linear transformations Rotation by angle θ (about the origin) (0,0) What is the inverse? For rotations: θ

2x2 Matrices What types of transformations can be represented with a 2x2 matrix? 2D mirror about Y axis? 2D mirror across line y = x?

What types of transformations can be represented with a 2x2 matrix? 2D Translation? Translation is not a linear operation on 2D coordinates NO! 2x2 Matrices

Homogeneous coordinates Trick: add one more coordinate: homogeneous image coordinates Converting from homogeneous coordinates x y w (x, y, w) w = 1 (x/w, y/w, 1) homogeneous plane

Translation Solution: homogeneous coordinates to the rescue

Affine transformations any transformation with last row [ ] we call an affine transformation

Basic affine transformations Translate 2D in-plane rotationShear Scale

Modeling projection Projection equations – Compute intersection with PP of ray from (x,y,z) to COP – Derived using similar triangles (on board) We get the projection by throwing out the last coordinate:

Modeling projection Is this a linear transformation? Homogeneous coordinates to the rescue! homogeneous image coordinates homogeneous scene coordinates Converting from homogeneous coordinates no—division by z is nonlinear

Perspective Projection Projection is a matrix multiply using homogeneous coordinates: divide by third coordinate This is known as perspective projection The matrix is the projection matrix (Can also represent as a 4x4 matrix – OpenGL does something like this)

Perspective Projection How does scaling the projection matrix change the transformation?

Orthographic projection Special case of perspective projection – Distance from the COP to the PP is infinite – Good approximation for telephoto optics – Also called “parallel projection”: (x, y, z) → (x, y) – What’s the projection matrix? Image World

Orthographic projection

Perspective projection

Perspective distortion What does a sphere project to? Image source: F. Durand

Perspective distortion The exterior columns appear bigger The distortion is not due to lens flaws Problem pointed out by Da Vinci Slide by F. Durand

Perspective distortion: People

Distortion Radial distortion of the image – Caused by imperfect lenses – Deviations are most noticeable for rays that pass through the edge of the lens No distortionPin cushionBarrel

Correcting radial distortion from Helmut DerschHelmut Dersch

Distortion

Modeling distortion To model lens distortion – Use above projection operation instead of standard projection matrix multiplication Apply radial distortion Apply focal length translate image center Project to “normalized” image coordinates

Other types of projection Lots of intriguing variants… (I’ll just mention a few fun ones)

360 degree field of view… Basic approach – Take a photo of a parabolic mirror with an orthographic lens (Nayar) – Or buy one a lens from a variety of omnicam manufacturers… See

Tilt-shift Titlt-shift images from Olivo Barbieri and Photoshop imitationsOlivo Barbieriimitations

Variants of orthographic projection Scaled orthographic – Also called “weak perspective” Affine projection – Also called “paraperspective”

Camera parameters How can we model the geometry of a camera? “The World” Camera x y z v w u o COP Two important coordinate systems: 1. World coordinate system 2. Camera coordinate system

Camera parameters To project a point (x,y,z) in world coordinates into a camera First transform (x,y,z) into camera coordinates Need to know – Camera position (in world coordinates) – Camera orientation (in world coordinates) The project into the image plane – Need to know camera intrinsics

Projection equation The projection matrix models the cumulative effect of all parameters Useful to decompose into a series of operations projectionintrinsicsrotationtranslation identity matrix Camera parameters A camera is described by several parameters Translation T of the optical center from the origin of world coords Rotation R of the image plane focal length f, principle point (x’ c, y’ c ), pixel size (s x, s y ) blue parameters are called “extrinsics,” red are “intrinsics” The definitions of these parameters are not completely standardized –especially intrinsics—varies from one book to another

Extrinsics How do we get the camera to “canonical form”? – (Center of projection at the origin, x-axis points right, y-axis points up, z-axis points backwards) 0 Step 1: Translate by -c

Extrinsics How do we get the camera to “canonical form”? – (Center of projection at the origin, x-axis points right, y-axis points up, z-axis points backwards) 0 Step 1: Translate by -c How do we represent translation as a matrix multiplication?

Extrinsics How do we get the camera to “canonical form”? – (Center of projection at the origin, x-axis points right, y-axis points up, z-axis points backwards) 0 Step 1: Translate by -c Step 2: Rotate by R 3x3 rotation matrix

Extrinsics How do we get the camera to “canonical form”? – (Center of projection at the origin, x-axis points right, y-axis points up, z-axis points backwards) 0 Step 1: Translate by -c Step 2: Rotate by R

Perspective projection (intrinsics) in general, : aspect ratio (1 unless pixels are not square) : skew (0 unless pixels are shaped like rhombi/parallelograms) : principal point ((0,0) unless optical axis doesn’t intersect projection plane at origin) (upper triangular matrix) (converts from 3D rays in camera coordinate system to pixel coordinates)

Focal length Can think of as “zoom” Also related to field of view 24mm50mm 200mm 800mm

Projection matrix (t in book’s notation) translationrotationprojection intrinsics

Projection matrix 0 = (in homogeneous image coordinates)

Questions? 3-minute break

Image alignment Full screen panoramas (cubic): Mars: New Years Eve:

Why Mosaic? Are you getting the whole picture? – Compact Camera FOV = 50 x 35° Slide from Brown & Lowe

Why Mosaic? Are you getting the whole picture? – Compact Camera FOV = 50 x 35° – Human FOV = 200 x 135° Slide from Brown & Lowe

Why Mosaic? Are you getting the whole picture? – Compact Camera FOV = 50 x 35° – Human FOV = 200 x 135° – Panoramic Mosaic = 360 x 180° Slide from Brown & Lowe

Mosaics: stitching images together

Readings Szeliski: – Chapter 3.5: Image warping – Chapter 5.1: Feature-based alignment – Chapter 8.1: Motion models

Image alignment Image taken from same viewpoint, just rotated. Can we line them up?

Image alignment Why don’t these image line up exactly?

What is the geometric relationship between these two images? ?

?

Is this an affine transformation?

Where do we go from here? affine transformation what happens when we mess with this row?

Projective Transformations aka Homographies aka Planar Perspective Maps Called a homography (or planar perspective map)

Homographies Example on board