EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

Similar documents
Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Aliasing, Image Sampling and Reconstruction

Finite Element Formulation for Plates - Handout 3 -

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition

the points are called control points approximating curve

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

Natural cubic splines

Correlation and Convolution Class Notes for CMSC 426, Fall 2005 David Jacobs

Convolution. 1D Formula: 2D Formula: Example on the web:

Moving Least Squares Approximation

Piecewise Cubic Splines

INTERPOLATION. Interpolation is a process of finding a formula (often a polynomial) whose graph will pass through a given set of points (x, y).

4.3 Lagrange Approximation

jorge s. marques image processing

Introduction to Algebraic Geometry. Bézout s Theorem and Inflection Points

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

CHAPTER 1 Splines and B-splines an Introduction

(Refer Slide Time: 1:42)

Time series analysis Matlab tutorial. Joachim Gross

Summary: Transformations. Lecture 14 Parameter Estimation Readings T&V Sec Parameter Estimation: Fitting Geometric Models

JUST THE MATHS UNIT NUMBER 1.8. ALGEBRA 8 (Polynomials) A.J.Hobson

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

Application. Outline. 3-1 Polynomial Functions 3-2 Finding Rational Zeros of. Polynomial. 3-3 Approximating Real Zeros of.

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Objectives. Materials

1 Shapes of Cubic Functions

Linear and quadratic Taylor polynomials for functions of several variables.

Two-Frame Motion Estimation Based on Polynomial Expansion

Geometric Modelling & Curves

Digital Imaging and Multimedia. Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

SGN-1158 Introduction to Signal Processing Test. Solutions

Zeros of Polynomial Functions

Probability and Random Variables. Generation of random variables (r.v.)

Applications to Data Smoothing and Image Processing I

Robert Collins CSE598G. More on Mean-shift. R.Collins, CSE, PSU CSE598G Spring 2006

Høgskolen i Narvik Sivilingeniørutdanningen STE6237 ELEMENTMETODER. Oppgaver

1 Review of Least Squares Solutions to Overdetermined Systems

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Sampling Theorem Notes. Recall: That a time sampled signal is like taking a snap shot or picture of signal periodically.

Serendipity Basis Functions for Any Degree in Any Dimension

8 Polynomials Worksheet

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the school year.

it is easy to see that α = a

PRACTICAL GUIDE TO DATA SMOOTHING AND FILTERING

1.5. Factorisation. Introduction. Prerequisites. Learning Outcomes. Learning Style

Algebra I Vocabulary Cards

Finite Elements for 2 D Problems

The continuous and discrete Fourier transforms

Computational Foundations of Cognitive Science

Trend and Seasonal Components

Sampling and Interpolation. Yao Wang Polytechnic University, Brooklyn, NY11201

Lagrange Interpolation is a method of fitting an equation to a set of points that functions well when there are few points given.

Zero: If P is a polynomial and if c is a number such that P (c) = 0 then c is a zero of P.

Prentice Hall Algebra Correlated to: Colorado P-12 Academic Standards for High School Mathematics, Adopted 12/2009

PCHS ALGEBRA PLACEMENT TEST

Mean Value Coordinates

A characterization of trace zero symmetric nonnegative 5x5 matrices

Lectures 6&7: Image Enhancement

This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.

Solving Quadratic Equations

Building a Smooth Yield Curve. University of Chicago. Jeff Greco

1 if 1 x 0 1 if 0 x 1

Basics of Polynomial Theory

Rolle s Theorem. q( x) = 1

How To Understand The Nyquist Sampling Theorem

Image Interpolation by Pixel Level Data-Dependent Triangulation

6.1 Add & Subtract Polynomial Expression & Functions

The Convolution Operation

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

Georgia Standards of Excellence Curriculum Map. Mathematics. GSE 8 th Grade

Modeling Curves and Surfaces

Zeros of Polynomial Functions

Microeconomic Theory: Basic Math Concepts

FINITE DIFFERENCE METHODS

Alum Rock Elementary Union School District Algebra I Study Guide for Benchmark III

Linear Filtering Part II

POLYNOMIAL FUNCTIONS

DIEF, Department of Engineering Enzo Ferrari University of Modena e Reggio Emilia Italy Online Trajectory Planning for robotic systems

2 Integrating Both Sides

Matrices and Polynomials

CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA

THE FUNDAMENTAL THEOREM OF ALGEBRA VIA PROPER MAPS

VERTICES OF GIVEN DEGREE IN SERIES-PARALLEL GRAPHS

5 Numerical Differentiation

2.5 Physically-based Animation

Derive 5: The Easiest... Just Got Better!

6 EXTENDING ALGEBRA. 6.0 Introduction. 6.1 The cubic equation. Objectives

Polynomial Invariants

Separable First Order Differential Equations

Essential Mathematics for Computer Graphics fast

Design of FIR Filters

DIGITAL IMAGE PROCESSING AND ANALYSIS

Differentiation and Integration

Numerical integration of a function known only through data points

Computational Optical Imaging - Optique Numerique. -- Deconvolution --

North Carolina Math 2

Transcription:

EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines

What is image processing? Image processing is the application of 2D signal processing methods to images Image representation and modeling Image enhancement Image restoration/image filtering Compression (computer vision)

