Image Stitching II. Linda Shapiro EE/CSE 576

Similar documents
Image Stitching II. Linda Shapiro CSE 455

Image Alignment and Mosaicing

ECE Digital Image Processing and Introduction to Computer Vision

Lecture 8: Interest Point Detection. Saad J Bedros

Edges and Scale. Image Features. Detecting edges. Origin of Edges. Solution: smooth first. Effects of noise

Image Filtering. Slides, adapted from. Steve Seitz and Rick Szeliski, U.Washington

Multiscale Image Transforms

The Frequency Domain, without tears. Many slides borrowed from Steve Seitz

6.869 Advances in Computer Vision. Bill Freeman, Antonio Torralba and Phillip Isola MIT Oct. 3, 2018

CS 3710: Visual Recognition Describing Images with Features. Adriana Kovashka Department of Computer Science January 8, 2015

LoG Blob Finding and Scale. Scale Selection. Blobs (and scale selection) Achieving scale covariance. Blob detection in 2D. Blob detection in 2D

Vlad Estivill-Castro (2016) Robots for People --- A project for intelligent integrated systems

INTEREST POINTS AT DIFFERENT SCALES

Achieving scale covariance

Blobs & Scale Invariance

Multiresolution image processing

Scale-space image processing

Lecture 12. Local Feature Detection. Matching with Invariant Features. Why extract features? Why extract features? Why extract features?

Lecture 8: Interest Point Detection. Saad J Bedros

CS5670: Computer Vision

CSE 473/573 Computer Vision and Image Processing (CVIP)

Image matching. by Diva Sian. by swashford

Missing Data Interpolation with Gaussian Pyramids

Advances in Computer Vision. Prof. Bill Freeman. Image and shape descriptors. Readings: Mikolajczyk and Schmid; Belongie et al.

Corners, Blobs & Descriptors. With slides from S. Lazebnik & S. Seitz, D. Lowe, A. Efros

Reprinted from Proceedings of the Pattern Recognition and Information Processing Conference (pp ), Dallas, TX (1981).

Review for Exam 1. Erik G. Learned-Miller Department of Computer Science University of Massachusetts, Amherst Amherst, MA

Lecture 4.3 Estimating homographies from feature correspondences. Thomas Opsahl

Subsampling and image pyramids

Feature extraction: Corners and blobs

EECS150 - Digital Design Lecture 15 SIFT2 + FSM. Recap and Outline

Edge Detection. Introduction to Computer Vision. Useful Mathematics Funcs. The bad news

Computer Vision, Laboratory session 2

E27 SPRING 2015 ZUCKER PROJECT 2 LAPLACIAN PYRAMIDS AND IMAGE BLENDING

SIFT: SCALE INVARIANT FEATURE TRANSFORM BY DAVID LOWE

Lecture 7: Finding Features (part 2/2)

Feature detectors and descriptors. Fei-Fei Li

EE 6882 Visual Search Engine

Computer Vision Lecture 3

SIFT keypoint detection. D. Lowe, Distinctive image features from scale-invariant keypoints, IJCV 60 (2), pp , 2004.

Feature detectors and descriptors. Fei-Fei Li

Image Analysis. Feature extraction: corners and blobs

Lecture 7: Finding Features (part 2/2)

Poisson Matting. Abstract. 1 Introduction. Jian Sun 1 Jiaya Jia 2 Chi-Keung Tang 2 Heung-Yeung Shum 1

Templates, Image Pyramids, and Filter Banks

Gradient-domain image processing

Image Alignment and Mosaicing Feature Tracking and the Kalman Filter

Image Filtering, Edges and Image Representation

SIFT: Scale Invariant Feature Transform

Blob Detection CSC 767

Scale & Affine Invariant Interest Point Detectors

Detectors part II Descriptors

Lecture 7: Edge Detection

Attributed Graph Matching for Image-Features Association using SIFT Descriptors

Portfolio Optimization

Invariant local features. Invariant Local Features. Classes of transformations. (Good) invariant local features. Case study: panorama stitching

SCALE-SPACE - Theory and Applications

