25.01.2014 Views

FPGA Based Non Uniform Illumination Correction in Image ...

FPGA Based Non Uniform Illumination Correction in Image ...

FPGA Based Non Uniform Illumination Correction in Image ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

<strong>FPGA</strong> <strong>Based</strong> <strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong> <strong>Correction</strong> <strong>in</strong><br />

<strong>Image</strong> Process<strong>in</strong>g Applications<br />

Abhishek Acharya 1 , Rajesh Mehra 2 , Vikram S<strong>in</strong>gh Takher 3<br />

1 Assistant Professor, Department of Electronics & Communication,<br />

Govt. Eng<strong>in</strong>eer<strong>in</strong>g College Bikaner<br />

2 Assistant Professor, Department of Electronics & Communication<br />

National Institute of Technical Teachers’ Tra<strong>in</strong><strong>in</strong>g & Research, Chandigarh<br />

3 Senior Lecturer, Department of Electronics & Communication<br />

Govt. Polytechnic College, Bikaner<br />

1 acharya_g@rediffmail.com<br />

Abstract<br />

This paper outl<strong>in</strong>es, an efficient <strong>FPGA</strong> based<br />

hardware design for enhancement of color and<br />

grey scale images <strong>in</strong> image and video<br />

process<strong>in</strong>g. The approach used is adaptive<br />

histogram equalization which works very<br />

effectively for images captured under extremely<br />

dark environment as well as non-uniform<br />

light<strong>in</strong>g environment where bright regions are<br />

kept unaffected and dark objects <strong>in</strong> bright<br />

background. To meet the speed and area<br />

constra<strong>in</strong>ts, it is important to quantify the<br />

reduction <strong>in</strong> process<strong>in</strong>g speed as well as <strong>FPGA</strong><br />

resources that can be achieved if a component<br />

of the image/video process<strong>in</strong>g system is<br />

embedded onto a hardware based platform like<br />

an <strong>FPGA</strong>. A flexible field programmable gate<br />

array device lets develop the image process<strong>in</strong>g<br />

application so that the same logic substrate is<br />

reconfigured and reused by several custom<br />

coprocessors dur<strong>in</strong>g the different operation<br />

stages of the sequential biometric algorithm.<br />

The results obta<strong>in</strong>ed with this technology reveal<br />

that a reconfigurable <strong>FPGA</strong> faces both realtime<br />

and parallel compute-<strong>in</strong>tensive demands of<br />

the image enhancement process.<br />

Keywords: <strong>Image</strong> Enhancement, Real Time<br />

Constra<strong>in</strong>ts, <strong>FPGA</strong>, <strong>Non</strong>-L<strong>in</strong>ear Filter<strong>in</strong>g,<br />

Adaptive Histogram Equalization, Co-<br />

Simulation.<br />

1. Introduction<br />

<strong>Image</strong> process<strong>in</strong>g is used to modify<br />

pictures to improve them (enhancement,<br />

restoration), extract <strong>in</strong>formation<br />

(analysis, recognition), and change their<br />

structure (composition, image edit<strong>in</strong>g).<br />

<strong>Image</strong>s can be processed by optical,<br />

photographic, and electronic means, but<br />

image process<strong>in</strong>g us<strong>in</strong>g digital<br />

computers is the most common method<br />

because digital methods are fast,<br />

flexible, and precise [1].<br />

<strong>Image</strong> process<strong>in</strong>g technology is used by<br />

planetary scientists to enhance images of<br />

Mars, Venus, or other planets. Doctors<br />

use this technology to manipulate CAT<br />

scans and MRI images. <strong>Image</strong><br />

enhancement improves the quality<br />

(clarity) of images for human view<strong>in</strong>g.<br />

Remov<strong>in</strong>g blurr<strong>in</strong>g and noise, <strong>in</strong>creas<strong>in</strong>g<br />

contrast, and reveal<strong>in</strong>g details are<br />

examples of enhancement operations.<br />

For example, an image might be taken of<br />

an endothelial cell, which might be of<br />

low contrast and somewhat blurred.<br />

Reduc<strong>in</strong>g the noise and blurr<strong>in</strong>g and<br />

<strong>in</strong>creas<strong>in</strong>g the contrast range could<br />

enhance the image. The orig<strong>in</strong>al image<br />

might have areas of very high and very<br />

low <strong>in</strong>tensity, which mask details. An<br />

adaptive enhancement algorithm reveals<br />

these details. Adaptive algorithms adjust<br />

their operation based on the image<br />

<strong>in</strong>formation be<strong>in</strong>g processed. In this case<br />

the mean <strong>in</strong>tensity, contrast, and<br />

sharpness could be adjusted based on the<br />

pixel <strong>in</strong>tensity statistics <strong>in</strong> various areas<br />

of the image.<br />

349


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

2. Real Time Constra<strong>in</strong>ts<br />

In the case of real time <strong>Image</strong> process<strong>in</strong>g<br />

application such as automated<br />

surveillance or radar system number of<br />

image process<strong>in</strong>g stages and the biggest<br />

performance bottleneck is the time<br />

<strong>in</strong>volved <strong>in</strong> process<strong>in</strong>g the images<br />

