b-spline channels & channel smoothing

38
1 Computer Vision Laboratory B-Spline Channels & Channel Smoothing Michael Felsberg Computer Vision Laboratory Linköping University SWEDEN

Upload: kay-jensen

Post on 04-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

B-Spline Channels & Channel Smoothing. Michael Felsberg Computer Vision Laboratory Linköping University SWEDEN. General Idea of Channels. Encode single value (linear or modular) in N-D coefficient vector ( channel vector ) Locality of encoding Similar values in same coefficients - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: B-Spline Channels & Channel Smoothing

1

Computer Vision Laboratory

B-Spline Channels & Channel Smoothing

Michael FelsbergComputer Vision Laboratory

Linköping UniversitySWEDEN

Page 2: B-Spline Channels & Channel Smoothing

2

Computer Vision Laboratory

General Idea of Channels

• Encode single value (linear or modular) in N-D coefficient vector (channel vector)

• Locality of encoding– Similar values in same coefficients– Dissimilar values in different coefficients

• Stability by smooth, monopolar basis functions– Small changes of value lead to small changes of

coefficients– Non-negative coefficients

Page 3: B-Spline Channels & Channel Smoothing

3

Computer Vision Laboratory

Example for Single Value

Page 4: B-Spline Channels & Channel Smoothing

4

Computer Vision Laboratory

Example for Multiple Values

Page 5: B-Spline Channels & Channel Smoothing

5

Computer Vision Laboratory

Overview

• Encoding with quadratic B-splines

• Decoding strategies

• Relation to kernel-density estimation

• Relation to robust M-estimation

• Channel smoothing

• Applications

Page 6: B-Spline Channels & Channel Smoothing

6

Computer Vision Laboratory

Quadratic B-Splines

B0 f( ) =

1 f <1

21

2f =

1

2

0 f >1

2

⎪ ⎪

⎪ ⎪

Bk f( ) =k + 2 f +1

2kBk−1 f +

1

2

⎝ ⎜

⎠ ⎟+

k − 2 f +1

2kBk−1 f −

1

2

⎝ ⎜

⎠ ⎟

B2 f( ) =

3

4− f 2 f ∈ 0,

1

2

⎡ ⎣ ⎢

⎠ ⎟

1

2

3

2− f

⎝ ⎜

⎠ ⎟2

f ∈1

2,3

2

⎡ ⎣ ⎢

⎠ ⎟

0 f ∈3

2,∞

⎡ ⎣ ⎢

⎠ ⎟

⎪ ⎪ ⎪

⎪ ⎪ ⎪

Page 7: B-Spline Channels & Channel Smoothing

7

Computer Vision Laboratory

• The value of the nth channel at x is obtained by

• Encoding in practice:– m=round(f)– c[m-1]=(f-m-0.5)2 /2– c[m]=0.75-(f-m)2

– c[m+1]=(m-f-0.5)2 /2

B-Splines Encoding

cn f ,x( ) = B2 f x( ) − n( ) n =1... N

We assume f to be shiftedand rescaled such that

f ∈ 1.5,N − 0.5[ ]

Page 8: B-Spline Channels & Channel Smoothing

8

Computer Vision Laboratory

Example

QuickTime™ and a decompressor

are needed to see this picture.

Page 9: B-Spline Channels & Channel Smoothing

9

Computer Vision Laboratory

Linear Decoding

• Normalized convolution of the channel vector

• Choice of n by heuristics– Largest denominator (3-box filter)– Additional: local maximum

fn0=

ncn f( )n= n0 −1

n0 +1

cn f( )n= n0 −1

n0 +1

∑=

cn0 +1( f ) − cn0 −1( f )

cn0 −1( f ) + cn0( f ) + cn0 +1( f )

+ n0

0

Page 10: B-Spline Channels & Channel Smoothing

10

Computer Vision Laboratory

Quantization Effect

Page 11: B-Spline Channels & Channel Smoothing

11

Computer Vision Laboratory

Quadratic Decoding I

• Idea: detect local maximum of B-spline interpolated channel vector– Step 1: recursive filtering to obtain

interpolation coefficients:

cn+ = cn + zcn−1

+

cn− = z(cn +1

− − cn+)

′ c n = 8cn−

c1+ = c1

cN− =

z

z2 −1cN

+

z = 2 2 − 3

Page 12: B-Spline Channels & Channel Smoothing

12

Computer Vision Laboratory

Quadratic Decoding II

– Step 2: detect zeros

0 = λβ 2 + μβ + ν

λ = − ′ c n0 −2 + 2 ′ c n0 −1 − 2 ′ c n0 +1 + ′ c n0 +2( ) 2

μ = − ′ c n0 −2 + 2 ′ c n0− ′ c n0 +2( ) 2

ν = − ′ c n0 −2 − 6 ′ c n0 −1 + 6 ′ c n0 +1 + ′ c n0 +2( ) 8

Page 13: B-Spline Channels & Channel Smoothing

13

Computer Vision Laboratory

Quadratic Decoding III

– Step 3: compute energy

– Step 4: sort the decoded values according to their energy(the energy represents the confidence)

E(n0) = λβ 3 3− μβ 2 2 + νβ +

