Image Morphing, Thin-Plate Spline Model CSE399b, Spring 07 Computer Vision

Slides:



Advertisements
Similar presentations
Numerical Analysis. TOPIC Interpolation TOPIC Interpolation.
Advertisements

Morphing & Warping 2D Morphing Involves 2 steps 1.Image warping “get features to line up” 2.Cross-dissolve “mix colors” (fade-in/fadeout transition)
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 9: Extrinsic Deformations Fall 2012.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 10: Extrinsic Deformations Fall 2014.
Morphing CSE 590 Computational Photography Tamara Berg.
With support from: NSF DUE in partnership with: George McLeod Prepared by: Geospatial Technician Education Through Virginia’s Community Colleges.
2-D IMAGE MORPHING.
2D preobrazba (morphing). 2D preobrazba dekle-tiger.
Image alignment Image from
Non-Rigid Registration. Why Non-Rigid Registration  In many applications a rigid transformation is sufficient. (Brain)  Other applications: Intra-subject:
1 Computer Science 631 Lecture 2: Morphing Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Appearance Models Shape models represent shape variation Eigen-models can represent texture variation Combined appearance models represent both.
Image Morphing : Rendering and Image Processing Alexei Efros.
Image Morphing Tong-Yee Lee. Image Morphing Animate transitions between two images Specify Correspondence Warping Blending.
Lecture 9: Image alignment CS4670: Computer Vision Noah Snavely
Image Morphing : Computational Photography Alexei Efros, CMU, Fall 2005 © Alexey Tikhonov.
Image Morphing, Triangulation CSE399b, Spring 07 Computer Vision.
Stockman MSU/CSE Math models 3D to 2D Affine transformations in 3D; Projections 3D to 2D; Derivation of camera matrix form.
Image warping/morphing Digital Video Special Effects Fall /10/17 with slides by Y.Y. Chuang,Richard Szeliski, Steve Seitz and Alexei Efros.
Image Stitching Ali Farhadi CSE 455
Image Morphing CSC320: Introduction to Visual Computing
CSC 589 Lecture 22 Image Alignment and least square methods Bei Xiao American University April 13.
Lecture 12: Image alignment CS4670/5760: Computer Vision Kavita Bala
MORPHING Presentation By: SWARUP DEEPIKA JAGMOHAN Date: 22 OCT 2002 Course: COMPUTER GRAPHICS.
CSCE 441: Computer Graphics Image Warping/Morphing Jinxiang Chai.
Cartographic Applications
Image Warping / Morphing
Geometric Operations and Morphing.
Project 2 Review Image Morphing. Objective: You will produce a morph animation of your face into another person's face or any object you prefer. 60 frames.
Digital Image Processing Lecture 7: Geometric Transformation March 16, 2005 Prof. Charlene Tsai.
Building Prostate Statistical Atlas using Large-Deformation Image Registration Eric Hui University of Waterloo – MIAMI Bi-weekly.
MA/CS 3751 Fall 2002 Lecture 24. MA/CS 3752 ginput ginput is a Matlab function which takes one argument input: number of points to select in the image.
Computational Photography Derek Hoiem, University of Illinois
Image Morphing Computational Photography Derek Hoiem, University of Illinois 10/02/12 Many slides from Alyosha Efros.
Image Warping and Morphing cs195g: Computational Photography James Hays, Brown, Spring 2010 © Alexey Tikhonov.
Image Deformation Using Moving Least Squares Scott Schaefer, Travis McPhail, Joe Warren SIGGRAPH 2006 Presented by Nirup Reddy.
Advanced Multimedia Warping & Morphing Tamara Berg.
CS559: Computer Graphics Lecture 8: Warping, Morphing, 3D Transformation Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Image Morphing ( Computational Photography) Jehee Lee Seoul National University With a lot of slides stolen from Alexei Efros and Seungyong Lee.
Image Morphing Computational Photography Derek Hoiem, University of Illinois 9/29/15 Many slides from Alyosha Efros.
Deformation using interpolation CSE 3541 Matt Boggus.
Camera Model Calibration
Image Warping and Morphing : Computational Photography Alexei Efros, CMU, Fall 2011 © Alexey Tikhonov.
Image Warping and Morphing © Alexey Tikhonov CS194: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 2015.
Multimedia Programming 10: Image Morphing
CS559: Computer Graphics Lecture 7: Image Warping and Panorama Li Zhang Spring 2008 Most slides borrowed from Yungyu ChuangYungyu Chuang.
CS559: Computer Graphics Lecture 7: Image Warping and Morphing Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Principal Warps: Thin-Plate Splines and the Decomposition of Deformations 김진욱 ( 이동통신망연구실 ; 박천현 (3D 모델링 및 처리연구실 ;
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Introduction To IBR Ying Wu. View Morphing Seitz & Dyer SIGGRAPH’96 Synthesize images in transition of two views based on two images No 3D shape is required.
Lecture 16: Image alignment
Image Morphing © Zooface Many slides from Alexei Efros, Berkeley.
2D preobrazba (morphing)
Jeremy Bolton, PhD Assistant Teaching Professor
Motion and Optical Flow
Computational Photography Derek Hoiem, University of Illinois
Computational Photography Derek Hoiem, University of Illinois
Lecture 7: Image alignment
Image Warping and Morphing
2D transformations (a.k.a. warping)
Feature-Based Warping
CSE 554 Lecture 10: Extrinsic Deformations
Morphing WU PO-HUNG.
Lecture 8: Image alignment
Feature-Based Warping
Image Stitching Linda Shapiro ECE/CSE 576.
Computer Graphics: Image Warping/Morphing
Image Morphing using mesh warp and feature based warp
Image Stitching Linda Shapiro ECE P 596.
Presentation transcript:

Image Morphing, Thin-Plate Spline Model CSE399b, Spring 07 Computer Vision

Idea #3: Local warp, then cross-dissolve Morphing procedure: for every t, 1.Find the average shape (the “mean dog” ) local warping 2.Find the average color Cross-dissolve the warped images

Image Morphing, select features 1)Generating correspondence points (by hand) 1)In matlab, use “cpselect” function, or write your own with “ginput” + “plot” (with “hold on”, “hold off”)