captured by the camera. It is also dur<strong>in</strong>g<br />

this preprocess<strong>in</strong>g phase, when a large<br />

amount of data is be<strong>in</strong>g processed, that<br />

the system seeks to enhance the quality<br />

of the images captured by remov<strong>in</strong>g<br />

noise or unbalanced Light<strong>in</strong>g. Meet<strong>in</strong>g<br />

such real-time constra<strong>in</strong>ts is not always<br />

possible by rely<strong>in</strong>g solely on a software<br />

based solution implemented on a general<br />

purpose computer (PC). This is because<br />

there are multiple constra<strong>in</strong>ts placed on<br />

such computers by memory and<br />

peripheral devices connected to it.<br />

This leads to explore possible hardware<br />

based alternatives such as <strong>FPGA</strong>. Field<br />

Programmable Gate Arrays (<strong>FPGA</strong>) is a<br />

reconfigurable device used to place<br />

some or all of the system onto the<br />

hardware. They allow rapid prototyp<strong>in</strong>g<br />

of a system and offer an <strong>in</strong>expensive<br />

option to validate system requirements<br />

[2]. Plac<strong>in</strong>g the functionality of image<br />

process<strong>in</strong>g applications onto hardware<br />

allows faster process<strong>in</strong>g as it is no longer<br />

necessary to split the <strong>in</strong>dividual<br />

<strong>in</strong>structions <strong>in</strong>to fetch, decode and apply<br />

cycle needed <strong>in</strong> the typical process<strong>in</strong>g<br />

unit of a computer [3]. Moreover, the<br />

parallelism <strong>in</strong>herent <strong>in</strong> most low-level<br />

image process<strong>in</strong>g operations can now be<br />

exploited to its full extent as they can be<br />

partitioned <strong>in</strong>to subsystems, all of which<br />

can run concurrently with each other.<br />

Hence the goal of our research will be to<br />

implement the image process<strong>in</strong>g<br />

algorithms developed for our<br />

surveillance system so that the<br />

process<strong>in</strong>g speed of the components of<br />

the system is bounded with<strong>in</strong> a specified<br />

tim<strong>in</strong>g constra<strong>in</strong>t considered typical of<br />

such systems.<br />

3. <strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong><br />

<strong>Illum<strong>in</strong>ation</strong> is one of the most<br />

important factors affect<strong>in</strong>g the<br />

appearance of an image. It often leads<br />

to dim<strong>in</strong>ished structures or<br />

<strong>in</strong>homogeneous <strong>in</strong>tensities of the image<br />

due to different texture of the object<br />

surface and the shadows cast from<br />

different light source directions. On the<br />

other hand, uneven background, also<br />

known as background bias, background<br />

<strong>in</strong>tensity <strong>in</strong>-homogeneity, or nonuniform<br />

background, is the problem that<br />

an ideal image f is corrupted by an<br />

uneven background signal b so that the<br />

observed image I = f +b. Recover<strong>in</strong>g f<br />

from I is not an easy task when b is<br />

non-uniform. In essence, both the<br />

vary<strong>in</strong>g illum<strong>in</strong>ation and the uneven<br />

background are <strong>in</strong>homogeneous<br />

<strong>in</strong>tensity patterns that are either<br />

multiplicative or additive.<br />

A common issue irrespective of the type<br />

of camera and method of microscope<br />

attachment is uneven illum<strong>in</strong>ation at the<br />

edges of the image, otherwise known as<br />

vignett<strong>in</strong>g. This may be attributed to<br />

multiple factors from the illum<strong>in</strong>ation<br />

filament, the design of the light path<br />

between the camera and the<br />

microscope, or the behavior of the<br />

imag<strong>in</strong>g device. Conventional digital<br />

cameras—for example, are not designed<br />

for microscopy imag<strong>in</strong>g, and many of<br />

their automatic functions can <strong>in</strong>terfere<br />

with the correct aperture and exposure<br />

sett<strong>in</strong>gs. Common problem irrespective<br />

of the type of camera and method of<br />

microscope attachment is uneven<br />

illum<strong>in</strong>ation at the edges of the image,<br />

known as vignett<strong>in</strong>g (Figure 1, 2)<br />

350


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

narrow histogram, thereby achiev<strong>in</strong>g<br />

contrast enhancement. In histogram<br />

equalization (HE), the goal is to obta<strong>in</strong> a<br />

uniform histogram for the output image,<br />

so that an ―optimal‖ overall contrast is<br />

perceived. However, the feature of<br />

<strong>in</strong>terest <strong>in</strong> an image might need<br />

enhancement locally. And although there<br />

was no decrease <strong>in</strong> delectability of<br />

simulated low contrast live metastases<br />

for an experienced reader [4],<br />

radiologists always f<strong>in</strong>d the appearance<br />

of the HE enhanced images to be<br />

objectionable <strong>in</strong> that they often <strong>in</strong>troduce<br />

undesirable artifacts and noise [6].<br />

Figure 1: <strong>Image</strong> Suffer<strong>in</strong>g from Un-even<br />

illum<strong>in</strong>ation (Grey Level <strong>Image</strong> size - 512x512)<br />

Figure 2: <strong>Image</strong> Suffer<strong>in</strong>g from Un-even<br />

