rolling guidance filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... ·...

56
Rolling Guidance Filter Qi Zhang 1 , Xiaoyong Shen 1 , Li Xu 2 , Jiaya Jia 1 1 The Chinese University of Hong Kong 2 Image & Visual Computing Lab, Lenovo R&T

Upload: others

Post on 18-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Rolling Guidance Filter

Qi Zhang1, Xiaoyong Shen1, Li Xu2, Jiaya Jia1

1 The Chinese University of Hong Kong2 Image & Visual Computing Lab, Lenovo R&T

Page 2: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated
Page 3: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated
Page 4: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Optical flow

Edge detection

Deblurring

Image filter

SaliencyFeatures

Noise removal

Segmentation

Image abstract

Intrinsic imageColor analysis

Super resolution

Page 5: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Image Filtering

Anisotropic Diffusion

Bilateral Filter

Gaussian Filter

Laplacian Filter

Sobel Filter

Gabor Filter

Median FilterWeighted Median Filter

Min/Max Filter

Dominant Filter

Local Mode Filter

Domain Transform Filter

Weighted Least Square Filter

Local Extrema Filter

Guided Filter

Geodesic Filter

Recursive Bilateral Filter

Percentile Filter

5

Page 6: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

1998, Bilateral Filter2008, WLS Filter2010, Guided Filter2011, Domain Transform

Weak Edge

Strong Edge

An Important Steam: Edge Preserving

6

Page 7: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Edge preserving may not work for pet beatification

7

Page 8: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Edge-aware filter (bilateral filter)

Edge preserving also fails the batman

8

Page 9: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Many tiny contents are strong

9

Page 10: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

10

Page 11: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Scale in Computer Vision• A Multi-Scale Tikhonov Regularization Scheme for Implicit Surface Modelling• Robust Real-Time Visual SLAM Using Scale Prediction and Exemplar Based Feature Description• Estimating Scale of a Scene from a Single Image Based on Defocus Blur and Scene Geometry• Multi-scale Structural Saliency for Signature Detection• Multi-scale Features for Detection and Segmentation of Rocks in Mars Images• The Scale of a Texture and its Application to Segmentation• A Discriminatively Trained, Multi-scale, Deformable Part Model• Face Illumination Normalization on Large and Small Scale Features• Scale Invariance without Scale Selection• Efficient Scale Space Auto-Context for Image Segmentation and Labeling• Scale-Hierarchical 3D Object Recognition in Cluttered Scenes• The Scale of Edges• On SIFTs and their Scales• Hierarchical Saliency Detection• Separating Signal from Noise using Patch Recurrence Across Scales• Multi-Scale Curve Detection on Surfaces• Multi-Source Multi-Scale Counting in Extremely Dense Crowd Images• The Scale of Geometric Texture• Multi-Scale Clustering of Frame-to-Frame Correspondences for Motion Segmentation• Scale Invariant Optical Flow• Dilated Divergence Based Scale-Space Representation for Curve Analysis• Scale Robust Multi View Stereo• Detecting and Localizing Activities at Different Scales under Budget• Finding People Using Scale, Rotation and Articulation Invariant Matching• Efficient Computation of Scale-Space Features for Deformable Shape Correspondences• Texture Regimes for Entropy-Based Multi-scale Image Analysis• Nonlocal Multi-scale Hierarchical Decomposition on Graph

Scale

Multi-scale

Scale-invariantHierarchical

Scale-space

Pyramid

Large-scale

• Segmentation• Object Detection• Saliency Detection• Feature Extraction• Video Analysis• Edge Detection• Optical Flow & Stereo• Scene Understanding• Action Recognition• …

11

Page 12: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Scale + Image filter = ?

12

Page 13: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

13

Page 14: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

14

Page 15: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Scale-Aware Filtering

Large Scale

Small Scale

15

Page 16: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Related Work

