Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INFORMTICA
TESIS DOCTORAL
PRESENTADA POR
Directoras
Madrid, 2012
TESIS DOCTORAL
2011
Procesamiento a bordo de imgenes
hiperespectrales de la superficie
terrestre mediante hardware
reconfigurable
2011
Procesamiento a bordo de imgenes
hiperespectrales de la superficie terrestre
mediante hardware reconfigurable
Madrid, 2011
Este trabajo ha sido financiado por el programa de la Comunidad Europea
Marie Curie Research Training Networks con referencia
MRTNCT2006035927, Hyperspectral Imaging Network
(HYPERINET). Este trabajo tambin ha sido posible gracias a la
Comisin Interministerial de Ciencia y Tecnologa, por las ayudas recibidas
a travs de los proyectos TIN200603274, AYA200805965C0402,
AYA200913300C0302 y TIN200909806. Tambin agradecer a la Junta
de Extremadura la financiacin recibida a travs del proyecto PRI09A110.
A mis familiares y amigos, especialmente
a los que ya no vern el resultado
Ms que el mastn corre el galgo
pero si el camino es largo
antes llega el mastn que el galgo.
Refrn popular
Agradecimientos
Hace unos aos, cuando afront el reto de hacer esta tesis, me dijeron
que era un trabajo personal. Si bien ahora puedo afirmar que, efectivamente,
es una labor bsicamente personal, tambin he de reconocer que, sin la
ayuda y los apoyos recibidos, esta tesis se habra convertido en una empresa
imposible. Debo agradecer:
xi
xii Agradecimientos
del mismo. Gracias por ser como eres y por demostrarme que ser un gran
cientfico no est reido con ser una mejor persona.
A mis amigos, que sabis apreciar las aventuras en las que me embarco
(como esta memoria), en especial a Adolfo, Jos Javier y Paco. Perdonarme
si estos ltimos aos no os he dedicado todo el tiempo que merecais.
Gracias a todos.
Resumen
xiii
xiv Resumen
In this Thesis work, the complete chain of spectral unmixing has been de-
signed, implemented and validated to process onboard hyperspectral images
of the earths surface using reconfigurable hardware. The design proposed in
this work has been developed in reconfigurable platforms like Field Program-
mable Gate Arrays (FPGAs) using the VHDL language for its specification.
Our proposed implentation exhibits very promising results in terms of end-
member extraction and fractial abundances accuracy and performance, with
speedups that allow us to respond in near realtime. This results represents
a tremendous increase of performance with regards to the serial version of
the same algorithm, implemented in a latest-generation desktop PC.
xv
xvi Abstract
Agradecimientos xi
Resumen xiii
Abstract xv
1. Motivaciones y objetivos 1
2. Anlisis hiperespectral 9
xvii
xviii ndice
3. Hardware reconfigurable 35
3.4.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.2. Inconvenientes . . . . . . . . . . . . . . . . . . . . . . 49
4.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Bibliografa 171
ndice de figuras
xxi
xxii ndice de figuras
xxvii
xxviii ndice de tablas
Motivaciones y objetivos
1
2 Captulo 1. Motivaciones y objetivos
Para hacer frente a este problema, las tcnicas de anlisis de mezcla es-
pectral primeramente identifican una coleccin de componentes con firmas
espectralmente puras, llamados endmembers en la terminologa del anlisis
hiperespectral y a continuacin expresan el espectro de cada pxel mezcla
como una combinacin lineal de endmembers ponderados por fracciones de
abundancia que indican la proporcin de cada endmember en el pxel. El pro-
blema de desmezclado se formula en trminos de un sistema determinado de
ecuaciones que, partiendo del conjunto correcto de endmembers, permite la
determinacin de las fracciones de abundancia aparentes de cada endmember
a travs de un proceso de inversin numrica.
1
http://www.jpl.nasa.gov
3
Anlisis hiperespectral
Annimo
9
10 Captulo 2. Anlisis hiperespectral
to. Este tipo de sensores son conocidos como sensores multiespectrales y sus
imgenes tan solo contienen unas pocas decenas de bandas. Los avances re-
cientes en estas reas han permitido el diseo de dispositivos de imgenes que
tienen rangos espectrales y resoluciones comparables con los espectrmetros
de campo.
La Figura 2.6 muestra una curva tpica de irradiancia solar desde el lmite
de la atmsfera terrestre. La energa solar entrante vara ampliamente con la
longitud de onda, con un mximo en el rango de la luz visible. El espectro de
la energa solar entrante a la hora en que la imagen fue adquirida debe ser
conocida, asumida, o derivada indirectamente desde otras mediciones para
convertir los valores de imagen de radiancia a valores de reflectancia.
direccin.
unas pocas plantas sobre las longitudes de onda en el rango de 0.2 a 3.0
m. Esta biblioteca es accesible online en http://speclab.cr.usgs.gov
/spectral.lib04/spectral-lib04.html. Se puede realizar la bsqueda de
una espectrometra individual online o descargar la biblioteca comple-
ta.
5
http://landsat.gsfc.nasa.gov
6
http://www.noaa.gov
7
http://www.spot.com
22 Captulo 2. Anlisis hiperespectral
EO-1
Hyperion Prisma EnMAP HyspIRI
Pas de origen USA Italia Alemania USA
Resolucin espacial 30 m 5-30 m 30 m 60 m
Tiempo de ciclo 16 das 3/7 das 4 das 18 das
Rango espectral 0.4-2.5 m 0.4-2.5 m 0.42-2.45 m 0.38-2.5 m
Resolucin espectral 10 nm 10 nm 6.5-10 nm 10 nm
Ancho de barrido 7.7 km 30 km 30 km 120 km
Covertura terrestre Parcial Completa Completa Completa
Lanzamiento 2000 2010 2012 2018
Tiempo de vida 10 aos 6 aos 6 aos 6 aos
http://eo1.gsfc.nasa.gov http://www.asi.it/en/flash_en/observing/prisma
http://www.enmap.org http://hyspiri.jpl.nasa.gov
imagen de este tipo, multiplicando el tamao del pxel en bits, por el tamao
de una imagen o banda individual, por el nmero de bandas totales. Otro de
los retos a los que nos enfrentamos es la clasificacin de los datos hiperes-
pectrales debido a la mezcla espectral. Este fenmeno es muy habitual en el
mundo real, independientemente de cul sea la escala espacial considerada
[Che99]. Sobre esta parte, es importante destacar que cualquier cadena de
procesamiento de datos en cualquier mbito cientfico tiene que ser flexible y
adecuarse no slo a su aplicacin sobre distintos escenarios, sino tambin a
los distintos tipos de resolucin que proporcionan diversas variaciones espec-
trales y espaciales de los instrumentos. A continuacin, se desarrollan estos
retos en mayor detalle.
las estaciones en tierra. Se estima que los satlites del proyecto EOS (Earth
Observing System) de la NASA, generarn ms de un terabyte de datos al
da. La economa de la transmisin y almacenamiento del gran volumen de
datos resultante, recogidos por estos sensores, significa que la compresin
de la imagen se convertir en una caracterstica esencial de los sistemas que
incorporen sensores hiperespectrales. Por tanto, sern necesarias tcnicas efi-
cientes de compresin para la codificacin de imgenes de observacin remota
de la Tierra, especialmente para aquellas que se transmiten directamente al
suelo y se distribuyen a los usuarios.
Esta es una primera alternativa, pero existen otras muchas. Una de ellas
pasa por la compresin de la informacin a bordo del satlite (ver Figura
2.10). Es decir, en el lapso de tiempo en que la escena es recogida y es
enviada a tierra, puede pasar un periodo de varias horas. En ese tiempo es
posible comprimir la informacin de cara a que su envo consuma menos
tiempo, o que en el mismo tiempo se enve mayor cantidad de informacin.
Ello, sin menosprecio de que en el propio envo se incluyan las compresiones
y verificaciones inherentes del traspaso de informacin digital.
compresin ms altas.
Figura 2.11: Modelo lineal frente modelo no lineal: dispersin simple frente
dispersin mltiple.
p
X
X(i, j) = z (i, j) Ez + n(i, j), (2.1)
z=1
Hardware reconfigurable
35
36 Captulo 3. Hardware reconfigurable
MultiprocessorConfigurableSystemOnProgramableChip
(MCSoPC): Se aplica esta definicin a los sistemas CSoPC que inclu-
yen varios procesadores que ejecutan software, funcionando de forma
simultnea.
explicado.
3.4.1. Ventajas
3.4.2. Inconvenientes
Aunque los puntos a favor de utilizar FPGAs son muchos y estn slida-
mente probados por la literatura, existen sin embargo dos aspectos impor-
tantes a tener en cuenta a la hora de su utilizacin:
atractiva.
puede ser reconfigurado para evitar fallos hardware [Lap05], como resultado
de la fabricacin o del medio ambiente. La lgica reconfigurable extra en un
diseo se puede utilizar como sustituta en el caso de que se produzca un fallo
en un recurso no reconfigurable [ST04]. La nueva configuracin, puede ser
incluso actualizada de forma remota [Lap05, Bra01] para evitar incomodar a
los consumidores o permitir actualizar un dispositivo que no puede ser fsica-
mente accesible (sistemas desplegados en el espacio, en el fondo del ocano,
o en otros lugares remotos o peligrosos). La tolerancia a fallos del hardwa-
re reconfigurable, incluso se puede extender a fallos de diseo, permitiendo
correccin de errores o mejoras para nuevos estndares lo que aumentar la
vida til del dispositivo.
Por otra parte, los instrumentos basados en satlites, tan slo pueden
incluir circuitos integrados que hayan sido certificados para funcionar en el
espacio. Esto se debe a que los sistemas utilizados en el espacio deben fun-
cionar en un entorno en el que los efectos de radiacin tienen un impacto
adverso sobre el funcionamiento del circuito integrado [Tho]. La radiacin
ionizante puede causar errores en las celdas estticas que se utilizan para
almacenar los datos de configuracin. Esto afectar a la funcionalidad del
circuito y podra provocar un fallo del sistema. Por ello, se requieren FPGAs
especiales que proporcionan circuitos de deteccin de errores y de correccin.
Recientemente, han aparecido FPGAs de alta velocidad con una densidad
de millones de puertas para apoyar las necesidades de alto rendimiento para
aplicaciones de observacin remota de la Tierra. De hecho, las FPGAs endu-
recidas a radiacin estn siendo muy demandadas para aplicaciones militares
y espaciales. Por ejemplo, empresas como Actel Corporation1 o Xilinx2 han
fabricado FPGAs tolerantes a la radiacin durante varios aos, destinadas a
sistemas de alta fiabilidad en vuelo espacial. Las FPGAs de Actel han estado
a bordo en ms de 100 lanzamientos y las FPGAs de Xilinx se han utilizado
en ms de 50 misiones [Tho]. En este trabajo de Tesis Doctoral, se utili-
za una FPGA Xilinx Virtex-II Pro XC2VP30 y una FPGA Xilinx Virtex-4
XC4VFX60 como arquitecturas de referencia, porque son similares a otras
FPGAs de Xilinx que han sido certificadas para aplicaciones espaciales (ver
Tabla 3.1). Estn basadas en las mismas arquitecturas por lo que portar
nuestros diseos a estas plataformas es un proceso sencillo.
1
http://www.actel.com
2
http://www.xilinx.com
Captulo 4
Platn
59
60 Captulo 4. Algoritmo Pixel Purity Index (PPI)
( )
1 si x S
IS (x) = (4.1)
0 si x
/S
k
X
NP P I (fi ) = ISextremos (skewerj ) (fi ) (4.2)
j=1
Figura 4.3: rea necesaria (en slices) por unidades dotproducts en las dife-
rentes estrategias de paralelizacin.
Figura 4.4: Frecuencia (en MHz) por unidades dotproducts en las diferentes
estrategias de paralelizacin.
slo necesita acumular los valores positivos o negativos del pxel segn los
valores del skewer de entrada. Estas unidades estn, por tanto, compuestas
solamente por una nica unidad de suma/resta y un registro de acumulacin.
La unidad Min/Max recibe el resultado del dotproduct y lo compara con los
valores previos de mnimo y mximo. Si el resultado es un nuevo mnimo o
mximo, sern almacenados para futuras comparaciones junto con su ndice
dentro de la imagen correspondiente. Por simplicidad, la parte relacionada
con el manejo de ndices se ha omitido en la Figura 4.6.
Para concluir esta seccin, se ofrece una descripcin paso a paso de cmo
la arquitectura propuesta realiza la extraccin de un conjunto de endmem-
bers a partir de una imagen hiperespectral:
3. Despus de que el PowerPC ha escrito las dos semillas, enva una orden
al DMA para comenzar a copiar un trozo de la imagen de la memoria
DDR2 SDRAM a la FIFO de escritura. Como se mencion anterior-
mente, el principal cuello de botella en este tipo de sistema es con
frecuencia la entrada de datos que se aborda en la implementacin
propuesta con la incorporacin de un DMA que elimina la mayor parte
de las penalizaciones de E/S. Por otra parte, el PowerPC monitorea
la FIFO de entrada y enva una nueva orden al DMA cada vez que se
detecta que la FIFO de escritura est medio vaca. Esta vez, el DMA
traer un trozo de la imagen que ocupa la mitad de la capacidad total
de la FIFO de escritura.
4. Cuando los datos del primer pxel se han escrito en la FIFO de escri-
tura, el array sistlico y el mdulo de generacin aleatoria comienzan
a trabajar. Cada ciclo de reloj, un nuevo pxel es ledo por la unidad
de control y es enviado al array sistlico. Al mismo tiempo, el compo-
74 Captulo 4. Algoritmo Pixel Purity Index (PPI)
Figura 4.9: Placa XUPV2P con un solo componente FPGA Virtex-II Pro
XC2VP30 de Xilinx.
(a) (b)
X(i, j) Sk
AE [X(i, j), Sk ] = cos1 , (4.3)
kX(i, j)k kSk k
Las Tablas 4.1, 4.2 y 4.3 muestran los valores de AE de los endmembers
detectados por la implementacin original de ENVI (utilizando la herramien-
ta de visualizacin supervisada N -dimensional para obtener el conjunto final
de endmembers), la interpretacin del algoritmo descrita en la seccin 4.1
(implementada en lenguaje C) y la implementacin basada en FPGA, frente
a las firmas espectrales de referencia disponibles para las escenas AVIRIS
Cuprite y AVIRIS Jasper Ridge tanto en unidades de radiancia como de
reflectancia, respectivamente. En todos los casos, se utilizaron K = 104 ske-
wers. Cabe sealar que las tablas slo muestran la menor puntuacin de AE
de todos los endmembers extrados con respecto a su firma de referencia en
4.3. Resultados experimentales 81
cada caso. Los resultados se muestran en radianes (el rango de valores para
el AE es de [0, /2] radianes).
Como se muestra en las Tablas 4.1, 4.2 y 4.3, las dos implementaciones
consideradas no producen exactamente los mismos resultados que los ob-
tenidos por el algoritmo original PPI implementado en Research Systems
ENVI 4.0. Esto se debe a que la implementacin PPI de ENVI tiene un
procedimiento de supervisin manual para seleccionar el conjunto final de
endmembers, por lo tanto, es dependiente del usuario. En los experimentos
realizados con la herramienta de visualizacin N -dimensional disponible en
ENVI, se han efectuado un gran nmero de rotaciones interactivas con el
fin de seleccionar los mejores endmembers posibles. En todos los casos, tan-
to la interpretacin propuesta en 4.1 como la implementacin en FPGA de
la seccin 4.2 producen resultados muy similares a los encontrados por el
algoritmo PPI de ENVI, pero de una manera completamente automtica.
Tabla 4.4: Resumen de los recursos utilizados para la implementacin del algoritmo PPI en la FPGA Virtex-II Pro XC2VP30.
Componente Nmero de Nmero de Nmero de Nmero de Porcentaje Frecuencia
skewers slice flip flops 4 input LUTs slices total mxima (MHz)
Array Sistlico 20 2240 3865 2085 15.22 187
40 4480 7728 4170 30.44 187
60 6720 11591 6254 45.66 187
80 8960 15454 8339 60.88 187
100 11200 19317 10423 76.1 187
Mdulo de 20 40 120 58 0.21 664
Generacin 40 80 240 115 0.42 664
Aleatoria 60 120 360 173 0.84 664
80 160 480 230 1.68 664
100 200 600 288 2.1 664
Transmisor RS232 - 69 128 71 0.52 208
Controlador DMA - 170 531 367 2.68 102
84
Tabla 4.5: Resumen de los recursos utilizados para la implementacin del algoritmo PPI en la FPGA Virtex-4 XC4VFX60.
Tabla 4.7: Tiempo de ejecucin del algoritmo PPI propuesto para las escenas
EO-1 Hyperion Cuprite y AVIRIS Jasper Ridge.
4.4. Conclusiones
Algoritmo N-finder
(NFINDR)
91
92 Captulo 5. Algoritmo N-finder (NFINDR)
pxeles que maximice el volumen del simplex definido por los endmembers
seleccionados. Se calcula el volumen correspondiente para cada pxel en cada
una de las posiciones de los endmembers reemplazando dicho endmember y
buscando el volumen resultante. Si el reemplazo resulta en un incremento
del volumen, el pxel reemplaza al endmember (ver Figura 5.1(c)). Este pro-
cedimiento se repite hasta que no haya ms reemplazos de endmembers (ver
Figura 5.1(d)).
5.1. Descripcin del algoritmo 93
para determinar los pasos empleados por NFINDR utilizando las referencias
disponibles en la literatura [Win03, Win04]. Sin embargo, tambin es digno
de mencin que el algoritmo NFINDR nunca ha sido revelado plenamente.
Como resultado, esta descripcin se ha desarrollado en base a los limitados
resultados publicados disponibles y nuestra propia interpretacin. Sin em-
bargo, el algoritmo descrito a continuacin ha sido verificado mediante el
software comercial NFINDR, proporcionado por los autores, donde hemos
comprobado experimentalmente que el software produce esencialmente los
mismos resultados que nuestro cdigo, siempre y cuando los endmembers
iniciales se generen aleatoriamente. El algoritmo original NFINDR puede
resumirse en los siguientes pasos:
" #
1 1 1
det (k)
(k) (k)
(k) (k)
E1 E2 Ep
V (E1 , E2 , , E(k)
p )= (5.1)
(p 1)!
(k+1)
mximo volumen se denota por Ej . En este caso, se produce un nue-
(k+1) (k+1) (k)
vo conjunto de endmembers dejando Ej = X(i, j) y Ei = Ei
para todo i 6= j. El paso de reemplazo se repite de forma iterativa, uti-
lizando tantas iteraciones como sean necesarias hasta que no haya ms
sustituciones de endmembers.
zado como paso previo para reducir la alta dimensionalidad de los datos a
una menor dimensionalidad para su posterior anlisis.
Supongamos que existe una muestra con n individuos para cada uno de
los cuales se han medido m variables. El ACP permite encontrar un nmero
de factores subyacentes p < m que explican aproximadamente el valor de las
m variables para cada individuo. El hecho de que existan estos p factores
subyacentes puede interpretarse como una reduccin de la dimensionalidad
de los datos: donde antes necesitbamos m valores para caracterizar a cada
individuo ahora nos bastan p valores. Cada uno de los p encontrados se llama
Componente Principal, de ah el nombre del mtodo.
puede ser visto como una arquitectura segmentada. Se pueden distinguir dos
etapas que se comunican utilizando una estructura first-in first-out (FIFO):
La primera etapa trae de memoria los pxeles de la imagen a la FIFO mien-
tras la segunda etapa lleva a cabo el proceso de extraccin de endmembers
con los pxeles almacenados anteriormente y finalmente enva los endmem-
bers a travs del puerto RS232. Por lo tanto, las dos etapas estn trabajando
en paralelo.
Para que el diseo anterior funcione se debe garantizar que los valores
de los pivotes sean distintos de cero. Evidentemente, si uno de los pivotes
aii de la diagonal es cero, no se puede utilizar aii para reducir a cero los
elementos por debajo suya; no se puede cambiar aji mediante la resta de
ningn mltiplo de aii = 0 a ste. Se debe intercambiar la fila i con otra
fila l por debajo suya (la permutacin con una fila por encima destruira
alguno de los ceros introducidos anteriormente), que contenga un elemento
5.3. Implementacin en FPGA 105
Figura 5.6: Arquitectura hardware para implementar el paso (2) del mtodo
de triangulacin de matrices.
r1 1 2 5 1 2 r1 1 2 5 1 2 r1 1 2 5 1 2
0
r2 1 2 6 2 3 r4 0 1 4 1 2
0 0
r3
1 2 7 4 3
r2 0
0 1 1 1
r2
0 0 1 1 1
0 0
r4 1 3 9 2 4 r3 0 0 2 3 1 r3 0 0 2 3 1
0
r5 1 4 5 6 6 r5 0 2 0 5 4
Figura 5.7: Arquitectura hardware para implementar el paso (1) del proceso
de triangulacin de matrices.
pivote para la siguiente iteracin sea cero en todas las filas, la seal cero se
activa indicando que el valor del determinante es cero.
Para concluir esta seccin, se ofrece una descripcin paso a paso de cmo
la arquitectura propuesta realiza la extraccin de un conjunto de p endmem-
bers a partir de una imagen hiperespectral:
Cuando los datos del primer pxel se han escrito en la FIFO, el mdulo
NFINDR comienza a trabajar. Los datos del pxel son almacenados
y en cada ciclo de reloj una nueva fila es enviada por la unidad de
control al mdulo encargado de calcular el valor absoluto del deter-
minante. Cuando se calcula el volumen, se compara con el volumen
almacenado y, si el primero es mayor, los registros de volumen y la po-
sicin se actualizan. Luego, se recalcula el volumen testeando el pxel
en la siguiente posicin de los endmembers de la misma manera. Este
volumen se calcula para todas las p posiciones de los endmembers. Por
108 Captulo 5. Algoritmo N-finder (NFINDR)
ltimo, si el nuevo clculo del mayor volumen con el pxel actual es ma-
yor que el volumen anterior, la unidad de control actualiza el conjunto
de endmembers, el volumen y los registros de posicin. Este paso se
repite varias veces en funcin del nmero total de pxeles de la imagen
hiperespectral.
Dado que los requisitos de cada imagen pueden ser muy diferentes (por
ejemplo, el nmero ptimo de endmembers vara de una imagen a otra) es
necesario un diseo flexible que se adapte a estos requisitos. Por esta razn
se ha diseado un mdulo completamente personalizable utilizando varios
parmetros genricos que nos permiten crear una instancia del diseo de
acuerdo a las caractersticas de la imagen hiperespectral considerada. Esta
creacin de instancias se hace sin la necesidad de hacer ningn cambio en
el cdigo. Con el fin de personalizar el diseo propuesto slo tenemos que
establecer el valor apropiado para cada parmetro genrico. Estos parme-
tros son el nmero de endmembers a extraer, el nmero de pxeles en los
datos hiperespectrales, el nmero de bits que representan la reflectancia en
una banda y el nmero de bits de la posicin que ocupa el pxel dentro de
la imagen. Por ejemplo, para realizar la adaptacin del diseo para un n-
5.4. Resultados experimentales 109
Como se puede observar en la Figura 5.8, todos los mdulos utilizan uno
o varios parmetros genricos. Por lo tanto se pueden personalizar segn las
necesidades de las imgenes consideradas. Por otra parte, algunas de las ins-
tancias se encuentran dentro de una estructura for generate (justo despus
del primer begin) que se utiliza para crear instancias de un nmero variable
de elementos de un determinado componente. En nuestro caso se utiliza para
adaptar la ruta de datos al nmero de endmembers seleccionados, incluyendo
registros suficientes para almacenar la informacin de cada endmember.
X(i, j) Sk
AE [X(i, j), Sk ] = cos1 , (5.2)
kX(i, j)k kSk k
112 Captulo 5. Algoritmo N-finder (NFINDR)
Las Tablas 5.1 y 5.2 muestran los valores de AE entre los endmembers
detectados por la implementacin propuesta basada en FPGA y las firmas
espectrales de referencia disponibles para las escenas AVIRIS Cuprite y AVI-
RIS Jasper Ridge, respectivamente. Con el fin de mostrar los resultados de
una manera ms efectiva, las tablas slo muestran la menor puntuacin de
AE de todos los endmembers extrados con respecto a su firma de referencia
en cada caso. Los resultados se muestran en forma de radianes y grados (el
rango de valores para el AE es de [0, 90] grados). Estos resultados son con-
sistentes con los publicados anteriormente en la literatura (por ejemplo, en
[PMPP04]). En [PMPP04] podemos encontrar una comparacin de los end-
members extrados por el algoritmo NFINDR con respecto a los obtenidos
5.4. Resultados experimentales 113
Tabla 5.1: Similaridad espectral angular entre los endmembers extrados por
NFINDR en la escena AVIRIS Cuprite y las firmas disponibles en la librera
espectral USGS.
Radianes Grados
Alunita 0.084 4.812
Buddingtonita 0.089 5.099
Calcita 0.105 6.016
Kaolinita 0.138 7.906
Moscovita 0.108 6.187
Tabla 5.2: Similaridad espectral angular entre los endmembers extrados por
NFINDR en las escenas AVIRIS Jasper Ridge (en unidades de radiancia y
reflectancia) y las firmas espectrales puras disponibles en ambas escenas.
Datos en radiancia
Suelo Bosque Hierba Chaparral Lago
Radianes 0.077 0.065 0.044 0.050 0.032
Grados 4.411 3.724 2.521 2.864 1.833
Datos en reflectancia
Suelo Bosque Hierba Chaparral Lago
Radianes 0.028 0.025 0.022 0.020 0.019
Grados 1.604 1.432 1.260 1.145 1.088
endmembers (p) DSP48Es slice flip flops 4 input LUTs de slices total mxima (MHz)
Mdulo NFINDR 9 92 6322 11031 6231 24.65 43.1
16 128 12036 20779 11700 46.23 42.9
18 128 15095 24247 14056 55.6 42.8
19 128 16646 26763 17577 69.53 42.6
21 128 20077 34155 24622 97.40 42.3
Transmisor RS232 - 0 69 128 71 0.28 208
Controlador DMA - 0 170 531 367 1.45 102
115
116 Captulo 5. Algoritmo N-finder (NFINDR)
sistemas paralelos. Por lo tanto, al igual que en el diseo del algoritmo PPI, se
ha prestado especial atencin a este problema. Para reducir las penalizaciones
de E/S, se ha incluido un DMA y se ha aplicado una tcnica de precarga con
el fin de ocultar la latencia de las comunicaciones. Bsicamente, mientras
que el mdulo NFINDR est procesando un conjunto de datos, el DMA
ir a buscar la siguiente serie, y la almacenar en la FIFO. Para demostrar
las ventajas de utilizar un DMA, se ha desarrollado otra versin en la que
los datos de la imagen se leen de memoria y son escritos en la FIFO por el
PowerPC en lugar del DMA. En esta versin, el tiempo de procesamiento se
increment en ms de un orden de magnitud por lo que podemos concluir
que los recursos utilizados para el DMA (vase la Tabla 5.3) estn bien
empleados.
5.5. Conclusiones
Refrn popular
119
120 Captulo 6. Image Space Reconstruction Algorithm (ISRA)
n
X
b= ai x i + w = A x + w (6.1)
i=1
donde A <mn
+ es la matriz de endmembers y ai es la firma espectral del i-
simo endmember; x <n+ es el vector de abundancias; b <m es el espectro
medido del pxel; w es un vector de ruido; n es el nmero de endmembers y m
es el nmero de bandas espectrales del sensor [VRJ00, KM02, Boa94]. Ten-
gamos en cuenta que los valores correspondientes a las variables A y b son
obligatoriamente positivos para poder tener significado fsico y, adems, el
vector de abundancias necesita satisfacer x 0 y ni=1 xi 1 o ni=1 xi = 1.
P P
v
u n
2
uX
M C(Ax, b) = kAx bk = t
2
((Ax)i bi )2 (6.3)
i=1
(b x A)T (b x A) ,
min x
sujeto a : = {x | xi 0 para todo 1 i n} (6.5)
m
X
bi aij
i=1
xk+1
j = xkj m (6.6)
X
aij aTi X
i=1
estructura anterior para ir calculando las sumas parciales que se irn acumu-
lando hasta obtener el resultado. Finalmente, se divide el numerador entre
el denominador.
Para concluir esta seccin, se ofrece una descripcin paso a paso de cmo
la arquitectura propuesta realiza la estimacin de las fracciones de abundan-
cia a partir de n endmembers para cada uno de los pxeles de una imagen
hiperespectral:
Cuando los datos del primer pxel se han escrito en la FIFO de escri-
tura, el rbitro de lectura los enva al primer mdulo ISRA y comienza
a trabajar. Mientras se van almacenando los datos del pxel, se inicia-
lizan los valores de las fracciones de abundancia al valor 1 / nmero
de endmembers, con la idea de que es una buena estimacin de partida
suponer que todos los endmembers contribuyen al pxel mezcla de la
6.3. Resultados experimentales 133
s l n
!1
2
1 XX 1 X h (O) (R)
i
RECM(I(O) , I(R) ) = xk (i, j) xk (i, j) (6.7)
sl n
i=1 j=1 k=1
Las Figuras 6.8, 6.9 y 6.10 muestran la RECM por pxel (y la media) en-
tre la escena hiperespectral original y la reconstruida para distinto nmero
de iteraciones en las escenas AVIRIS Cuprite y AVIRIS Jasper Ridge, esta
ltima tanto en unidades de reflectancia como de radiancia. Colores ms c-
lidos indican mayor error. A la vista de los resultados, podemos concluir que
100 iteraciones es un nmero suficiente y que ms all de 200 iteraciones la
RECM decrece muy lentamente, por lo que la mejora en la similitud entre
136 Captulo 6. Image Space Reconstruction Algorithm (ISRA)
Figura 6.8: Mapa de errores RECM (en porcentaje) para distinto nmero
de iteraciones despus de la reconstruccin de la escena AVIRIS Cuprite
utilizando las firmas de referencia de la librera USGS.
Figura 6.9: Mapa de errores RECM (en porcentaje) para distinto nmero de
iteraciones despus de la reconstruccin de la escena AVIRIS Jasper Ridge
en unidades de reflectancia utilizando las firmas espectrales de terreno de
referencia.
Figura 6.10: Mapa de errores RECM (en porcentaje) para distinto nmero
de iteraciones despus de la reconstruccin de la escena AVIRIS Jasper Rid-
ge en unidades de radiancia utilizando las firmas espectrales de terreno de
referencia.
Tabla 6.2: Resumen de los recursos utilizados para la implementacin en FPGA del ISRA para distinto nmero de mdulos
en paralelo en la FPGA Virtex-4 XC4VFX60.
Componente Nmero de Nmero de Nmero de Nmero de Nmero Porcentaje Frecuencia
mdulos (p) DSP48Es slice flip flops 4 input LUTs de slices total mxima (MHz)
Mdulo ISRA 10 100 3368 23357 12719 50.31 44.7
paralelo 11 110 3683 25654 13956 55.2 44.5
12 120 3990 27920 15186 60.07 44.4
13 128 4383 30394 16547 65.45 44.3
14 128 4758 34300 18660 73.81 44.1
15 128 5147 38112 20717 81.95 43.9
16 128 5532 42047 22773 90.08 43.8
Transmisor RS232 - 0 69 128 71 0.28 208
Controlador DMA - 0 170 531 367 1.45 102
140
6.3. Resultados experimentales 141
6.4. Conclusiones
Cadena completa de
desmezclado espectral
Annimo
143
144 Captulo 7. Cadena completa de desmezclado espectral
Tabla 7.1: ngulo espectral entre los endmembers extrados por PPI y N-
FINDR en la escena AVIRIS Cuprite reducida a 15 superbandas y las firmas
disponibles en la librera espectral USGS.
PPI N-FINDR
Radianes Grados Radianes Grados
Alunita 0.084 4.812 0.084 4.812
Buddingtonita 0.073 4.182 0.089 5.099
Calcita 0.092 5.271 0.105 6.016
Kaolinita 0.136 7.792 0.138 7.906
Moscovita 0.092 5.271 0.108 6.187
Tabla 7.2: ngulo espectral entre los endmembers extrados por PPI y N-
FINDR en las escenas AVIRIS Jasper Ridge reducida a 18 superbandas (en
unidades de radiancia y reflectancia) y las firmas espectrales puras disponi-
bles en ambas escenas.
Datos en radiancia
Suelo Bosque Hierba Chaparral Lago
Radianes 0.065 0.061 0.045 0.042 0.032
PPI
Grados 3.724 3.495 2.578 2.406 1.833
Radianes 0.077 0.065 0.044 0.050 0.032
N-FINDR
Grados 4.411 3.724 2.521 2.864 1.833
Datos en reflectancia
Suelo Bosque Hierba Chaparral Lago
Radianes 0.030 0.026 0.024 0.031 0.019
PPI
Grados 1.718 1.489 1.375 1.776 1.088
Radianes 0.028 0.025 0.022 0.020 0.019
N-FINDR
Grados 1.604 1.432 1.260 1.145 1.088
Figura 7.4: Mapa de errores RECM (en porcentaje) para distinto nmero de
iteraciones despus de la reconstruccin de la escena AVIRIS Cuprite con los
endmembers extrados por el algoritmo PPI.
Figura 7.5: Mapa de errores RECM (en porcentaje) para distinto nmero de
iteraciones despus de la reconstruccin de la escena AVIRIS Jasper Ridge
en unidades de reflectancia con los endmembers extrados por el algoritmo
PPI.
iteraciones.
154 Captulo 7. Cadena completa de desmezclado espectral
Figura 7.6: Mapa de errores RECM (en porcentaje) para distinto nmero de
iteraciones despus de la reconstruccin de la escena AVIRIS Jasper Ridge
en unidades de radiancia con los endmembers extrados por el algoritmo PPI.
7.3. Resultados experimentales 155
Figura 7.7: Mapa de errores RECM (en porcentaje) para distinto nmero de
iteraciones despus de la reconstruccin de la escena AVIRIS Jasper Ridge
en unidades de reflectancia con los endmembers extrados por el algoritmo
PPI en la escena en unidades de radiancia.
156 Captulo 7. Cadena completa de desmezclado espectral
AVIRIS AVIRIS
Cuprite Jasper Ridge
Extraccin de endmembers 16.86 seg 43.26 seg
Eliminacin de redundantes 2.52 seg 3.55 seg
Reconfiguracin total 694 ms 694 ms
Estimacin de abundancias 1.59 min 4.10 min
Total 1.92 min 4.89 min
Captulo 8
8.1. Conclusiones
157
158 Captulo 8. Conclusiones y trabajo futuro
XC2V60006.
comparativa entre los algoritmos PPI y NFINDR para mostrar las ven-
tajas e inconvenientes de ambos y as, establecer cual de los dos es ms
adecuado para la realizacin de la etapa de extraccin de endmembers. Los
resultados experimentales, demuestran que la penalizacin impuesta por la
reconfiguracin (principal problema en los sistemas multitarea reconfigura-
bles) supone una penalizacin muy poco significativa en comparacin con el
tiempo de ejecucin de los algoritmos en el contexto del anlisis de imgenes
hiperespectrales. Adems, ofrece un incremento del rendimiento significati-
vo comparado con una versin software equivalente y tambin es capaz de
proporcionar resultados precisos con un tamao compacto, que hacen del
sistema reconfigurable propuesto atractivo para el procesamiento a bordo de
datos hiperespectrales.
A pesar de que los tiempos de procesamiento todava estn lejos del ren-
dimiento de un sensor hiperespectral, los nuevos avances, tanto en el diseo
de algoritmos como en la disponibilidad de mejor hardware, nos llevan a creer
que el objetivo del procesamiento a bordo de imgenes hiperespectrales en
el espacio, a medida que se capturan, se llevar a cabo en un futuro pr-
ximo. Por ejemplo, si dispusiramos de una FPGA Virtex4 XQR4VLX200
(89088 slices), certificada para el espacio, podramos disponer de 3.5 ve-
ces ms recursos hardware que en la FPGA Virtex4 XC4VFX60 utilizada
en este trabajo, y gracias a la escalabilidad de las implementaciones de los
algoritmos desarrollados, se podra alcanzar un speedup de 3.5 sin realizar
modificaciones en el diseo. En el caso de una plataforma aerotransportada,
se podra utilizar una FPGA Virtex6 XQ6VLX550T (550000 logics cells)
que dispone de casi 10 veces ms celdas lgicas que la FPGA utilizada.
1. Inicializar x0 , y
2
b) error =
Axk b
c) stop =
xk+1 xk
/
xk
3. return x
xk+1
j = (1 w) xkj + w xISRA (8.1)
167
168 Apndice . Publicaciones generadas
Carlos Gonzlez, Juan Antonio Clemente, Jos Luis Garca, Javier Re-
sano y Daniel Mozos. Un sistema para la gestin eficiente del HW re-
configurable. VII Jornadas sobre Computacin Reconfigurable y Apli-
caciones (JCRA) dentro del II Congreso Espaol de la Informtica
(CEDI). Pginas 163-170. 11-14 de septiembre de 2007.
Bibliografa
Proverbio chino
171
172 Bibliografa
[CP06] C.-I Chang and A. Plaza. A fast iterative algorithm for imple-
mentation of pixel purity index. IEEE Geoscience and Remote
Sensing Letters, 3(1):6367, 2006.
[DMJ+ 08] Abhishek Das, Sanchit Misra, Sumeet Joshi, Joseph Zam-
breno, Gokhan Memik, and Alok Choudhary. An efficient
fpga implementation of principle component analysis based
network intrusion detection system. In Proceedings of the con-
ference on Design, automation and test in Europe, DATE 08,
pages 11601165, New York, NY, USA, 2008. ACM.
176 Bibliografa
[HC00] D. Heinz and C.-I Chang. Fully constrained least squares li-
near mixture analysis for material quantification in hyperspec-
tral imagery. IEEE Transactions on Geoscience and Remote
Sensing, 39:529545, 2000.
[HFHK04] S. Hauck, T.W. Fry, M.M. Hosler, and J.P. Kao. The Chi-
maera Reconfigurable Functional Unit. IEEE Transactions
on VLSI Systems, 12(2):206217, 2004.
[KR06] I. Kuon and J. Rose. Measuring the gap between FPGAs and
ASICs. Proceedings of the ACM/SIGDA 14th International
Symposium on Field-Programmable Gate Arrays (FPGA 06),
pages 2130, 2006.
[LWL00] K.H. Leung, K.W. Wong, and P.H.W. Leong. FPGA Im-
plementation of a Microcoded Elliptic Curve Cryptographic
Processor. Proceedings of the IEEE Symposium on Field-
Programmable Custom Computing Machines (FCCM00), pa-
ges 6876, 2000.
182 Bibliografa