gruvi graphics + usability + visualization gruvi graphics + - - PowerPoint PPT Presentation

gruvi
SMART_READER_LITE
LIVE PREVIEW

gruvi graphics + usability + visualization gruvi graphics + - - PowerPoint PPT Presentation

Gradient Estimation Revitalized Usman R. Alim 1 oller 1 Laurent Condat 2 Torsten M 1 Graphics, Usability, and Visualization (GrUVi) Lab. School of Computing Science Simon Fraser University 2 GREYC Lab. Image Team Caen, France gruvi graphics


slide-1
SLIDE 1

gruvi

graphics + usability + visualization

Gradient Estimation Revitalized

Usman R. Alim1 Torsten M¨

  • ller1

Laurent Condat2

1Graphics, Usability, and Visualization (GrUVi) Lab.

School of Computing Science Simon Fraser University

2GREYC Lab.

Image Team Caen, France

slide-2
SLIDE 2

gruvi

graphics + usability + visualization

Motivation

Good renderings need good gradients

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 2/22

slide-3
SLIDE 3

gruvi

graphics + usability + visualization

Motivation

Good renderings need good gradients

Finite Differencing

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 2/22

slide-4
SLIDE 4

gruvi

graphics + usability + visualization

Motivation

Good renderings need good gradients

Orthogonal Projection

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 2/22

slide-5
SLIDE 5

gruvi

graphics + usability + visualization

Related Work: Quantitative Analysis

Quantitative Fourier analysis of scalar reconstruction schemes [Unser and Blu ’99] Linear interpolation revitalized [Blu et al. ’04] Extension to derivatives in 1D [Condat and M¨

  • ller ’09]

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 3/22

slide-6
SLIDE 6

gruvi

graphics + usability + visualization

Overview (R3)

f(x) sampling on L f[k] p prefilter ϕ(x) scalar reconstruction fapp(x)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 4/22

slide-7
SLIDE 7

gruvi

graphics + usability + visualization

Overview (R3)

f(x) sampling on L f[k] p prefilter ϕ(x) scalar reconstruction fapp(x)

Why prefilter?

1 Ensures approximation and original function agree at the lattice

sites

2 Exploits the full approximation power of ϕ

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 4/22

slide-8
SLIDE 8

gruvi

graphics + usability + visualization

Overview (R3)

f(x) sampling on L f[k] p prefilter d1

  • dir. der. filter

ϕ(x − l1/2) reconstruction d2 ϕ(x − l2/2) d3 ϕ(x − l3/2) fl1

app

fl2

app

fl3

app

  • i fli

appli

gradient estimation (∇f)app(x) ϕ(x) scalar reconstruction fapp(x)

li: Principal lattice directions

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 4/22

slide-9
SLIDE 9

gruvi

graphics + usability + visualization

Overview (R3)

f(x) sampling on L f[k] p prefilter d1

  • dir. der. filter

ϕ(x − l1/2) reconstruction d2 ϕ(x − l2/2) d3 ϕ(x − l3/2) fl1

app

fl2

app

fl3

app

  • i fli

appli

gradient estimation (∇f)app(x) ϕ(x) scalar reconstruction fapp(x)

li: Principal lattice directions More general case considered in the paper

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 4/22

slide-10
SLIDE 10

gruvi

graphics + usability + visualization

Principal Directions

2D Cartesian: 2 Hexagonal: 3

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 5/22

slide-11
SLIDE 11

gruvi

graphics + usability + visualization

Principal Directions

2D Cartesian: 2 CC: 3 Hexagonal: 3 BCC: 4

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 5/22

slide-12
SLIDE 12

gruvi

graphics + usability + visualization

Formal Description

Approximate derivatives in the principal directions li Interested in a digital filter that approximates in the shift-invariant space V(Lh, ϕi), i.e. ∂lif(x) ≈ fli

app(x) =

  • k∈Zs

1 h(f ∗ p ∗ di)[k]ϕi

h,k(x)

ϕi(x) := ϕ(x − li 2 ) and ϕi

h,k(x) := ϕi(x

h − Lk) The filter di should be chosen so that ∂lf − fl

appL2 = O(hn)

where n is the approximation order of ϕ.

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 6/22

slide-13
SLIDE 13

gruvi

graphics + usability + visualization

Formal Description

Approximate derivatives in the principal directions li Interested in a digital filter that approximates in the shift-invariant space V(Lh, ϕi), i.e. ∂lif(x) ≈ fli

app(x) =

  • k∈Zs

1 h(f ∗ p ∗ di)[k]ϕi

h,k(x)

ϕi(x) := ϕ(x − li 2 ) and ϕi

h,k(x) := ϕi(x

h − Lk) The filter di should be chosen so that ∂lf − fl

appL2 = O(hn)

where n is the approximation order of ϕ.

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 6/22

slide-14
SLIDE 14

gruvi

graphics + usability + visualization

Formal Description

