ISSN ONLINE(2278-8875) PRINT (2320-3765)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

FPGA IMPLEMENTATION OF IMAGE ENHANCEMENT ALGORITHMS FOR BIOMEDICAL IMAGE PROCESSING

Praveen vanaparthy1, Sahitya.G2, Krishna Sree3 and Dr.C.D.Naidu4
  1. Department of ECE, VNR Vignana Jyothi IET, Hyderabad, India
  2. Assistant professor, Department of ECE, VNR Vignana Jyothi IET, Hyderabad, India)
  3. Associate professor, Department of ECE, VNR Vignana Jyothi IET, Hyderabad, India
  4. Principal, VNR Vignana Jyothi IET, Hyderabad, India
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Abstract

Digital image enhancement techniques are to improving the visual quality of images. Main objective of image enhancement is to process an image so that result is more suitable than original image for specific application. This paper presents real time hardware image enhancement techniques using field programmable gate array (FPGA). This paper focus on implementation of image enhancement algorithms like brightness control, contrast stretching, negative transformation, thresholding, filtering techniques on Fpga that have become a competitive alternative for high performance digital signal processing applications. These algorithms successfully implemented on retinal images in Verilog HDL using Xilinx ISE, MATLAB and MODELSIM. The aim of this paper is to simulate and implement these algorithms using verilog HDL. The device selected here for implementation is (Spartan-3E) from Xilinx.

Keywords

FPGA, Xilinx ISE, Digital Image Processing, Enhancement, Matlab and Verilog-HDL.

INTRODUCTION

Digital image processing plays a vital role in the analysis and interpretation of remotely sensed data. Especially data obtained from Medical and Satellite Remote Sensing, which is in the digital form, can best be utilized with the help of digital image processing. Image enhancement and information extraction are two important components of digital image processing. Image enhancement techniques help in improving the visibility of any portion or feature of the image.
Image enhancement processes have different techniques to improve the visual appearance of an image. Meanwhile, the term image enhancement is mean as the improvement of an image appearance by increasing dominance of some features or by decreasing ambiguity between different regions of the image. Enhancement methods can broadly be divided into following two categories:
1. Spatial domain methods
2. Frequency domain methods
Spatial domain techniques, directly deal with the image pixels. The pixel values are manipulated to achieve desired enhancement. In frequency domain methods, the image is first transferred in to frequency domain. It means that, the Fourier transform of the image is computed first. All the enhancement operations are performed on the Fourier transform of the image and then the Inverse Fourier transform is performed to get the resultant image. 8-bit digital gray image can have pixel values in the range of 0 to 255.
The digital image processing is impacted today in some way with a very large area of technical endeavor. Digital image processing is used in very large and expanding areas covering applications in multimedia services, arts, medicine, space exploration, surveillance, authentication, automated industry inspection and many more areas [1].S. Sowmya, et.al, addresses the implementation of image enhancement algorithms like brightness control, contrast stretching and histogram equalization on FPGA. The minimum period to the implemented algorithms is 5 ns for an image size 100x100[2].Nitin Sachdeva et.al, give a design of real time histogram equalization circuit for enhancement of images using FPGA [3]. Varsha S. et.al, explain about hardware implementation of negative transformation, thresholding and contrast stretching using Spartan-3E board. And the resultant images showed on monitor using vga [4]. Terek m.bittibssi et.al, propose algorithm for different image enhancement algorithms using FPGA. Like median filter, contrast stretching, histogram equalization, negative image transformation and power law transformation. All these design algorithms was implemented on cyclone-III fpga based hardware on a 100x100 size grayscale ‘Lena’ image [5]. Enhancement algorithms using Xilinx system generator (XSG) tool. In these all paper they explain different image enhancement algorithms using fpga [7] & [8]. Raman maini et.al, proposed an algorithm for image enhancement [9]. Anthony E et.al, implemented image processing algorithms on fpga hardware [10].
Firstly, here image converted to text/coefficient file using MATLAB. This data processed through digital design and the output processed data is converted to image. Different digital image enhancement algorithms are implemented using Verilog HDL. Figure1 shows the block diagram for proposed algorithm.
image
This paper introduces Implementation of image enhancement algorithms include: brightness control, contrast stretching, negative transformation, thresholding and filtering techniques. One of the example as to why image enhancement is necessary is that an image might be taken of a retinal fundus image for medical imaging which is important for analyzing and early detection of diseases related to the eye .Enhancement of such image is necessary to highlight the features for detection of abnormal eyes. Hence it is widely used in the diagnosis and treatment of various eye diseases Such as diabetic retinopathy, glaucoma etc. The organization of this paper as follows: Section-III, discusses the theory of the implemented image enhancement algorithms. Section-IV, introduces hardware realizations for these techniques. Section-V, reports experimental results. Finally, the conclusion of this paper presented in section VI.

