Practical denoising of clipped or overexposed noisy images - - PowerPoint PPT Presentation

practical denoising of clipped or overexposed noisy
SMART_READER_LITE
LIVE PREVIEW

Practical denoising of clipped or overexposed noisy images - - PowerPoint PPT Presentation

1 TAMPERE UNIVERSITY OF TECHNOLOGY Department of Signal Processing Transforms and Spectral Methods Group Practical denoising of clipped or overexposed noisy images Alessandro Foi www.cs.tut.fi/~foi EUSIPCO-2008 - Lausanne, Switzerland,


slide-1
SLIDE 1

1 TAMPERE UNIVERSITY OF TECHNOLOGY

Department of Signal Processing — Transforms and Spectral Methods Group

Practical denoising of clipped or overexposed noisy images Alessandro Foi

www.cs.tut.fi/~foi EUSIPCO-2008 - Lausanne, Switzerland, 27.9.2008

slide-2
SLIDE 2

2

Clipped noisy data

  • riginal

added noise and then clipped

slide-3
SLIDE 3

3

What is proposed?

Complete framework for the Þltering of clipped observations with signal-dependent noise

Ingredients:

A good (transform-based) denoising algorithm for AWGN Four nonlinear homomorphic transformations: 1) variance-stabilizing transformation [and its 3) inverse] 2) debiasing 4) declipping

slide-4
SLIDE 4

4

Preliminaries

slide-5
SLIDE 5

5

Modeling clipped signal-dependent observations

˜ z(x) = max {0, min {z(x) , 1}} , x ∈ X ⊂ Z2, z(x) = y(x) + σ(y(x)) ξ(x) y : X → Y ⊆ R unknown original image (deterministic) σ(y(x)) ξ(x) zero-mean random error σ : R → R+ standard-deviation function (deterministic) ξ(x) random variable E {ξ(x)} = 0 var {ξ(x)} = 1 y (x) = E {z (x)} expectation σ(y(x)) = std {z(x)} standard deviation

slide-6
SLIDE 6

6

Modeling clipped signal-dependent observations

˜ z(x) = max {0, min {z(x) , 1}} , x ∈ X ⊂ Z2, z(x) = y(x) + σ(y(x)) ξ(x) ˜ z(x) = ˜ y(x) + ˜ σ(˜ y(x)) ˜ ξ(x) ˜ y(x) = E{˜ z(x)} expectation ˜ σ : [0, 1] → R+ standard-deviation function (of expectation) ˜ σ(˜ y(x)) = std {˜ z(x)} standard deviation

slide-7
SLIDE 7

7

Modeling clipped signal-dependent observations

˜ z(x) = max {0, min {z(x) , 1}} , x ∈ X ⊂ Z2, z(x) = y(x) + σ(y(x)) ξ(x) ˜ z(x) = ˜ y(x) + ˜ σ(˜ y(x)) ˜ ξ(x) ˜ y(x) = E{˜ z(x)} expectation ˜ σ : [0, 1] → R+ standard-deviation function (of expectation) ˜ σ(˜ y(x)) = std {˜ z(x)} standard deviation Goal: estimate y from ˜ z

slide-8
SLIDE 8

8

Modeling raw-data

The random error (before clipping) is composed of two mutually independent parts: σ (y (x)) ξ (x) = ηp (y (x)) + ηg (x) ηp Poissonian signal-dependent component ηg Gaussian signal-independent component ¡ y (x) + ηp (y (x)) ¢ χ ∼ P (χy (x)) , χ > 0 ηg (x) ∼ N (0, b) , b > 0 σ2(y(x)) = ay(x) + b, a = χ−1 Normal approximation σ (y (x)) ξ (x) = p ay(x) + bξ (x) , ξ (x) ∼ N (0, 1)

Foi et al., IEEE TIP, Oct. 2008.

slide-9
SLIDE 9

9

(Generalized) Probability distributions

Before clipping: ℘z(ζ) =

1 σ(y)φ

³

ζ−y σ(y)

´ After clipping: ℘˜

z(ζ) = Φ

³

−y σ(y)

´ δ0(ζ) +

1 σ(y)φ

³

ζ−y σ(y)

´ χ[0,1] + ³ 1 − Φ ³

1−y σ(y)

´´ δ0(1 − ζ) φ and Φ are p.d.f. and c.d.f. of N (0, 1)

slide-10
SLIDE 10

10 a = 0.022, 0.062, 0.102 b = 0.042 a = 0.042 b = 0.022, 0.062, 0.102

slide-11
SLIDE 11

11

Clipped ¿ non-clipped

Direct transformations (non-clipped to clipped) ˜ y = A(y, σ(y)) = σ(y) Em ³

y σ(y)

´ − y + 1− σ(y) Em ³

1−y σ(y)

´ ˜ σ(˜ y) = B(y, σ(y)) = σ(y) Sm ³

y σ(y)

