PetykiewiczBuckley: Difference between revisions
imported>Psych2012 |
imported>Psych2012 |
||
| Line 14: | Line 14: | ||
<br><math>I^d_k = \frac{I_{k-1}^a-I_k^a}{I_k^a}</math> | <br><math>I^d_k = \frac{I_{k-1}^a-I_k^a}{I_k^a}</math> | ||
<br>An example of original, approximation and detail images is shown below. | <br>An example of original, approximation and detail images is shown below. | ||
{| cellpadding="2" style="border: 1px solid darkgray;" | |||
|- border="0" | |||
| [[File:dsj-int-Z.png|360px|The original color image]] | |||
| [[File:sbjp_aprroximationimage.png|360px|An example intensity approximation image]] | |||
| [[File:sbjp_detailimage.png|360px|An example intensity detail image]] | |||
|- | |||
| Z channel intensity | |||
| Y channel intensity | |||
| X channel intensity | |||
<br>The synthesis procedure is based on the observation that | <br>The synthesis procedure is based on the observation that | ||
<br><math>I_0 = I_n^a\prod^n_{k=1}\left(I_k^d+1\right)=I^a_n\frac{I^a_{n-1}}{I^a_n}\frac{I^a_{n-2}}{I^a_{n-1}}...\frac{I^a_0}{I^a_1}</math> | <br><math>I_0 = I_n^a\prod^n_{k=1}\left(I_k^d+1\right)=I^a_n\frac{I^a_{n-1}}{I^a_n}\frac{I^a_{n-2}}{I^a_{n-1}}...\frac{I^a_0}{I^a_1}</math> | ||
Revision as of 19:08, 20 March 2012
Introduction

Haze is caused by the scattering of Rayleigh and Mie light by particles in the atmosphere, such as droplets of water or smoke. These particles, which are between the viewer and a distant object, scatter light from other areas toward the viewer (airlight), and prevent some of the light from the distant object from reaching the viewer (see schematic). Restoring an image to non-hazy conditions is desirable because we like clear days. Since the amount of Rayleigh scattering increases proportional to , where is the wavelength of light, for longer wavelengths there will be less scattering, and thus the image will appear less hazy at these wavelengths. Here, we investigate using NIR and red spectral data to add detail and thus dehaze images, using a modified version of the algorithm described in [1]. Our study differs from the investigation in [1] as we do additional spectral characterization, made possible by the hyperspectral data made available to us. This algorithm takes detail from the long wavelength channel and adds it to a visible luminance channel to dehaze the image. Our investigation includes data from 400-1000 nm, and we investigate the different possibilities for implementing a NIR filter for dehazing, and the possibility of using the red camera sensor from three different commercial cameras to dehaze all three color channels. We perform a viewer study to assess the effectiveness of our dehazing. We also explain our results using spectral data and comparing to an online database[2] of reflectance spectra. We also dehaze RGB images taken from the dataset from [1] available here compare dehazing of these images with NIR data (also available in the dataset) and with the R pixel values, obtaining (to us) more attractive results with the R camera sensor.
Methods
We started with the hyperspectral panorama taken from the dish. Initially, we converted (scenes from) this data to XYZ by interpolating the XYZ curves given to us in ISET at the wavelengths at which the hyperspectral data was taken, and using these curves to weight the spectral data (see attached code). To view the image, we then converted the XYZ data to sRGB using ISET to display it. To dehaze the image, we used as a starting point the algorithm described in reference [1].
This algorithm uses a weighted least squares algorithm (described in [3]) to decompose the image into a multiscale representation with approximation and detail images of different degrees, and then compares pixel-wise the detail images from the NIR intensity image with detail images from the visible intensity image and synthesizes the approximation images with details from both the NIR and visible images.
The approximation images are given by:
where is the kth level approximation image (which can either be visible, or NIR, , and where we implement levels from 0 to n. is a measure of the coarseness of the approximation image, and is for the first image. As in [1] we chose , c = 2 and n = 6, although we experimented with different values and obtained similar results. is either an intensity channel of the visible image or the NIR image . We compared both a linear intensity channel and nonlinear (L*) channel for the dehazing, obtaining similar results. The NIR intensity image was also converted to an L* nonlinear scale before applying the filter in the case that the L* visible image channel was used. The function W performs the approximation operation using weighted least squares described in [2], the matlab code for implementing this function is freely available here. The detail images are differences of approximation images, as described in [1],[4], and are given by
An example of original, approximation and detail images is shown below.
| An example intensity approximation image |
| ||||||||||||||||||||||||||||||||||||||||
| Z channel intensity | Y channel intensity | X channel intensity
Taking the intensity image at different wavelength bands in the hyperspectral data and summing in the x direction yielded the plot of intensity versus image y-height versus wavelength shown below left. The horizon is clearly visible, and the image intensities seem almost to invert at around 700 nm. Plotting spectra by this method for different areas of the image we were able to discern that the problem was perhaps resulting from different reflectances in the visible and NIR. In addition, atmospheric absorption lines are noteable in the data.
Results
Summary and Conclusions
Future Work
References
Appendix I
Appendix II
|