illum<strong>in</strong>ation (Color <strong>Image</strong> size - 512x512)<br />

4. Adaptive Histogram Equalization<br />

The histogram of an image represents<br />

the relative frequency of occurrence of<br />

gray levels with<strong>in</strong> an image. Histogram<br />

model<strong>in</strong>g techniques modify an image so<br />

that its histogram has a desired shape.<br />

This is useful <strong>in</strong> stretch<strong>in</strong>g the lowcontrast<br />

levels of an image with a<br />

For images which conta<strong>in</strong> local regions<br />

of low contrast bright or dark regions,<br />

global histogram equalization won't<br />

work effectively. A modification of<br />

histogram equalization called the<br />

Adaptive Histogram Equalization can be<br />

used on such images for better results.<br />

Adaptive histogram equalization works<br />

by consider<strong>in</strong>g only small regions and<br />

based on their local Cumulative Density<br />

Function, performs contrast<br />

enhancement of those regions.<br />

Adaptive Histogram Equalization (AHE)<br />

computes the histogram of a local<br />

w<strong>in</strong>dow centered at a given pixel to<br />

determ<strong>in</strong>e the mapp<strong>in</strong>g for that pixel,<br />

which provides a local contrast<br />

enhancement. However, the<br />

enhancement is so strong that two major<br />

problems can arise: noise amplification<br />

<strong>in</strong> ―flat‖ regions of the image and ―r<strong>in</strong>g‖<br />

artifacts at strong edges [09]. A<br />

generalization of AHE, contrast limit<strong>in</strong>g<br />

AHE (CLAHE) has more flexibility <strong>in</strong><br />

choos<strong>in</strong>g the local histogram mapp<strong>in</strong>g<br />

function. By select<strong>in</strong>g the clipp<strong>in</strong>g level<br />

of the histogram, undesired noise<br />

amplification can be reduced. In<br />

addition, by method of background<br />

351


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

subtraction, the boundary artifacts can<br />

also be reduced.<br />

5. System Generator <strong>Based</strong> Design<br />

It is requirement of an efficient rapid<br />

prototyp<strong>in</strong>g system to develop an<br />

environment target<strong>in</strong>g the hardware<br />

design platform. The used tools are<br />

MATLAB R2008a with Simul<strong>in</strong>k from<br />

Math-Works [3, 4], System Generator<br />

11.1 for DSP and ISE 11.1 from Xil<strong>in</strong>x<br />

presents such capabilities (figure 1).<br />

Although the Xil<strong>in</strong>x ISE 11.1 foundation<br />

software is not directly utilized, it is<br />

required due to the fact that it is runn<strong>in</strong>g<br />

<strong>in</strong> the background when the System<br />

Generator blocks are implemented. The<br />

System Generator environment allows<br />

for the Xil<strong>in</strong>x l<strong>in</strong>e of <strong>FPGA</strong>s to be<br />

<strong>in</strong>terfaced directly with Simul<strong>in</strong>k. In<br />

addition there are several cost effective<br />

development boards available on the<br />

market that can be utilized for the<br />

software design development phase.<br />

The Xil<strong>in</strong>x Integrated Software<br />

Environment (ISE) is a powerful design<br />

environment that is work<strong>in</strong>g <strong>in</strong> the<br />

background when implement<strong>in</strong>g System<br />

Generator blocks. The ISE environment<br />

consists of a set of program modules,<br />

written <strong>in</strong> HDL, that are utilized to<br />

create, capture, simulate and implement<br />

digital designs <strong>in</strong> a <strong>FPGA</strong> target device.<br />

The synthesis of these modules creates<br />

net list files which serve as the <strong>in</strong>put to<br />

the implementation module. After<br />

generat<strong>in</strong>g these files, the logic design is<br />

converted <strong>in</strong>to a physical file that can be<br />

downloaded on the target device.<br />

Here architecture is proposed for <strong>FPGA</strong><br />

implementation us<strong>in</strong>g Xil<strong>in</strong>x System<br />

Generator block-set. The architecture<br />

can only be applied to an image of size<br />

1024 width x 1024 height x 24 bits (for 8<br />

bits x 3 channels). However <strong>in</strong> order to<br />

run images of different sizes the<br />

parameters supplied to architecture have<br />

to be modified. The design of the<br />

component‘s architecture is shown <strong>in</strong><br />

Figure 3.The logic for the component is<br />

encoded <strong>in</strong> the Xil<strong>in</strong>x MATLAB Code<br />

block, which is a conta<strong>in</strong>er used for<br />

execut<strong>in</strong>g user-supplied MATLAB<br />

functions with<strong>in</strong> Simul<strong>in</strong>k. This block<br />

executes the MATLAB functions to<br />

calculate the output dur<strong>in</strong>g the<br />

simulation. However, it must be<br />

emphasized that the M-code block only<br />

supports a limited subset of the<br />

MATLAB language.<br />

Figure 3, 4 shows the model that uses<br />

the top level HDL module and its Xil<strong>in</strong>x<br />

block-set for <strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong><br />

<strong>Correction</strong>. This model can be used for<br />

co-simulation. Once the design is<br />