MATERIALS

A. Spartan -3E
The Xilinx XC3S500E Spartan-3E FPGA Starter Kit board supports a variety of FPGA configuration options and their key Features are 232 user-I/O pins, 320-pin FBGA package, Over10,000 logic cells, Xilinx 4 Mbit Platform Flash configuration PROM, 64 MByte (512 Mbit) of DDR SDRAM, x16 data interface, 100+ MHz, 16 MByte (128 Mbit) of parallel NOR Flash (Intel Strata Flash), FPGA configuration storage, 16 Mbits of SPI serial Flash (ST Micro) , FPGA configuration storage, 2-line, 16-character LCD screen PS/2 mouse or keyboard port, VGA display port,10/100 Ethernet PHY (requires Ethernet MAC in FPGA), Two 9-pin RS-232 ports (DTE- and DCE-style), On-board USB-based FPGA/CPLD download/debug interface, 50 MHz clock oscillator, SPI-based Analog-to-Digital Converter (ADC) with programmable-gain pre-amplifier Chipscop Soft Touch debugging port , Rotary-encoder with push-button shaft, Eight discrete LEDs , Four slide switches ,Four push-button switches ,SMA clock input, 8-pin DIP socket for auxiliary clock oscillator.
B. Xilinx ISE
The system is implemented using Xilinx ISE 10.1, this is used to synthesize and process the HDL algorithms on fpga. This paper addresses the implementation of brightness control, contrast stretching, negative transformation, thresholding and filtering technique for retinal fundus images using Matlab, Model-sim and on FPGA.

METHODOLOGY

