Abstract - ChennaiSunday

advertisement
LLSURE: LOCAL LINEAR SURE-BASED
EDGE-PRESERVING IMAGE FILTERING
ABSTRACT
In this paper, we propose a novel approach for performing high-quality edgepreserving image filtering. Based on a local linear model and using the principle of Stein’s
unbiased risk estimate as an estimator for the mean squared error from the noisy image only,
we derive a simple explicit image filter which can filter out noise while preserving edges and
fine-scale details. Moreover, this filter has a fast and exact linear-time algorithm whose
computational complexity is independent of the filtering kernel size; thus, it can be applied to
real time image processing tasks. The experimental results demonstrate the effectiveness of
the new filter for various computer vision applications, including noise reduction, detail
smoothing and enhancement, high dynamic range compression, and flash/noflash denoising.
Existing System
In this Existing system, a variety of areas of computer vision and image processing.
However the direct implementation of bilateral filter is known to be slow. Although several
techniques are proposed to speed up the evaluation of the bilateral filter, its fast
implementation is still a challenging problem. And it has recently been noticed that bilateral
filter may have the gradient reversal artifacts in detail decomposition and high dynamic range
(HDR) compression.
Disadvantage
LTI filtering is very simple and is used extensively in early vision processing, it also
has some disadvantages. LTI filtering not only smooths the noise but also blurs important
structures along with noise, and outliers exert large influence on filtered output.
Proposed System
In Proposed System, to remove noise while preserving fine details and geometrical
structures in the original image. It is well known that the denoising performance of an
algorithm is often measured in terms of peak signal-to-noise ratio (PSNR). A higher PSNR
would normally indicate that the reconstruction is of higher quality. To maximize the PSNR,
an alternative approach is to minimize the mean square error (MSE) which can be estimated
accurately by Stein’s unbiased risk estimate (SURE) from the noisy image only.
MODULES
1. LLSURE-Local Linear SURE-Based Filter
2. Joint LLSURE Filter
3. Edge-Preserving Decompositions Based on LLSURE
4. Image Denoising
5. Smoothing and Enhancement
MODULES DESCRIPTION
1. LLSURE-Local Linear SURE-Based Filter
In this module, Firstly, in a local neighbourhood around every position, we assume
that the filtered output image patch is a very simple affine transform of input image patch in
the same position. Secondly, for every local neighbourhood, we determine the optimal
transform coefficients by minimizing the MSE estimate (SURE). Finally, all filtered output
image patches are averaged together to obtain the final filtered result.
2. Joint LLSURE Filter
In this module, here, we extend the LLSURE filter to joint LLSURE filter. In order to
smooth the input signal while relying on the guidance signal to locate the edges to preserve,
we rewrite are filter input image patch and guidance image patch respectively corresponding
to window.
3. Edge-Preserving Decompositions Based on LLSURE
In this module, Multi-scale edge-preserving decomposition is often required in many
applications of computational photography. The decomposition consists of a coarse piecewise
smoothed version of the image, along with a sequence of difference images capturing detail
at progressively finer scales
4. Image Denoising
In this module, Image noise reduction without structure degradation is perhaps the
most important task in low-level image processing. In this experiment, the proposed
algorithm is evaluated and compared with many other existing techniques, including fast
bilateral filter (FBF), guided image filter (GIF) and SURE-LET method.
5. Smoothing and Enhancement
In this module, Detail smoothing and enhancement are basic and common image
processing operations, available in most image editing software. Here we show that these
operations can be implemented in a simple and efficient way using our LLSURE method.
DONOHO’S SURESHRINK ALGORITHM
In image denoising, the aim is to suppress noise as much as possible while preserving
image features. The multire solution analysis performed by the wavelet transform is a
powerful tool used to achieve this goal. Indeed, in the orthonormal wavelet domain, most
image information is contained in the largest wavelet coefficients, while the noise is
uniformly spread out across all coefficients. Moreover, Gaussian white noise remains white
and Gaussian after orthogonal transformation. A good denoising approach thus consists in
setting the smallest coefficients to zero and shrinking the remaining ones above a certain
threshold. Donoho and Johnstone have proposed a method to find the threshold that
minimizes the estimate of the mean squared error.
namespace CSharpFilters
{
class Canny
{
private void GenerateGaussianKernel(int N, float S, out int Weight)
{
float Sigma = S;
float pi;
pi = (float)Math.PI;
int i, j;
int SizeofKernel = N;
float[,] Kernel = new float[N, N];
GaussianKernel = new int[N, N];
float[,] OP = new float[N, N];
float D1, D2;
D1 = 1 / (2 * pi * Sigma * Sigma);
D2 = 2 * Sigma * Sigma;
float min = 1000;
for (i = -SizeofKernel / 2; i <= SizeofKernel / 2; i++)
{
for (j = -SizeofKernel / 2; j <= SizeofKernel / 2; j++)
{
Kernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j] = ((1 / D1) * (float)Math.Exp(-(i * i + j * j) /
D2));
if (Kernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j] < min)
min = Kernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j];
}
}
int mult = (int)(1 / min);
int sum = 0;
if ((min > 0) && (min < 1))
{
for (i = -SizeofKernel / 2; i <= SizeofKernel / 2; i++)
{
for (j = -SizeofKernel / 2; j <= SizeofKernel / 2; j++)
{
Kernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j] = (float)Math.Round(Kernel[SizeofKernel / 2 +
i, SizeofKernel / 2 + j] * mult, 0);
GaussianKernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j] = (int)Kernel[SizeofKernel / 2 + i,
SizeofKernel / 2 + j];
sum = sum + GaussianKernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j];
}
}
}
else
{
sum = 0;
for (i = -SizeofKernel / 2; i <= SizeofKernel / 2; i++)
{
for (j = -SizeofKernel / 2; j <= SizeofKernel / 2; j++)
{
Kernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j] = (float)Math.Round(Kernel[SizeofKernel / 2 +
i, SizeofKernel / 2 + j], 0);
GaussianKernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j] = (int)Kernel[SizeofKernel / 2 + i,
SizeofKernel / 2 + j];
sum = sum + GaussianKernel[SizeofKernel / 2 + i, SizeofKernel / 2 + j];
}
}
}
//Normalizing kernel Weight
Weight = sum;
return;
}
HARDWARE REQUIREMENTS

System
:
Pentium IV 2.4 GHz.

Hard Disk
:
80 GB.

Monitor
:
15 VGA Colour.

Mouse
:
Logitech.

Ram
:
512 MB.
SOFTWARE REQUIREMENTS

Operating system
:
Windows 8 (32-Bit)

Front End
:
Visual Studio 2008

Coding Language
:
C#.NET

Database
:
SQL Server 2008
Download