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



Similar documents
Splines: A unifying framework for image processing. Michael Unser Biomedical Imaging Group EPFL, Lausanne Switzerland

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

Sampling 50 Years After Shannon

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition

Statistical Modeling by Wavelets

AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS

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

Finite Element Formulation for Plates - Handout 3 -

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

(Refer Slide Time: 1:42)

Advanced Signal Processing and Digital Noise Reduction

Numerical Analysis An Introduction

Essential Mathematics for Computer Graphics fast

Moving Least Squares Approximation

Algorithms for the resizing of binary and grayscale images using a logical transform

Admin stuff. 4 Image Pyramids. Spatial Domain. Projects. Fourier domain 2/26/2008. Fourier as a change of basis

A Novel Fourier Transform B-spline Method for Option Pricing*

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

Pricing and calibration in local volatility models via fast quantization

BookTOC.txt. 1. Functions, Graphs, and Models. Algebra Toolbox. Sets. The Real Numbers. Inequalities and Intervals on the Real Number Line

5 Numerical Differentiation

Sampling Signals With Finite Rate of Innovation

Part II Redundant Dictionaries and Pursuit Algorithms

Degree Reduction of Interval SB Curves

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

ALGEBRAIC EIGENVALUE PROBLEM

Wavelet analysis. Wavelet requirements. Example signals. Stationary signal 2 Hz + 10 Hz + 20Hz. Zero mean, oscillatory (wave) Fast decay (let)

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

Mathematics (MAT) MAT 061 Basic Euclidean Geometry 3 Hours. MAT 051 Pre-Algebra 4 Hours

MATHEMATICAL METHODS OF STATISTICS

Master of Arts in Mathematics

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007

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

Lecture Notes to Accompany. Scientific Computing An Introductory Survey. by Michael T. Heath. Chapter 10

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

POLYNOMIAL HISTOPOLATION, SUPERCONVERGENT DEGREES OF FREEDOM, AND PSEUDOSPECTRAL DISCRETE HODGE OPERATORS

Serendipity Basis Functions for Any Degree in Any Dimension

CHAPTER 1 Splines and B-splines an Introduction

High Quality Image Magnification using Cross-Scale Self-Similarity

the points are called control points approximating curve

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

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

Natural cubic splines

Simultaneous Gamma Correction and Registration in the Frequency Domain

How To Prove The Dirichlet Unit Theorem

Aliasing, Image Sampling and Reconstruction

Appendix 3 IB Diploma Programme Course Outlines

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

PRACTICAL GUIDE TO DATA SMOOTHING AND FILTERING

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

SCHWEITZER ENGINEERING LABORATORIES, COMERCIAL LTDA.

By choosing to view this document, you agree to all provisions of the copyright laws protecting it.

Numerical algorithms for curve approximation and novel user oriented interactive tools

jorge s. marques image processing

Combining an Alternating Sequential Filter (ASF) and Curvelet for Denoising Coronal MRI Images