verified, a hardware co-simulation block<br />

can be generated and then will be used to<br />

program the <strong>FPGA</strong> for the non uniform<br />

illum<strong>in</strong>ation correction model<br />

implementation. Figure 4 shows the<br />

model with the hardware co-simulation<br />

block. The bit stream download step is<br />

performed us<strong>in</strong>g a JTAG cable. Here<br />

Xil<strong>in</strong>x System Generator Token is used<br />

which is necessary for the design of such<br />

models.<br />

Figure 3: Proposed Model for Grey Level <strong>Image</strong><br />

Process<strong>in</strong>g<br />

352


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

Figure 5: Proposed Model for Color <strong>Image</strong><br />

Process<strong>in</strong>g<br />

After the co-simulation step the VHDL<br />

codes were automatically generated from<br />

the System Generator block sets. The<br />

VHDL codes were then synthesized<br />

us<strong>in</strong>g Xil<strong>in</strong>x ISE 11.1i and targeted for<br />

Xil<strong>in</strong>x Spartan3 and Virtex II Pro<br />

family.. The optimization sett<strong>in</strong>g is for<br />

maximum clock speed. Table 1 details<br />

the resource requirements of the design.<br />

Note that <strong>in</strong> practice, additional blocks<br />

are needed for <strong>in</strong>put/output <strong>in</strong>terfaces,<br />

and synchronization. The target <strong>FPGA</strong><br />

chip is Xil<strong>in</strong>x Virtex II Pro xc2vp7-<br />

6ff672 and Spartan 3 xc3s200-5 ft256.<br />

Dur<strong>in</strong>g the Simul<strong>in</strong>k-to-<strong>FPGA</strong> design<br />

flow, circuit model<strong>in</strong>g is built up with<br />

Simul<strong>in</strong>k basic blocks and Xil<strong>in</strong>x<br />

specified blocks. Input and output data<br />

are comb<strong>in</strong>ed with MATLAB<br />

workspace, which is convenient to<br />

convert number format and debug.<br />

Include results section here<br />

Figure 6: JTAG Co-Simulation for Color <strong>Image</strong><br />

6. H/W Co-simulation Results<br />

Xil<strong>in</strong>x system generator is a very useful<br />

tool for develop<strong>in</strong>g computer vision<br />

algorithms. It could be described as a<br />

timely, advantageous option for<br />

develop<strong>in</strong>g <strong>in</strong> a much more comfortable<br />

way than that permitted by VHDL or<br />

other hardware description languages<br />

(HDLs). The Model was compiled<br />

successfully <strong>in</strong> the SIMULINK<br />

environment.<br />

Hardware co-simulation block was<br />

generated without any errors and the<br />

process<strong>in</strong>g speed and hardware resources<br />

were obta<strong>in</strong>ed us<strong>in</strong>g the synthesis and<br />

ISE implementation tool. Figure 7, 8 are<br />

show<strong>in</strong>g that almost there is no<br />

difference between result obta<strong>in</strong>ed from<br />

MATLAB and <strong>FPGA</strong>. Figure 7 shows<br />

the non uniform illum<strong>in</strong>ation correction<br />

<strong>in</strong> grey scale image and Figure 8 shows<br />

the non uniform illum<strong>in</strong>ation correction<br />

<strong>in</strong> color image process<strong>in</strong>g.<br />

Figure 5: JTAG Co-Simulation for<br />

Grey Level <strong>Image</strong><br />

353


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

(a) Software Component<br />

(b)Hardware Component<br />

Figure 7: Results of <strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong><br />

<strong>Correction</strong> of Color image (Software and<br />

Hardware Components)<br />

(b) Hardware Component<br />

Figure 7: Results of <strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong><br />

<strong>Correction</strong> of grey level image (Software and<br />

Hardware Components)<br />

(a)Software Component<br />

Table 1 shows that when design is<br />

implemented on Virtex 2 Pro <strong>FPGA</strong>, the<br />

number of hardware resources used are<br />

lesser than the Spartan 3 <strong>FPGA</strong>. As the<br />

clock frequency is <strong>in</strong>creased, the speed<br />

is also improved. Table 2 shows that<br />

number of resources used <strong>in</strong> our<br />

approach are slightly lesser that the<br />

method used for uneven illum<strong>in</strong>ation<br />

correction by color space conversion<br />

only.<br />

7. Conclusion<br />

These results are obta<strong>in</strong>ed for image size<br />

of 512x512. The approach discussed<br />

can be used up to the image size of<br />

1024x1024. Here we have discussed the<br />

implementation of the Adaptive<br />

Histogram Equalization algorithm us<strong>in</strong>g<br />

Xil<strong>in</strong>x System Generator 11.1i. This<br />

implementation was realized with a<br />

Xil<strong>in</strong>x Spartan 3 xc3s200-5ft256 and<br />

Virtex 2 Pro xc2vp7-6ff672 <strong>FPGA</strong>,<br />

clocked at 130.75 MHz and 155.15<br />

respectively. The use of a<br />

reprogrammable device permits the<br />

cont<strong>in</strong>u<strong>in</strong>g parametric changes of the<br />

354


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

AHE <strong>in</strong> real time. The Xil<strong>in</strong>x System<br />

Generator, embedded <strong>in</strong> MATLAB<br />

Simul<strong>in</strong>k was used to program the model<br />

and test <strong>in</strong> the <strong>FPGA</strong> board us<strong>in</strong>g the<br />

hardware co-simulation feature tools.<br />

See the comparison Table 1 for<br />

comparison.<br />

8. Future Scope & Recommendations<br />

XSG is a very useful tool for develop<strong>in</strong>g<br />

computer vision algorithms. It could be<br />

described as a timely, advantageous<br />

option for develop<strong>in</strong>g <strong>in</strong> a much more<br />

comfortable way than that permitted by<br />

hardware description languages (HDLs).<br />

The purpose of this paper was to<br />

demonstrate the use of System Generator<br />

to correct the uneven illum<strong>in</strong>ation for<br />

image and video process<strong>in</strong>g. This design<br />

is implemented <strong>in</strong> the device Spartan 3<br />

(xc3s200-5ft256) and Virtex II Pro<br />

(Virtex 2 Pro xc2vp7- 6ff672). Further<br />

some more variants of histogram<br />

equalization can be used. The size of<br />

image under consideration was<br />

1024x1024 maximum, which can be<br />

extended to bigger size. Nature <strong>in</strong>spired<br />

comput<strong>in</strong>g can also be employed to<br />

enhance the quality of image due to<br />

uneven illum<strong>in</strong>ation.<br />

Acknowledgement<br />

The authors would like to thank Dr. S.<br />

Chatterji, Professor and Head,<br />

Electronics & Communication<br />

Eng<strong>in</strong>eer<strong>in</strong>g Department, NITTTR,<br />

Chandigarh for constant encouragement<br />

and guidance dur<strong>in</strong>g this research work.<br />

Author would also like to express<br />

gratitude towards Sh. O. S. Khanna,<br />

Associate Professor <strong>in</strong> the Department of<br />

Electronics & Communication<br />

Eng<strong>in</strong>eer<strong>in</strong>g for giv<strong>in</strong>g valuable<br />

suggestions time to time.<br />

Table 1: Resources of <strong>FPGA</strong> used <strong>in</strong> the implementation of<br />

<strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong> <strong>Correction</strong> Algorithm<br />

Resources Under<br />

Consideration<br />

Spartan 3 xc3s200-5ft256<br />

Virtex 2 Pro xc2vp7-6ff672<br />

Used Available Used Available<br />

Number of Slices 301 1920 296 4928<br />

Number of Slice Flip Flop 440 3840 432 9856<br />

Number of 4 <strong>in</strong>put LUTs 535 3840 529 9856<br />

Number of Bonded IOBs 73 173 69 396<br />

Maximum Frequency 128.54 MHz 151.057 MHz<br />

355


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

Table 2: Comparison of Resources of <strong>FPGA</strong> (Spartan 3) used <strong>in</strong> the implementation of<br />

<strong>Non</strong> <strong>Uniform</strong> <strong>Illum<strong>in</strong>ation</strong> <strong>Correction</strong> Algorithm with exist<strong>in</strong>g Method<br />

Resources Under<br />

Consideration<br />

Our Approach (AHE)<br />

Exist<strong>in</strong>g Method (CSC)<br />

Used Available Used Available<br />

Number of Slices 301 1920 307 1920<br />

Number of Slice Flip Flop 440 3840 446 3840<br />

Number of 4 <strong>in</strong>put LUTs 535 3840 545 3840<br />

Number of Bonded IOBs 73 173 75 173<br />

Maximum Frequency 128.54 MHz 129.721<br />

Reference:<br />

[1]. Carl Steven Rapp, <strong>Image</strong> Process<strong>in</strong>g and <strong>Image</strong><br />

Enhancement, East Tennessee University,<br />

Johnson City, Texas.<br />

[2]. Kiran, M.; Kan Mei War; Lim Mei Kuan; Liang<br />

Kim Meng; Lai Weng K<strong>in</strong>, Implement<strong>in</strong>g image<br />

process<strong>in</strong>g algorithms us<strong>in</strong>g ‗Hardware <strong>in</strong> the<br />

loop‘ approach, IEEE Conference on Electronic<br />

Design, December 1-3, 2008, Penang, Malaysia<br />

pp 1-6.<br />

[3]. T. Moreo, P. N. Lorente, F. S. Valles, J. S. Muro,<br />

C. F. Andrés, Experiences on develop<strong>in</strong>g<br />

computer vision hardware algorithms us<strong>in</strong>g<br />

Xil<strong>in</strong>x system generators, Elsevier Journal of<br />

Microprocessors and Microsystems 29, 2005 pp<br />

411- 419.<br />

[4]. Y<strong>in</strong>peng J<strong>in</strong>, Laura Fayad, Andrew La<strong>in</strong>e,<br />

Contrast Enhancement by Multi-scale Adaptive<br />

Histogram Equalization, Department of<br />

Biomedical Eng<strong>in</strong>eer<strong>in</strong>g, Columbia University,<br />

New York, NY.<br />

[5]. Kassem, M. Hamad, E. Haidamous, <strong>Image</strong><br />

Compression on <strong>FPGA</strong> us<strong>in</strong>g DCT, IEEE<br />

Conference on Advances <strong>in</strong> Computational Tools<br />

for Eng<strong>in</strong>eer<strong>in</strong>g Applications, 2009 Zouk<br />

Mosbeh, Lebanon pp 220-223.<br />

[6]. T. Saidani , D. Dia, W. Elhamzi, M. Atri and R.<br />

Tourki, Hardware Co-simulation For Video<br />

Process<strong>in</strong>g Us<strong>in</strong>g Xil<strong>in</strong>x System Generator,<br />

Proceed<strong>in</strong>gs of the World Congress on<br />

Eng<strong>in</strong>eer<strong>in</strong>g 2009 Vol I, London, UK pp 151 -<br />

155.<br />

[7]. Alba M. Sánchez G., Ricardo Alvarez G., Sully<br />

Sánchez G.; FCC and FCE BUAP, Architecture<br />

for filter<strong>in</strong>g images us<strong>in</strong>g Xil<strong>in</strong>x System<br />

Generator, International Journal of Mathematics<br />

& Computers <strong>in</strong> Simulation, Issue 2, Volume 1,<br />

2007 pp 101 – 107.<br />

[8]. N. Shirazi, J. Ballagh, Put Hardware <strong>in</strong> the Loop<br />

with Xil<strong>in</strong>x System Generator for DSP, Xcell<br />

Journal, Fall 2003 pp 01-03.<br />

[9]. Sima Haifeng Liu Lanlan, Local Adaptive <strong>Image</strong><br />

Enhancement <strong>Based</strong> on HSI Space, Third<br />

International Symposium on Computer Science<br />

and Computational Technology(ISCSCT ‘10),<br />

Jiaozuo, P. R. Ch<strong>in</strong>a, 14-15,August 2010, pp.<br />

253-255.<br />

[10]. Chi-Jeng Chang, Pei-Yung Hsiao, Zen-Yi Huang,<br />

Integrated Operation of <strong>Image</strong> Captur<strong>in</strong>g and<br />

Process<strong>in</strong>g <strong>in</strong> <strong>FPGA</strong>, IJCSNS, Journal of<br />

Computer Science and Network Security, VOL.6<br />

No.1A, January 2006 pp 173 - 180.<br />

356


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

[11]. K.T. Gribbon, D.G. Bailey, A. Ba<strong>in</strong>bridge-Smith,<br />

‗Development Issues <strong>in</strong> Us<strong>in</strong>g <strong>FPGA</strong>s for <strong>Image</strong><br />

Process<strong>in</strong>g‘, Proceed<strong>in</strong>gs of <strong>Image</strong> and Vision<br />

Comput<strong>in</strong>g New Zealand 2007, pp. 217–222.<br />

[12]. K. T. Gribbon, D. G. Bailey, and C. T. Johnston,<br />

"Us<strong>in</strong>g Design Patterns for <strong>Image</strong> Process<strong>in</strong>g<br />

Algorithm Development on <strong>FPGA</strong>s," <strong>in</strong> Proc. of<br />

the Third IEEE International Workshop on<br />

Electronic Design, Test, and Applications<br />

(DELTA 2006), Kuala Lumpur, Malaysia 2006,<br />

pp. 47-53.<br />

[13]. Yasuyuki Matsushita, Ko Nish<strong>in</strong>o, Katsushi<br />

Ikeuchi Masao Sakauchi, <strong>Illum<strong>in</strong>ation</strong><br />

normalization with Time-Dependent Intr<strong>in</strong>sic<br />

<strong>Image</strong>s for Video Surveillance, IEEE<br />

Transactions on Pattern Analysis and Mach<strong>in</strong>e<br />

Intelligence, VOL. 26, No. 10, October 2004 pp<br />

1336-1347.<br />

[14]. T. Latha, M. Sasi kumar, A. Albert Raj, <strong>FPGA</strong><br />

<strong>Based</strong> Digital <strong>Image</strong> Restoration Us<strong>in</strong>g Multi-<br />

Resolution Transform <strong>Based</strong> Filter<strong>in</strong>g, IET-UK<br />

International Conference on Information and<br />

Communication Technology <strong>in</strong> Electrical<br />

Sciences 2007 pp 625 - 629.<br />

[15]. Daniel E. Michek, Develop<strong>in</strong>g <strong>Image</strong> Process<strong>in</strong>g<br />

Algorithms us<strong>in</strong>g System Generator, Xcell<br />

Journal, fall w<strong>in</strong>ter 2004 pp 01-03.<br />

[16]. S. Lam, H. De Smet ―Frame Resolution<br />

Scalability <strong>in</strong> Wavelet <strong>Based</strong> Multiple L<strong>in</strong>e<br />

Address<strong>in</strong>g for Passive Matrix Displays‖. IEEE<br />

Society for Information Displays 2006,<br />

International Symposium Digest of Technical<br />

Papers. Vol. 37. 2006. pp. 355-358.<br />

[17]. L.M. Reyneri, A Simul<strong>in</strong>k-based hybrid codesign<br />

tool for rapid prototyp<strong>in</strong>g of <strong>FPGA</strong>‘s <strong>in</strong><br />

