image deblurring
play

Image Deblurring Seungyong Lee POSTECH 1 Contents Fast Motion - PowerPoint PPT Presentation

Image Deblurring Seungyong Lee POSTECH 1 Contents Fast Motion Deblurring (Siggraph Asia 2009) Non-uniform Motion Deblurring for Camera Shakes using Image Registration (Siggraph 2011 Talks) Text Deblurring (an ongoing project) 2


  1. Image Deblurring Seungyong Lee POSTECH 1

  2. Contents • Fast Motion Deblurring (Siggraph Asia 2009) • Non-uniform Motion Deblurring for Camera Shakes using Image Registration (Siggraph 2011 Talks) • Text Deblurring (an ongoing project) 2

  3. Fast Motion Deblurring Sunghyun Cho Seungyong Lee POSTECH POSTECH 3

  4. Motion blur • Camera jitters Latent sharp image Blurred image 4

  5. Image formation model • Convolution – Motion blur kernel • Trace of a sensor Blurred image Latent sharp image Blur kernel * : convolution operator 5

  6. Deblurring • Non-blind deconvolution – Ill-posed (Due to the loss of information caused by motion blur) Blurred image Latent image PSF • Blind deconvolution – Severely ill-posed Blurred image Latent image PSF 6

  7. Blind deconvolution Possible solutions • Severely ill-posed problem – No unique solution Blurred image 7

  8. Related work • Parametric kernels – Ex) 1D linear motion blur – [Yitzhakey et al. 1998], [Rav-Acha and Peleg 2005], [Cho et al. 2007], [Money and Kang 2008], … Blurred image Latent sharp image PSF 8

  9. Related work • More complex motion blur – [Fergus et al. 2006], [Jia 2007], [Shan et al. 2008] – Excessive amount of computation Blurred image Latent sharp image PSF 9

  10. Motivation • Computation time  Important for practical purpose • Previous methods are slow [Fergus et al. 2006] took 1 hr 25 min. [Shan et al. 2008] took 4 min 48 sec. Our method took 5.766 sec. in CPU and 0.734 sec. using GPU accel. Image size: 640 x 480 kernel size: 25 x 25 10

  11. Contributions • Fast motion deblurring – Only a few sec. – Fast latent image estimation – Fast blur kernel estimation  40x ~ 60x faster than [Shan et al. 2008] – GPU acceleration  600x ~ 800x faster than [Shan et al. 2008] 11

  12. Motion deblurring: Common framework • Iteratively solve 1. Estimate a PSF Blurred image Latent image PSF 2. Estimate a latent sharp image using a complex image prior Blurred image Latent image PSF 12

  13. Motion deblurring: Common framework • Blur model * B L K N Blurred image B Latent image L Blur kernel K Noise N • Energy function 2 ( , ) * ( ) ( ) f L K B L K q L r K * : convolution operator q ( L ) , r ( K ) : regularization terms or priors for L, K 13

  14. Motion deblurring: Common framework Blurred image Latent image estimation Kernel estimation 2 2 ' argmin * ( ) L B L K q L ' argmin * ( ) K B L K r K L K Deblurred result 14

  15. Motion deblurring: Common framework Kernel estimation Blurred image 15

  16. Motion deblurring: Common framework Kernel estimation 1 st latent image estimation 16

  17. Motion deblurring: Common framework 1 st kernel estimation 1 st latent image estimation 17

  18. Motion deblurring: Common framework 1 st kernel estimation 3 rd latent image estimation 18

  19. Motion deblurring: Common framework 3 rd kernel estimation 3 rd latent image estimation 19

  20. Motion deblurring: Common framework 3 rd kernel estimation 5 th latent image estimation 20

  21. Motion deblurring: Common framework 5 th kernel estimation 5 th latent image estimation 21

  22. Motion deblurring: Common framework 5 th kernel estimation 7 th latent image estimation 22

  23. Motion deblurring: Common framework 7 th kernel estimation 7 th latent image estimation We analyzed and accelerated Both estimation steps are slow both estimation steps 23

  24. Latent image estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Two important properties – Restoration of strong edges • Inspecting around strong edges, we can find a blur kernel – Noise suppression in smooth regions Blurry input Latent image • Avoids the effect of noise estimation of on kernel estimation [Shan et al. 2008] 24

  25. Latent image estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Two important properties – Restoration of strong edges • Inspecting around strong edges, we can find a blur kernel – Noise suppression in smooth regions Blurry input Latent image • Avoids the effect of noise estimation of on kernel estimation [Shan et al. 2008] 25

  26. Latent image estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Two important properties – Restoration of strong edges • Inspecting around strong edges, we can find a blur kernel – Noise suppression in smooth regions Blurry input Latent image • Avoids the effect of noise estimation of on kernel estimation [Shan et al. 2008] 26

  27. Latent image estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Two important properties – Restoration of strong edges • Inspecting around strong edges, we can find a blur kernel – Noise suppression in smooth regions Blurry input Latent image • Avoids the effect of noise estimation of on kernel estimation [Shan et al. 2008] • Computationally expensive priors for q ( L ) 2 ' argmin * ( ) L B L K q L L 27

  28. Latent image estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Basic idea for acceleration Latent image estimation We divide… Simple Deconvolution Prediction Removes blur quickly Restores strong edges Low-quality results Removes noise Simple image processing tools 28

  29. Latent image estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Basic idea for acceleration Simple Deconvolution Prediction Current kernel Updated kernel 29

  30. Kernel estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Previous methods estimate a blur kernel K by optimizing: 2 ' argmin * ( ) K B L K r K K • B : a blurred image • L : a latent sharp image • K : a blur kernel • r ( K ) : a regularization term for K 30

  31. Kernel estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Previous methods estimate a blur kernel K by optimizing: 2 ' argmin * ( ) K B L K r K K • The simplest case: r ( K ) ≡ α | K | 2 ( α : a scalar value) • Then, K can be found by solving: L : a matrix rep. of L k : a vector rep. of K T T L Lk k L b b : a vector rep. of B • which can be solved by a conjugate gradient (CG) method • L T Lk is computed for each CG iteration 31

  32. Kernel estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Analysis of prev. methods • Computing L T Lk – Convolutions & correlations – Lk  L*K – L T Lk  L * correl ( L * K ) – Conv. & corr. can be accelerated using FFTs – 4 FFTs per CG iter. for computing L T Lk • A CG method needs to iterate… • 4 FFTs x 30 CG iters = 120 FFTs… 32

  33. Kernel estimation: Blurred image Deblurred result Latent image Kernel estimation estimation Basic idea for acceleration • Energy function using derivative images: 2 2 ' argmin * K B L K a K K ∂ : partial differential operator • With deriv. images, we can avoid boundary problem of FFTs • ∂ L T ∂ Lk can be computed using 2 FFTs • CG iterations converge faster with derivative images 33

  34. Deblurring process Blurred image Final Prediction Kernel estimation Deconvolution deconvolution Deblurred result * Deconvolution + prediction = latent image estimation 34

  35. Results • Implementation – CPU version • C++, OpenCV, FFTW – GPU accelerated version • BSGP [Hou et al. 2008] – Easy GPGPU language • CUDA FFT library • Testing environment – PC running MS Windows XP 32 bit ver. – Intel Core2 Quad CPU 2.66 GHz – 3.25GB RAM – NVIDIA GeForce GTX 280 Graphics card 35

  36. Results Blurry input Our result Blur kernel Processing time Processing time Image size Blur kernel size (CPU) (GPU) 1024 x 768 49 x 47 18.656 sec. 2.125 sec. 36

  37. Results Blurry input Our result Blur kernel Processing time Processing time Image size Blur kernel size (CPU) (GPU) 972 x 966 65 x 93 18.813 sec. 5.766 sec. 37

  38. Results Blur kernel Blurry input Our result Processing time Processing time Image size Blur kernel size (CPU) (GPU) 858 x 558 61 x 43 8.969 sec. 0.703 sec. 38

  39. Comparison (quality) Blurry input [Yuan et al. 2007] [Shan et al. 2008] our method * This method uses two input images. 39

  40. Comparison (processing time) • [Shan et al. 2008] vs. Our method Size Processing time (sec.) Image Shan et al. Our method Our method Image PSF (CPU) (CPU) (GPU) Picasso 800 x 532 27 x 19 360 7.485 0.609 Statue 903 x 910 25 x 25 762 15.891 0.984 Night 836 x 804 27 x 21 762 13.813 0.937 Red tree 454 x 588 27 x 27 309 4.703 0.438 * Processing times of our CPU code are updated from our paper 40

  41. Demo video • Demo video 41

  42. Conclusion and future work • Deblurring method fast enough for practical use – Efficient latent image estimation – Efficient kernel estimation • Limitation and future work – Sharp edge assumption – Noise and saturation – Non-uniform blur 42

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend