2018 - FPGA - Implementation - of - Filtering - Algorithm - For - Multispectral - Satellite - Image
2018 - FPGA - Implementation - of - Filtering - Algorithm - For - Multispectral - Satellite - Image
IEEE Xplore Compliant - Part Number:CFP18J06-ART, ISBN:978-1-5386-0807-4; DVD Part Number:CFP18J06DVD, ISBN:978-1-5386-0806-7
Abstract— Onboard processing of remotely sensed multispectral exploitation of multispectral data sets in various
data is a highly desirable goal in many applications.For this applications[8][9].
aspiration, compact reconfigurable hardware modules such as
field programmable gate arrays(FPGAs) are popularly used.In II. PROPOSED METHOD
this paper, a hardware implementation of filtering algorithm on
multispectral satellite image was proposed.Filtering is a process
start
used to smooth the image.The performance of the system was
analyzed in terms of peak signal to noise ratio(PSNR). Verilog
language was used for hardware representation and Matlab was
used for software processing.The simulation part was carried out
using Verilog HDL language in Quartus II tool and Pre-processing
(RGB to gray, image to
implementation was done in Altera cyclone II EP2C20F484C7 Upload on SRAM
hex file)
using FPGA DE1 kit.
A.PREPROCESSING
The main aim of the preprocessing is an 1/9 1/9 1/9
improvement of the image data that suppresses unwanted
distortions or enhances some image features important for
further processing. The input image is a three-dimensional 1/9 1/9 1/9
colored image, It must be converted to a grayscale image then
the image is resized with the resolution of 25*25 the resized
image is fed as input to QuartusII simulator for further 1/9 1/9 1/9
processing.
B.GRAYSCALE CONVERSION
Matlab convert an RGB image to grayscale.As a
result, an 8-bit image is received which have possible values Figure 2:3×3 Averaging Kernel Window
from 0 to 255.But in real time, image taken from the camera is
an RGB image but there is no function available there and it is
filtered values
converted in grey scale by using the following general formula unfiltered
Grayscale =0.2*R+0.59*G+0.11*B values * * *
Where 5 3 6
R-Red value * 5 *
G-Green value 2 1 9
B-Blue value * * *
C.IMAGE TO HEX FILE CONVERSION 8 4 7
To process the .bmp image on FPGA, the image is
converted from bitmap to hexadecimal format.Because the
hardware tool does not understand direct image so that using
Matlab the bitmap image is converted to .hex file. Image size Mean:
is 25*25 and the hex file includes R, G, B data of the bitmap 5+3+6+2+1+9+8+4+7=45
image. 45/9=5
D.IMPULSE NOISE
The impulse noise occurs due to the faulty memory F.PEAK SIGNAL TO NOISE RATIO
locations, malfunctioning pixel elements in the camera The mean square error(MSE) and the peak signal to
sensors, timing errors in the process of digitization.The noise ratio(PSNR) are the two error metrics used to compare
impulse noise also called salt and pepper noise,shot image compression quality. The calculation of Peak signal-to-
noise,spike noise.For 8 bit image, the pixel value of 255 noise ratio is the ratio between the maximum possible power
represents the salt noise and 0 represents pepper noise.Reasons of a signal and the power of corrupting noise that affects the
for Salt and Pepper Noise: fidelity of its representation. PSNR is denoted in terms of the
a. memory cell failure. logarithmic decibel scale.
b. malfunctioning of camera’s sensor cells. PSNR is used to measure the quality of a
c.synchronization errors in image digitizing or transmission. reconstructed image.For an example take image compression,
E.REMOVAL OF NOISE USING MEAN FILTER in this case, the signal is the original data, compression
Mean filter used to remove noise from the image it is introduced the noise in original data that is the error.A higher
a linear method.It is used reducing the amount of intensity PSNR indicates that the reconstruction is of higher quality.
variation between one pixel and the next. It is often used to Given a noise-free m×n monochrome image I and its noisy
remove noise from image and smoothing the image.The mean approximation K, MSE is defined as:
filter works by functioning through the image pixel by pixel
and replacing each pixel value in an image with the average
MSE
value of its neighbors, including itself. This has the effect of
discard the pixel values which are unrepresentative of their
surroundings. PSNR=10log( )
Mean filter is also knowing as a convolution filter.
Convolutions it is based around a kernel, which represents the
shape and size of the neighborhood to be sampled when =
calculating the mean. A 3×3 square kernel is used, as shown in
Figure 1, although larger kernels can be used for more severe Here is the maximum possible pixel value of
smoothing. Mean filter causes a certain amount of blurring to the image. when the pixels are represented using 8bits per
the image, thereby reducing the effect of noise. The amount of sample, this is 255.
blurring proportional to the window size.
I.WRITING TO SRAM USING CONTROL PANEL The above Figure 4 shows the pixel values of the
The Control Panel facility in DE1 board that allows a input image in hexadecimal format.For every clk cycle it will
user to access various components on the board through a return a pixel value of the image.The hexadecimal value is not
USB connection from a host computer.Using the Quartus II in organized value of the image.Using Verilog HDL code the
software the Control Panel can be used to write/read data image pixel values separated by corresponding band and the
to/from the SDRAM and SRAM chips on the DE1 board. The organized value are stored in separate registers shows in
figure of file writing in SRAM as shown in figure(3). Figure (5).
INPUT :clk,R,G,B
OUTPUT: A_OUT
The final result of the proposed idea is shown in
Figure 6.It contains the input data that is loaded for the
process and output data of proposed idea. As each input values
Figure 3:File writing in SRAM consists of 8bits, the hexadecimal representation of the
KEYWORD EXPLANATION
Clk Clock period
TEMP Hex value of the input image
B Indicate B band values of an image In Figure(8) shows the control panel setup using this
control panel the operation of read and Write into the SRAM
The resultant value after filtering the
A_OUT is done.to read the data in SRAM, specified the address line in
image by mean filter control panel and the value of stored data is displayed in the
DE1kit using LED’s shown in Figure(9).