signal process<strong>in</strong>g systems, Elsevier Journal of<br />

Microprocessors and Microsystems 28 2004, pp<br />

273–289.<br />

[18]. K. Benkrid, A. Benkrid, S. Belkacemi, Efficient<br />

<strong>FPGA</strong> hardware development: A multi-language<br />

approach, Elsevier Journal of Systems<br />

Architecture 2007 pp 184–209.<br />

[19]. Nicolas Ley, Christian Weigel and Markus<br />

Mehnert, GPU-<strong>Based</strong> Background <strong>Illum<strong>in</strong>ation</strong><br />

<strong>Correction</strong>, Consumer Electronics, IEEE<br />

International Symposium on Consumer<br />

Electronics 2007, pp 1-5.<br />

[20]. Lopez, M.; Canto, E.; Fons, M, Hardware-<br />

Software Co-design of a F<strong>in</strong>gerpr<strong>in</strong>t <strong>Image</strong><br />

Enhancement Algorithm, IEEE Conference on<br />

Industrial Electronics, 2006 pp 3496-3501.<br />

[21]. Thomas W. Fry, Scott Hauck, SPIHT <strong>Image</strong><br />

Compression on <strong>FPGA</strong>s, Circuits and Systems<br />

for Video Technology, IEEE Transactions on<br />

<strong>Image</strong> Process<strong>in</strong>g, 2005 pp 1138 - 1147.<br />

[22]. Daggu Venkateshwar Rao, Shruti Patil, Naveen<br />

Anne Babu and V Muthukumar, Implementation<br />

and Evaluation of <strong>Image</strong> Process<strong>in</strong>g Algorithms<br />

on Reconfigurable Architecture us<strong>in</strong>g C-based<br />

Hardware Descriptive Languages, International<br />

Journal of Theoretical and Applied Computer<br />

Sciences, Volume 1 Number 1 (2006) pp 9–34.<br />

[23]. Rajan, S.Ravi, <strong>FPGA</strong> <strong>Based</strong> Hardware<br />

Implementation of <strong>Image</strong> Filter with Dynamic<br />

Reconfiguration Architecture, International<br />

Journal of Computer Science and Network<br />

Security, VOL.6 No.12, December 2006 pp 121 -<br />

127.<br />

[24]. Bei Tang, Guillermo Sapiro, Vicent Caselles,<br />

Color <strong>Image</strong> Enhancement via Chromaticity<br />

Diffusion, Circuits and Systems for Video<br />

Technology, IEEE Transactions on <strong>Image</strong><br />

Process<strong>in</strong>g, VOL. 10, 2001 pp 701-707.<br />

[25]. Sally L. Wood, Chris Dick, Concepts of<br />

Parallelism In An Introductory Computer<br />

Architecture Courses With <strong>FPGA</strong> Laboratories,<br />

34th ASEE/IEEE Frontiers <strong>in</strong> Education<br />

Conference, October, 2004, Savannah, GA pp 15<br />

–21.<br />

[26]. Mike Hodson, Prototyp<strong>in</strong>g <strong>Image</strong> Process<strong>in</strong>g<br />

Applications, <strong>Image</strong> Process<strong>in</strong>g Techniques Ltd.,<br />

Xcell Journal, Fourth Quarter 2007 pp 31-33.<br />

[27]. D.Crookes, K.Benkrid, A.Bouridane, K.Alotaibi<br />

and A.Benkrid, Design and implementation of a<br />

high level programm<strong>in</strong>g environment for <strong>FPGA</strong>based<br />

image process<strong>in</strong>g, IPA99 Special Section,<br />

IEE Proc.-Vis. <strong>Image</strong> Signal Process., Vol. 147,<br />

No. 4, 2000 pp 377 - 384.<br />

[28]. M. Sapkal, Mousami Munot, Dr. M. A. Joshi, R'<br />

G'B' to Y'CbCr Color Space Conversion Us<strong>in</strong>g<br />

<strong>FPGA</strong>, IET International Conference on<br />

Wireless, Mobile and Multimedia Networks,<br />

2008 pp 255 - 258.<br />

[29]. Charles D. Norton, Thomas A. Werne, Paula J.<br />

P<strong>in</strong>gree, Sven Geier, An Evaluation of the Xil<strong>in</strong>x<br />

Virtex-4 <strong>FPGA</strong> for On-Board Process<strong>in</strong>g <strong>in</strong> an<br />

Advanced Imag<strong>in</strong>g System, IEEEAC paper 1030,<br />

Version 3 Aerospace conference, 2009 IEEE pp<br />

1-9.<br />

[30]. Saegusa, T. Maruyama, T. Yamaguchi, Y.<br />

Tsukuba Univ., Tsukuba, How fast is an <strong>FPGA</strong> <strong>in</strong><br />

image process<strong>in</strong>g, IEEE International Conference<br />

on Field Programmable Logic and Applications,<br />

2008 pp 77 - 82.<br />

357


Abhishek Acharya,Rajesh Mehra,Vikram S<strong>in</strong>gh Takher, Int. J. Comp. Tech. Appl., Vol 2 (2), 349-358<br />

ISSN:2229-6093<br />

