/
Accelerating Spatially Varying Gaussian Filters Accelerating Spatially Varying Gaussian Filters

Accelerating Spatially Varying Gaussian Filters - PowerPoint Presentation

tatyana-admore
tatyana-admore . @tatyana-admore
Follow
394 views
Uploaded On 2016-07-10

Accelerating Spatially Varying Gaussian Filters - PPT Presentation

Jongmin Baek and David E Jacobs Stanford University Motivation Input Gaussian Filter Spatially Varying Gaussian Filter Accelerating Spatially Varying Gaussian Filters Accelerating ID: 399003

gaussian kernel filters support kernel gaussian support filters filter spatially filtered kernels varying interpolate bilateral sample needed sampling input results dilated algorithm

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Accelerating Spatially Varying Gaussian ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1
Slide2

Accelerating Spatially Varying Gaussian Filters

Jongmin Baek and David E. Jacobs

Stanford UniversitySlide3

Motivation

Input

Gaussian

Filter

Spatially

Varying

Gaussian

FilterSlide4

Accelerating Spatially Varying

Gaussian Filters Accelerating

Spatially Varying Gaussian Filters

Accelerating

Spatially Varying Gaussian Filters

Applications

RoadmapSlide5

Gaussian Filters

Given

pairs as input,

 

 

Position

ValueSlide6

Gaussian Filters

Each output value …

 Slide7

Gaussian Filters

… is a weighted

sum of input values …

 Slide8

Gaussian Filters

… whose weight is a

Gaussian …

 Slide9

Gaussian Filters

… in the space of the associated positions.

 Slide10

Gaussian Blur

Gaussian Filters: Uses

 Slide11

Bilateral Filter

Gaussian Filters: Uses

 Slide12

Non-local Means Filter

Gaussian Filters: Uses

 Slide13

Applications

Denoising

images and

meshes

Data

fusion and

upsampling

Abstraction

/

Stylization

Tone-mapping

...

Gaussian

Filters

: Summary

Previous

work on fast Gaussian Filters

Bilateral Grid (Chen, Paris, Durand; 2007)

Gaussian KD-Tree (Adams et al.; 2009)

Permutohedral

Lattice (Adams,

Baek

, Davis; 2010) Slide14

Summary of Previous Implementations:

A

separable blur flanked by resampling

operations.

Exploit

the

separability

of the Gaussian kernel.

Gaussian Filters: ImplementationsSlide15

Spatially Varying Gaussian Filters

 

 

Spatially varying covariance matrix

Spatially InvariantSlide16

Trilateral

Filter

(

Choudhury

and

Tumblin

, 2003)

Tilt

the kernel

of a bilateral filter along

the image gradient

.

Piecewise

linear”

instead of

“Piecewise constant”

model.

Spatial Variance in Previous WorkSlide17

Spatially Varying Gaussian Filters: Tradeoff

Benefits

:

Can

adapt the kernel

spatially.

Better

filtering performance.

Cost:

No

longer

separable.

No

existing acceleration

schemes.

Input

Bilateral-filtered

Trilateral-filteredSlide18

Problem:

Spatially

varying (thus non-separable) Gaussian filter

Existing

Tool

:

Fast

algorithms for spatially invariant Gaussian filters

Solution

:

Re-formulate

the problem to fit the

tool.

Need

to obey the “piecewise-constant” assumption

AccelerationSlide19

Na

ïve Approach (Toy Example)

I LOST THE GAME

Input Signal

Desired Kernel

1

1

1

2

3

4

filtered w/

1

filtered w/

2

filtered w/

3

filtered w/

4

1

1

1

2

3

Output Signal

4Slide20

In

practice, the # of kernels can be very large.

Challenge #1

Pixel Location

x

Desired Kernel

K(x)

Range of

Kernels neededSlide21

Sample

a few kernels and interpolate.

Solution #1

Desired Kernel

K(x)

Sampled

kernels

Interpolate result!

Pixel Location

x

K

1

K

2

K

3Slide22

Interpolation needs an extra assumption to work:

The

covariance matrix

Ʃ

i

is

either piecewise-constant

, or smoothly

varying.

Kernel is

spatially varying

,

but

locally spatially invariant

.

AssumptionsSlide23

Runtime

scales with the # of sampled kernels.

Challenge #2

Desired Kernel

K(x)

Filter only some regions of the image with each kernel.

(“support”)

Pixel Location

x

Sampled

kernels

K

1

K

2

K

3Slide24

In this example,

x needs to be in the support

of

K

1

&

K

2

.

Defining the Support

Desired Kernel

K(x)

Pixel Location

x

K

1

K

2

K

3Slide25

Dilating the Support

Desired Kernel

K(x)

Pixel Location

x

K

1

K

2

K

3Slide26

Algorithm

Identify kernels to sample.

For each kernel, compute the support needed.

Dilate each support.

Filter each dilated support with its kernel.

Interpolate from the filtered results.Slide27

Algorithm

Identify kernels to sample.

For each kernel, compute the support needed.

Dilate each support.

Filter each dilated support with its kernel.

Interpolate from the filtered results.

K

1

K

2

K

3Slide28

Algorithm

Identify kernels to sample.

For each kernel, compute the support needed.

Dilate each support.

Filter each dilated support with its kernel.

Interpolate from the filtered results.

K

1

K

2

K

3Slide29

Algorithm

Identify kernels to sample.

For each kernel, compute the support needed.

Dilate each support.

Filter each dilated support with its kernel.

Interpolate from the filtered results.

K

1

K

2

K

3Slide30

Algorithm

Identify kernels to sample.

For each kernel, compute the support needed.

Dilate each support.

Filter each dilated support with its kernel.

Interpolate from the filtered results.

K

1

K

2

K

3Slide31

Algorithm

Identify kernels to sample.

For each kernel, compute the support needed.

Dilate each support.

Filter each dilated support with its kernel.

Interpolate from the filtered results.

K

1

K

2

K

3Slide32

Applications

HDR Tone-mapping

Joint Range Data

UpsamplingSlide33

Application #1: HDR Tone-mapping

Input HDR

Detail

Base

Filter

Output

AttenuateSlide34

Tone-mapping

Example

Bilateral Filter

Kernel SamplingSlide35

Application #2:

Joint Range Data Upsampling

Range Finder Data

Sparse

Unstructured

Noisy

Scene Image

Output

FilterSlide36

Synthetic Example

Scene Image

Ground Truth DepthSlide37

Synthetic Example

Scene Image

Simulated Sensor DataSlide38

Synthetic Example : Result

Kernel Sampling

Bilateral FilterSlide39

Synthetic Example : Relative Error

Bilateral Filter

Kernel Sampling

2.41% Mean Relative Error

0.95% Mean Relative ErrorSlide40

Real-World Example

Scene Image

Range Finder Data

*Dataset courtesy of Jennifer Dolson, Stanford UniversitySlide41

Real-World Example: Result

Input

Bilateral

Naive

Kernel

SamplingSlide42

Performance

Kernel Sampling

Choudhury

and

Tumblin

(2003)

Naïve

Tonemap1

5.10 s

41.54 s

312.70 s

Tonemap2

6.30 s

88.08 s

528.99

s

Kernel Sampling

Kernel Sampling

(No segmentation)

Depth1

3.71 s

57.90 s

Depth2

9.18 s

131.68 sSlide43

A generalization of Gaussian filters

Spatially varying kernels

Lose the piecewise-constant assumption.

Acceleration via Kernel Sampling

Filter only necessary pixels (and their support) and interpolate.

Applications

Conclusion