Top Banner
Signal reconstruction from multiscale edges A wavelet based algorithm
160

Signal reconstruction from multiscale edges

Jan 18, 2016

Download

Documents

sook

Signal reconstruction from multiscale edges. A wavelet based algorithm. Author Yen-Ming Mark Lai ( [email protected] ) Advisor Dr. Radu Balan [email protected] CSCAMM, MATH. Motivation. Save edges. Motivation. sharp two-sided edge. sharp one-sided edge. “noisy” edges. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Signal reconstruction from multiscale edges

Signal reconstruction from multiscale edges

A wavelet based algorithm

Page 2: Signal reconstruction from multiscale edges

Author

Yen-Ming Mark Lai

([email protected])

Advisor

Dr. Radu Balan

[email protected]

CSCAMM, MATH

Page 3: Signal reconstruction from multiscale edges

Motivation

Save edges

Page 4: Signal reconstruction from multiscale edges

Motivation

Save edge type

sharp one-sided edge

sharp two-sided edge

“noisy” edges

Page 5: Signal reconstruction from multiscale edges

Motivation

edges edge type reconstruct+ =

Page 6: Signal reconstruction from multiscale edges

Algorithm

Decomposition + Reconstruction

Page 7: Signal reconstruction from multiscale edges

Decomposition

Discrete Wavelet

Transform

Save edges e.g. local extrema

Input

“edges+edge type”

Page 8: Signal reconstruction from multiscale edges

Decomposition

input

input

input

edge detection (scale 1)

edge detection (scale 2)

edge detection (scale 4)

=

=

=

Page 9: Signal reconstruction from multiscale edges

Reconstruction

Find approximation

Inverse Wavelet

Transform

Output

local extrema “edges+edge type”

Page 10: Signal reconstruction from multiscale edges

How to find approximation?

Find approximation

local extrema“edges+edge type”

Page 11: Signal reconstruction from multiscale edges

Find approximation (iterative)

Alternate projections between two spaces

Page 12: Signal reconstruction from multiscale edges

Find approximation (iterative)

sequences of functions

n: nf

whose H1 norm

2'2

22LnLn ff

is finite

Page 13: Signal reconstruction from multiscale edges

Find approximation (iterative)

0k

Page 14: Signal reconstruction from multiscale edges

Find approximation (iterative)

sequences of functions:

1) interpolate input signal’s wavelet extrema

2) have minimal H1 norm

Page 15: Signal reconstruction from multiscale edges

Q: Why minimize over H1 norm?

A: Interpolation points act like local extrema

Page 16: Signal reconstruction from multiscale edges

Numerical Example

algorithm interpolates between points

unclear what to do outside interpolation points

Page 17: Signal reconstruction from multiscale edges

Find approximation (iterative)

0

Page 18: Signal reconstruction from multiscale edges

Find approximation (iterative)

dyadic wavelet transforms of L^2 functions

Page 19: Signal reconstruction from multiscale edges

Find approximation (iterative)

intersection = space of solutions

Page 20: Signal reconstruction from multiscale edges

Find approximation (iterative)

Start at zero element to minimize solution’s norm

Page 21: Signal reconstruction from multiscale edges

Preliminary Results

Page 22: Signal reconstruction from multiscale edges

Step Edge (length 8)

Page 23: Signal reconstruction from multiscale edges

Quadratic Spline Wavelet

Page 24: Signal reconstruction from multiscale edges

Take DWT

Page 25: Signal reconstruction from multiscale edges

Take DWT

Page 26: Signal reconstruction from multiscale edges

[1,-1]( ,

Convolution in Matlab

*[0,0,0,0,1,1,1,1]conv )

next

1 current 1+ =next-current

Page 27: Signal reconstruction from multiscale edges

*

Convolution in Matlab

next-current =0 next-current =-1

Page 28: Signal reconstruction from multiscale edges

*

Convolution in Matlab

=

next-current = 0

next-current = 0

next-current = 0

next-current = 0

next-current = 1

next-current = 0

next-current = 0

next-current = 0

next-current = -1

Page 29: Signal reconstruction from multiscale edges

Save Local Extrema

Page 30: Signal reconstruction from multiscale edges

Save Local Extrema

Page 31: Signal reconstruction from multiscale edges

Interpolate DWT (Level 1)

interpolation to minimize H1 norm

unclear what to do outside interpolation points

Page 32: Signal reconstruction from multiscale edges

error

Original DWT – Level 1

Interpolated DWT – Level 1

Page 33: Signal reconstruction from multiscale edges

error

Original DWT – Level 2

Interpolated DWT – Level 2

Page 34: Signal reconstruction from multiscale edges

error

Original DWT – Level 3

Interpolated DWT – Level 3

Page 35: Signal reconstruction from multiscale edges

matrix inversion failed

Original DWT – Level 4

Interpolated DWT – Level 4

Page 36: Signal reconstruction from multiscale edges

Interpolated DWT

Page 37: Signal reconstruction from multiscale edges

Take IDWT to Recover Signal

Page 38: Signal reconstruction from multiscale edges

Recovered Signal (Red) and Original Step Edge (Blue)

Page 39: Signal reconstruction from multiscale edges

Summary

Page 40: Signal reconstruction from multiscale edges

Choose Input

Page 41: Signal reconstruction from multiscale edges

Take DWT

Page 42: Signal reconstruction from multiscale edges

Save Local Extrema of DWT

Page 43: Signal reconstruction from multiscale edges

Interpolate Local Extrema of DWT

Page 44: Signal reconstruction from multiscale edges

Take IDWT

Page 45: Signal reconstruction from multiscale edges

Issues

• Convolution detects false edges

• What to do with values outside

interpolations points?

• What to do when matrix inversion fails?

Page 46: Signal reconstruction from multiscale edges

Timeline

Dec – write up mid-year report

Jan– code local extrema search

Oct/Nov – code Alternate Projections(90%)

(85%)

(100%)

Page 47: Signal reconstruction from multiscale edges

Timeline

• February/March – test and debug entire

system (8 weeks)

• April – run code against database (4

weeks)

• May – write up final report (2 weeks)

Page 48: Signal reconstruction from multiscale edges

Questions?

Page 49: Signal reconstruction from multiscale edges

Supplemental Slides

Page 50: Signal reconstruction from multiscale edges

Input Signal (256 points)

Which points to save?

Page 51: Signal reconstruction from multiscale edges

Compressed Signal (37 points)

What else for reconstruction?

Page 52: Signal reconstruction from multiscale edges

Compressed Signal (37 points)

sharp one-sided edge

Page 53: Signal reconstruction from multiscale edges

Compressed Signal (37 points)

sharp two-sided edge

Page 54: Signal reconstruction from multiscale edges

Compressed Signal (37 points)

“noisy” edges

Page 55: Signal reconstruction from multiscale edges

Calculation

Reconstruction:

• edges

• edge type information

Original: (256 points)

(37 points)

(x points)

Page 56: Signal reconstruction from multiscale edges

37

Compression

edges edge type

+ x < 256

Page 57: Signal reconstruction from multiscale edges

Summary

Save edges

Page 58: Signal reconstruction from multiscale edges

Summary

Save edge type

sharp one-sided edge

sharp two-sided edge

“noisy” edges

Page 59: Signal reconstruction from multiscale edges

Summary

edges edge type reconstruct+ =

Page 60: Signal reconstruction from multiscale edges

Algorithm

Decomposition + Reconstruction

Page 61: Signal reconstruction from multiscale edges

Decomposition

Discrete Wavelet

Transform

Save edges e.g. local extrema

Input

“edges+edge type”

Page 62: Signal reconstruction from multiscale edges

Reconstruction

Find approximation

Inverse Wavelet

Transform

Output

local extrema “edges+edge type”

Page 63: Signal reconstruction from multiscale edges

What is Discrete Wavelet Transform?

Discrete Wavelet

Transform

Input

Page 64: Signal reconstruction from multiscale edges

What is DWT?

1) Choose mother wavelet

2) Dilate mother wavelet

3) Convolve family with input

DWT

Page 65: Signal reconstruction from multiscale edges

1) Choose mother wavelet

Page 66: Signal reconstruction from multiscale edges

2) Dilate mother waveletmother wavelet

dilate

Page 67: Signal reconstruction from multiscale edges

2) Dilate mother wavelet

Page 68: Signal reconstruction from multiscale edges

Convolve family with input

input

input

input

wavelet scale 1

wavelet scale 2

wavelet scale 4

=

=

=

Page 69: Signal reconstruction from multiscale edges

Convolve “family”

input

input

input

wavelet scale 1

wavelet scale 2

wavelet scale 4

=

=

=

DWT

multiscale

Page 70: Signal reconstruction from multiscale edges

What is DWT?

(mathematically)

Page 71: Signal reconstruction from multiscale edges

How to dilate?

)2(

2

1)(

2 jj

xxj

mother wavelet

Page 72: Signal reconstruction from multiscale edges

How to dilate?

)2(

2

1)(

2 jj

xxj

dyadic (powers of two)

Page 73: Signal reconstruction from multiscale edges

How to dilate?

)2(

2

1)(

2 jj

xxj

scale

Page 74: Signal reconstruction from multiscale edges

How to dilate?

)2(

2

1)(

2 jj

xxj z

halve amplitude

double support

Page 75: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)scale 1, j=0

Page 76: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

scale 2, j=1

Page 77: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

scale 4, j=2

Page 78: Signal reconstruction from multiscale edges

What is DWT?

Convolution of dilates of mother wavelets against original signal.

)()2(

2

1)()(

2xf

xxfx

jjj

Page 79: Signal reconstruction from multiscale edges

What is DWT?

Convolution of dilates of mother wavelets against original signal.

)()2(

2

1)()(

2xf

xxfx

jjj

convolution

Page 80: Signal reconstruction from multiscale edges

What is DWT?

Convolution of dilates of mother wavelets against original signal.

)()2(

2

1)()(

2xf

xxfx

jjj

dilates

Page 81: Signal reconstruction from multiscale edges

What is DWT?

Convolution of dilates of mother wavelets against original signal.

)()2(

2

1)()(

2xf

xxfx

jjj

original signal

Page 82: Signal reconstruction from multiscale edges

What is convolution?(best match operation)

Discrete Wavelet

Transform

Input1)mother wavelet

2)dilation

3)convolution

Page 83: Signal reconstruction from multiscale edges

Convolution (best match operator)