Image Morphing, triangulation 2) Compute triangulation between the feature points a)Use Delaunay triangulation (build in matlab) b)Make sure both images have the same triangulation! a)Could use the mean shape to generate the triangulation, and copy the triangulation back.

Image Morphing, generating intermediate shape (t-average) 2) Compute a weighted average shape Assume t = [0,1] Simple linear interpolation of each feature pair (1-t)*p1+t*p0 for corresponding features p0 and p1 t=0.4

Image Morphing, generating intermediate shape 2) Compute a weighted average shape Assume t = [0,1] Simple linear interpolation of each feature pair (1-t)*p1+t*p0 for corresponding features p0 and p1 t=0.7

Image Morphing, generate warped image Warped Image 1 Warped Image 2 3) Generate warped image 1 and 2: source: original image 1, and 2 target: t-intermediate shape morphed_im = morph(im_source, source_pts, target_pts, triangulation); We need to write the following matlab function:

To find out where each pixel in new image comes from in old image Determine which triangle it is in Compute its barycentric co-ordinates Find equivalent point in equivalent triangle in original image, and copy over its intensity value Image Morphing, generate warped image with Triangulation ),( :points Control ii yx )','( :points Warped ii yx

To find out where each pixel in new image comes from in old image Determine which triangle it is in Compute its barycentric co-ordinates Find equivalent point in equivalent triangle in original image, and copy over its intensity value Image Morphing, generate warped image with Triangulation

Barycentric Co-ordinates Three linear equations in 3 unknowns

Thin-plate spline TPS Sparse and irregular positioned feature points, and smooth interpolation

Let’s consider two sets of points for which we assume the correspondences to be known (a). The TPS warping allows a perfect alignment of the points and the bending of the grid shows the deformation needed to bring the two sets on top of each other (b). Note that in the case of TPS applied to coordinate transformation we actually use two splines, one for the displacement in the x direction and one for the displacement in the y direction. The displacement in each direction is considered as a height map for the points and a spline is fit as in the case of scattered points in 3D space. And finally the two resulting transformations are combined into a single mapping. Simple example of coordinate transformation using TPS

TPS model: First the equation:

how do we estimate the TPS parameters? Say the blue circles are the source image features, and red crosses are the target image features, how do we “back-warp” all the image features in the target image back to the source image? We could compute a TPS model that maps “red” to “blue”, and apply it to the rest of the target image pixels.

how do we estimate the TPS parameters? We would need two functions: 1) tps_model = est_tps(source_pts, target_pts); 2) morphed_im = morph(im_source, tps_model); tps_model = (a1, ax, ay, w1, …, wp)

TPS model, special case 1, translation only

TPS model, case 2: Affine parameters only

TPS model: Full general case:

TPS model: