WuYang: Difference between revisions

From Psych 221 Image Systems Engineering
Jump to navigation Jump to search
imported>Projects221
imported>Projects221
Line 34: Line 34:


== Spatially Varying Deconvolution ==
== Spatially Varying Deconvolution ==
Once we had our PSFs measured, along with simulated (potentially noisy) data, we then implemented a spatially varying deconvolution. This was done by first cropping out a slightly larger region of the input blurry image and deconvolving it using the image region's local PSF with Lucy-Richardson deconvolution. Once this was repeated for each subimage, the final output image was formed as a weighted combination of the deconvolved images.
Once we had our PSFs measured, along with simulated (potentially noisy) data, we then implemented a spatially varying deconvolution. This was done by first deconvolving the blurred image using the image region's local PSF with Lucy-Richardson deconvolution. Figure 2c shows the intermediate result, which is a stack of images, each deconvolved with a different PSF that's optimal for only its specific region of the image. Once this was repeated for each subimage, the final output image was formed as a weighted combination of the deconvolved images.
 
'''Choice of weighting function'''
Of particular importance here was the choice of the weighting function.


== Modulation Transfer Function Characterization ==
== Modulation Transfer Function Characterization ==

Revision as of 20:41, 16 March 2014

Back to Psych 221 Projects 2014

PSF analysis and image deblurring using a simulated camera lens

Introduction

Motivate the problem. Describe what has been done in the past.

The image capture process in often produce a sampled image that contains a blurred signal due to various optical parameters, including the lens and sensor objects. With the knowledge of the blur, which is fully characterized by a set of point spread functions, one for each position in the scene, it is possible to recover a sharp image by deblurring the captured imaging using the known point spread functions using deconvolution. In this way, it is possible to computationally correct for optical aberrations in the camera system.

The first column of Figure 1 shows the scene (ground truth image) whereas the second column shows the blurred simulated image. The goal of this project it to recover the sharp image from the blurred image using a spatially varying deconvolution from the known point spread functions.


File:Deconvolution comparison checkerboard.png
Figure 1 - Motivation for spatially varying deconvolution

Background

What is known from the literature.

Much work as been done in the areas of blind and non-blind image deconvolution. [1] discusses the use of deconvolution to compensate for lens aberrations. Some methods are available which attempt to indirectly estimate the point spread function (PSF), such as the work in [2] which uses sharp edges to estimate the PSF, but this is challenging and requires regularization which can result in oversmoothing. More accurate approaches for determining the PSF involve directly measuring the PSF through some calibration process, but this can be time consuming. In [3], the authors develop a method for extending a PSF calibration measurement done at a single depth, to other depths, greatly minimizing the amount of calibration data necessary for acquiring the PSF data. To simplify this process further, the authors in [4] developed a method for calibration relying only on imaging a binary white noise target, and introduce the use of a novel cross channel prior in their optimization formalization for estimating the PSFs. FInally, in [5] the concept of using a calibration target for forming a well posed inverse problem for solving the the PSFs is extended to perform with sub pixel accuracy. Overall, these methods involve accurate estimation of the spatially varying PSFs and then deconvolution to remove the blur introduced by the optics.

Methods

Describe techniques you used to measure and analyze. Describe the instruments, and experimental procedures in enough detail so that someone could repeat your analysis. What software did you use? What was the idea of the algorithms and data analysis?

Image Simulations

All data used in this project was simulated using Image Systems Engineering Toolbox (ISET) (http://imageval.com/).

We used the Zemax ray tracing data found in rtZemaxExample.mat.

Image Formation Model

A scene image radiance, assumed to be planar (at the same fixed depth) is used as input to an optical ray tracing simulation which captures any optical blurring introduced in the sampling process within the camera. Next, various types of sensor noise are included to produce the final simulated output image. We used a monochromatic camera sensor for all of the simulations. The first column of Figure 1 shows sample input scenes.

Measuring Point Spread Functions

To accurately measure the point spread functions, we simulated an image of a grid of points, shown in Figure 2a. We ran this simulation with no sensor noise, so as to get a measurement most resembling the PSFs as measured in the ideal case. Afterwards, we cropped the resulting image to get a PSF for each region of the output image. Figure 2b shows cropped images of the PSFs, which are spatially varying.

Spatially Varying Deconvolution

Once we had our PSFs measured, along with simulated (potentially noisy) data, we then implemented a spatially varying deconvolution. This was done by first deconvolving the blurred image using the image region's local PSF with Lucy-Richardson deconvolution. Figure 2c shows the intermediate result, which is a stack of images, each deconvolved with a different PSF that's optimal for only its specific region of the image. Once this was repeated for each subimage, the final output image was formed as a weighted combination of the deconvolved images.

Choice of weighting function Of particular importance here was the choice of the weighting function.

Modulation Transfer Function Characterization

The modulation transfer function (MTF) was characterized according to the standard ISO 12233. A slanted bar image was simulated and deconvolved using our method with various levels of noise and the resulting output was analyzed according to the ISO 12233 standard.

Noise Performance Characterization

We characterized the performance of the deconvolution method with various types of noise and noise levels according to the visual signal to noise metric (VSNR).

Results

Organize your results in a good logical order (not necessarily historical order). Include relevant graphs and/or images. Make sure graph axes are labeled. Make sure you draw the reader's attention to the key element of the figure. The key aspect should be the most visible element of the figure or graph. Help the reader by writing a clear figure caption.

Conclusions

Describe what you learned. What worked? What didn't? Why? What should someone next year try?

References

List references. Include links to papers that are online.

[1] Scalettar, B. A., et al. "Dispersion, aberration and deconvolution in multi‐wavelength fluorescence images." Journal of microscopy 182.1 (1996): 50-60.

[2] Joshi, Neel, Richard Szeliski, and David Kriegman. "PSF estimation using sharp edge prediction." Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2008.

[3] Shih, Yichang, Brian Guenter, and Neel Joshi. "Image enhancement using calibrated lens simulations." Computer Vision–ECCV 2012. Springer Berlin Heidelberg, 2012. 42-56.

[4] Heide, Felix, et al. "High-quality computational imaging through simple lenses." ACM Transactions on Graphics (TOG) 32.5 (2013): 149.

[5] Delbracio, Mauricio, Pablo Musé, and Andrés Almansa. "Non-parametric sub-pixel local point spread function estimation." Image Processing On Line (2012).

Appendix I

Upload source code, test images, etc, and give a description of each link. In some cases, your acquired data may be too large to store practically. In this case, use your judgement (or consult one of us) and only link the most relevant data. Be sure to describe the purpose of your code and to edit the code for clarity. The purpose of placing the code online is to allow others to verify your methods and to learn from your ideas.



Image Systems Engineering Toolbox http://imageval.com/

Appendix II

(for groups only) - Work breakdown. Explain how the project work was divided among group members.

Tony Wu

Samuel Yang