Approximate derivatives in the principal directions li Interested in a digital filter that approximates in the shift-invariant space V(Lh, ϕi), i.e. ∂lif(x) ≈ fli

app(x) =

  • k∈Zs

1 h(f ∗ p ∗ di)[k]ϕi

h,k(x)

ϕi(x) := ϕ(x − li 2 ) and ϕi

h,k(x) := ϕi(x

h − Lk) The filter di should be chosen so that ∂lf − fl

appL2 = O(hn)

where n is the approximation order of ϕ.

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 6/22

slide-15
SLIDE 15

gruvi

graphics + usability + visualization

Revitalization

f(x) sampling on L f[k] p prefilter d1

  • dir. der. filter

ϕ(x − l1/2) reconstruction d2 ϕ(x − l2/2) d3 ϕ(x − l3/2) fl1

app

fl2

app

fl3

app

  • i fli

appli

gradient estimation (∇f)app(x) ϕ(x) scalar reconstruction fapp(x)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 7/22

slide-16
SLIDE 16

gruvi

graphics + usability + visualization

Shift Example (Cubic B-spline)

3 2 1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6

ϕ(x)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 8/22

slide-17
SLIDE 17

gruvi

graphics + usability + visualization

Shift Example (Cubic B-spline)

3 2 1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6

ϕ(x − k)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 8/22

slide-18
SLIDE 18

gruvi

graphics + usability + visualization

Shift Example (Cubic B-spline)

3 2 1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6

ϕ1(x)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 8/22

slide-19
SLIDE 19

gruvi

graphics + usability + visualization

Shift Example (Cubic B-spline)

3 2 1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6

ϕ1(x − k)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 8/22

slide-20
SLIDE 20

gruvi

graphics + usability + visualization

Why shift? (1D)

2 1 1 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7

β2(x) - Quadratic B-spline

3 2 1 1 2 3 1.0 0.5 0.5 1.0

β′

2(x) = β1(x + 1 2) − β1(x − 1 2)

(blue) V(Z, β1(x)) can’t recover the exact derivative (purple) V(Z, β1(x − 1/2)) can! (blue)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 9/22

slide-21
SLIDE 21

gruvi

graphics + usability + visualization

Why shift? (1D)

2 1 1 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7

β2(x) - Quadratic B-spline

3 2 1 1 2 3 1.0 0.5 0.5 1.0

β′

2(x) = β1(x + 1 2) − β1(x − 1 2)

(blue) V(Z, β1(x)) can’t recover the exact derivative (purple) V(Z, β1(x − 1/2)) can! (blue)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 9/22

slide-22
SLIDE 22

gruvi

graphics + usability + visualization

How to shift in higher dimensions?

Directional derivative of a 4th

  • rder hexagonal box spline is

a linear combination of two lower order shifted box splines Shifts are in the direction of the derivative

1 Choose s linearly independent principal directions 2 Shift the symmetric box spline along those principal directions

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 10/22

slide-23
SLIDE 23

gruvi

graphics + usability + visualization

How to shift in higher dimensions?

Directional derivative of a 4th

  • rder hexagonal box spline is

a linear combination of two lower order shifted box splines Shifts are in the direction of the derivative

1 Choose s linearly independent principal directions 2 Shift the symmetric box spline along those principal directions

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 10/22

slide-24
SLIDE 24

gruvi

graphics + usability + visualization

Error Analysis

How to predict the directional derivative error, given an approximation space V(L, ψ) and a filter r

Error Kernel

El(ω) := 1 −

  • ψ(ω)
  • 2
  • Aψ(ω)
  • Emin(ω)

+ Aψ(ω)

  • R(ω)

jlTω − ˚ ψ

(ω)

  • 2
  • El

res(ω)

l: A principal lattice direction

  • R ↔ r: Filter applied to samples
  • Aψ: Autocorrelation sequence

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 11/22

slide-25
SLIDE 25

gruvi

graphics + usability + visualization

Filter Design

f(x) sampling on L f[k] p prefilter d1

  • dir. der. filter

ϕ(x − l1/2) reconstruction d2 ϕ(x − l2/2) d3 ϕ(x − l3/2) fl1

app

fl2

app

fl3

app

  • i fli

appli

gradient estimation (∇f)app(x) ϕ(x) scalar reconstruction fapp(x)

Combined directional derivative filter ri = (p ∗ di)

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 12/22

slide-26
SLIDE 26

gruvi

graphics + usability + visualization

Asymptotic Optimality

El(ω) := 1 −

  • ψ(ω)
  • 2
  • Aψ(ω)
  • Emin(ω)

+ Aψ(ω)

  • R(ω)

jlTω − ˚ ψ

(ω)

  • 2
  • El

res(ω)

For a minimum error approximation:

El

res(ω) = 0, not realizable!

Choose r so that Emin(ω) ∼ El

res(ω) (as h → 0)

Plug-in our basis function ϕi and combined filter ri = p ∗ di

Optimality Criterion

di ↔ Di = jliTω exp( j

2liTω) + O(|ω|n+1)