Image enhancement Accentuate certain desired features for subsequent analysis or display. Contrast stretching / dynamic range adjustment Color histogram normalization Noise reduction Sharpening Edge detection Corner detection Image interpolation

What is interpolation? given a discrete space image g d [n,m] This corresponds to samples of some continuous space image g a (x, y) Compute values of the CS image g a (x, y) at (x,y) locations other than the sample locations. g a (x, y) g d [n,m] g d [n,m]

What is interpolation? Interpolation is critical for: Displaying Image zooming Warping Coding Motion estimation

Is perfect recovery always possible? No, (never actually), unless some assumptions on g a (x,y) are made There are uncountable infinite collection of functions g a (x, y) that agree with g d [n,m] at the sample points What are these assumptions? g a must be band limited Sampling rate must satisfy Nyquist theorem

g a must be band limited There exists such that

Sampling rate must satisfy Nyquist theorem v v v

Ideal Uniform Rectilinear Sampling 2D uniformly sampled grid

Ideal Uniform Rectilinear Sampling g a (x,y) g s (x,y)

g a (x,y,) How to recover g a?

How to recover g a?

Sinc interpolation We can recover g a (x, y) by interpolating the samples g d [n,m] using sinc functions

Interpolation Sampled g s MATLAB s interp2

What s the problem with sinc interpolation? Real world images need not be exactly bandlimited. Unbounded support Summations require infinitely many samples Computationally very expensive

Linear interpolation sinc interpolation formula Linear interpolation: h(x, y) = interpolation kernel Why this is a linear interpolation? Linear function of the samples g d [n,m]

Linear interpolation Consider alternative linear interpolation schemes that address issues with: Unbounded support Summations require infinitely many samples Computationally very expensive

Basic polynomial interpolation Here kernels that are piecewise polynomials Zero order or nearest neighbor interpolation Use the value at the nearest sample location Kernels are zero order polynomials

Nearest neighbor interpolation

Linear or bilinear interpolation tri function is a piecewise linear function of its (spatial) arguments Δ/2 Δ/2

Linear or bilinear interpolation For any point (x, y), we find the four nearest sample point fit a polynomial of the form Estimate alphas from system of 4 equations in 4 unknowns: Interpolating formula (x [0, 1] [0, 1]):

Linear or bilinear interpolation 0 1 If x [ 1, 1] [ 1, 1]: 1 1

Linear or bilinear interpolation

Linear interpolation by Delaunay triangulation Use a linear function within each triangle (three points determine a plane). MATLAB s griddata with the linear opt

What s the problem zero order or bilinear interpolation? neither the zero order or bilinear interpolator are differentiable. They are not continuous and smooth

Desirable properties of interpolators self consistency : Continuous and smooth (differentiable): Short spatial extent to minimize computation

Desirable properties of interpolators Frequency response approximately rect(). symmetric Shift invariant Minimum sidelobes to avoid ringing artifacts

Continuous and smooth Large sidelobes Non smooth Small sidelobes

Non smooth; non shift invariant

Cubic Polynomial interpolation interpolation kernel: Quadratic B splines

B spline interpolation Motivation: n order differentiable Short spatial extent to minimize computation

Background Splines are piecewise polynomials with pieces that are smoothly connected together The joining points of the polynomials are called knots

Background For a spline of degree n, each segment is a polynomial of degree n Do i need n+1 coefficient to describe each piece? Additional smoothness constraint imposes the continuity of the spline and its derivatives up to order (n 1) at the knots only one degree of freedom per segment!

B spline expansion Splines are uniquely characterized in terms of a B spline expansion integer shifts of the central B spline of degree n = central B spline = basis (B) spline

B splines Symmetrical bell shaped functions constructed from the (n+1) fold convolution

B splines

B splines n order B spline: Derived using:

B spline Using cubic B splines is a popular choice: Important: compactly supported!

Cubic B spline and its underlying components support

B spline expansion Each spline is unambiguously characterized by its sequence of B spline coefficients c(k)

Properties of B spline expansion Discrete signal representation! (even though the underlying model is a continuous representation). Easy to manipulate; E.g., derivatives:

B spline interpolation So far: B spline model of a given input signal s(x) s d [n] Interpolation problem: find coefficients c(k) such that spline function goes through the data points exactly That is, reconstruct signal using a spline representation!

Reconstruct signal using a spline representation s d [n]

B spline interpolation Relationship between coefficients and samples s d [n] = discrete B spline kernel Obtained by sampling the B spline of degree n expanded by a factor of m (m=1)

Cardinal B spline interpolation Cardinal splines

2D splines in images tensor product basis functions

B spline interpolation Conclusion: n order differentiable Short spatial extent to minimize computation

General image spatial transformations transform the spatial coordinates of an image f(x, y) so that (after being transformed), it better matches another image Ex: warping brain images into a standard coordinate system to facilitate automatic image analysis

image spatial transformations

General image spatial transformations Form of transformations: Shift only g(x, y) = f(x x 0, y y 0 ) Affine g(x, y) = f(ax + by, cx + dy) thin plate splines (describes smooth warpings using control points) General spatial transformation (e.g., morphing or warping an image) MATLAB s interp2 or griddata functions

Interpolation is critical!