FPGA Implementation of Noise Removal using Sigma Filter · FPGA Implementation of Noise Removal...
Transcript of FPGA Implementation of Noise Removal using Sigma Filter · FPGA Implementation of Noise Removal...
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
120
ISSN No: 2454-9614
FPGA Implementation of Noise Removal using Sigma Filter
K. AishwaryaDass , D. Devi*
Department Of Electronics and Communication Engineering, Sri Krishna College of Engineering and Technology,
Coimbatore, Tamilnadu, India.
*Corresponding Author: K. AishwaryaDass
E-mail: [email protected]@skcet.ac.in
Received: 11/11/2015, Revised: 13/12/2015 and Accepted: 09/04/2016
Abstract
The real time image processing plays a predominant role in many fields, primarily in medical field to view the appropriate
structure of the internal parts, fingerprint analysis for security system, and digital photography. The major issue to be overcome
is the noise and artifacts in the image . This can be done by means of filtering process. Various filtering techniques had been
followed to remove the noise content. In this paper FPGA implementation of the bilateral filtering has been presented to obta in
more efficient filtered image with structural enhancement and with all details preserved including the edges. The architecture of
the bilateral filter is highly coordinated and pipelined. The window of any size can be applied. The filter parameters play a vital
role ,to retrieve reliable output. Analysis based onthe usage of bilateral filter is also presented.
1. Introduction
The uniform noise is formed by dividing the pixel of image into discrete level , thus the quantisation noise
is produced , which is distributed uniformly. And the gray value of the noise is also delivered regularly. Gaussian
noise: This noise has a probability density function of the Gaussian distribution. It is also known as Gaussian
distribution. Salt and pepper noise: The salt-and- pepper noise is usually caused by memory cell failure and
malfunctioning of camera’s sensor cells. These noises can be removed be means of filtering process. The filter is
used for denoising, and re- sampling. There are two types of filter namely linear filter and nonlinear filter. Based
upon the requirement i.e the type of noise appropriate filter is selected. The white Gaussian noise is removed be the
nonlinear filter. Bilateral filter is a nonlinear low pass filter. This filter is implemented using FPGA architecture. The
real time image processing consists of time constrains, therefore FPGA design is realised. The resource utility can be
determined.
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
121
2. Bilateral Filter
It performs only the operation of denoising and it is combined with the range filtering, which does the
operation of border conservation to preserve the sharpness of the image. This method is non- iterative compared to
other methods such as Weighted Least Square, Robust Estimation, Anisotropic Diffusion. The anisotropic diffusion
is also known as perona malik diffusion. This method was used previously before developing bilinear and trilinear
filter approach. The diffusion method is carried out by solving the partial differential equations which results in
increase the number of iteration. The symmetrical closeness and the similarity in the pixel value are used to perform
the domain and range filtering. The bilateral filter removes the phantom colour present in the image. The bilateral
filtering is used operate on three colour bands simultaneously so that the issues emerging while filtering three bands
separately can be avoided. The domain filtering is performed by averaging the neighbourhood pixel value of the
image and the edges are persevered by separating the edge region with two sides such as dark and bright. When the
centre pixel to be filtered is placed in the dark side, all pixel in the dark side is averaged at the same time the
brighter pixel side is removed , the process process is carried out in the bright side vice versa. Both the range and
range component should be appropriate to obtain valid output.
The author of [18] introduced an Adaptive Bilateral Filtering that perform better than the other filters . It
preserves edges by means of shifting the histogram of the image through range filter. The efficient result is obtained
by the adaptive property of the offset and width factors. The methods used formerly for sharpening are the Unsharp
Mask and Optimal Unsharp Mask. In the Unsharp Mask sharpening technique the burred image is used to create
mask. The Optimal Unsharp Mask provide better sharpening but it includes artifacts. Adaptive Bilateral Filtering is
also good in terms of noise filtering also. The bilateral filter is converted into adaptive bilateral filter by adding an
offset and width to the range filter . the levelling and sharpening can be performed efficiently. The histogram of the
range filter near the centre lead to less acurete image interms of sharpness, therefore inorder to increase the
sharpness the histogram is moved far away from the centre such that the slope of the pixel increases, which results
with better structural information. This is training based approach. The strength of the edge is determined by the
laplace of Gaussian , that distinguish between edge and the smooth region. Contrast characteristic of the image. So
that the high quality image with enhanced feature can be retrieved. Tone mapping is the process of mapping set of
colours to enhance the appearance of the HDR (High Dynamic Range) images. This process overcome the problem
of contrast reduction and at the same time details and colour of original image. The HDR image is decomposed into
discrete subbands using discrete wavelet transform. The decomposed images are deniosed by means of bilateral
filtering and soft thresholding. Thresholding is done by the process of image segmentation. The pixels are replaced
by the black and white colour. The pixel value less than threshold is eliminated. This is termed as soft thresholding.
The author of [17] use bilateral filter for noise removal by incorporating an extension of bilateral filtering
called as multiresolution bilateral filtering. The Multiresolution Bilateral Filter and the wave thresholding are used
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
122
for image denoising. The frequencies are classified into two types such as high and low frequency. The high
frequency is termed as fine grain and the low frequency is termed as coarse grain. The fine grain can be easily
removed whereas the coarse removal process is complicated because the original signal will also act as low
frequency signal. The image decomposed consists of appropriate sigma value (same) at each stage. The
decomposition process convert the noise into fine grain so that it can be eliminated easily. Thus the denoising is
done efficiently.
3. Existing Method
The massively parallel architecture for the bilateral filter algorithm is implemented using the PARO
methodology. The PARO tool is also called as HLS(High Level Synthesis) tool. The PARO methodology is used
for avoiding the blurring effects of the image by means of following handling approaches:The boundary pixel
value of filtered image is assumed to be same as the input image. Zero padding: Additional strips with pixel value
zero or maximum gray value is added at the boundary. Symmetric extension: Additional strips with the mirrored
value of pixel across the boundary is added at theboundary.
3.1 Design Flow
The design flow of our approach is depicted in Fig.5.1. The input to the compiler is a class of algorithmic
descriptions which is determined by loop nests. This class of algorithms is formally defined as Piecewise Linear
Algorithm (PLA).A set of transformations is applied to the algorithmic descriptions like localization
partitioning , space time mapping in order to obtain a parallel architecture description. Localization is a
transformation which converts affine data dependencies into constant data dependencies by propagation of
variables from one index point to neighbouring index points. The transformation enables maximum data reuse
within the processor array, and henceforth minimizes the amount of external I/O communication using external
peripheral memory devices. Partitioning is a transformation which enables generation of architectures with the
issue of resource constraints. Space-time mapping defines the placement of processing elements (PEs) and
scheduling of the iterations.
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
123
Fig. 1 Design flow of the PARO methodology with all parts to be inbuilt
3.2 Design Methodology
PLA description which explicitly represents the full data parallelism is the starting
point.PLA which has only uniform dependencies may be represented by reduce dependence
graph(RDG).Based upon the reduce dependency graph (RDG) the architecture is designed.
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
124
Fig. 2 Reduced dependency graph derived from the algorithm for architecture design
3.3 Architecture
The kernel design of 3x3 is used. Each PE consists of one MAU(Multiply Accumulate
Unit) . The mask coefficient is obtained by subtracting the centre pixel with the neighbour pixel.
The LUT table is used to store the pre-calculated value of the difference i.e the mask coefficient
values which are exponential. The ADD unit is used to calculate the intermediate pixel sum and the
mask sum. The border PEs get their input samples from the line buffers. All the PEs do not perform
the same operation ,the PE have an extra addition unit. The pipeline divider is used to divide the
pixel sum with the mask sum to obtain the final output pixel.
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
125
Fig. 3 Efficient architecture for bilateral filtering using simple adder and PEs
3.4 Disadvantage
The HLS to RTL conversion requires additional input data to be provided by the designer. Separate edge preserving technique is implemented.
4. Proposed System
The photometric component and the geometric component are implemented with separate architecture. The
register matrix is used to send the data in orderly manner into the bilateral filter.
Fig. 4 Design flow of the bilateral filter
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
126
4.1 Register Matrix
The register matrix is used for storage purpose and also to allow data into the photometric filter in
organised manner. It act as an internal RAM memory, so that need of external memory devices are avoided. The
register matrix can store five rows of the pixel value i.e the one to be filtered and two rows of succeeding and two
rows of preceding pixel values. The grouping process is carried out in this matrix. The centre pixel to be filtered is
processed separately. The registers in the architecture are used to save the pixel values. The 25 pixel is arranged in
the form of 5x5 matrix. The pixel values are shifted at each pixel. The MUX are used for the selection of the pixels
stored in the register. The middle value of the each row is groupedseparately.
Fig. 5 Kernel based design concept of register matrix for grouping purpose
4.2 Photometric Filter
The photometric filter performs the operation of range filtering , that is used to avoid the blurring effects in
the boundary. The smudging reason at the borders are due to the absence of the neighbouring pixel elements at the
boundary. This is avoided by means averaging the similar pixel value. In general the photometer is used to control
the amount of exposure ,of the light during radiation. The symmetric distribution of the light is sustained over the
region. The processing order of the photometric filter at each clock pixel is given in the following order.
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
127
Fig. 6 Working of the range filter that yield weighted groups
Fig. 7 Order of processing in the photometric filter at each clock pixel
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
128
The groups retrieved from the register matrix are fed into the photometric filter for weighing the pixel.
The weighing process is done by means of averaging the simillar pixel value vicinity to the pixel to be filtered.
Thus the edges are preserved .
Fig. 8 Phototmetric System for filtering
The coefficients of the weighted groups are obtained by the difference between the centre pixel and the
pixel to be filtered. The Look Up Table stores the maximum possible coefficients of the photometric filter
consequently the computational issue is avoided. The registers are used for the purpose of maintaining the
synchronicity be means of delayoperation.
4.3 Geometric Filter
The geometric filter is used for the noise removal. The 2D filtering is done by means of sequential of
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
129
Fig. 9 Conversion of the 2D to 1D filtering using Geometric filter component
1D filtering. The geometrical filtering is carried out by means of two vertical components and two
horizontal. The groups and coefficient of group obtained is sent to the two vertical component part separately.
The vertical component converts the 2D filtering into 1D filtering. The geometric filter outperforms the
operation of the arithmetic mean filter in the process of eliminating the Gaussian type noise and edge
preservation.
Fig. 10 Structural representation of the vertical component the converts the dimension
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
130
Fig. 11 Design of horizontal component that performs range filtering
The groups at similar distance are averaged and multiplied with the coefficient value to obtain the
weighted value. The centre group is weighted separately, the multiplexer is used in order to select the
coefficients. REGcol and REGcen are the registers used for holding the pixel values for synchronisation purpose.
4.4 Normalization
Finally the unnormalised result is standardized and divided by the appropriate number of
bits to reduce number of bits equivalent to the input data. And the bilateral ouput isobtained.
Fig. 12 The normalisation of the filtered information
5. Results
To evaluate the efficiency of image denoising the PSNR value is calculated. Peak signal to
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
131
𝑑𝑏 10
Noise ratio (PSNR): PSNR value is obtained by the ratio between maximum possible power of a
signal and the power of deceptive noise which upsets the quality of its image. It is defined by:
𝑃𝑆𝑁𝑅 =20.𝑙(𝐺𝑉𝑚𝑎𝑥)
√𝑀𝑆𝐸
Table 1 Performance efficiency of the filtered image with various noise level
Table 2 Synthesis result of the amount of utilization of the resources
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
132
Fig. 13 Images of various level of noise added to an image and the filtered result
5. Conclusion
The bilateral filter for real-time image processing is implemented using FPGA design.
The highly synchronised architecture that is capable of real image processing is proposed. The
effective utilization of the dedicated resources is calculated. The comparison between the output
obtained using Matlab and Simulink will be discerned and the modified edge oreserving filter is
going to be implemented for better resource utilization and to retrieve high quality image.
References
[1] L. Costas, P. Colodrón, J. J. Rodríguez-Andina, J. Fariña, and M.-Y. Chow, “Analysis of two FPGA design methodologies applied to an
image processing system,” in Proc. IEEE ISIE, 2010, pp. 3040–3044.
[2] Y. Chen and V. Dinavahi, “Digital hardware emulation of universal machine and universal line models for real -time
electromagnetic transient simulation,” IEEE Trans. Ind. Electron., vol. 59, no. 2, pp. 1300–1309, Feb.2012.
[3] C. Charoensak and F. Sattar, “FPGA design of a real-time implementation of dynamic range compression for improving television picture,” in
Proc. IEEE ICICS, 2007, pp. 1–5.
[4] M. de-Frutos-López, H. Medina-Chanca, S. Sanz-Rodríguez, C. Peláez- Moreno, and F. Díaz- de-María, “Perceptually-aware bilateral filter
for quality improvement in low bit rate video coding,” in Proc. IEEE PCS, 2012, pp. 477 480.
[5] F. Durand and J. Dorsey, “Fast bilateral filtering for the display of highdynamic- range images,” ACM Trans. Graph., vol. 21, no. 3, pp. 257–
266, Jul.2002.
[6] H. Dutta, F. Hannig, J. Teich, B. Heigl, and H. Hornegger, “A design methodology for hardware acceleration of adaptive fi lter algorithms in
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120–133
133
image processing,” in Proc. IEEE ASAP, 2006, pp. 331– 340.
[7] A. Gabiger, R. Weigel, S. Oeckl, and P. Schmitt, “Enhancement of CT image quality via bilateral filtering of projections,” in Proc. 1st Int.
Conf. Image Formation X-ray Comput. Tomography, 2010, pp.140–143.
[8] A. Gabiger-Rose, R. Rose, M. Kube, P. Schmitt, and R. Weigel, “Noise adaptive bilateral filtering of projections for computed tomography,”
in Proc. 11th Int. Meet. Fully Three-Dimens. Image Reconstruction Radiol. Nucl. Med., 2011, pp. 306– 309.
[9] A. Gabiger, M. Kube, and R. Weigel, “A synchronous FPGA design of a bilateral filter for image processing,” in Proc. IEEE IECON, 2009,
pp.1990–1995.
[10] A. Gabiger-Rose, M. Kube, P. Schmitt, R. Weigel, and R. Rose, “Image denoising using bilateral fi lter with noise-adaptive parameter
tuning,” in Proc. IEEE IECON, 2011, pp. 4515– 4520.
[11] F. Hannig, M. Schmid, J. Teich, and H. Hornegger, “A deeply pipelined and parallel architecture for denoising medical images,” in
Proc.IEEE FPT, 2010, pp.485–490.
[12] T. Q. Pham and L. J. van Vliet, “Separable bilateral filtering for fast video preprocessing,” in Proc. IEEE ICME, 2005, pp. 1–4.
[13] A. Rosado-Muñoz, M. Bataller-Mompeán, E. Soria-Olivas, C. Scarante, and J. F. Guerrero- Martínez, “FPGA implementation of an
adaptive filter robust to impulsive noise: Two approaches,” IEEE Trans. Ind. Electron., vol. 58, no. 3, pp. 860– 870, Mar. 2011.
[14] C. Tomasi and P. Manduchi, “Bilateral filtering for gray and color images,” in Proc. IEEE ICCV, 1998, pp.839–846.
[15] J. Won Lee, R.-H. Park, and S. Chang, “Noise reduction and adaptive contrast enhancement for local tone mapping,” IEEE Trans.
Consum. Electron., vol. 58, no. 2, pp. 578–586, May 2012.
[16] L. Yu, A. Manduca, J. Trzasko, N. Khaylova,
J. Kofler, C. McCollough, and J. Fletcher, “Sinogram smoothing with bilateral filtering for lowdose CT,” in Proc. SPIE Med. Imag.: Phys. Med.
Imag., 2008, vol. 6913, pp. 691329-1– 691329-8.
[17] M. Zhang and B. K. Gunturk, “Multiresolution bilateral filter for image denoising,” IEEE Trans. Image Process., vol. 17, no. 12, pp.
2324–2333, Dec. 2008.
[18] B. Zhang and J. P. Allebach, “Adaptive bilateral filter for sharpness enhancement and noise removal,” IEEE Trans. Image Process., vol.
17, no. 5, pp. 664–678, May 2008.