Image Pyramids and Blending

Slides:



Advertisements
Similar presentations
Image Blending and Compositing : Computational Photography Alexei Efros, CMU, Fall 2010 © NASA.
Advertisements

Blending and Compositing Computational Photography Connelly Barnes Many slides from James Hays, Alexei Efros.
Multiscale Analysis of Images Gilad Lerman Math 5467 (stealing slides from Gonzalez & Woods, and Efros)
15-463: Computational Photography Alexei Efros, CMU, Spring 2010 Most slides from Steve Marschner Sampling and Reconstruction.
Ted Adelson’s checkerboard illusion. Motion illusion, rotating snakes.
Slides from Alexei Efros
CS 691 Computational Photography
Computational Photography: Sampling + Reconstruction Connelly Barnes Slides from Alexei Efros and Steve Marschner.
Recap from Monday Frequency domain analytical tool computational shortcut compression tool.
Linear Filtering – Part II Selim Aksoy Department of Computer Engineering Bilkent University
Computational Photography CSE 590 Tamara Berg Filtering & Pyramids.
Recap from Monday Fourier transform analytical tool computational shortcut.
Blending and Compositing Computational Photography Derek Hoiem, University of Illinois 09/23/14.
Blending and Compositing : Rendering and Image Processing Alexei Efros.
Image Filtering, Part 2: Resampling Today’s readings Forsyth & Ponce, chapters Forsyth & Ponce –
CSCE 641 Computer Graphics: Image Sampling and Reconstruction Jinxiang Chai.
Sampling and Pyramids : Rendering and Image Processing Alexei Efros …with lots of slides from Steve Seitz.
Edges and Scale Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski – From Sandlot ScienceSandlot.
Image transformations, Part 2 Prof. Noah Snavely CS1114
CSCE 641 Computer Graphics: Image Sampling and Reconstruction Jinxiang Chai.
Image Pyramids and Blending
Image Sampling Moire patterns
MSU CSE 803 Stockman Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute.
Texture Reading: Chapter 9 (skip 9.4) Key issue: How do we represent texture? Topics: –Texture segmentation –Texture-based matching –Texture synthesis.
Lecture 3: Image Resampling CS4670: Computer Vision Noah Snavely Nearest-neighbor interpolation Input image 3x upsample hq3x interpolation (ZSNES)
Image Features, Hough Transform Image Pyramid CSE399b, Spring 06 Computer Vision Lecture 10
Image Compositing and Blending : Computational Photography Alexei Efros, CMU, Fall 2007 © NASA.
Lecture 8: Image Alignment and RANSAC
Image Pyramids and Blending : Computational Photography Alexei Efros, CMU, Fall 2005 © Kenneth Kwan.
4 – Image Pyramids. Admin stuff Change of office hours on Wed 4 th April – Mon 31 st March pm (right after class) Change of time/date of last.
Image Stitching II Ali Farhadi CSE 455
Slides from Alexei Efros, Steve Marschner Filters & fourier theory.
MSU CSE 803 Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute some result.
Image Sampling Moire patterns -
Recap from Friday Pinhole camera model Perspective projections Lenses and their flaws Focus Depth of field Focal length and field of view.
Image Representation Gaussian pyramids Laplacian Pyramids
Announcements Class web site – Handouts –class info –lab access/accounts –survey Readings.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5409 T-R 10:30am – 11:50am.
Applications of Image Filters Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/04/10.
The Frequency Domain Somewhere in Cinque Terre, May 2005 Many slides borrowed from Steve Seitz CS194: Image Manipulation & Computational Photography Alexei.
Image Resampling CS4670: Computer Vision Noah Snavely.
Lecture 4: Image Resampling and Reconstruction CS4670: Computer Vision Kavita Bala.
Lecture 3: Edge detection CS4670/5670: Computer Vision Kavita Bala From Sandlot ScienceSandlot Science.
CS4670 / 5670: Computer Vision KavitaBala Lecture 17: Panoramas.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm.
Computational Photography lecture 8 – segmentation CS (future 572) Spring 2016 Prof. Alex Berg (Credits to many other folks on individual slides)
Image Stitching II Linda Shapiro CSE 455. RANSAC for Homography Initial Matched Points.
Projects Project 1a due this Friday Project 1b will go out on Friday to be done in pairs start looking for a partner now.
Hebrew University Image Processing Exercise Class 8 Panoramas – Stitching and Blending Min-Cut Stitching Many slides from Alexei Efros.
Recall: Gaussian smoothing/sampling G 1/4 G 1/8 Gaussian 1/2 Solution: filter the image, then subsample Filter size should double for each ½ size reduction.
Image Stitching II Linda Shapiro EE/CSE 576.
Image Resampling & Interpolation
Image Blending : Computational Photography
CS 4501: Introduction to Computer Vision Sparse Feature Detectors: Harris Corner, Difference of Gaussian Connelly Barnes Slides from Jason Lawrence, Fei.
Image Blending and Compositing
Image Sampling Moire patterns
Image Sampling Moire patterns
Multiscale Analysis of Images
Image Stitching II Linda Shapiro EE/CSE 576.
Image Stitching II Linda Shapiro CSE 455.
More Image Manipulation
Patric Perez, Michel Gangnet, and Andrew Black
Image Processing Today’s readings For Monday
Filtering Part 2: Image Sampling
Image Sampling Moire patterns
Oh, no, wait, sorry, I meant, welcome to the implementation of 20th-century science fiction literature, or a small part of it, where we will learn about.
Resampling.
Image Stitching II Linda Shapiro EE/CSE 576.
Photometric Processing
Presentation transcript:

Image Pyramids and Blending © Kenneth Kwan Slides Modified from Alexei Efros, CMU,

Image Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] In computer graphics, a mip map [Williams, 1983] A precursor to wavelet transform

A bar in the big images is a hair on the zebra’s nose; in smaller images, a stripe; in the smallest, the animal’s nose Figure from David Forsyth

Gaussian Pyramid for encoding [Burt & Adelson, 1983] Prediction using weighted local Gaussian average Encode the difference as the Laplacian Both Laplacian and the Averaged image is easy to encode

Gaussian pyramid

Image sub-sampling 1/8 1/4 Throw away every other row and column to create a 1/2 size image - called image sub-sampling

Image sub-sampling 1/2 1/4 (2x zoom) 1/8 (4x zoom) Why does this look so bad?

Sampling Good sampling: Bad sampling: Sample often or, Sample wisely see aliasing in action!

Gaussian pre-filtering Solution: filter the image, then subsample Filter size should double for each ½ size reduction. Why?

Subsampling with Gaussian pre-filtering Solution: filter the image, then subsample Filter size should double for each ½ size reduction. Why? How can we speed this up?

Compare with... 1/2 1/4 (2x zoom) 1/8 (4x zoom)

What does blurring take away? original

What does blurring take away? smoothed (5x5 Gaussian)

High-Pass filter smoothed – original

Gaussian pyramid is smooth=> can be subsampled Laplacian pyramid has narrow band of frequency=> compressed

Image Blending

+ = Feathering Encoding transparency I(x,y) = (aR, aG, aB, a) 1 + = Encoding transparency I(x,y) = (aR, aG, aB, a) Iblend = Ileft + Iright

Affect of Window Size 1 left 1 right

Affect of Window Size 1 1

Good Window Size 1 “Optimal” Window: smooth but not ghosted

What is the Optimal Window? To avoid seams window >= size of largest prominent feature To avoid ghosting window <= 2*size of smallest prominent feature

Pyramid Blending 1 1 1 Left pyramid blend Right pyramid

Pyramid Blending

laplacian level 4 laplacian level 2 laplacian level left pyramid right pyramid blended pyramid

Laplacian Pyramid: Blending General Approach: Build Laplacian pyramids LA and LB from images A and B Build a Gaussian pyramid GR from selected region R Form a combined pyramid LS from LA and LB using nodes of GR as weights: LS(i,j) = GR(I,j,)*LA(I,j) + (1-GR(I,j))*LB(I,j) Collapse the LS pyramid to get the final blended image

Blending Regions

Horror Photo © prof. dmartin

Simplification: Two-band Blending Brown & Lowe, 2003 Only use two bands: high freq. and low freq. Blends low freq. smoothly Blend high freq. with no smoothing: use binary mask

2-band Blending Low frequency (l > 2 pixels) High frequency (l < 2 pixels)

Linear Blending

2-band Blending

Gradient Domain In Pyramid Blending, we decomposed our image into 2nd derivatives (Laplacian) and a low-res image Let us now look at 1st derivatives (gradients): No need for low-res image captures everything (up to a constant) Idea: Differentiate Blend Reintegrate

Gradient Domain blending (1D) bright Two signals dark Regular blending Blending derivatives

Gradient Domain Blending (2D) Trickier in 2D: Take partial derivatives dx and dy (the gradient field) Fidle around with them (smooth, blend, feather, etc) Reintegrate But now integral(dx) might not equal integral(dy) Find the most agreeable solution Equivalent to solving Poisson equation Can use FFT, deconvolution, multigrid solvers, etc.

Comparisons: Levin et al, 2004

Perez et al., 2003

Perez et al, 2003 Limitations: editing Can’t do contrast reversal (gray on black -> gray on white) Colored backgrounds “bleed through” Images need to be very well aligned

Don’t blend, CUT! Moving objects become ghosts So far we only tried to blend between two images. What about finding an optimal seam?

Davis, 1998 Segment the mosaic Single source image per segment Avoid artifacts along boundries Dijkstra’s algorithm

constrained by overlap Efros & Freeman, 2001 block Input texture B1 B2 Neighboring blocks constrained by overlap B1 B2 Minimal error boundary cut B1 B2 Random placement of blocks

Minimal error boundary overlapping blocks vertical boundary _ = 2 overlap error min. error boundary

Kwatra et al, 2003 Actually, for this example, DP will work just as well…

Lazy Snapping (Li el al., 2004) Interactive segmentation using graphcuts