This section discusses the theory of most commonly used image enhancement algorithms like 1) Brightness Control, 2) Contrast Stretching, 3) Negative Transformation, 4) Thresholding and 5) Filtering techniques.
A. Brightness Control
Brightness control is the process of increasing gray level of each pixel by adding a constant value to the image pixels with poor brightness. If the digital image is of poor brightness, the objects in the image will not be visible clearly. This is due to image is captured under low light conditions. To rectify this problem, we can further increase the brightness of the captured digital image and make the image more attractive. The brightness of a dark image can easily be increased by adding a constant to gray value of each pixel. This addition operation will shift the histogram towards brighter side with a constant factor. While applying this method to increase brightness of an image, we must choose the constant wisely so that the complete range of gray values lies within 0 to 255. If the final gray value of any pixel is greater than 255 then we will lose the information.
This algorithm works as follows:
image
B. Contrast Stretching
Contrast stretching attempts to improve an image by stretching the range of intensity values it contains to make full use of possible values. This is stretching is restricted to a linear mapping to a linear mapping of input to output values. If low contrast image is resulted due to low light conditions, lack of dynamic range of the camera sensor, contrast stretching operation results in the good quality image. During the contrast stretching operation, we basically increase the dynamic range of the gray values in the image being processed. A piecewise transformation function is used to achieve contrast stretching. Contrast stretching algorithm works as follows:
J(r) = {I(r)-fmin} (max-min/fmax-fmin) + min
I(r) is the gray level for the input pixel (r) and J(r) is the gray level for the output pixel(r) after the contrast stretching process. fmax and fmin are the maximum and minimum gray level values in the input image. The max and min are the desired maximum and minimum gray levels that determine gray level range of the output image.
C. Negative Transformation
There are a number of applications in which negative of the digital images are quiet useful. For example, displaying of medical images and photographing a screen with monochrome positive film with the idea of using the resulting negatives as normal slides. The negative of the digital image is obtained by using the transformation function:
J(r) = (L-1)-I(r)
Where L is the number of gray levels, I(r) is input pixel gray level and J(r) is output transformed gray level. The idea is to reverse the order from black to white so that the intensity of the output image decreases as the intensity of the input increases.
D. Thresholding
Thresholding an image means transforming all pixels in two values only. This is the special type of quantization comparing the pixel values with a given threshold value. Thresholding makes output image with only two values that is 0 and 255 for 8bit gray level image.
image
Resulting of Thresholding image is a black and white image, this have only two gray level values.
E. Filtering techniques
The value of a pixel with coordinates (x,y) in the enhanced image J(x,y) is the result of performing some operation on the pixels in the neighborhood of (x,y) in the input image I(x,y). Neighborhoods can be any shape, usually they are rectangular. These filtering operations remove the noise in the input image also.
(i)Image smoothing: The aim of image smoothing is to diminish the effects of camera noise, spurious pixel values, missing pixel values etc. there are many different techniques for image smoothing. We will consider neighborhood averaging and edge-preserving smoothing.
a. Neighborhood averaging (Mean filter): Each pixel in the smoothened image J(x,y) is obtained from the average pixel value in a neighborhood of (x,y) in the input image.

For example, 3X3 neighborhood around each pixel we would use the mask:

image
Here each pixel value is multiplied by 1/9, summed, and the result placed in the output image. This mask is successively moved across the image until every pixel has been covered. That is the image convolved with this smoothing mask.
b. Edge preserving smoothing (Median filter): Neighborhood averaging will tend to blur edges because the high frequencies in the image are attenuated. An alternate approach is to use median filtering. Here we set the gray level to be the median of the pixel values in the neighborhood of that pixel. For example, suppose the pixel values in a 3X3 neighborhood are (10, 20, 20, 15, 20, 20, 20, and 25,100). If we sort the values we get (10, 15, 20, 20, |20|, 20, 20, 25,100) and the median here is 20.

IMPLEMENTED ALGORITHMS

Implementations of RTL schematic for Brightness control, Contrast stretching, Negative transformation, Thresholding and smoothening techniques are explained bellow:
Figure-2 to Figure-7 shows RTL Schematics for image enhancement algorithms implemented for brightness control, contrast stretching, and negative transform, thresholding, median, mean algorithms respectively.
image
image
image
image
image
image

RESULTS

The hardware based implementation of image enhancement algorithm is carried out on single Spartan-3E family of fpga. The software development tool used for developing and verifying the design is the Xilinx ISE 10.1 version. The image size considered for testing is a 100x100 pixel resolution gray level image. The reason for considering a 100x100 resolution image is because of the limited memory size of fpga.
Figure-8 to Figure-13 shows MODELSIM simulation results for image enhancement algorithms implemented for brightness control, contrast stretching, and negative transform, thresholding, median, mean algorithms respectively. Figure- 14 to Figure-20 shows the output images for these algorithms.
image
image
image
image
image
image
image
image
image
image
image
image
image

CONCLUSION

This paper implemented for high speed image enhancement applications using fpga. The image enhancement techniques such as brightness and contrast adjustment are important especially in medical images. This paper explains implementation of Brightness control, Contrast stretching, Negative transform, Thresholding, Median filtering and Mean filtering algorithms on fpga. The algorithms were implemented on Spartan-3E fpga development kit. This gives digital images with good brightness/contrast and it improves quality of images. This techniques used for different applications depends on requirement and need. These techniques used in digital x-ray, digital mammography, CT scans, MRI etc. The same image enhancement techniques can be applied to RGB color images instead of gray scale images foe manual and automatic color correction.

References