CP-lecture14-Deconvolution

Outline

  • Sources of blur
  • Deconvolution
  • Blind deconvolution

Why are our images blurry?

Lens imperfections

P10
  • aberration
    • chromatic aberration
    • diffraction 衍射
      P12
  • Camera shake
  • Scene motion
  • Depth defocus

Point spread function (PSF): The blur kernel of a lens
P29
x ∗ c = b ⇒ F ( x ) ⋅ F ( c ) = F ( b ) ⇒ F ( x est ) = F ( b ) / F ( c ) ⇒ x est = F − 1 ( F ( b ) / F ( c ) ) \begin{aligned} & x * c = b \\ \Rightarrow & F(x) \cdot F(c) = F(b) \\ \Rightarrow & F(x_{\text{est}}) = F(b) / F(c) \\ \Rightarrow & x_{\text{est}} = F^{-1}(F(b)/F(c)) \\ \end{aligned} xc=bF(x)F(c)=F(b)F(xest)=F(b)/F(c)xest=F1(F(b)/F(c))
Problem with this approach:
P35
P36

Deconvolution

Wiener Deconvolution

x est = F − 1 ( ∣ F ( c ) ∣ 2 ∣ F ( c ) + 1 / SNR ( ω ) ∣ ⋅ F ( b ) F ( c ) ) x_\text{est} = F^{-1}\left( \frac{|F(c)|^2}{|F(c)+1 / \text{SNR}(\omega)|} \cdot \frac{F(b)}{F(c)} \right) xest=F1(F(c)+1/SNR(ω)F(c)2F(c)F(b))
recall that SNR ( w ) = signal variance at  ω noise variance at  ω \text{SNR}(w) = \dfrac{\text{signal variance at }\omega}{\text{noise variance at }\omega} SNR(w)=noise variance at ωsignal variance at ω
intuitively:

  • when SNR is high (low noise), just devide by kernel
  • shen SNR is low (high noise), just set to zero
    P39

ADMM Deconvoution

skipped

Blind deconvolution

P91 There are multiple possible solutions, how do we detect which one is good? P94

Use prior information!
P99

P106 P107

Can we solve all of these problems using (blind) deconvolution?

  • We can deal with (some) lens imperfections and camera shake, because their blur is shift invariant.
  • We cannot deal with scene motion and depth defocus, because their blur is not shift invariant.
  • See coded photography lecture.

reference:

  • CMU 15-463: lecture 14

猜你喜欢

转载自blog.csdn.net/w112348/article/details/113866466
cp