′ c n0 −2 + 24 ′ c n0 −1 + 46 ′ c n0+ 24 ′ c n0 +1 + ′ c n0 +2( ) 48

The decoded values must be shiftedand rescaled to the original interval

Page 14: B-Spline Channels & Channel Smoothing

14

Computer Vision Laboratory

Quantization Effect

Page 15: B-Spline Channels & Channel Smoothing

15

Computer Vision Laboratory

Kernel Density Estimation I

• Given: several realizations of a stochastic variable (samples of the pdf)

• Goal: estimate pdf from samples

• Method: convolve samples with a kernel function

˜ p f( ) =1

Nk f − fn( )

n=1

N

Page 16: B-Spline Channels & Channel Smoothing

16

Computer Vision Laboratory

Kernel Density Estimation II

• Requirements for kernel function:– Non-negative– Integrates to one

• Expectation of estimate:

Ε ˜ p f( )[ ] = k f − ′ f ( ) p ′ f ( )∫ d ′ f = k∗p( ) f( )

Page 17: B-Spline Channels & Channel Smoothing

17

Computer Vision Laboratory

Relation to C.R.

• Adding channel representation of several realizations corresponds to a sampled kernel density estimation

• Ideal interpolation with B-splines possible! €

1

Mcn fm( )

m=1

M

∑ = ˜ p f( )f = n

≈ B2 ∗p( ) f( )f = n

n =1...N

Page 18: B-Spline Channels & Channel Smoothing

18

Computer Vision Laboratory

L2 vs. Robust Optimization

• Outliers are critical for L2 optimization:

• Idea of robust estimation:– error norm is saturated for outliers– Influence function becomes zero for

outliers

f0 = argmin f − f0( )∫2p f( ) df

f0 = f p f( ) df∫Error norm

Influence function

Page 19: B-Spline Channels & Channel Smoothing

19

Computer Vision Laboratory

Robust Error Norm

E

f - f0

Page 20: B-Spline Channels & Channel Smoothing

20

Computer Vision Laboratory

Robust Influence Function

E’

f - f0

Page 21: B-Spline Channels & Channel Smoothing

21

Computer Vision Laboratory

Influence Function of C.R.

Ψ f( ) = B2 f −1( ) − B2 f +1( )

Obtained from lineardecoding:

Page 22: B-Spline Channels & Channel Smoothing

22

Computer Vision Laboratory

Error Norm of C.R.

ρ f( ) = 2B3

1

2

⎝ ⎜

⎠ ⎟− B3 f +

1

2

⎝ ⎜

⎠ ⎟− B3 f −

1

2

⎝ ⎜

⎠ ⎟

Obtained by integrating the influence function:

Page 23: B-Spline Channels & Channel Smoothing

23

Computer Vision Laboratory

Channel Smoothing

Page 24: B-Spline Channels & Channel Smoothing

24

Computer Vision Laboratory

Channel Smoothing Example

• Discontinuity is preserved

• Constant and linear regions are correctly estimated

Page 25: B-Spline Channels & Channel Smoothing

25

Computer Vision Laboratory

Stochastic Signals

• Stochastic signal: single realization of a stochastic process

• Ergodicity assumption:– averaging over several realizations at a

single point

can be replaced with– averaging over a neighborhood of a single

realization

Page 26: B-Spline Channels & Channel Smoothing

26

Computer Vision Laboratory

Ergodicity & C.S.

• Ergodicity often not fulfilled for signals / features, but trivial for channels

• Ergodicity of channels implies that averaging of channels corresponds to (sampled) kernel density estimation

cn f ,x( )x

∑ ≈ B2 ∗p( ) f( )f = n

n =1...N

Page 27: B-Spline Channels & Channel Smoothing

27

Computer Vision Laboratory

Quantization Effect and C.S.

Page 28: B-Spline Channels & Channel Smoothing

28

Computer Vision Laboratory

Outlier Rejection in C.S.

Page 29: B-Spline Channels & Channel Smoothing

29

Computer Vision Laboratory

Applications

• Image denoising

• Infilling of information

• Orientation estimation

• Edge detection

• Corner detection

• Disparity estimation

Page 30: B-Spline Channels & Channel Smoothing

30

Computer Vision Laboratory

Image Denoising

Page 31: B-Spline Channels & Channel Smoothing

31

Computer Vision Laboratory

Infilling of Information

Page 32: B-Spline Channels & Channel Smoothing

32

Computer Vision Laboratory

Orientation Estimation

Page 33: B-Spline Channels & Channel Smoothing

33

Computer Vision Laboratory

Corner Detection

Page 34: B-Spline Channels & Channel Smoothing

34

Computer Vision Laboratory

Corner Detection

Page 35: B-Spline Channels & Channel Smoothing

35

Computer Vision Laboratory

Corner Detection

Page 36: B-Spline Channels & Channel Smoothing

36

Computer Vision Laboratory

Disparity Estimation

Page 37: B-Spline Channels & Channel Smoothing

37

Computer Vision Laboratory

Disparity Estimation

Page 38: B-Spline Channels & Channel Smoothing

38

Computer Vision Laboratory

Further Reading

• B-Spline Channel Smoothing for Robust EstimationFelsberg, M., Forssén, P.-E., Scharr, H. LiTH-ISY-R-2579January, 2004