14
VLSI DESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprints available directly from the publisher Photocopying permitted by license only (C) 2000 OPA (Overseas Publishers Association) N.V. Published by license under the Gordon and Breach Science Publishers imprint. Printed in Malaysia. Implementation of Multispectral Image Classification on a Remote Adaptive Computer MARCO A. FIGUEIREDO a’ *, CLAY S. GLOSTERb’t, MARK STEPHENSc’*, COREY A. GRAVES b’ and MOUNA NAKKAR b’ aSGT Inc., Code 564, NASA Goddard Space Flight Center, Greenbelt Road, Greenbelt, Maryland, 20771" bElectrical and Computer Engineering, North Carolina State University, Box 7914, NCSU, Raleigh NC 27695-7914; CCode 585, NASA Goddard Space Flight Center, Greenbelt Road, Greenbelt, Maryland, 20771 (Received I February 1999; In final form 1 October 1999) As the demand for higher performance computers for the processing of remote sensing science algorithms increases, the need to investigate new computing paradigms is justified. Field Programmable Gate Arrays enable the implementation of algorithms at the hardware gate level, leading to orders of magnitude performance increase over microprocessor based systems. The automatic classification of spaceborne multispec- tral images is an example of a computation intensive application that can benefit from implementation on an FPGA-based custom computing machine (adaptive or reconfigurable computer). A probabilistic neural network is used here to classify pixels of a multispectral LANDSAT-2 image. The implementation described utilizes Java client/server application programs to access the adaptive computer from a remote site. Results verify that a remote hardware version of the algorithm (implemented on an adaptive computer) is significantly faster than a local software version of the same algorithm (implemented on a typical general-purpose computer). Keywords." Reconfigurable computing, adaptive computing, neural networks, image processing, field programmable gate arrays (FPGAs), VHDL Modeling, image classification, probabilistic neural networks I. INTRODUCTION A new generation of satellites is being devel- oped by the National Aeronautics and Space Administration (NASA) to compose the Earth Ob- serving System (EOS). The instruments aboard the EOS satellites not only extend the observation life of the current satellites, but they also extend *e-mail: macro @ fpga.gsfc.nasa.gov tCorresponding author. Tel.: (919) 515-7348, Fax: (919) 515-2285, e-mail: [email protected] *e-mail: Mark.A.Stephen. @gsfc.nasa.gov e-mail: [email protected] e-mail: [email protected] 307

Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

VLSI DESIGN2000, Vol. 10, No. 3, pp. 307-319Reprints available directly from the publisherPhotocopying permitted by license only

(C) 2000 OPA (Overseas Publishers Association) N.V.Published by license under

the Gordon and Breach SciencePublishers imprint.

Printed in Malaysia.

Implementation of Multispectral Image Classificationon a Remote Adaptive Computer

MARCO A. FIGUEIREDOa’ *, CLAY S. GLOSTERb’t, MARK STEPHENSc’*,COREY A. GRAVESb’ and MOUNA NAKKARb’

aSGT Inc., Code 564, NASA Goddard Space Flight Center, Greenbelt Road, Greenbelt, Maryland, 20771"bElectrical and Computer Engineering, North Carolina State University, Box 7914, NCSU, Raleigh NC 27695-7914;

CCode 585, NASA Goddard Space Flight Center, Greenbelt Road, Greenbelt, Maryland, 20771

(Received I February 1999; In finalform 1 October 1999)

As the demand for higher performance computers for the processing of remote sensingscience algorithms increases, the need to investigate new computing paradigms isjustified. Field Programmable Gate Arrays enable the implementation of algorithmsat the hardware gate level, leading to orders of magnitude performance increase overmicroprocessor based systems. The automatic classification of spaceborne multispec-tral images is an example of a computation intensive application that can benefitfrom implementation on an FPGA-based custom computing machine (adaptive orreconfigurable computer). A probabilistic neural network is used here to classify pixelsof a multispectral LANDSAT-2 image. The implementation described utilizes Javaclient/server application programs to access the adaptive computer from a remote site.Results verify that a remote hardware version of the algorithm (implemented on anadaptive computer) is significantly faster than a local software version of the samealgorithm (implemented on a typical general-purpose computer).

Keywords." Reconfigurable computing, adaptive computing, neural networks, image processing,field programmable gate arrays (FPGAs), VHDL Modeling, image classification, probabilisticneural networks

I. INTRODUCTION

A new generation of satellites is being devel-oped by the National Aeronautics and Space

Administration (NASA) to compose the Earth Ob-serving System (EOS). The instruments aboardthe EOS satellites not only extend the observationlife of the current satellites, but they also extend

*e-mail: [email protected] author. Tel.: (919) 515-7348, Fax: (919) 515-2285, e-mail: [email protected]*e-mail: Mark.A.Stephen. @gsfc.nasa.gove-mail: [email protected]: [email protected]

307

Page 2: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

308 M.A. FIGUEIREDO et al.

the capabilities of remote sensing scientists to bet-ter understand the Earth’s environment. Along withthe scientific advancements of the new missions, itis also necessary to explore new technologies thatfacilitate and reduce the cost of the data analysisprocess. In order to process the high volume ofdata generated by the new EOS satellites, NASAis constructing the Distributed Active ArchiveCenters (DAACs), an expensive and powerful par-allel computing environment. Scientists will be ableto request certain data products from these cen-ters for further analysis on their own computingsystems. A new technology that could bring in-creased processing power to the scientist’s desk,offering more complex analysis and interpretationof remote sensed scientific data, is highly desirable.The ultimate scenario would be for the scientistto request the data directly from the satellite alongwith historic data from an archive center.

Field Programmable Gate Array (FPGA)-basedcomputing, also known as "adaptive" or "reconfi-gurable computing", has emerged as a viablecomputing option in computationally intensiveapplications. These computing systems combinethe flexibility of general purpose processors withthe speed of application specific processors. Bymapping hardware to FPGAs, the computer de-signer can optimize the hardware for a specific ap-plication resulting in acceleration rates of severalorders of magnitude over general purpose compu-ters. Because the FPGAs are personalized usingSRAM-based memory cells or a fuse programmingtechnology, they can be reconfigured by the de-signer for other applications.

Several reconfigurable computers have been im-plemented to demonstrate the viability of recon-figurabl processors [1-4]. Applications mappedto these processors include: pattern recognition inhigh-energy physics [5], applications in statisticalphysics [6], and genetic optimization algorithms[7,8]. In many cases [9-11], the reconfigurablecomputing implementation provided the highestperformance, in terms of execution speed. Theadvent of reconfigurable processors along withnovel methods for mapping applications onto