Multimedia Databases. Wolf-Tilo Balke Philipp Wille Institut für Informationssysteme Technische Universität Braunschweig

Multimedia Databases. Previous Lecture. 4.1 Multiresolution Analysis. 4 Shape-based Features. 4.1 Multiresolution Analysis

Fast Local Laplacian Filters: Theory and Applications

The Frequency Domain : Computational Photography Alexei Efros, CMU, Fall Many slides borrowed from Steve Seitz

SuperGIS Server 3.3 Functionality Matrix

SIFT, GLOH, SURF descriptors. Dipartimento di Sistemi e Informatica

Overview. Introduction to local features. Harris interest points + SSD, ZNCC, SIFT. Evaluation and comparison of different detectors

Laplacian Filters. Sobel Filters. Laplacian Filters. Laplacian Filters. Laplacian Filters. Laplacian Filters

Review Smoothing Spatial Filters Sharpening Spatial Filters. Spatial Filtering. Dr. Praveen Sankaran. Department of ECE NIT Calicut.

Overview. Harris interest points. Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points

Scale & Affine Invariant Interest Point Detectors

The Frequency Domain. Many slides borrowed from Steve Seitz

Poisson Image Editing

Video and Motion Analysis Computer Vision Carnegie Mellon University (Kris Kitani)

Computational Photography

Poisson Image Editing

Harris Corner Detector

Section 20: Arrow Diagrams on the Integers

CS 4495 Computer Vision. Frequency and Fourier Transforms. Aaron Bobick School of Interactive Computing. Frequency and Fourier Transform

Wavelets and Multiresolution Processing

Lecture 3: Linear Filters

Interest Operators. All lectures are from posted research papers. Harris Corner Detector: the first and most basic interest operator

Distinguish between different types of scenes. Matching human perception Understanding the environment

Multimedia Databases. 4 Shape-based Features. 4.1 Multiresolution Analysis. 4.1 Multiresolution Analysis. 4.1 Multiresolution Analysis

Statistical Learning Notes III-Section 2.4.3

Image Segmentation: Definition Importance. Digital Image Processing, 2nd ed. Chapter 10 Image Segmentation.

Wavelets, Filter Banks and Multiresolution Signal Processing

Bananagrams Tile Extraction and Letter Recognition for Rapid Word Suggestion

Medical Image Analysis

Face and Straight Line Detection in Equirectangular Images

Smoothed Particle Hydrodynamics (SPH) Huamin Wang

CS 188: Artificial Intelligence Spring Announcements

Edge Detection in Computer Vision Systems

Recap: edge detection. Source: D. Lowe, L. Fei-Fei

A Laplacian of Gaussian-based Approach for Spot Detection in Two-Dimensional Gel Electrophoresis Images

Wavelet Decomposition in Laplacian Pyramid for Image Fusion

Advanced Edge Detection 1

Random walks and anisotropic interpolation on graphs. Filip Malmberg

Image processing and nonparametric regression

Analysis on a local approach to 3D object recognition

Lecture 3: Linear Filters

Multiresolution analysis & wavelets (quick tutorial)

Transcription:

Image Stitching II Linda Shapiro EE/CSE 576

RANSAC for Homography Initial Matched Points

RANSAC for Homography Final Matched Points

RANSAC for Homography

Image Blending What s wrong?

Feathering + 1 0 ramp 1 0 =

Effect of window (ramp-width) size 1 left 1 0 right 0

Effect of window size 1 1 0 0

Good window size 1 Optimal window: smooth but not ghosted Doesn t always work... 0 What can we do instead?

Pyramid blending apple orange Create a Laplacian pyramid, blend each level Burt, P. J. and Adelson, E. H., A Multiresolution Spline with Application to Image Mosaics, ACM Transactions on Graphics, 42(4), October 1983, 217-236. http://persci.mit.edu/pub_pdfs/spline83.pdf

Forming a Gaussian Pyramid Start with the original image G 0 Perform a local Gaussian weighted averaging function in a neighborhood about each pixel, sampling so that the result is a reduced image of half the size in each dimension. Do this all the way up the pyramid G l = REDUCE(G l-1 ) Each level l node will represent a weighted average of a subarray of level l.

