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

Similar documents
Reading. 2. Fourier analysis and sampling theory. Required: Watt, Section 14.1 Recommended:

Sampling and Reconstruction

Computer Graphics. Sampling Theory & Anti-Aliasing. Philipp Slusallek

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

Computer Graphics / Animation

Computational Aspects of MRI

Edge and local feature detection - 2. Importance of edge detection in computer vision

Interpolation - 2D mapping Tutorial 1: triangulation

Interpolation and Basis Fns

Image Warping: A Review. Prof. George Wolberg Dept. of Computer Science City College of New York

Understanding Gridfit

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters

8 Piecewise Polynomial Interpolation

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Fourier analysis and sampling theory

Announcements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image

Broad field that includes low-level operations as well as complex high-level algorithms

Image Warping and Morphing. Alexey Tikhonov : Computational Photography Alexei Efros, CMU, Fall 2007

Sampling, Aliasing, & Mipmaps

Sampling and Reconstruction

Sampling, Aliasing, & Mipmaps

CPSC 695. Methods for interpolation and analysis of continuing surfaces in GIS Dr. M. Gavrilova

Sampling, Aliasing, & Mipmaps

Adaptive osculatory rational interpolation for image processing

Consider functions such that then satisfies these properties: So is represented by the cubic polynomials on on and on.

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Four equations are necessary to evaluate these coefficients. Eqn

Simulation and Analysis of Interpolation Techniques for Image and Video Transcoding

3D Modeling Parametric Curves & Surfaces

Image Warping and Morphing. Alexey Tikhonov

Warps, Filters, and Morph Interpolation

Fourier Transform in Image Processing. CS/BIOEN 6640 U of Utah Guido Gerig (slides modified from Marcel Prastawa 2012)

Blacksburg, VA July 24 th 30 th, 2010 Georeferencing images and scanned maps Page 1. Georeference

DIGITAL TERRAIN MODELLING. Endre Katona University of Szeged Department of Informatics

Image Warping and Morphing. Alexey Tikhonov

Interpolation and Basis Fns

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

International ejournals

Two Algorithms for Adaptive Approximation of Bivariate Functions by Piecewise Linear Polynomials on Triangulations

Lecture 4: Spatial Domain Transformations

Blob-Representation of Multidimensional Objects and Surfaces

Classification of image operations. Image enhancement (GW-Ch. 3) Point operations. Neighbourhood operation

Surfaces, meshes, and topology

Advanced Computer Graphics. Aliasing. Matthias Teschner. Computer Science Department University of Freiburg

Sampling: Application to 2D Transformations

Lecture 5: Frequency Domain Transformations

lecture 10: B-Splines

EE795: Computer Vision and Intelligent Systems

1. How many white tiles will be in Design 5 of the pattern? Explain your reasoning.

Introduction to Image Super-resolution. Presenter: Kevin Su

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Chapter 18. Geometric Operations

Scientific Computing: Interpolation

ECE 600, Dr. Farag, Summer 09

Convergence of C 2 Deficient Quartic Spline Interpolation

Outline. Visualization Discretization Sampling Quantization Representation Continuous Discrete. Noise

Capturing, Modeling, Rendering 3D Structures

Lecture 2: 2D Fourier transforms and applications

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

CS4670: Computer Vision

Interpolation by Spline Functions

ADAPTIVE FINITE ELEMENT

Motivation. The main goal of Computer Graphics is to generate 2D images. 2D images are continuous 2D functions (or signals)

CS5670: Computer Vision

Image Analysis - Lecture 1

Image Filtering, Warping and Sampling

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

Natural Quartic Spline

Image Analysis - Lecture 1

Recovery of Piecewise Smooth Images from Few Fourier Samples

February 2017 (1/20) 2 Piecewise Polynomial Interpolation 2.2 (Natural) Cubic Splines. MA378/531 Numerical Analysis II ( NA2 )

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Intensity Transformations and Spatial Filtering

Edge and corner detection

Last Lecture. Edge Detection. Filtering Pyramid

Introduction to Computer Vision

1.1 Pearson Modeling and Equation Solving

Direction Fields; Euler s Method

An Introduction to B-Spline Curves

Piecewise Polynomial Interpolation, cont d

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

The main goal of Computer Graphics is to generate 2D images 2D images are continuous 2D functions (or signals)

CS 450 Numerical Analysis. Chapter 7: Interpolation

INTENSITY TRANSFORMATION AND SPATIAL FILTERING

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Sampling, Resampling, and Warping. COS 426, Spring 2014 Tom Funkhouser

Lecture 4. Digital Image Enhancement. 1. Principle of image enhancement 2. Spatial domain transformation. Histogram processing

Interpolation. TANA09 Lecture 7. Error analysis for linear interpolation. Linear Interpolation. Suppose we have a table x x 1 x 2...

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

Quadratic and cubic b-splines by generalizing higher-order voronoi diagrams

2.2 Graphs Of Functions. Copyright Cengage Learning. All rights reserved.

CHAPTER 2: More on Functions

Test 3 review SHORT ANSWER. Write the word or phrase that best completes each statement or answers the question.

The aim is to find an average between two objects Not an average of two images of objects but an image of the average object!

Rasterization. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 16

ECG782: Multidimensional Digital Signal Processing

Shifted Linear Interpolation Filter

Georeferencing & Spatial Adjustment

Digital Image Processing, 2nd ed. Digital Image Processing, 2nd ed. The principal objective of enhancement

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

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!