Corollary. (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality

Mean value theorem, Taylors Theorem, Maxima and Minima.

2.2 Creaseness operator

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

Empirical Model-Building and Response Surfaces

1 Review of Least Squares Solutions to Overdetermined Systems

Hedging Illiquid FX Options: An Empirical Analysis of Alternative Hedging Strategies

Algebra Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

How To Understand The Theory Of Probability

2. SPATIAL TRANSFORMATIONS

Introduction to the Finite Element Method

Department of Computer Science

Piecewise Cubic Splines

Pre-Algebra Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

Review of Random Variables

Image Gradients. Given a discrete image Á Òµ, consider the smoothed continuous image ܵ defined by

MATHEMATICS (MATH) 3. Provides experiences that enable graduates to find employment in sciencerelated

Spline Toolbox Release Notes

Dhiren Bhatia Carnegie Mellon University

Multiphysics Software Applications in Reverse Engineering

c 2002 I.P. Ivrissimtzis, M.A. Sabin, N.A. Dodgson

Wavelet Analysis Based Estimation of Probability Density function of Wind Data

Smoothing and Non-Parametric Regression

A Coefficient of Variation for Skewed and Heavy-Tailed Insurance Losses. Michael R. Powers[ 1 ] Temple University and Tsinghua University

APPLIED MATHEMATICS ADVANCED LEVEL

CS Introduction to Data Mining Instructor: Abdullah Mueen

Matrices and Polynomials

FRACTIONAL INTEGRALS AND DERIVATIVES. Theory and Applications

Coding and decoding with convolutional codes. The Viterbi Algor

Ideal Class Group and Units

Finite Element Formulation for Beams - Handout 2 -

ENG4BF3 Medical Image Processing. Image Visualization

A matrix method for degree-raising of B-spline curves *

Estimated Pre Calculus Pacing Timeline

Transcription:

Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics Dimitri Van De Ville Ecole Polytechnique Fédérale de Lausanne Biomedical Imaging Group dimitri.vandeville@epfl.ch IEEE Visualization 2005 - Tutorial (Image Processing 2D)

Overview B-splines: the right tool for interpolation fundamental properties spline fitting interpolation; smoothing; least-squares quantitative approximation quality A primer to the wavelet transform multi-resolution, semi-orthogonal wavelets 2-D extension: hex-splines on any regular periodic lattice hexagonal versus Cartesian lattice 2

Notations one-sided Fourier transform Z-transform 3

Polynomial splines is a polynomial spline of degree n with knots iff Piecewise polynomial (of degree n) within each interval Higher-order continuity at the knots of Effective degrees of freedom is 1 Cardinal splines : Unit spacing: number of knots 4

Polynomial B-splines B-spline of degree n Symmetric B-spline Key properties compact support piecewise polynomial positivity smoothness (continuity) [Schoenberg, 1946] 5

B-spline representation The link between continuous and discrete analog signal in the continuous domain B-spline coefficients in the discrete domain 6

Fundamental B-spline properties Partition of unity reproduction of the constant and of polynomials up to degree n Riesz basis stability: small perturbation of coefficients results into small change of spline signal unambiguity: each representation is unique m-scale relation (for m integer) 7

B-spline Fourier expression Fourier transform of basic element: 8

B-spline differential property poor man s derivative (finite difference) exact derivative Link between discrete and exact derivatives discrete filtering spline degree reduction 9

Generalized fractional B-splines Definition in the Fourier domain [Unser & Blu 2000, Blu & Unser 2003] 10

Spline fitting How to find the spline coefficients? 11

Spline fitting: (1) spline interpolation Spline interpolation (exact, reversible) discrete input filtering such that Smoothing spline Least square splines (approximation between spline spaces) 12

Spline interpolation Discrete B-spline kernels Satisfying interpolation condition: inverse filter! Efficient recursive implementation: cascade of causal and anti-causal filters e.g., cubic spline interpolation anti-causal causal 13

Spline interpolation Generic C-code main recursion void ConvertToInterpolationCoefficients ( double c[ ], long DataLength, double z[ ], long NbPoles, double Tolerance) { double Lambda = 1.0; long n, k; if (DataLength == 1L) return; for (k = 0L; k < NbPoles; k++) Lambda = Lambda * (1.0 - z[k]) * (1.0-1.0 / z[k]); for (n = 0L; n < DataLength; n++) c[n] *= Lambda; for (k = 0L; k < NbPoles; k++) { c[0] = InitialCausalCoefficient(c, DataLength, z[k], Tolerance); for (n = 1L; n < DataLength; n++) c[n] += z[k] * c[n - 1L]; c[datalength - 1L] = (z[k] / (z[k]*z[k] - 1.0)) * (z[k]*c[datalength - 2L] + c[datalength - 1L]); for (n = DataLength - 2L; 0 <= n; n--) c[n] = z[k] * (c[n + 1L]- c[n]); } } initialization double InitialCausalCoefficient ( double c[ ], long DataLength, double z, double Tolerance) { double Sum, zn, z2n, iz; long n, Horizon; Horizon = (long)ceil(log(tolerance) / log(fabs(z))); if (DataLength < Horizon) Horizon = DataLength; zn = z; Sum = c[0]; for (n = 1L; n < Horizon; n++) {Sum += zn * c[n]; zn *= z;} return(sum); } 14

Spline interpolation Interpolating or fundamental B-spline 15

Spline interpolation The fundamental spline converges to sinc as the degree goes to infinity Shannon s theory appears as a particular case 16

Spline fitting: (2) smoothing spline Spline interpolation Smoothing spline discrete and noisy input filtering subject to regularization Least square splines (approximation between spline spaces) 17

Smoothing spline The solution (among all functions) of the smoothing spline problem is a cardinal spline of degree 2m-1. Its coefficients can be obtained by suitable digital filtering of the input samples: Related to: MMSE (Wiener filtering); splines form optimal space!!! Special case: the draftman s spline Minimum curvature interpolant is obtained for = cubic spline! [Unser & Blu 2005; Ramani et al. 2005] 18

Spline fitting: (3) least-square spline Spline interpolation Smoothing spline Least-square spline (approximation between spline spaces) spline model resampling & filtering error such that 19

Least-square spline Minimize quadratic error between splines with 1. determine ; e.g., by spline interpolation 2. resample using with 3. obtain samples of new spline representation prefilter resampling postfilter [Unser et al. 1995] 20

Least-square spline Special case: surface projection first-order B-splines on source and target grid weight of sample = overlap between B-splines support -1 1 21

Quantitative approximation quality Best approximation in a space? analog input filtering & sampling analysis function at scale a Orthogonal projection Results for: Fixed scale Asymptotically with error kernel [Blu & Unser 1999] 22

Quantitative approximation quality fixed support W=4 [Thévenaz et al. 2000] 23

B-spline interpolation in 2D 2D separable model Geometric transformations 2D filtering 2D resampling Applications zooming, rotation, resizing, warping 24

High-quality image interpolation performance cost [Thévenaz et al. 2000] 25

Interpolation benchmark Cumulative interpolation experiment: the best algorithm wins bilinear windowed sinc cubic spline 26

High-quality isosurface rendering 3D B-spline representation of volume data Isosurface analytical knowledge of normal vectors [Thévenaz et al. 2000] 27

Multi-resolution approximation m-scale relation Pyramid or tree algorithms ( ) fast evaluation of binomial filter n=1 for high n ~ Gaussian filter 28

Wavelets Admissible scaling function ( father wavelet ) Riesz basis conditions partition of unity two-scale relation B-splines are perfect candidates Then there exists a wavelet such that forms a Riesz basis of L 2 [Mallat-Meyer 1989] 29

Haar wavelet transform revisited Signal representation basis function: Multi-scale signal representation multi-scale basis function: 30

Haar wavelet transform revisited + - + - Wavelet: 31

Semi-orthogonal wavelets Scaling and wavelet spaces Semi-orthogonality conditions 1. 2. 32

Wavelets Wavelets act as differentiators orthogonal cubic B-spline wavelet Effect on transient features: 1) locality 2) sparsity (vanishing moments) 33