Making the Laplacians We want to subtract each level of the pyramid from the next lower one. But they are different sizes! In order to do the subtraction, we perform an interpolation process. We interpolate new samples between those of a given image to make it big enough to subtract. The operation is called EXPAND.

The Laplacian Pyramid L i = Gi i+ expand( G 1 ) Gaussian Pyramid Laplacian Pyramid G 2 G n L n = G n - = L2 G 1 - = L 1 G 0 L 0 - =

To blend two images, We ll combine two Laplacian pyramids Laplacian Pyramid LA Laplacian Pyramid LS Laplacian Pyramid LB to be filled in

Forming the New Pyramid Laplacian pyramids LB and LB are constructed for images A and B, respectively. A third Laplacian pyramid LS is constructed by copying nodes from the left half of LA to the corresponding nodes of LS and nodes from the right half of LB to the right half of LS. Nodes along the center line are set equal to the average of corresponding LA and LB nodes

Using the new Laplacian Pyramid Use the new Laplacian pyramid with the reverse of how it was created to create a Gaussian pyramid. G i = Li i+ + expand( G ) 1 The lowest level of the new Gaussian pyramid gives the final result.

Laplacian level 4 Laplacian level 2 Laplacian level 0 left pyramid right pyramid blended pyramid

Pyramid blending apple orange Create a Laplacian pyramid, blend each level Burt, P. J. and Adelson, E. H., A Multiresolution Spline with Application to Image Mosaics, ACM Transactions on Graphics, 42(4), October 1983, 217-236. http://persci.mit.edu/pub_pdfs/spline83.pdf

Multiband blending (IJCV 2007) Laplacian pyramids 1. Compute Laplacian pyramid of images and mask 2. Create blended image at each level of pyramid 3. Reconstruct complete image

Blending comparison (IJCV 2007)

Poisson Image Editing For more info: Perez et al, SIGGRAPH 2003 http://research.microsoft.com/vision/cambridge/papers/perez_siggraph03.pdf

Alpha Blending I 3 p I 1 I 2 Optional: see Blinn (CGA, 1994) for details: http://ieeexplore.ieee.org/iel1/38/7531/00310740.pdf?isnumber =7531&prod=JNL&arnumber=310740&arSt=83&ared=87&arAu hor=blinn%2c+j.f. Encoding blend weights: I(x,y) = (αr, αg, αb, α ) color at p = Implement this in two steps: 1. accumulate: add up the (α premultiplied) RGB values at each pixel 2. normalize: divide each pixel s accumulated RGB by its α value

Choosing seams dynamic program to find seam along wellmatched regions Illustration: http://en.wikipedia.org/wiki/file:rochester_ny.jpg

Gain Compensation: Getting rid of artifacts Simple gain adjustment Compute average RGB intensity of each image in overlapping region Normalize intensities by ratio of averages

Blending Comparison

Recognizing Panoramas Some of following material from Brown and Lowe 2003 talk Brown and Lowe 2003, 2007

Recognizing Panoramas Input: N images 1. Extract SIFT points, descriptors from all images 2. Find K-nearest neighbors for each point (K=4) 3. For each image a) Select M candidate matching images by counting matched keypoints (m=6) b) Solve homography H ij for each matched image

Recognizing Panoramas Input: N images 1. Extract SIFT points, descriptors from all images 2. Find K-nearest neighbors for each point (K=4) 3. For each image a) Select M candidate matching images by counting matched keypoints (m=6) b) Solve homography H ij for each matched image c) Decide if match is valid (n i > 8 + 0.3 n f ) # inliers # keypoints in overlapping area

Recognizing Panoramas (cont.) (now we have matched pairs of images) 4. Make a graph of matched pairs Find connected components of the graph

Finding the panoramas

Finding the panoramas

Recognizing Panoramas (cont.) (now we have matched pairs of images) 4. Find connected components 5. For each connected component a) Solve for rotation and f b) Project to a surface (plane, cylinder, or sphere) c) Render with multiband blending

Finding the panoramas