practical denoising of clipped or overexposed noisy
play

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,


  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

  2. 2 Clipped noisy data original added noise and then clipped

  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

  4. 4 Preliminaries

  5. 5 Modeling clipped signal-dependent observations x ∈ X ⊂ Z 2 , z ( x ) = max { 0 , min { z ( x ) , 1 }} , ˜ 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

  6. 6 Modeling clipped signal-dependent observations x ∈ X ⊂ Z 2 , z ( x ) = max { 0 , min { z ( x ) , 1 }} , ˜ z ( x ) = y ( x ) + σ ( y ( x )) ξ ( x ) y ( x )) ˜ z ( 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

  7. 7 Modeling clipped signal-dependent observations x ∈ X ⊂ Z 2 , z ( x ) = max { 0 , min { z ( x ) , 1 }} , ˜ z ( x ) = y ( x ) + σ ( y ( x )) ξ ( x ) y ( x )) ˜ z ( 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

  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 p Normal approximation σ ( y ( x )) ξ ( x ) = ay ( x ) + bξ ( x ) , ξ ( x ) ∼ N (0 , 1) Foi et al., IEEE TIP, Oct. 2008.

  9. 9 (Generalized) Probability distributions Before clipping: ³ ´ ζ − y 1 ℘ z ( ζ ) = σ ( y ) φ σ ( y ) After clipping: ³ ´ ³ ´ ³ ³ ´´ − y ζ − y 1 − y 1 ℘ ˜ z ( ζ ) = Φ δ 0 ( ζ ) + σ ( y ) φ χ [0 , 1] + 1 − Φ δ 0 (1 − ζ ) σ ( y ) σ ( y ) σ ( y ) φ and Φ are p.d.f. and c.d.f. of N (0 , 1)

  10. 10 a = 0 . 02 2 , 0 . 06 2 , 0 . 10 2 b = 0 . 04 2 a = 0 . 04 2 b = 0 . 02 2 , 0 . 06 2 , 0 . 10 2

  11. 11 Clipped ¿ non-clipped Direct transformations (non-clipped to clipped) ³ ´ ³ ´ y 1 − y y = A ( y, σ ( y )) = σ ( y ) E m ˜ − y + 1 − σ ( y ) E m σ ( y ) σ ( y ) ³ ´ ³ ´ y 1 − y σ (˜ ˜ y ) = B ( y, σ ( y )) = σ ( y ) S m S m σ ( y ) σ ( y ) where E m ( µ ) = Φ ( µ ) µ + φ ( µ ) S 2 Φ ( µ ) + E m ( µ ) µ − E 2 m ( µ ) = m ( µ )

  12. 12 Clipped ¿ non-clipped Inverse transformations (clipped to non-clipped) ³ ´ ³ ´ y ˜ 1 − ˜ y y = C (˜ y, ˜ σ (˜ y )) = ˜ y E r − ˜ y + 1 − (1 − ˜ y ) E r σ (˜ ˜ y ) σ (˜ ˜ y ) σ (˜ ˜ y ) ³ ´ ³ ´ σ ( y ) = D (˜ y, ˜ σ (˜ y )) = y ˜ 1 − ˜ y S r S r σ (˜ ˜ y ) ˜ σ (˜ y ) where ρ = E m ( µ ) E r ( ρ ) = µ/ E m ( µ ) S r ( ρ ) = S m ( µ ) S m ( µ )

  13. 13 Algorithm

  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 ].

  15. 15 Algorithm: Step 1, Variance stabilization Idea: transform ˜ z to f (˜ z ) such that var { f (˜ z ) } is approximately constant. Z t c f ( t ) = y ) d ˜ y, t, t 0 ∈ [0 , 1] ˜ σ (˜ t 0 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).

  16. 16 Algorithm: Step 2, Denoising z ) assuming constant variance c 2 . Denoise f (˜ D ho ( f (˜ z )) ≈ E { f (˜ z ) } We use BM3D algorithm [ Dabov et al., IEEE TIP, Aug. 2007 ].

  17. 17 Algorithm: Step 3, Debiasing D ho ( f (˜ z )) ≈ E { f (˜ z ) } 6 = f ( E { ˜ z } )

  18. 18 Algorithm: Step 3, Debiasing D ho ( f (˜ z )) ≈ E { f (˜ z ) } 6 = f ( E { ˜ z } ) ³ ´ ³ ³ ´´ R 1 R 1 1 ζ − y 1 − y E { f (˜ z ) } = 0 f ( ζ ) ℘ ˜ z ( ζ ) dζ = 0 f ( ζ ) σ ( y ) φ dζ + f (1) 1 − Φ σ ( y ) σ ( y ) ³R 1 ´ ¡R 1 ¢ ¡ ¡ − y ¢ ¡ ζ − y ¢ ¡ ¡ 1 − y ¢¢ ¢ 1 f ( E { ˜ z } ) = f 0 ζ℘ ˜ z ( ζ ) dζ = f 0 ζ Φ δ 0 ( ζ )+ σ ( y ) φ χ [0 , 1] + 1 − Φ δ 0 (1 − ζ ) dζ σ ( y ) σ ( y ) σ ( y )

  19. 19 Algorithm: Step 3, Debiasing D ho ( f (˜ z )) ≈ E { f (˜ z ) } 6 = f ( E { ˜ z } ) ³ ´ ³ ³ ´´ R 1 R 1 1 ζ − y 1 − y E { f (˜ z ) } = 0 f ( ζ ) ℘ ˜ z ( ζ ) dζ = 0 f ( ζ ) σ ( y ) φ dζ + f (1) 1 − Φ σ ( y ) σ ( y ) ³R 1 ´ ¡R 1 ¢ ¡ ¡ − y ¢ ¡ ζ − y ¢ ¡ ¡ 1 − y ¢¢ ¢ 1 f ( E { ˜ z } ) = f 0 ζ℘ ˜ z ( ζ ) dζ = f 0 ζ Φ δ 0 ( ζ )+ σ ( y ) φ χ [0 , 1] + 1 − Φ δ 0 (1 − ζ ) dζ σ ( y ) σ ( y ) σ ( y ) Let h : [0 , f (1)] → [0 , f (1)] be the function de Þ ned (implicitly varying y ) by h f ( E { ˜ z } ) 7 − → E { f (˜ z ) }

  20. 20 Algorithm: Step 3, Debiasing D ho ( f (˜ z )) ≈ E { f (˜ z ) } 6 = f ( E { ˜ z } ) ³ ´ ³ ³ ´´ R 1 R 1 1 ζ − y 1 − y E { f (˜ z ) } = 0 f ( ζ ) ℘ ˜ z ( ζ ) dζ = 0 f ( ζ ) σ ( y ) φ dζ + f (1) 1 − Φ σ ( y ) σ ( y ) ³R 1 ´ ¡R 1 ¢ ¡ ¡ − y ¢ ¡ ζ − y ¢ ¡ ¡ 1 − y ¢¢ ¢ 1 f ( E { ˜ z } ) = f 0 ζ℘ ˜ z ( ζ ) dζ = f 0 ζ Φ δ 0 ( ζ )+ σ ( y ) φ χ [0 , 1] + 1 − Φ δ 0 (1 − ζ ) dζ σ ( y ) σ ( y ) σ ( y ) Let h : [0 , f (1)] → [0 , f (1)] be the function de Þ ned (implicitly varying y ) by h f ( E { ˜ z } ) 7 − → E { f (˜ z ) } h − 1 ( D ho ( f (˜ z ))) ≈ f ( E { ˜ z } ) Debiasing

  21. 21 Algorithm: Step 3, Debiasing D ho ( f (˜ z )) ≈ E { f (˜ z ) } 6 = f ( E { ˜ z } ) ³ ´ ³ ³ ´´ R 1 R 1 1 ζ − y 1 − y E { f (˜ z ) } = 0 f ( ζ ) ℘ ˜ z ( ζ ) dζ = 0 f ( ζ ) σ ( y ) φ dζ + f (1) 1 − Φ σ ( y ) σ ( y ) ³R 1 ´ ¡R 1 ¢ ¡ ¡ − y ¢ ¡ ζ − y ¢ ¡ ¡ 1 − y ¢¢ ¢ 1 f ( E { ˜ z } ) = f 0 ζ℘ ˜ z ( ζ ) dζ = f 0 ζ Φ δ 0 ( ζ )+ σ ( y ) φ χ [0 , 1] + 1 − Φ δ 0 (1 − ζ ) dζ σ ( y ) σ ( y ) σ ( y ) Let h : [0 , f (1)] → [0 , f (1)] be the function de Þ ned (implicitly varying y ) by h f ( E { ˜ z } ) 7 − → E { f (˜ z ) } h − 1 ( D ho ( f (˜ z ))) ≈ f ( E { ˜ z } ) Debiasing 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.

  22. 22 Algorithm: Step 4, Inversion of f f − 1 ¡ ¢ ≈ f − 1 ¡ ¢ h − 1 ( D ho ( f (˜ z ))) f ( E { ˜ z } ) = E { ˜ z } This provides an estimate b ˜ y of ˜ y

  23. 23 Algorithm: Step 4, Inversion of f f − 1 ¡ ¢ ≈ f − 1 ¡ ¢ h − 1 ( D ho ( f (˜ z ))) f ( E { ˜ z } ) = E { ˜ z } Algorithm: Step 5, Declipping y = f − 1 ¡ ¢ y )) and de Þ ne b h − 1 ( D ho ( f (˜ Recall y = C (˜ y, ˜ σ (˜ ˜ z ))) ³ ³ ´´ b b y = C ˆ ˜ y, ˜ σ y ˜ Declipping

  24. 24 Experiments

  25. 25 Observations ˜ z µ 2 π ¶ y ( x 1 , x 2 ) = 0 . 7 sin 512 x 1 + 0 . 5

  26. 26 Noise estimation a = 0 . 0038 ˆ estimation and Þ tting ˆ b = 0 . 022 st.dev.-function ˜ σ

  27. 27 f and h − 1 debiasing h − 1 variance-stabilizing f

  28. 28 Denoised estimate before declipping

  29. 29 Declipped estimate

  30. 30 Declipped estimate

  31. 31 Cross section

  32. 32 Observations ˜ z Raw-data from Fuji Þ lm FinePix S9600, ISO 1600

  33. 33 Noise estimation a = 0 . 0043 ˆ estimation and Þ tting ˆ b = 0 . 00038 st.dev.-function ˜ σ

  34. 34 f and h − 1 debiasing h − 1 variance-stabilizing f

  35. 35 Denoised estimate before declipping

  36. 36 Declipped estimate

  37. 37 Declipped estimate

  38. 38 Cross section

  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.

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

Recommend


More recommend