microsoft ppt on bilateral filtering

Post on 22-Dec-2015

293 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

A powerpoint presentation which describes various aspects of Bilateral Filtering

TRANSCRIPT

Guided Image Filtering

Kaiming He

Jian Sun

Xiaoou Tang

The Chinese University of Hong Kong

Microsoft Research Asia

The Chinese University of Hong Kong

Introduction

• Edge-preserving filtering

– An important topic in computer vision

• Denoising, image smoothing/sharpening, texture decomposition, HDR

compression, image abstraction, optical flow estimation, image super-

resolution, feature smoothing…

– Existing methods

• Weighted Least Square [Lagendijk et al. 1988]

• Anisotropic diffusion [Perona and Malik 1990]

• Bilateral filter [Aurich and Weule 95], [Tomasi and Manduchi 98]

• Digital TV (Total Variation) filter [Chan et al. 2001]

Introduction

• Bilateral filter

bilateral

W=GsGr

output q

j

iNj

iji ppWq

)(

)(

input p

range Gr(pi-pj)

spatial Gs(xi-xj)

Introduction

• Joint bilateral filter [Petschnigg et al. 2004]

input p

range Gr(Ii-Ij)

spatial Gs(xi-xj)

bilateral

W=GsGr

guide I

j

iNj

iji pIWq

)(

)(

bilateral filter: I=p

E.g. p: noisy / chrominance channel

I: flash / luminance channel

output q

Introduction

• Advantages of bilateral filtering

– Preserve edges in the smoothing process

– Simple and intuitive

– Non-iterative

Introduction

• Problems in bilateral filtering

– Complexity

• Brute-force: O(r2)

• Distributive histogram: O(logr) [Weiss 06]

• Bilateral grid: band-dependent [Paris and Durand 06], [Chen et al. 07]

• Integral histogram: O(1) [Porikli 08], [Yang et al. 09]

Approximate

(quantized)

Introduction

• Problems in bilateral filtering

– Complexity

– Gradient distortion

• Preserves edges,

but not gradients

Example: detail enhancement

input enhanced

gradient

reversal

gradient

reversal

Introduction

• Our target - to design a new filter

– Edge-preserving filtering

– Non-iterative

– O(1) time, fast and non-approximate

– No gradient distortion

Advantages of bilateral filter

Overcome bilateral filter’s

problems

Guided filter

guide I

input p

22

),()(min apbaI

i

iiba

Iapb

I

pIa

)var(

),cov(

Linear regression

iii npq

ni - noise / texture

Bilateral/joint bilateral filter does

not have this linear model

output q

baIq ii

ii Iaq

• Extend to the entire image

– In all local windows ωk ,compute

the linear coefficients

– Compute the average of akIi+bk in

all ωk that covers pixel qi

Guided filter Definition

iii

ik

kiki

bIa

bIaqk

|

)(1

kkk

k

kk

Iapb

I

pIa

)(var

),(cov

ω2

ω3

ω1

qi

ω2

ω3

ω1

• Parameters

– Window radius r

– Regularization ε

Guided filter Definition

kkk

k

kk

Iapb

I

pIa

)(var

),(cov

2r

qi iii

ik

kiki

bIa

bIaqk

|

)(1

pb

a

0

),cov(

)var(

pI

I

guide I

)var(I

input p

pbIaq ii

output q

Guided filter: smoothing

Iapb

I

pIa

)var(

),cov(

r : determines

band-width

(like σs in BF)

a cascade of

mean filters

Guided filter: edge-preserving

bIaq ii

guide I output q

iI iq

baIIaq iii

)var(

),cov(

I

pIa

ε : degree of

edge-preserving

(like σr in BF)

Example – edge-preserving smoothing

r=4, ε=0.12

σs=4, σr=0.1

r=4, ε=0.22

σs=4, σr=0.2

r=4, ε=0.42

σs=4, σr=0.4

guided

filter

bilateral

filter

(let I=p)

input &

guide

• Our target - to design a new filter

– Edge-preserving filtering

– Non-iterative

– O(1) time, fast and non-approximate

– No gradient distortion

Advantages of bilateral filter

Overcome bilateral filter’s

problems

• mean, var, cov in all local windows

• Integral images [Franklin 1984]

– O(1) time – independent of r

– Non-approximate

Complexity Definition

kkk

k

kk

Iapb

I

pIa

)(var

),(cov

iiii bIaq

O(1) bilateral

(32-bin, 40ms/M) [Porikli 08]

O(1) bilateral

(64-bin, 80ms/M)

O(1) guided

(exact, 80ms/M)

Gradient Preserving

input filtered

enhanced

(detail * 5 + input) gradient

reversal

bilateral filter guided filter

Iaq

detail

(input - filtered)

large

fluctuation

input (I=p) bilateral filter

σs=16, σr=0.1

guided filter

r=16, ε=0.12

Example – detail enhancement

gradient

reversal

bilateral filter guided filter

input (I=p) bilateral filter

σs=16, σr=0.1

guided filter

r=16, ε=0.12

Example – detail enhancement

gradient

reversal

bilateral filter guided filter

Example – HDR compression

input HDR

bilateral filter

σs=15, σr=0.12

guided filter

r=15, ε=0.122

gradient

reversal

bilateral filter guided filter

keep

anti-aliased

Example – flash/no-flash denoising

input p

(no-flash)

joint bilateral filter

σs=8, σr=0.02

guide I

(flash)

guided filter

r=8, ε=0.022

joint bilateral guided filter

gradient

reversal

• Applications: feathering/matting, haze removal

Beyond smoothing

output q

input p

guide I

Iaq

very small ε

preserve most

gradients

Example – feathering

guide I

(size 3000x2000)

Example – feathering

filter input p (binary segmentation)

Example – feathering

filter output q (alpha matte)

Example – feathering

guide I filter input p filter output q

0.3s

image size 6M

matting Laplacian

[Levin et al. 06]

2 min

Example – haze removal

guide I filter input p

(dark channel prior

[He et al. 09])

filter output q

Example – haze removal

guide I guided filter

(<0.1s, 600x400p)

global optimization

(10s)

• “What is an edge” – inherently ambiguous, context-dependent

Limitation

Guided filter

r=16, ε=0.42

Bilateral filter

σs=16, σr=0.4

Input

halo halo

stronger

texture

weaker

edge

Conclusion

• We go from “BF” to “GF”

– Edge-preserving filtering

– Non-iterative

– O(1) time, fast, accurate

– Gradient preserving

– More generic than “smoothing”

Thank you!

top related