dtgftgf )()()(

dummy variable

Page 84: Signal reconstruction from multiscale edges

Convolution (best match operator)

flip g around y axis

dtgftgf )()()(

Page 85: Signal reconstruction from multiscale edges

dtgftgf )()()(

Convolution (best match operator)

shifts g by t

Page 86: Signal reconstruction from multiscale edges

dtgftgf )()()(

do nothing to f

Convolution (best match operator)

Page 87: Signal reconstruction from multiscale edges

dtgftgf )()()(

Convolution (best match operator)

pointwise multiplication

Page 88: Signal reconstruction from multiscale edges

dtgftgf )()()(

Convolution (best match operator)

integrate over R

Page 89: Signal reconstruction from multiscale edges

)7.7(gf

flip g and shift by 7.7

dgf )7.7()(

Convolution (one point)

Page 90: Signal reconstruction from multiscale edges

)7.7(gf

do nothing to f

dgf )7.7()(

Convolution (one point)

Page 91: Signal reconstruction from multiscale edges

)7.7(gf

multiply f and g pointwise

dgf )7.7()(

Convolution (one point)

Page 92: Signal reconstruction from multiscale edges

)7.7(gf

integrate over R

dgf )7.7()(

Convolution (one point)

Page 93: Signal reconstruction from multiscale edges

)7.7(gf

Convolution (one point)

scalar

Page 94: Signal reconstruction from multiscale edges

Convolution of two boxes

f

Page 95: Signal reconstruction from multiscale edges

Convolution of two boxes

45.1g

Page 96: Signal reconstruction from multiscale edges

Convolution of two boxes

45.1t

Page 97: Signal reconstruction from multiscale edges

Convolution of two boxes

dgfgf )45.1()()45.1( 0

Page 98: Signal reconstruction from multiscale edges

Convolution of two boxes

f

Page 99: Signal reconstruction from multiscale edges

Convolution of two boxes

5.0g

Page 100: Signal reconstruction from multiscale edges

Convolution of two boxes

5.0t

Page 101: Signal reconstruction from multiscale edges

Convolution of two boxes

dgfgf )5.0()()5.0( 5.0

Page 102: Signal reconstruction from multiscale edges

Convolution of two boxes

Page 103: Signal reconstruction from multiscale edges

Convolution of two boxes

gf

Page 104: Signal reconstruction from multiscale edges

Why convolution?

Location of maximum best fit

Page 105: Signal reconstruction from multiscale edges

Where does red box most look like blue box?

Page 106: Signal reconstruction from multiscale edges

Why convolution?

Location of maximum best fit

maximum

Page 107: Signal reconstruction from multiscale edges

Why convolution?

Location of maximum best fit

maxima best fit location

Page 108: Signal reconstruction from multiscale edges

Where does exponential most look like box?

Page 109: Signal reconstruction from multiscale edges

Where does exponential most look like box?

Page 110: Signal reconstruction from multiscale edges

Where does exponential most look like box?

maximum

Page 111: Signal reconstruction from multiscale edges

Where does exponential most look like box?

maximum best fit location

Page 112: Signal reconstruction from multiscale edges

So what?

If wavelet is an edge, convolution detects location of edges

Page 113: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

Page 114: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

Page 115: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

Page 116: Signal reconstruction from multiscale edges

What is edge?

Local extrema of wavelet transform

Page 117: Signal reconstruction from multiscale edges

Summary of Decomposition

Discrete Wavelet

Transform

Save “edges” e.g. local extrema

Input

“edges+edge type”

Page 118: Signal reconstruction from multiscale edges

Summary of Decomposition

input

input

input

edge detection (scale 1)

edge detection (scale 2)

edge detection (scale 4)

=

=

=

Page 119: Signal reconstruction from multiscale edges

How to find approximation?

Find approximation

local extrema“edges+edge type”

Page 120: Signal reconstruction from multiscale edges

Find approximation (iterative)

Alternate projections between two spaces

Page 121: Signal reconstruction from multiscale edges

Find approximation (iterative)

2'2

22:LnLnn ffnf

Page 122: Signal reconstruction from multiscale edges

Find approximation (iterative)

2'2

22:LnLnn ffnf

H_1 Sobolev Norm

Page 123: Signal reconstruction from multiscale edges

Find approximation (iterative)

functions that interpolate given local maxima points

Page 124: Signal reconstruction from multiscale edges

Find approximation (iterative)

dyadic wavelet transforms of L^2 functions

Page 125: Signal reconstruction from multiscale edges

Find approximation (iterative)

intersection = space of solutions

Page 126: Signal reconstruction from multiscale edges

Find approximation (iterative)

Start at zero element to minimize solution’s norm

Page 127: Signal reconstruction from multiscale edges

Q: Why minimize over K?

A: Interpolation points act like local extrema

2'2

22:LnLnn ffnf

Page 128: Signal reconstruction from multiscale edges

Reconstruction

Find approximation(minimization

problem)

Inverse Wavelet

Transform

Output

Page 129: Signal reconstruction from multiscale edges

Example

Input of 256 points

Page 130: Signal reconstruction from multiscale edges

Input Signal (256 points)

Page 131: Signal reconstruction from multiscale edges

Input Signal (256 points)

major edges

Page 132: Signal reconstruction from multiscale edges

Input Signal (256 points)

minor edges (many)

Page 133: Signal reconstruction from multiscale edges

Discrete Wavelet Transform

fW dj2

Dyadic (powers of 2)

= DWT of “f” at scale 2^j

Page 134: Signal reconstruction from multiscale edges

DWT (9 scales, 256 points each)

Page 135: Signal reconstruction from multiscale edges

DWT (9 scales, 256 points each)

major edges

Page 136: Signal reconstruction from multiscale edges

Input Signal (256 points)

major edges

Page 137: Signal reconstruction from multiscale edges

DWT (9 scales, 256 points each)

minor edges (many)

Page 138: Signal reconstruction from multiscale edges

Input Signal (256 points)

minor edges (many)

Page 139: Signal reconstruction from multiscale edges

Decomposition

Discrete Wavelet

Transform

Save “edges” e.g. local extrema

Input

Page 140: Signal reconstruction from multiscale edges

DWT (9 scales, 256 points each)

Page 141: Signal reconstruction from multiscale edges

Save Local Maxima

Page 142: Signal reconstruction from multiscale edges

Local Maxima of Transform

Page 143: Signal reconstruction from multiscale edges

Local Maxima of Transform

low scale most sensitive

Page 144: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

Page 145: Signal reconstruction from multiscale edges

Local Maxima of Transform

high scale least sensitive

Page 146: Signal reconstruction from multiscale edges

Mother Wavelet (Haar)

Page 147: Signal reconstruction from multiscale edges

Decomposition

Discrete Wavelet

Transform

Save “edges” e.g. local extrema

Input

Page 148: Signal reconstruction from multiscale edges

Local Maxima of Transform

Page 149: Signal reconstruction from multiscale edges

Find approximation (iterative)

Alternate projections between two spaces

Page 150: Signal reconstruction from multiscale edges

Reconstruction

Find approximation(minimization

problem)

Inverse Wavelet

Transform

Output

Page 151: Signal reconstruction from multiscale edges

Mallat’s Reconstruction (20 iterations)

Page 152: Signal reconstruction from multiscale edges

original

reconstruction (20 iterations)

Page 153: Signal reconstruction from multiscale edges

Implementation

Language: MATLAB – Matlab wavelet toolbox

Complexity: convergence criteria

Page 154: Signal reconstruction from multiscale edges

Databases

• Baseline signals

– sinusoids, Gaussians, step edges, Diracs

• Audio signals

Page 155: Signal reconstruction from multiscale edges

Validation

• Unit testing of components

– DWT/IDWT

– Local extrema search

– Projection onto interpolation space (\Gamma)

Page 156: Signal reconstruction from multiscale edges

Testing

• L2 norm of the error (sum of squares)

versus iterations

• Saturation point in iteration (knee)

Page 157: Signal reconstruction from multiscale edges

Schedule (Coding)

• October/November – code Alternate

Projections (8 weeks)

• December – write up mid-year report (2

weeks)

• January – code local extrema search (1

week)

Page 158: Signal reconstruction from multiscale edges

Schedule (Testing)

• February/March – test and debug entire

system (8 weeks)

• April – run code against database (4

weeks)

• May – write up final report (2 weeks)

Page 159: Signal reconstruction from multiscale edges

Milestones

• December 1, 2010 – Alternate Projections

code passes unit test

• February 1, 2011 – local extrema search

code passes unit test

• April 1, 2011 - codes passes system test

Page 160: Signal reconstruction from multiscale edges

Deliverables

• Documented MATLAB code

• Testing results (reproducible)

• Mid-year report/Final report