Last Two Lectures Panoramic Image Stitching

Slides:



Advertisements
Similar presentations
Single-view Metrology and Camera Calibration
Advertisements

Last 4 lectures Camera Structure HDR Image Filtering Image Transform.
View Morphing (Seitz & Dyer, SIGGRAPH 96)
Camera calibration and epipolar geometry
Structure from motion.
Single-view metrology
1 Basic geometric concepts to understand Affine, Euclidean geometries (inhomogeneous coordinates) projective geometry (homogeneous coordinates) plane at.
The 2D Projective Plane Points and Lines.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Projective 2D & 3D geometry course 2
Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.
Lecture 11: Structure from motion, part 2 CS6670: Computer Vision Noah Snavely.
list – let me know if you have NOT been getting mail Assignment hand in procedure –web page –at least 3 panoramas: »(1) sample sequence, (2) w/Kaidan,
Projective geometry- 2D Acknowledgements Marc Pollefeys: for allowing the use of his excellent slides on this topic
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
Scene Modeling for a Single View : Computational Photography Alexei Efros, CMU, Fall 2005 René MAGRITTE Portrait d'Edward James …with a lot of slides.
Announcements Project 2 questions Midterm out on Thursday
Lecture 7: Image Alignment and Panoramas CS6670: Computer Vision Noah Snavely What’s inside your fridge?
Projective geometry Slides from Steve Seitz and Daniel DeMenthon
Lecture 11: Structure from motion CS6670: Computer Vision Noah Snavely.
Lecture 20: Light, color, and reflectance CS6670: Computer Vision Noah Snavely.
Image Stitching and Panoramas
Lecture 15: Single-view modeling CS6670: Computer Vision Noah Snavely.
Panorama signups Panorama project issues? Nalwa handout Announcements.
Lecture 6: Image Warping and Projection CS6670: Computer Vision Noah Snavely.
Lecture 16: Single-view modeling, Part 2 CS6670: Computer Vision Noah Snavely.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Panoramas and Calibration : Rendering and Image Processing Alexei Efros …with a lot of slides stolen from Steve Seitz and Rick Szeliski.
Single-view Metrology and Camera Calibration Computer Vision Derek Hoiem, University of Illinois 02/26/15 1.
CSE 576, Spring 2008Projective Geometry1 Lecture slides by Steve Seitz (mostly) Lecture presented by Rick Szeliski.
Scene Modeling for a Single View : Computational Photography Alexei Efros, CMU, Spring 2010 René MAGRITTE Portrait d'Edward James …with a lot of.
3-D Scene u u’u’ Study the mathematical relations between corresponding image points. “Corresponding” means originated from the same 3D point. Objective.
Single-view Metrology and Cameras Computational Photography Derek Hoiem, University of Illinois 10/8/13.
Single-view metrology
Projective Geometry and Single View Modeling CSE 455, Winter 2010 January 29, 2010 Ames Room.
Single-view modeling, Part 2 CS4670/5670: Computer Vision Noah Snavely.
Automatic Camera Calibration
WP3 - 3D reprojection Goal: reproject 2D ball positions from both cameras into 3D space Inputs: – 2D ball positions estimated by WP2 – 2D table positions.
Projective cameras Motivation Elements of Projective Geometry Projective structure from motion Planches : –
Single-view Metrology and Camera Calibration Computer Vision Derek Hoiem, University of Illinois 01/25/11 1.
Example: line fitting. n=2 Model fitting Measure distances.
Metrology 1.Perspective distortion. 2.Depth is lost.
Geometric Camera Models
Single View Geometry Course web page: vision.cis.udel.edu/cv April 9, 2003  Lecture 20.
Project 2 –contact your partner to coordinate ASAP –more work than the last project (> 1 week) –you should have signed up for panorama kitssigned up –sign.
Multi-linear Systems and Invariant Theory in the Context of Computer Vision and Graphics CS329 Amnon Shashua.
Single-view geometry Odilon Redon, Cyclops, 1914.
Single-view Metrology and Cameras Computational Photography Derek Hoiem, University of Illinois 10/06/15.
Computer vision: models, learning and inference M Ahad Multiple Cameras
More with Pinhole + Single-view Metrology
Uncalibrated reconstruction Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration.
Project 1 Due NOW Project 2 out today –Help session at end of class Announcements.
EECS 274 Computer Vision Projective Structure from Motion.
Project 2 went out on Tuesday You should have a partner You should have signed up for a panorama kit Announcements.
Projective 2D geometry course 2 Multiple View Geometry Comp Marc Pollefeys.
Lec 23: Single View Modeling
Single-view metrology
Scene Modeling for a Single View
Humans and animals have a number of senses
Epipolar geometry.
I. BASICS Thanks to Peter Corke for the use of some slides
Overview Pin-hole model From 3D to 2D Camera projection
Geometric Camera Models
Uncalibrated Geometry & Stratification
Projective geometry Readings
Announcements list – let me know if you have NOT been getting mail
Announcements Project 2 extension: Friday, Feb 8
Presentation transcript:

Last Two Lectures Panoramic Image Stitching Feature Detection and Matching

Today More on Mosaic Projective Geometry Single View Modeling Vermeer’s Music Lesson Reconstructions by Criminisi et al.

Image Alignment Cylinder: Translation 2 DoF Plane: Homography 8 DoF Feature Detection and Matching Cylinder: Translation 2 DoF Plane: Homography 8 DoF

Plane perspective mosaics 8-parameter generalization of affine motion works for pure rotation or planar surfaces Limitations: local minima slow convergence What do we mean by local minima? In the nonlinear optimization stage

Revisit Homography x (Xc,Yc,Zc) xc f

{ Estimate f from H? H (Xc,Yc,Zc) f xc x General idea: decompose H to KRK^{-1} – difficult to implement Another idea: consider K^{-1}HK A^2+d^2+h^2/f^2 =1??? incorrect { H

The drifting problem Error accumulation small errors accumulate over time Too many free variables, there are interaction between these variables, Considering both ends when aligning the last image.

Bundle Adjustment Associate each image i with Each image i has features Trying to minimize total matching residuals Why this work addresses the issue? Representing each homography with KR, avoiding extra parameters What’s missing here?

Rotations How do we represent rotation matrices? Axis / angle (n,θ) R = I + sinθ [n] + (1- cosθ) [n]2 (Rodriguez Formula), with [n] be the cross product matrix.

Incremental rotation update Small angle approximation ΔR = I + sinθ [n] + (1- cosθ) [n]2 ≈ I +θ [n] = I+[ω] linear in ω= θn Update original R matrix R ← R ΔR Draw axis and rotation

Recognizing Panoramas [Brown & Lowe, ICCV’03]

Finding the panoramas

Finding the panoramas

Algorithm overview

Algorithm overview

Algorithm overview

Algorithm overview

Algorithm overview

Algorithm overview

Finding the panoramas

Finding the panoramas

Algorithm overview

Algorithm overview

Algorithm overview

Get you own copy! [Brown & Lowe, ICCV 2003] [Brown, Szeliski, Winder, CVPR’05]

How well does this work? Test on 100s of examples…

…still too many failures (5-10%) for consumer application How well does this work? Test on 100s of examples… …still too many failures (5-10%) for consumer application

Matching Mistakes: False Positive

Matching Mistakes: False Positive

Matching Mistakes: False Negative Moving objects: large areas of disagreement

Matching Mistakes Accidental alignment Failed alignments repeated / similar regions Failed alignments moving objects / parallax low overlap “feature-less” regions No 100% reliable algorithm?

How can we fix these? Tune the feature detector Tune the feature matcher (cost metric) Tune the RANSAC stage (motion model) Tune the verification stage Use “higher-level” knowledge e.g., typical camera motions → Sounds like a big “learning” problem Need a large training/test data set (panoramas)

on to 3D… Enough of images! We want more from the image We want real 3D scene walk-throughs: Camera rotation Camera translation

So, what can we do here? Model the scene as a set of planes!

The projective plane Why do we need homogeneous coordinates? represent points at infinity, homographies, perspective projection, multi-view relationships What is the geometric intuition? a point in the image is a ray in projective space image plane (x,y,1) y (sx,sy,s) (0,0,0) x z Each point (x,y) on the plane is represented by a ray (sx,sy,s) all points on the ray are equivalent: (x, y, 1)  (sx, sy, s)

Projective lines What does a line in the image correspond to in projective space? A line is a plane of rays through origin all rays (x,y,z) satisfying: ax + by + cz = 0 A line is also represented as a homogeneous 3-vector l l p

Point and line duality A line l is a homogeneous 3-vector It is  to every point (ray) p on the line: l p=0 l l1 l2 p p2 p1 What is the line l spanned by rays p1 and p2 ? l is  to p1 and p2  l = p1  p2 l is the plane normal What is the intersection of two lines l1 and l2 ? p is  to l1 and l2  p = l1  l2 Points and lines are dual in projective space can switch the meanings of points and lines to get another formula

Ideal points and lines Ideal point (“point at infinity”) Ideal line l  (a, b, 0) – parallel to image plane (a,b,0) y x z image plane (sx,sy,0) y x z image plane Ideal point (“point at infinity”) p  (x, y, 0) – parallel to image plane It has infinite image coordinates Ideal point can be interpreted as a line – ideal line Corresponds to a line in the image (finite coordinates)

Homographies of points and lines Computed by 3x3 matrix multiplication To transform a point: p’ = Hp To transform a line: lp=0  l’p’=0 0 = lp = lH-1Hp = lH-1p’  l’ = lH-1 lines are transformed by postmultiplication of H-1 Draw a figure

3D projective geometry These concepts generalize naturally to 3D Homogeneous coordinates Projective 3D points have four coords: P = (X,Y,Z,W) Duality A plane N is also represented by a 4-vector Points and planes are dual in 4D: N P=0 Projective transformations Represented by 4x4 matrices T: P’ = TP, N’ = N T-1

3D to 2D: “perspective” projection Matrix Projection: What is not preserved under perspective projection? What IS preserved? Preserved: lines, incidence Not preserved: lengths, angles, parallelism

Vanishing points Vanishing point projection of a point at infinity image plane vanishing point camera center ground plane Vanishing point projection of a point at infinity

Vanishing points (2D) image plane vanishing point camera center line on ground plane

Vanishing points Properties image plane vanishing point V line on ground plane camera center C line on ground plane Properties Any two parallel lines have the same vanishing point v The ray from C through v is parallel to the lines An image may have more than one vanishing point in fact every pixel is a potential vanishing point How to determine which lines in the scene vanish at a given pixel?

Vanishing lines Multiple Vanishing Points Any set of parallel lines on the plane define a vanishing point The union of all of these vanishing points is the horizon line also called vanishing line Note that different planes define different vanishing lines

Vanishing lines Multiple Vanishing Points Any set of parallel lines on the plane define a vanishing point The union of all of these vanishing points is the horizon line also called vanishing line Note that different planes define different vanishing lines

Computing vanishing points D How to compute v? Properties P is a point at infinity, v is its projection They depend only on line direction Parallel lines P0 + tD, P1 + tD intersect at P

Computing vanishing lines ground plane Properties l is intersection of horizontal plane through C with image plane Compute l from two sets of parallel lines on ground plane All points at same height as C project to l points higher than C project above l Provides way of comparing height of objects in the scene

Is this parachuter higher or lower than the person taking this picture? Lower—he is below the horizon

Fun with vanishing points

Perspective cues

Perspective cues

Perspective cues

Comparing heights Vanishing Point

Measuring height 5.4 1 2 3 4 5 3.3 Camera height 2.8

Computing vanishing points (from lines) Least squares version Better to use more than two lines and compute the “closest” point of intersection See notes by Bob Collins for one good way of doing this: http://www-2.cs.cmu.edu/~ph/869/www/notes/vanishing.txt q2 q1 p2 p1 Intersect p1q1 with p2q2

Measuring height without a ruler Z C ground plane Compute Z from image measurements Need more than vanishing points to do this

The cross ratio The cross-ratio of 4 collinear points P4 P3 P2 P1 A Projective Invariant Something that does not change under projective transformations (including perspective projection) The cross-ratio of 4 collinear points P4 P3 P2 P1 What do we mean by invariance? 3D to 2D Can permute the point ordering 4! = 24 different orders (but only 6 distinct values) This is the fundamental invariant of projective geometry

Measuring height  scene cross ratio T (top of object) C vZ r t b image cross ratio R (reference point) H R B (bottom of object) ground plane scene points represented as image points as

vanishing line (horizon) Measuring height vz r vanishing line (horizon) t0 t H vx v vy H R b0 b image cross ratio

vanishing line (horizon) Measuring height vz r t0 vanishing line (horizon) t0 b0 vx v vy m0 t1 b1 b What if the point on the ground plane b0 is not known? Here the guy is standing on the box, height of box is known Use one side of the box to help find b0 as shown above

Computing (X,Y,Z) coordinates Okay, we know how to compute height (Z coords) how can we compute X, Y? Answer: exact same idea as before, but substitute X for Z (e.g., need a reference object with known X coordinates)

Camera calibration Goal: estimate the camera parameters Version 1: solve for projection matrix Version 2: solve for camera parameters separately intrinsics (focal length, principle point, pixel size) extrinsics (rotation angles, translation) radial distortion

Vanishing points and projection matrix = vx (X vanishing point) Z 3 Y 2 , similarly, v π = Not So Fast! We only know v’s up to a scale factor Can fully specify by providing 3 reference points

3D Modeling from a photograph https://research.microsoft.com/vision/cambridge/3d/3dart.htm