´ Sm ³

1−y σ(y)

´ where Em (µ) = Φ(µ) µ + φ(µ) S2

m (µ)

= Φ(µ) + Em (µ) µ − E2

m (µ)

slide-12
SLIDE 12

12

Clipped ¿ non-clipped

Inverse transformations (clipped to non-clipped) y = C(˜ y, ˜ σ(˜ y)) = ˜ yEr ³

˜ y ˜ σ(˜ y)

´ − ˜ y + 1 − (1 − ˜ y) Er ³

1−˜ y ˜ σ(˜ y)

´ σ (y) = D(˜ y, ˜ σ(˜ y)) = ˜ σ (˜ y) Sr ³

˜ y ˜ σ(˜ y)

´ Sr ³

1−˜ y ˜ σ(˜ y)

´ where Er(ρ) = µ/Em(µ) Sr (ρ) = Sm (µ) ρ = Em (µ) Sm (µ)

slide-13
SLIDE 13

13

Algorithm

slide-14
SLIDE 14

14

Algorithm: Step 0, Noise estimation

If σ (or ˜ σ) is known, go ahead. Otherwise, estimate noise. Estimation is possible provided that σ is described by few parameters (e.g., a and b for the raw-data), using algorithm in [Foi et al., IEEE TIP, Oct. 2008].

slide-15
SLIDE 15

15

Algorithm: Step 1, Variance stabilization

Idea: transform ˜ z to f(˜ z) such that var {f(˜ z)} is approximately constant. f(t) = Z t

t0

c ˜ σ(˜ y)d˜ y, t, t0 ∈ [0, 1] Main result: analytical proof that the integral does not diverge (i.e. f is bounded) if b 6= 0, −a (i.e., for all cases of practical interest).

slide-16
SLIDE 16

16

Algorithm: Step 2, Denoising

Denoise f(˜ z) assuming constant variance c2. Dho(f(˜ z)) ≈ E{f(˜ z)} We use BM3D algorithm [Dabov et al., IEEE TIP, Aug. 2007].

slide-17
SLIDE 17

17

Algorithm: Step 3, Debiasing

Dho(f(˜ z)) ≈ E{f(˜ z)} 6= f(E{˜ z})

slide-18
SLIDE 18

18

Algorithm: Step 3, Debiasing

Dho(f(˜ z)) ≈ E{f(˜ z)} 6= f(E{˜ z}) E{f(˜ z)} = R 1

0 f(ζ) ℘˜ z(ζ) dζ =

R 1

0 f(ζ)

1 σ(y)φ ³

ζ−y σ(y)

´ dζ + f(1) ³ 1 − Φ ³

1−y σ(y)

´´ f(E{˜ z}) = f ¡R 1

0 ζ℘˜ z(ζ) dζ

¢ = f ³R 1

0 ζ

¡ Φ ¡ −y

σ(y)

¢ δ0(ζ)+

1 σ(y)φ

¡ζ−y

σ(y)

¢ χ[0,1]+ ¡ 1 − Φ ¡1−y

σ(y)

¢¢ δ0(1 − ζ) ¢ dζ ´

slide-19
SLIDE 19

19

Algorithm: Step 3, Debiasing

Dho(f(˜ z)) ≈ E{f(˜ z)} 6= f(E{˜ z}) E{f(˜ z)} = R 1

0 f(ζ) ℘˜ z(ζ) dζ =

R 1

0 f(ζ)

1 σ(y)φ ³

ζ−y σ(y)

´ dζ + f(1) ³ 1 − Φ ³

1−y σ(y)

´´ f(E{˜ z}) = f ¡R 1

0 ζ℘˜ z(ζ) dζ

¢ = f ³R 1

0 ζ

¡ Φ ¡ −y

σ(y)

¢ δ0(ζ)+

1 σ(y)φ

¡ζ−y

σ(y)

¢ χ[0,1]+ ¡ 1 − Φ ¡1−y

σ(y)

¢¢ δ0(1 − ζ) ¢ dζ ´ Let h : [0, f(1)] → [0, f(1)] be the function deÞned (implicitly varying y) by f(E{˜ z})

h

7− → E{f(˜ z)}

slide-20
SLIDE 20

20

Algorithm: Step 3, Debiasing

Dho(f(˜ z)) ≈ E{f(˜ z)} 6= f(E{˜ z}) E{f(˜ z)} = R 1

0 f(ζ) ℘˜ z(ζ) dζ =

R 1

0 f(ζ)

1 σ(y)φ ³

ζ−y σ(y)

´ dζ + f(1) ³ 1 − Φ ³

1−y σ(y)

´´ f(E{˜ z}) = f ¡R 1

0 ζ℘˜ z(ζ) dζ

¢ = f ³R 1

0 ζ

¡ Φ ¡ −y

σ(y)

¢ δ0(ζ)+

1 σ(y)φ

¡ζ−y