adaptive or reconfigurable processors enables anew computing paradigm that may represent thefuture for remote sensing scientific data process-ing. In fact, many applications utilizing FPGAbased computers have been developed showingorders of magnitude acceleration over micropro-cessor based systems [12-14]. Moreover, micro-processors and FPGAs share the same underlyingtechnology- the silicon fabrication process.Therefore, it is reasonable to conclude that FPGAbased machines can usually outperform micro-processor based systems by orders of magnitude[15-171.To achieve such performance, the application

must effectively utilize the available resources.This presents a challenge forsoftware designers,who are generally accustomed to mapping applica-tions onto fixed computing systems. Generally,the designers examine the available hardware re-sources, then modify their application accordingly.With reconfigurable computers, the available re-sources can be generated as needed. While it mayseem that this flexibility would ease the mappingprocess, it actually introduces new problems, suchas what components should be used, and howmany of each component should be used to gen-erate the best performance. With conventionalhardware components, these questions are lessof an issue. In addition, software engineers are

generally not adept at hardware design. Thus,several research groups have developed methodsfor mapping applications to reconfigurable pro-cessors [2, 18 21].The Adaptive Scientific Data Processing

(ASDP) group at NASA’s Goddard Space FlightCenter (GSFC), in conjunction with researchersat North Carolina State University, have beeninvestigating the utilization of FPGA-based com-

puting in the processing of remote sensing sci-entific algorithms. The first prototype developedby the group utilized a commercial-off-the-shelf(COTS) reconfigurable accelerator in the imple-mentation of an automatic classifier for theLANDSAT-2 multispectral images [22]. Theimplementation discussed in this paper is an

Page 3: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

REMOTE ADAPTIVE COMPUTING 309

extension of the original prototype that allowsusers to classify the images on the acceleratorfrom a remote site. Results indicate that a remoteimplementation of the classifier in adaptive com-puting hardware is faster than a software imple-mentation that executes on a local high-endworkstation.

This paper presents details of the FPGA designand is organized as follows. Section 2 describesthe classifier algorithm that utilizes a probabilisticneural network (PNN). The implementation of theFPGA custom computing machine is then pre-sented. Finally, a performance analysis of localand remote versions of the algorithm is presented.

II. THE PNN MULTISPECTRAL IMAGECLASSIFIER

Remote sensing satellites utilize multispectralscanners to collect information about the Earth’senvironment [23]. The data collected by such in-struments are a set of images, each correspond-ing to one spectral band. A multispectral imagepixel is represented by a vector of size equal to thenumber of bands. The combination of the multiplespectrum measurements represented by each ele-ment of the pixel vector determine a signature thatcorresponds to a physical object being viewed bythe satellite. Through the observation of a multi-spectral image and the comparison of pixel vectorsto those obtained from known locations (in-situmeasurements), a scientist is able to identifyunique signatures of physical objects and composeclasses. These classes contain multispectral pixelrepresentations of physical objects on the earththat are closely related. Example classes includeforest, tundra, wetland, water, etc.

Several neural network schemes have beendevised for the automatic classification of multi-spectral images [24]. One in particular, the Prob-abilistic Neural Network (PNN) classifier [25],exhibits acceptable accuracy, very small trainingtime, robustness to weight changes, and negligibleretraining time. A description of the derivation

of the PNN classifier and details of the networkimplementation including rate of false alarms,neural network size, etc., are presented in Chettriet al. [25]. The Blackhills (South Dakota, USA)data set was generated by the Landsat 2 multi-spectral scanner (MSS). The image’s four spectralbands (0.5-0.6 gm, 0.6-0.7 gm, 0.7-0.8 lam and0.8-1.1 gm) correspond to channels 4 through 7of the Landsat MSS sensor. There are 262,144pixels corresponding to a 512 x 512 pixel imagesize, and each pixel represents a 76mx 76mground area; the images were obtained in 1973.The ground truth was provided by the UnitedStates Geological Survey.

Figure illustrates the PNN classifier pro-cedure. Each multispectral pixel, represented by avector, is compared to a set of pixels belonging toa. class. A probability value is calculated for eachclass. The highest value indicates the class intowhich the pixel fits. Equation (1) is used to derive avalue that indicates the probability that the pixelfits into class Sk.

f(XlSk gl[k] e[-z2[k](-zki)r(-ki)] (1)i=1

where (i is a pixel vector, Icrki is the weight ofclass k, d is the number of bands, k is the numberof classes, Pk is the number of weights per class,and Kl[k], K2 [k] are constants).

III. THE FPGA IMPLEMENTATION

The first step in implementing an application on

an adaptive computer is to select the FPGA-basedcustom coprocessor architecture that best matchesthe algorithm in question. At the current state ofthe technology, certain FPGA architectures pro-vide better performance than others for a parti-cular class of applications. A preliminary analysisof the PNN classifier indicated that the FPGAarchitecture [26], shown in Figure 2, matched wellwith the algorithm. The selected FPGA architec-ture is composed of a PCI bus based motherboard

Page 4: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

310 M.A. FIGUEIREDO et al.

ofper pixel Nbits

ProbabilisticNetwork

(PNN)

Image

FIGURE PNN image classifier.

Weights S.Number of weights PK-

FIGURE 2 FPGA board connected to a PCI bus slot.

and up to 16 plug-in modules. These plug-in gates per module. The design implementationmodules each contain two Xilinx 4013E FPGA required approximately 1160 CLBs (85% utiliza-devices (XFPGA and YFPGA) and provide an tion) per FPGA. Since the module containedequivalent of 13,000 gates per FPGA, or 26,000 two FPGAs and two separate memory modules

Page 5: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

REMOTE ADAPTIVE COMPUTING 311

(connected via the HBUS), we can perform twolookup table (LUT) operations simultaneously.

A. Algorithm Partitioning

The computation intensive portion of the multi-spectral image classification algorithm found inEq. (1) was identified by profiling an implementa-tion of the algorithm that was written using the Cprogramming language. This computation wasselected to be executed on the FPGA coprocessorto improve performance for the complete classifi-cation algorithm. The graphical user interface,data storage, adaptive coprocessor initializationcode, algorithm synchronization, and data I/O isperformed by the host processor. The computeintensive PNN classification algorithm equationswere mapped onto a single module.

Figure 3 illustrates the algorithm partitioning.The host processor displays the image duringclassification. The host then sends a pixel vector tothe FPGA coprocessor. Classification is performedon the coprocessor and results are returned to thehost to be displayed. The host also computes thetotal time required to process a complete image. Ifwe wish to use multiple modules as coprocessors,the host schedules a pixel vector to be processedon each module in a round-robin fashion, thengathers the results as they become available.

B. FPGA Application Design

Due to the limited number of gates available ona single FPGA, it was not feasible to use floatingpoint arithmetic in our implementation of thePNN algorithm. We therefore transformed thealgorithm to use fixed point arithmetic prior tohardware implementation. The width of the fixedpoint datapath was determined by simulatingvariable bit operations in C and comparing theresults obtained from the original algorithm infloating point. Once the fixed point classificationof the Blackhills data set yielded exactly the sameresults as the floating point version, the data pathwidth for the FPGA implementation was known.

(Since the output of the PNN classifier is simply a4-bit value representing the class that matches thepixel, the fixed point version produced exactly thesame result as the floating point version. Hencethere is no loss in precision due to implementationusing fixed point arithmetic.)

Figure 4 shows the data flow diagram for thehardware implementation of the PNN classifier.A portion of the design was mapped onto theXFPGA and the remaining blocks were imple-mented on the YFPGA of the module. The num-ber of bands (d) was fixed to 4, the maximumvalue of the number of weights per class (P) wasfixed to 512, and the maximum number of classes(k) was set to 16. As shown in Eq. (1), there aretwo constants, K1 and K2, that are class depen-dent. These constants are pre-calculated on thehost and downloaded to memory banks residingon the modules.The weight memory was mapped to the SRAM

that is connected to the YFPGA on the mod-ule. The weight memory can be as large as16,512,4,2 bytes 32768 16-bit words. Eachweight value occupies 10-bits. Since each class canhave up to 512 weights, an array that holds thenumber of weights for each class is employed.The inputs of the array are also visible from thehost processor.A 4-bit register holds the number of classes. This

register is initialized by the host before loadingthe FPGA coprocessors. Due to the lack of spaceon the XFPGA, the K1 multiplier and the classcomparison blocks were moved to the host. Thesecalculations amount to k multiplications and com-parisons per pixel classification. Since the numberof classes, k, is small, they do not account for asignificant amount of the computation, leadingto a small performance penalty. For example, ifthe number of classes k= 16, the maximum num-ber of weights per class P 512, and we are clas-sifying a 512 512 image with d=4 spectralbands, Eq. (1) is calculated 16 times. The perfor-mance penalty amounts to only 16 multiplica-tions and 16 comparisons per 512 512 image thatare executed on the host rather than executed on

Page 6: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

312 M.A. FIGUEIREDO et al.

.., download BIT file

classified data

displayclassified image

FPGA Board

Classified ImageFIGURE 3 Multispectral image classification using an FPGA coprocessor.

the FPGA. This is a small overhead relative to themore than 5123 multiplications that are computedon the FPGA for this example.

Figure 4 contains a Subtraction Unit thatcomputes W, a 4 x 10-bit element vector for W

(W0, W1, W2, W3) minus X (x0, xl, X2, X3). The resultof the subtraction ranges from 1023 to 1023,requiring 11 bits in two’s complement format. TheSquare Unit multiplies each 11-bit element of theY vector by itself (i.e., t0=Y0 x Y0). The values of

Page 7: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

REMOTE ADAPTIVE COMPUTING 313

PixeiMemory

Unit

d times

Subtion & Square Unit"a I’*

K2 MultiplierUnit

KI[K]

""ll Memory Unit

Result Unit

o

o

Multiplier"J Un,t -’" Uni; ’’’- Unit

g Pk times

eb, ec

PNN Data Flow Block Diagram

initialized before FPGA load

connected to the H BUS

FIGURE 4 PNN classifier data unit.

the elements of the T vector range from 0 to1,046,529, requiring 20 bits in two’s complementformat.The next computation involves the Band Accu-

mulator Unit. This unit adds the 4 elements of theT vector together resulting in u, ranging in valuefrom 0 to 4,186,116, requiring 22 bits. The K2 [k]memory holds the K2 values for each class. K2(1/2)cr-2, where crk 2, 3,..., 11, 12. As a result,K2. varies between 0.125 (cr=2), and 0.003472(cr= 12). The largest value of K2=0.125 in deci-mal and is represented exactly in binary (0.001).In order to increase the precision of the multi-plication, the values of K2 are stored with thedecimal point shifted to the right by 2 (multipliedby four). After K2 is multiplied by u in the K2Multiplier Unit, the decimal point of the result ofthe multiplication is shifted to the left by 2 (divideby 4 effect). Since this is a representation issue, no

hardware is necessary to perform the shifts in theYFPGA (refer to Fig. 4), only the host needsto maintain the values in the K2[k] memory inthe appropriate format. The K2 Multiplier Unitmultiplies the K2 values for each class by the accu-mulated values of the difference between a pixeland a weight vector. It delivers a 44-bit result tothe TO_XFPGA unit shown in Figure 4. Bits 0to 23 represent the fraction portion (rememberthat the decimal point is shifted to the left by 2),and bits 24 to 43 represent the integer part of theresult.The next operation is to compute the exponen-

tial of the negative of this number. Given theprecision of the following operations, any numberabove 24 will yield zero as a result. Thus, if any ofbits 43 to 29 is set or both bits 28 and 27 are set,the result of e should be zero. Only 28 bits arepassed on to the Exponential LUT Unit, and they

Page 8: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

314 M.A. FIGUEIREDO et al.

are bits to 28. Bit 0 and bits 29 to 43 arediscarded. It was also found that a considerablenumber of results of the multiplication are zero,which indicates that the result of the exponentialshould be one. In order to save processing stepsin this case, the output of the multiplier is testedfor zero, and a flag is passed to the ExponentialLUT Unit, indicating that its result should be 1.A look-up table is used to determine the value of

e-a. If we assume that a b + c, then:

e-a e-(b+C) e-be-c (2)

Since a is a 28-bit binary number, the valuecomprising bits 27 to 14 of a represent b, and thevalue comprising bits 13 to 0 of a represent c. Therange of values of b and e-6 are"

00000.000000000 < b < 10111.111111111, (3)

or

0 _< b _< 23.9980469, (4)

which results in

0.9980519 >_ e-b >_ 3.78 10-11 (5)

The range of values of c and e are:

00000.00000000000000000000001

_< c _< 00000.00000000011111111111111,

(6)

or

1.19 10-7 _< c _< 1.8919 10-3, (7)

which results in

0.999999881 >_ e- >_ 0.998109888 (8)

The values of e-b and e are previouslycalculated and organized into a look-up table. Atrun time, the values of b and c are used to addressthe look-up table stored in the memory that isdirectly connected to the XFPGA. The values ofe-b and e retrieved from the look-up table are

then multiplied to give the value of e-b. The valuesstored in the look-up table are 32-bits wide. Theresult of the multiplication is 64-bits, but only themost significant 32 bits are sent out. As a result,

3.77 x 10-11 < e-a _< 0.998051781. (9)

The Class Accumulator Unit sums up all thecomparisons between a given pixel and all weightsof a given class, and outputs the result when it re-ceives a flag indicating that the data to add to theaccumulator refers to the last weight in a class. Theoutput of the Exponential Multiplier Unit rangeis 3.77.10-11 _<d< 0.998051781. Thus, the largestaccumulated value is 0.998051781,512 (max. ofweights)=511.002511872. In order to keep theprecision of d, the accumulator is extended to 40bits to accommodate the original 31 bits after thedecimal point and bit before the decimal point,and the new 8 bits before the decimal point. Eachclass has a K1 value associated with it. The valueof K1 is determined by the following formula:

K1(27r)d/ZrdkPk (10)

The result of the multiplication of K1 by theaccumulated differences between a pixel and allweights in a given class is compared with all otherclasses to determine the largest result, which indi-cates in which class a pixel most probably belongs.In order to keep the values being multipliedin the same range allowing us to use fixed pointarithmetic, the values of K1 are normalized asfollows: Given d, rk and Pk, the host programcalculates all K1 values, and divides them by thelargest one. The result is that one value of K1equals and all the others are less than 1. The K1Multiplier Unit multiplies the 40-bit result of theClass Accumulator Unit by the 32-bit K1 valuefrom the K1 Memory Unit, and outputs a 40-bitresult to the g register in the Class ComparisonUnit. The Class Comparison Unit receives a valuethat represents the comparison between a pixeland all weights in a class, and compares this value

Page 9: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

REMOTE ADAPTIVE COMPUTING 315

against the values generated for all other classes.At the end of the calculation of all classes, itoutputs a code that represents the class whichpresented the largest value or is the closest match.

C. The Host Software

The software that was developed for the PNNalgorithm that executes on the host processorwas written in the Java programming language.We selected the Java programming language forseveral reasons. Java supports software reuse,native methods, remote method invocation, andit has a built-in security manager. Software reuseallows Java objects and methods to be usedrepeatedly in different applications. Native meth-ods allow legacy code (old software written, inanother language) to be called directly from Javamethods. The security manager and remotemethod invocation allow Java programs to beexecuted on remote CPUs with the system takingcare of network traffic errors, security, etc. TheFPGA system used for development of the hard-ware modules, contains drivers for interfacing tothe FPGA devices that are only available in the Cprogramming language. Java, was a useful choicefor a programming language since native methodsallow one to call C routines directly from Java.This is accomplished by building a dynamic linklibrary that contains the C functions that interfaceto the FPGA coprocessors. A Java native methodis used to call these C functions directly.

The application was implemented using a client/server methodology to provide an interface to theFPGA coprocessors from a remote site. The serverprogram interfaces directly to the reconfigurableaccelerator via the C drivers. It receives a block ofpixels from the client, initiates the classification ofeach of the pixels on the FPGA accelerator,gathers the results into a block of classified data,and sends the results back to the client. The clientsoftware controls the user interface, image datainput/output and translation, in addition to com-munication with the server. By selecting Javaas a programming language and separating theprogram into client and server subsystems, theclient software is completely independent of theoperating system that will execute the client pro-gram. Only the server contains code that is notonly dependent on the operating system used,but also depends on the specific reconfigurableaccelerator that has been selected. Hence, in thispaper we present results obtained from an imple-mentation of the PNN algorithm that can beexecuted from a remote machine accessible, forexample, on the Internet.

IV. EXPERIMENTAL RESULTS

In our experiments, we used the remote imple-mentation of the PNN classifier to measure theeffectiveness of a client/server approach to adap-tive computing. Figure 5 illustrates a potential

LOCAL CPUIocal.ncsu.edu

North Carolina State University

Remote CPUremote.nasa.gov

NASA Goddard Space Flight Center

FIGURE 5 Algorithm execution on a remote adaptive computer.

Page 10: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

316 M.A. FIGUEIREDO et al.

scenario for remote image classification. In thisconfiguration, the server program has a direct in-terface to the FPGA coprocessor. It initializes theFPGA board and loads the architecture shownin Figure 4 into the programmable hardware. Inour project, the server executes on a workstationat NASA. The client program communicates withthe server via the Internet. The client requestsa connection with the server and, once granted,sends data to the server for processing. The serverprocesses the data and sends the results back tothe client for display. While the client is designedto execute at a remote site, e.g., NCSU, in ourexperiments, both the client and server programswere executed on a single host at NASA.Two software implementations of the PNN

algorithm were developed to compare the relativeperformance of implementations in two differentprogramming languages. One version was writtenentirely in the Java programming language. Theother version was written using the C program-ming language. The main routine in the clientspawned either the Java or C versions of the algo-rithm via a call from a normal or native methodrespectively.Two FPGA-based hardware versions of the

PNN algorithm were implemented using single ormultiple modules. We report results using twomodules as we only had two modules available forour experiments. In the single module case, one

pixel or one block of pixels were sent to eachFPGA coprocessor and the results were returnedto the client via the server. In the two moduleexperiments, one pixel or one block was sent toeach of the two FPGA coprocessors in an attemptto speedup algorithm execution by a factor of 2.Each module in the multiple module case con-tained a complete implementation of the hardwarein Figure 4.A traditional version of the PNN Classifier

algorithm was previously developed as the basisfor the remote version presented in this paper.This experiment demonstrates the potential meritsof a remote image classification algorithm imple-mentation. The traditional version executed ona 100MHz Pentium PC. This implementation,written entirely in C, required 2043 CPU secondsto classify the complete Blackhills data set. Byaugmenting the PC with a single module runningthe PNN classifier at 16 MHz, the processing timewas reduced to 220 CPU seconds. In this case, theadaptive computing implementation is 9.29 timesfaster than the software version. Adding one ad-ditional module improved execution time to 90CPU seconds.

In our experiments with the remote PNNclassifier, we ran a total of 4 different scenariospresented in Figure 6. The scenarios allow us tocompare local and remote versions of the algo-rithm that execute on the client and server with

Total Execution Time (in CPU seconds)

80007000 B Softwase(Java)6000

I Software(C)50004000300020001000

0

E._,(R). , ,.’ 3,

Image Classification Type

I-I Hardware(Single)[] Hardware(Multiple)

FIGURE 6 Local and remote image classification execution time.

Page 11: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

REMOTE ADAPTIVE COMPUTING 317

pixel-based or block-based algorithms where onepixel or one block of pixels is processed. In eachexperiment, we present execution times for twosoftware implementations (written in Java and C)and two hardware implementations (one moduleor two modules).

In Table I, we present results of a remoteimplementation of the image classification algo-rithm where one pixel is processed at a time. Notethat the implementation of the algorithm in Javarequires 7598 CPU seconds to complete. The Cversion of the algorithm requires slightly moretime since it is actually spawned from the localclient Java program to execute on the remoteserver workstation. (The overhead associated withcalling a C function from Java is included in theexecution time.) For all practical purposes, the Cand Java versions of the algorithm require ap-proximately the same execution time. This wasa strange result since Java is an interpreted lan-guage, however, we noticed a drastic improve-ment in the execution of Java programs usingmore recent versions of the Java interpreter. Theremote version of the algorithm executing on asingle FPGA module was 3.57 times faster thanthe remote software version. Also note that the ad-dition of one module in the multiple module casedoes not impact performance.

The next experiment involved sending a blockof data from the client to the server for processing.The-results of this experiment are also shown inTable I. In our experiments, an arbitrary blocksize (equal to 6 rows) was selected. (Future ex-periments will identify the optimal block size.)Since there are 512 pixel vectors in a row, and 4pixels per vector, one block contains 12,228 pixels.Note that the execution time of the remote Javaversion of the block-based algorithm is signifi-cantly smaller than the pixel-based algorithm. Theexecution time reduced from 7598 to 1358 CPUseconds. Once again, the single module implemen-tation was significantly (7.6 times) faster than theremote software version written in Java. The addi-tion of a second module did not provide a speedupdue to the overhead associated with sendinga block of data to the server. Please note that theFPGA coprocessor consistently processes a pixelat a time, however, the server will wait for allpixels in a block to be processed before sending theresults back to the client.

Table II presents results of PNN classificationexecuting on a local workstation. The client pro-gram can initiate execution of either of the soft-ware or hardware algorithm implementations. Inthe local pixel-based algorithm, the Java versionrequires about 1317 CPU seconds and the single

Description

TABLE Remote image classification timing report (in CPU seconds)

Pixel based Block based

Avg row Total Avg row Total

Software (Java)Software (C)Hardware (Single)Hardware (Multiple)

14.83 7597.79 2.6515.79 8087.24 3.614.16 2128.38 0.354.25 2156.02 0.35

1358.911847.33178.217180.15

Description

TABLE II Local image classification timing report (in CPU seconds)

Pixel based Block based

Avg row Total Avg row Total

Software (Java)Software (C)Hardware (Single)Hardware (Multiple)

2.57 1317.31 2.563.57 1871.36 3.690.27 141.10 0.280.14 77.45 0.28

1309.651889.63143.05142.57

Page 12: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

318 M.A. FIGUEIREDO et al.

module implementation requires 141 CPU se-conds. This is approximately an order of magni-tude improvement in execution time. The multiplemodule version completes in 77 seconds resultingin a 2:1 speedup over the single module asexpected. The results from Table II illustrate thatblock-based processing is counterproductive on alocal client workstation.

V. CONCLUSIONS

In this paper, it was shown that the implementa-tion of a multispectral image classifier on anadaptive computer yields an order of magnitudeperformance increase over high end workstations.If we extract the fastest execution times for thealgorithm from the tables presented, we find aninteresting result that relates to the potentialimpact of remote adaptive computing technology.The fastest remote hardware implementation ofthe PNN algorithm consisted of a single modulerequiring 178 CPU seconds to complete. On theother hand, the fastest local software version of thealgorithm was the Java version that required 1309CPU seconds. This is 7.35 times slower thanthe remote hardware implementation. Hence, forimage classification, a remote hardware imple-mentation of the algorithm is faster than a localsoftware implementation of the algorithm. Futurework is to identify additional applications whereina remote hardware implementation is consistentlyfaster than a local software version. Additionallyexperiments that quantify the effects of a heavilyloaded network connection should be conducted.

References

[1] Hess, J., Lee, D., Harper, S., Jones, M. and Athanas, P.(1999). "Implementation and Evaluation of a PrototypeReconfigurable Router", In: Seventh IEEE Workshop onFPGAsfor Custom Computing Machines.

[2] Wirthlin, M. J. and Hutchings, B. L. (1995). "DISC: ADynamic Instruction Set Computer", In: Third IEEEWorkshop on FPGAsfor Custom Computing Machines.

[3] Agarwal, L., Wazlowski, M. and Ghosh, S. (1994). "AnAsynchronous Approach to Efficient Execution of Pro-grams on Adaptive Architectures Utilizing FPGAs", In:

Second IEEE Workshop on FPGAsfor Custom ComputingMachines, pp. 101 110.

[4] Bertin, P. and Herve’ Touati (1994). "PAM ProgrammingEnvironments: Practice and Experience", In: SecondIEEEWorkshop on FPGAs for Custom Computing Machines,pp. 133-138.

[5] Hogl, H., Kugel, A., Ludvig, J., Manner, R., Noffz, K. H.and Zon, R. (1995). "Enable + +: A Second GenerationFPGA Processor", In: Third IEEE Workshop on FPGAsfor Custom Computing Machines.

[6] Cowen, C. P. and Monaghan, S. (1994). "A Reconfigur-able Monte-Carlo Clustering Processor (MCCP)", In:Second IEEE Workshop on FPGAsfor Custom ComputingMachines, pp. 59-65.

[7] Scott, S. D., Samal, A. and Seth, S. (1995). "HGA: AHardware-based Genetic Algorithm", In: ACM/SIGDASymposium on Field Programmable Gate Arrays, pp.53-59.

[8] Graham, P. and Nelson, B. (1996). "Genetic Algorithmsin Software and in Hardware", In: Fourth IEEE Workshopon FPGAsfor Custom Computing Machines.

[9] Luk, W., Lee, T., Rice, J. and Cheng, P. (1999)."Reconfigurable Computing Augmented Reality", In:Seventh IEEE Workshop on FPGAsfor Custom ComputingMachines.

[10] Gokhale, M., Holmes, B., Kopser, A., Kunze, D.,Lopresti, D., Lucas, S., Minnich, R. and Olsen, P.(1990). "Splash: A Reconfigurable Linear Logic Array",In: International Conference on Parallel Processing, pp.526-532.

[11] Vuillemin, J., Bertin, P., Roncin, D., Shand, M., Touti, H.and Boucard, P. (1996). "Programmable Active Memo-ries: Reconfigur.able Systems Come of Age", IEEETransactions on VLSI Systems, 4(1), 56-69.

[12] Athanas, P. and Abbott, L., "Real-time image processingon a custom computing platform", IEEE Computer, 28,16- 24, February, 1995.

[13] Shirazi, N., Athanas, P. and Abbott, A. (1995). "Im-plementation of a 2-D fast fourier transform on an FPGA-based custom computing machine", Proceedings of the 5thInternational Workshop on Filed-Programmable Logic andApplications, 1, 282- 292.

[14] Hutchings, B. and Rencher, M., "Automated TargetRecognition on Splash-II", IEEE Symposium on FiledProgrammable Custom Computing Machines, 1, 232-240,April, 1997.

[15] Bazargan, K. and Sarrafzadeh, M. (1999). "Reconfigur-able Computing Augmented Reality", In: Seventh IEEEWorkshop on FPGAs for Custom Computing Machines.

[16] Get ready for reconfigurable computing, ComputerDesign, 1, 53-63, April, 1998.

[17] Hoffmann, T., Nageldinger, U., Hartenstein, R., Her, M.and Kaiserslautern, U., "On reconfigurable co-processingunits", Proceedings of the 5th Reconfigurable ArchitecturesWorkshop (RA W’98), 1, March 30, 1998.

[18] Wazlowski, M., Agarwal, L., Lee, T., Smith, A., Lam, E.,Athanas, P., Silverman, H. and Ghosh, S. (1993)."PRISM-II Compiler and Architecture", In: First IEEEWorkshop on FPGAs for Custom Computing Machines,pp. 9-16.

[19] Athanas, P. M. and Silverman, H. F. (1993). "ProcessorReconfiguration Through Instruction-Set Metamorpho-sis", IEEE Computer, 26(3), 11 18.

[20] Galloway, D. (1995). "The Transmogrifier C HardwareDescription Language and Compiler for FPGAs", In:

Page 13: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

REMOTE ADAPTIVE COMPUTING 319

[21]

[22]

[231.

[24]

[25]

[26]

Third IEEE Workshop on FPGAs for Custom ComputingMachines.Peterson, J. B., O’Connor, R. B. and Athanas, P. M.(1996). "Scheduling and Partitioning ANSI-C Programsonto Multi-FPGA CCM Architectures", In: Fourth IEEEWorkshop on FPGAsfor Custom Computing Machines.Figueiredo, M. and Gloster, C., "Implementation ofa prob-abilistic neural network for multi-spectral image classifi-cation on an FPGA-based custom computing machine",Proceedings of the 5th Brazilian Symposium on NeuralNetworks, December, 1998.Verbyl, D. L. (1995). Satellite Remote Sensing of NaturalResources, Lewis Publishers.Birmingham, M., Chettri, S. R. and Cromp, R. F. (1992)."Design of neural networks for classification of remotelysensed imagery", Telematics and Informatics, 9, 145-156.Chettri, S. R. and Cromp, R. F. (1993). "Probabilisticneural network architecture for high-speed classificationof remotely sensed imagery", Telematics and Informatics,10, 187-198.Giga Operations, Giga Operations Spectrum Reconfigu-rable Computing Platform Documentation, Giga OperationCorporation, 1995.

Authors’ Biographies

Marco Figueiredo is an R&D Engineer working inthe investigation and application of reconfigurablecomputing at NASA Goddard Space Flight Center.He has a B.S. in Electrical Engineering from theUniversidade Federal de Minas Gerais- Brasil(1988), and a masters in Computer Engineeringfrom Loyola College in Maryland, USA (1991).

Clay Gloster, Jr., is currently an AssociateProfessor in the Department of Electrical &Computer Engineering at North Carolina StateUniversity. He received the B.S. and M.S. degreesin Electrical Engineering from North CarolinaA&T State University and the Ph.D. Degree inComputer Engineering from North Carolina StateUniversity. He also has been employed with IBM,the Department of Defense, and the Microelec-tronics Center of North Carolina. Current re-search focuses on the identification of potentialapplications and the development of automatedtools that assist scientists/engineers in mappingthese applications onto reconfigurable computingresources. He is also actively conducting researchin the area of technology based curriculum de-velopment and distance education. Dr. Gloster is a

member of Eta Kappa Nu, Tau Beta Pi, ACM, anis a registered professional engineer.Mark Stephens is a Computer Engineer working

for the NASA Goddard Space Flight Center.He has a B.S. in Applied Math, Theoretical Phy-sics and Fluid Dynamics from Tulane University(1976). He went on to get a Master of Science inAtmospheric Science at Colorado State University(1979).

Corey Graves received his B.S. degree inElectrical Engineering from North Carolina StateUniversity in 1993 and his M.S. degree in Elec-trical Engineering from North Carolina StateA&T State University in 1994. He is currentlycompleting his Ph.D. Work in Computer Engi-neering at North Carolina State University. Hiscurrent research interests include Run-time Re-configurabl Computing, Applications of Wave-lets, Adaptive DSP algorithms, and Architecturesfor DSP. During his years a student, Corey hasworked with many industrial and governmententities including IBM, AT&T, Sandia NationalLabs, and Oak Ridge National Labs. He is cur-rently a member of the IEEE Signal ProcessingSociety.Mouna Nakkar received her Bachelor’s degree

in Electrical Engineering from the University ofNorth Carolina at Charlotte, NC in 1991, herMaster’s from the same university in 1993, and herPh.D. degree in 1999 from North Carolina StateUniversity in Raleigh, NC. She joined MotorolaInc. in July of 1999 and is currently working onmicroprocessor research and development. Herresearch interests include reconfigurable comput-ing, embedded processors, FPGA architecture,low power FPGAs, high speed CMOS design,Multi-Chip-Module Packaging, 3-DimensionalMCM packaging, and Optical Interconnects forhigh speed VLSI packaging. She worked on amicroprocessor design during a co-op in 1995 atRoss Technologies, Austin TX. She also served asa teaching assistant for several electrical engineer-ing courses.

Page 14: Implementation of Multispectral Image on Remote Adaptive …downloads.hindawi.com/journals/vlsi/2000/031983.pdf · 2018. 11. 13. · VLSIDESIGN 2000, Vol. 10, No. 3, pp. 307-319 Reprintsavailable

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttp://www.hindawi.com Volume 2010

RoboticsJournal of

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Hindawi Publishing Corporation http://www.hindawi.com

Journal ofEngineeringVolume 2014

Submit your manuscripts athttp://www.hindawi.com

VLSI Design

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation http://www.hindawi.com

Volume 2014

The Scientific World JournalHindawi Publishing Corporation http://www.hindawi.com Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Modelling & Simulation in EngineeringHindawi Publishing Corporation http://www.hindawi.com Volume 2014

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014

DistributedSensor Networks

International Journal of