FPGA Implementation of Noise Removal using Sigma Filter · FPGA Implementation of Noise Removal...

14
South Asian Journal of Engineering and Technology Vol.2, No.21 (2016) 120133 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 obtain 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.

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.