Wavelets and differentiation Fundamental property: multiscale differentiator Responsible for vanishing moments decorrelation Very successful for coding applications JPEG2000 34

Hexagonal lattices r 2 Voronoi cell = best tessellation: Six equivalent neighbours Twelve-fold symmetry High isotropy r 1 Bee-splines? lattice matrix: 35

Hex-splines Basis functions for hexagonal grids First order 36

Hex-splines Basis functions for hexagonal grids Second order 37

Hex-splines Basis functions for hexagonal grids Third order 38

Hex-splines Basis functions for hexagonal grids Fourth order 39

Hex-splines B-spline-like construction algorithm: generating functions (~ differentiation operator in 3 directions) localization operators (~ discrete versions of the operators) B-spline-like properties: convolution property (by construction) positivity, partition of unity, compact support convergence to Gaussian Hex-splines exist for all periodic lattices coincide with separable B-splines for cartesian lattice Fitting: interpolation, smoothing, least-squares But no two-scale relation 40

Hex-splines versus B-splines Keep sampling density equal: det(r)=ω Hex-splines on hexagonal grid B-splines on orthogonal grid r 2 r 2 r 1 r 1 41

Hex-splines versus B-splines Extra samples so approximation quality B-splines equals that one of hex-splines (asymptotical result) 43

Hex-splines versus B-splines Classical result: isotropic band-limited signals are better approximated on hexagonal lattices [Mersereau, 1979] Here, result for non-bandlimited signals first order (nearest neighbor) on hexagonal lattices does not pay at least second order (linear-like) hex-splines should be used; second-order still have easy analytical characterization 44

Conclusions B-splines are a great tool for interpolation and approximation: link continuous and discrete! short support; analytical expression; tunable degree fundamentally linked to differential operators Shift-invariant spaces due to uniform sampling brings along fast algorithms (filtering, FFT-based, ) powerful theoretical results (error kernel) Multi-resolution m-scale relation for pyramids and wavelets Multi-dimensional extensions and variations tensor-product, hex-splines, box-splines (see later) 45

And finally Many thanks go to Michael Unser Thierry Blu Philippe Thévenaz Papers, demonstrations, source code: http://bigwww.epfl.ch/ The Wavelet Digest: (22000+ subscribers) http://www.wavelet.org/ Annette Unser 46