WuYang: Difference between revisions
imported>Projects221 |
imported>Projects221 |
||
| Line 37: | Line 37: | ||
'''Choice of weighting function''' | '''Choice of weighting function''' | ||
Of particular importance here was the choice of the weighting function. | Of particular importance here was the choice of the weighting function. The weighting function is the weight any particular intermediate deconvolved image (any image in Figure 2c) has in the construction of the final output image. In the first naive approach, we used a rectangular windowing function, where we simply cropped parts of the intermediate deconvolved images in order to piece together the final deconvolved image, as shown in Figure 2d. Note the grid artifact created by the boundaries where the subimages are stitched together. The scene in this case was a slanted bar resolution target. We found a much better approach was to use a triangle function which linearly blends adjacent subimages together, as shown in Figure 2e. The triangle window function was used for the remainder of the experiments. | ||
== Modulation Transfer Function Characterization == | == Modulation Transfer Function Characterization == | ||
Revision as of 20:45, 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.
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. The weighting function is the weight any particular intermediate deconvolved image (any image in Figure 2c) has in the construction of the final output image. In the first naive approach, we used a rectangular windowing function, where we simply cropped parts of the intermediate deconvolved images in order to piece together the final deconvolved image, as shown in Figure 2d. Note the grid artifact created by the boundaries where the subimages are stitched together. The scene in this case was a slanted bar resolution target. We found a much better approach was to use a triangle function which linearly blends adjacent subimages together, as shown in Figure 2e. The triangle window function was used for the remainder of the experiments.
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