[31]. Chakalabbi Jairaj M., Shaila Subbaraman, QMF<br />

Implementation us<strong>in</strong>g Xil<strong>in</strong>x System Generator<br />

(XSG), 3rd IEEE International Conference on<br />

Computer Science and Information Technology ,<br />

2010 pp 142 - 145.<br />

[32]. Yadong Wu, Zhiq<strong>in</strong> Liu, Yongguo Han,<br />

Hongy<strong>in</strong>g Zhang, An <strong>Image</strong> illum<strong>in</strong>ation<br />

<strong>Correction</strong> Algorithm based on Tone Mapp<strong>in</strong>g,<br />

IEEE 3rd International Congress on <strong>Image</strong> and<br />

Signal Process<strong>in</strong>g (CISP2010), pp 648-648<br />

[33]. WANG Zhim<strong>in</strong>g, TAO Jianhua, A Fast<br />

Implementation of Adaptive Histogram<br />

Equalization, IEEE International Conference on<br />

Signal Process<strong>in</strong>g, 2006 pp 52-55.<br />

[34]. I. Alston, B. Madahar, From C to netlists:<br />

hardware eng<strong>in</strong>eer<strong>in</strong>g for software eng<strong>in</strong>eers?,<br />

Electronics and Communication Eng<strong>in</strong>eer<strong>in</strong>g<br />

Journal 14 (4) (2002) 165–173.<br />

[35]. I.S. Uzun, A.A.A. Bouridane, <strong>FPGA</strong><br />

implementations of fast Fourier transforms for<br />

real-time signal and image process<strong>in</strong>g, IEEE<br />

International Conference on Field-Programmable<br />

Technology (FPT), 2003, pp. 102–109.<br />

areas of <strong>in</strong>terest are VLSI Design and its application<br />

<strong>in</strong> signal and image process<strong>in</strong>g systems Mr. Acharya<br />

has been awarded by various organizations for<br />

excellence <strong>in</strong> teach<strong>in</strong>g learn<strong>in</strong>g process.<br />

Rajesh Mehra: Mr. Rajesh Mehra<br />

is currently Assistant Professor at National Institute<br />

of Technical Teachers’ Tra<strong>in</strong><strong>in</strong>g & Research,<br />

Chandigarh, India. He is pursu<strong>in</strong>g his PhD from<br />

Panjab University, Chandigarh, India. He has<br />

completed his M.E. from NITTTR, Chandigarh, India<br />

and B. Tech from NIT, Jalandhar, India. Mr. Mehra<br />

has 15 years of academic experience. He has<br />

authored more than 40 research papers <strong>in</strong> national,<br />

<strong>in</strong>ternational conferences and reputed journals. His<br />

<strong>in</strong>terest areas are VLSI Design, Embedded System<br />

Design, Advanced Digital Signal Process<strong>in</strong>g,<br />

Wireless & Mobile Communication and Digital<br />

System Design. Mr. Mehra is life member of ISTE.<br />

[36]. A. T. Moreo, P. N. Lorente, F. S. Valles, J. S.<br />

Muro, C. F. Andrés, Experiences on develop<strong>in</strong>g<br />

computer vision hardware algorithms us<strong>in</strong>g<br />

Xil<strong>in</strong>x system generators, Microprocessors and<br />

Microsystems 29, (2005) 411- 419.<br />

[37]. C. Vicente-Chicote, A. Toledo, P. Sanchez-<br />

Palma, <strong>Image</strong> Process<strong>in</strong>g Application<br />

Development: From Rapid Prototyp<strong>in</strong>g to<br />

SW/HW Co-simulation and Automated Code<br />

Generation, Spr<strong>in</strong>ger-Verlag, pp.659-666, 2005.<br />

Authors Biography:<br />

Vikram S<strong>in</strong>gh Takher: Mr. Vikram<br />

S<strong>in</strong>gh Takher is currently Lecturer (senior scale) at<br />

Govt. Polytechnic College, Bikaner, Rajasthan,<br />

India. He is pursu<strong>in</strong>g his M.E. from NITTTR,<br />

Chandigarh, India. He has completed his B.E. from<br />

MNIT, Jaipur, Rajasthan, India. Mr. Takher has 14<br />

years of academic experience. He has authored 03<br />

research papers <strong>in</strong> national conferences and 04<br />

research papers <strong>in</strong> <strong>in</strong>ternational conferences. Mr.<br />

Takher’s <strong>in</strong>terest areas are VLSI Design, Embedded<br />

System Design & Advanced Digital Signal<br />

Process<strong>in</strong>g<br />

Abhishek Acharya: Mr. Abhishek<br />

Acharya is currently work<strong>in</strong>g as Assistant Professor<br />

<strong>in</strong> the Department of Electronics & Communication<br />

at Govt. Eng<strong>in</strong>eer<strong>in</strong>g College Bikaner. He received<br />

his B.E. from University of Rajasthan, Jaipur and he<br />

has been a M.E Scholar of NITTTR Chandigarh. He<br />

has around 8 years of teach<strong>in</strong>g experience at UG/PG<br />

level. He has authored around 15research papers to<br />

various <strong>in</strong>ternational and national conferences. His<br />

358

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!