• Texture Smoothing• Relative Total Variation [Xu et al., 2012]• Region Covariance [Karacan et al., 2013]• Weighted Median Filter [Zhang et al., 2014]• Bilateral Texture Filtering [Cho et al., 2014]

16

Page 17: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Related Work

• Iterated Filtering Method• Iterated Non-local Means (INM) [Brox & Cremers, 2007]

17

Page 18: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Related Work

• Iterated Filtering Method • Iterated Non-local Means (INM) [Brox & Cremers, 2007]

• Comparison• Similar iteration scheme • Different objective and functionality

• Remove texture vs preserve texture• Different usage of iteration

• Edge recovery vs energy minimization

18

Page 19: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Our main algorithm has only 1 line of code

Interesting Fact

19

Page 20: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Main Idea

• Scale Space Theory [Lindeberg, 1994]:• An object of size 𝑡𝑡, will be largely smoothed away with

Gaussian filter of variance 𝑡𝑡2.

20

Page 21: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Our Scale-aware Filter

Step 1Small Structures

Removal

Step 2Edge Recovery

21

Page 22: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Step 1: Small Structures Removal

𝐽𝐽 𝑝𝑝 =∑𝑞𝑞 ∈𝑅𝑅(𝑝𝑝) exp(− 𝑝𝑝 − 𝑞𝑞 2

2𝜎𝜎𝑠𝑠2) � 𝐼𝐼(𝑞𝑞)

∑𝑞𝑞 ∈𝑅𝑅(𝑝𝑝) exp(− 𝑝𝑝 − 𝑞𝑞 2

2𝜎𝜎𝑠𝑠2)

Gaussian Filter

22

Page 23: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Step 2: Edge Recovery

• A rolling guidance

Joint Bilateral FilterGuidanceInput

Output

Use it as new guidance

Repeat the iteration

The output of Step 1Original Input

23

Page 24: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Rolling Guidance

Joint Bilateral FilterGuidanceInput

Rolling Guidance

Unchanged Changing

24

Page 25: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Guidance for the 1st iteration25

Page 26: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Guidance for the 2nd iteration26

Page 27: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Guidance for the 3rd iteration27

Page 28: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Guidance for the 5th iteration28

Page 29: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

OutputInput

Small structures are removed.Large structure are NOT blurred.

29

Page 30: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Why does rolling guidance work?

30

Page 31: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Small StructureGuidance 𝐺𝐺 (output of step 1)Input 𝐼𝐼

𝐽𝐽 𝑝𝑝 =1𝐾𝐾𝑝𝑝

�𝑞𝑞 ∈ 𝑅𝑅(𝑝𝑝)

exp(−𝑝𝑝 − 𝑞𝑞 2

2𝜎𝜎𝑠𝑠2) � exp(−

𝐺𝐺(𝑝𝑝) − 𝐺𝐺(𝑞𝑞) 2

2𝜎𝜎𝑟𝑟2) � 𝐼𝐼(𝑞𝑞)

Joint Bilateral Filter

𝐺𝐺(𝑝𝑝) − 𝐺𝐺(𝑞𝑞) ≈ 0

� 𝐼𝐼(𝑞𝑞) It becomes a Gaussian filter

Same

𝑝𝑝

𝑞𝑞 𝐺𝐺(𝑝𝑝)𝐺𝐺(𝑞𝑞)

31

Page 32: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Large Structure

Input Image

Result of Step 1

𝐽𝐽 𝑝𝑝 =1𝐾𝐾𝑝𝑝

�𝑞𝑞 ∈ 𝑅𝑅(𝑝𝑝)

exp(−𝑝𝑝 − 𝑞𝑞 2

2𝜎𝜎𝑠𝑠2) � exp(−

𝐺𝐺(𝑝𝑝) − 𝐺𝐺(𝑞𝑞) 2

2𝜎𝜎𝑟𝑟2) � 𝐼𝐼(𝑞𝑞)