No dependence on ϕ

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 13/22

slide-27
SLIDE 27

gruvi

graphics + usability + visualization

Asymptotic Optimality

El(ω) := 1 −

  • ψ(ω)
  • 2
  • Aψ(ω)
  • Emin(ω)

+ Aψ(ω)

  • R(ω)

jlTω − ˚ ψ

(ω)

  • 2
  • El

res(ω)

For a minimum error approximation:

El

res(ω) = 0, not realizable!

Choose r so that Emin(ω) ∼ El

res(ω) (as h → 0)

Plug-in our basis function ϕi and combined filter ri = p ∗ di

Optimality Criterion

di ↔ Di = jliTω exp( j

2liTω) + O(|ω|n+1)

No dependence on ϕ

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 13/22

slide-28
SLIDE 28

gruvi

graphics + usability + visualization

Asymptotic Optimality

El(ω) := 1 −

  • ψ(ω)
  • 2
  • Aψ(ω)
  • Emin(ω)

+ Aψ(ω)

  • R(ω)

jlTω − ˚ ψ

(ω)

  • 2
  • El

res(ω)

For a minimum error approximation:

El

res(ω) = 0, not realizable!

Choose r so that Emin(ω) ∼ El

res(ω) (as h → 0)

Plug-in our basis function ϕi and combined filter ri = p ∗ di

Optimality Criterion

di ↔ Di = jliTω exp( j

2liTω) + O(|ω|n+1)

No dependence on ϕ

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 13/22

slide-29
SLIDE 29

gruvi

graphics + usability + visualization

Fourth-order 1D Filters di

3 2 1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6

Centered (pFIR): [− 1

12, 2 3, 0, − 2 3, 1 12]

3 2 1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6

Shifted (pFIR-s): [− 1

24, 9 8, − 9 8, 1 24, 0]

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 14/22

slide-30
SLIDE 30

gruvi

graphics + usability + visualization

Combined Filter (p ∗ d) Comparison

Cubic B-spline

ω Derivative Error Kernel Emin-cubic Emin-quadratic CC CC-s pFIR pFIR-s pANALYTIC

π 2

π

3π 2

2π 0.5 1 1.5

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 15/22

slide-31
SLIDE 31

gruvi

graphics + usability + visualization

Gradient Reconstruction

f(x) sampling on L f[k] p prefilter d1

  • dir. der. filter

ϕ(x − l1/2) reconstruction d2 ϕ(x − l2/2) d3 ϕ(x − l3/2) fl1

app

fl2

app

fl3

app

  • i fli

appli

gradient rec. (∇f)app(x) ϕ(x) scalar reconstruction fapp(x)

Simple linear transformation li: Dual of li

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 16/22

slide-32
SLIDE 32

gruvi

graphics + usability + visualization

Results

Tricubic B-splines on the Cartesian Cubic (CC) lattice Quintic Box spline on the Body-Centered Cubic (BCC) lattice [Entezari et al. ’08]

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 17/22

slide-33
SLIDE 33

gruvi

graphics + usability + visualization

Quantitative Comparison

pFIR, 24.14◦, 2.11 pFIR-s, 11.53◦, 1.15 P-OPT26, 18.10◦, 1.96 P-FIR-s, 8.7◦, 1.03 Mean angular and magnitude errors are indicated

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 18/22

slide-34
SLIDE 34

gruvi

graphics + usability + visualization

Qualitative Comparison

Centered vs. Shifted

pFIR P-OPT26

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 19/22

slide-35
SLIDE 35

gruvi

graphics + usability + visualization

Qualitative Comparison

Centered vs. Shifted

pFIR-s P-FIR-s

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 19/22

slide-36
SLIDE 36

gruvi

graphics + usability + visualization

Qualitative Comparison

DVR Centered vs. Shifted

pFIR

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 20/22

slide-37
SLIDE 37

gruvi

graphics + usability + visualization

Qualitative Comparison

DVR Centered vs. Shifted

pFIR-s

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 20/22

slide-38
SLIDE 38

gruvi

graphics + usability + visualization

Conclusion

f(x) sampling on L f[k] p prefilter d1

  • dir. der. filter

ϕ(x − l1/2) reconstruction d2 ϕ(x − l2/2) d3 ϕ(x − l3/2) fl1

app

fl2

app

fl3

app

  • i fli

appli

gradient estimation (∇f)app(x) ϕ(x) scalar reconstruction fapp(x)

Contributions Error Kernel to quantify accuracy of gradient estimation Two frameworks for designing asymptotically optimal derivative filters Shifted interpolation function → Better quality at no additional cost!

Alim et al., GrUVi, GREYC Gradient Estimation Revitalized 21/22

slide-39
SLIDE 39

gruvi

graphics + usability + visualization

Acknowledgements

Thank you for your attention Contact: ualim@cs.sfu.ca Source code is available at: http://www.cs.sfu.ca/~ualim/personal/research.html