σ(y)

¢ χ[0,1]+ ¡ 1 − Φ ¡1−y

σ(y)

¢¢ δ0(1 − ζ) ¢ dζ ´ Let h : [0, f(1)] → [0, f(1)] be the function deÞned (implicitly varying y) by f(E{˜ z})

h

7− → E{f(˜ z)} Debiasing h−1(Dho(f(˜ z))) ≈ f(E{˜ z})

slide-21
SLIDE 21

21

Algorithm: Step 3, Debiasing

Dho(f(˜ z)) ≈ E{f(˜ z)} 6= f(E{˜ z}) E{f(˜ z)} = R 1

0 f(ζ) ℘˜ z(ζ) dζ =

R 1

0 f(ζ)

1 σ(y)φ ³

ζ−y σ(y)

´ dζ + f(1) ³ 1 − Φ ³

1−y σ(y)

´´ f(E{˜ z}) = f ¡R 1

0 ζ℘˜ z(ζ) dζ

¢ = f ³R 1

0 ζ

¡ Φ ¡ −y

σ(y)

¢ δ0(ζ)+

1 σ(y)φ

¡ζ−y

σ(y)

¢ χ[0,1]+ ¡ 1 − Φ ¡1−y

σ(y)

¢¢ δ0(1 − ζ) ¢ dζ ´ Let h : [0, f(1)] → [0, f(1)] be the function deÞned (implicitly varying y) by f(E{˜ z})

h

7− → E{f(˜ z)} Debiasing h−1(Dho(f(˜ z))) ≈ f(E{˜ z}) Caution: in image processing literature it is always assumed E{f(˜ z)}=f(E{˜ z})

Arsenault and Denis, “Integral expression for transforming signal-dependent noise..”, Optics Letters, 1981. Prucnal and Saleh, “Transformation of image-signal-dependent noise into...”, Optics Letters, 1981. Kasturi, Walkup, and Krile, “Image restoration by transformation of signal-dependent noise...”,App.Optics, 1983. Hirakawa and Parks, “Image denoising using total least squares”, IEEE Trans. Image Process., 2006.

slide-22
SLIDE 22

22

Algorithm: Step 4, Inversion of f

f−1¡ h−1(Dho(f(˜ z))) ¢ ≈ f−1¡ f(E{˜ z}) ¢ = E{˜ z} This provides an estimate b ˜ y of ˜ y

slide-23
SLIDE 23

23

Algorithm: Step 4, Inversion of f

f−1¡ h−1(Dho(f(˜ z))) ¢ ≈ f−1¡ f(E{˜ z}) ¢ = E{˜ z}

Algorithm: Step 5, Declipping

Recall y = C(˜ y, ˜ σ(˜ y)) and deÞne b ˜ y = f −1¡ h−1(Dho(f(˜ z))) ¢ Declipping ˆ y = C ³ b ˜ y, ˜ σ ³ b ˜ y ´´

slide-24
SLIDE 24

24

Experiments

slide-25
SLIDE 25

25

Observations ˜ z

y (x1, x2) = 0.7 sin µ 2π 512x1 ¶ + 0.5

slide-26
SLIDE 26

26

Noise estimation

estimation and Þtting ˆ a = 0.0038 ˆ b = 0.022 st.dev.-function ˜ σ

slide-27
SLIDE 27

27

f and h−1

variance-stabilizing f debiasing h−1

slide-28
SLIDE 28

28

Denoised estimate before declipping

slide-29
SLIDE 29

29

Declipped estimate

slide-30
SLIDE 30

30

Declipped estimate

slide-31
SLIDE 31

31

Cross section

slide-32
SLIDE 32

32

Observations ˜ z

Raw-data from FujiÞlm FinePix S9600, ISO 1600

slide-33
SLIDE 33

33

Noise estimation

estimation and Þtting ˆ a = 0.0043 ˆ b = 0.00038 st.dev.-function ˜ σ

slide-34
SLIDE 34

34

f and h−1

variance-stabilizing f debiasing h−1

slide-35
SLIDE 35

35

Denoised estimate before declipping

slide-36
SLIDE 36

36

Declipped estimate

slide-37
SLIDE 37

37

Declipped estimate

slide-38
SLIDE 38

38

Cross section

slide-39
SLIDE 39

39

Related works

Noise estimation

  • A. Foi, M. Trimeche, V. Katkovnik, and K. Egiazarian, “Practical Poissonian-Gaussian

noise modeling and Þtting for single-image raw-data”, to appear in IEEE Trans. Image

  • Process. (October 2008)

Multiframe raw-data

  • G. Boracchi and A. Foi, “Multiframe raw-data denoising based on block-matching and 3-D

Þltering for low-light imaging and stabilization”, Proc. LNLA 2008, August 2008.

slide-40
SLIDE 40

40

Matlab software www.cs.tut.fi/~foi/sensornoise.html