Due to this range weightIt generates sharper results than Gaussian!

32

Page 33: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Guidance ImageInput Image

Previous guidance imageInput < <

Smoothing Range weight

Joint Bilateral Filter

Intermediate iterations

33

Page 34: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Input Image

Guidance Image

1st Iteration2nd Iteration3rd Iteration

34

Page 35: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Rolling Guidance Filter

Large Structure

Small Structure

Step 1Gaussian

Step 2Rolling

Guidance

RemoveSmall

Structures

Edge Recovery

36

Page 36: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

37

Page 37: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Result Comparison

• Result comparison with related work

Input [Subr et al.] [Karacan et al.] [Xu et al.] Ours

38

Page 38: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Performance Comparison

• Performance comparison with related works

Input [Subr et al., 2009][Karacan et al., 2013]

478 seconds

1044 seconds

58seconds

2 seconds

[Xu et al., 2012]Ours

For 4 Megapixel Image

39

Page 39: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Performance Comparison

• Performance comparison

Algorithms Time (seconds/Megapixel)

Local Extrema [Subr et al., 2009] 95

RTV [Xu et al., 2012] 14

Region Covariance [Karacan et al., 2013] 240

Ours 0.05 (Real-time)

40

Page 40: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

41

Page 41: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Texture Removal

42

Page 42: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Texture Removal

43

Page 43: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Texture Removal

44

Page 44: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Halftone Image

45

Page 45: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Halftone Image

46

Page 46: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Small Text Removal

Remove Text

47

Page 47: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Virtual Edge Detection

48

Page 48: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Virtual Edge Detection

49

Page 49: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Natural Images• Usable for

• Segmentation• Saliency • Scene understanding• Background

subtraction• Layer separation• Outlier removal• …

50

Page 50: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Determining Scales

𝐽𝐽 𝑝𝑝 =1𝐾𝐾𝑝𝑝

�𝑞𝑞 ∈𝑅𝑅(𝑝𝑝)

exp(−𝑝𝑝 − 𝑞𝑞 2

2𝜎𝜎𝑠𝑠2) � 𝐼𝐼(𝑞𝑞)

𝐽𝐽 𝑝𝑝 =1𝐾𝐾𝑝𝑝

�𝑞𝑞 ∈ 𝑅𝑅(𝑝𝑝)

exp(−𝑝𝑝 − 𝑞𝑞 2

2𝜎𝜎𝑠𝑠2) � exp(−

𝐺𝐺(𝑝𝑝) − 𝐺𝐺(𝑞𝑞) 2

2𝜎𝜎𝑟𝑟2) � 𝐼𝐼(𝑞𝑞)

Step 1

Step 2

𝜎𝜎𝑠𝑠 determine the scale.

Gaussian

Joint filter

52

Page 51: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Multi-Scale Filtering

Input𝜎𝜎𝑠𝑠 = 2𝜎𝜎𝑠𝑠 = 3𝜎𝜎𝑠𝑠 = 4𝜎𝜎𝑠𝑠 = 6𝜎𝜎𝑠𝑠 = 10𝜎𝜎𝑠𝑠 = 30

53

Page 52: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Laplacian Pyramid(generated with Gaussian)

Texture Pyramid(generated with Rolling Guidance Filter)

……

Input

Content of all scales Content of only current scale

A New Type ofImage Pyramid

55

Page 53: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Summary

Our Filter

Traditional Filters

Gaussian

Rolling Guidance Filter

Scale-aware

Simple Fast

Multi-scale

56

Page 54: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

57

Page 55: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

60

Page 56: Rolling Guidance Filtertranslectures.videolectures.net/site/normal_dl/tag=921117/eccv2014_jia... · • Bilateral Texture Filtering [Cho et al., 2014] 16. Related Work • Iterated

Limitations

• Sharp corners could be rounded• It is because sharp corner presents high frequency

change.• In other words, sharp corners are small-scale structures.

61