IUMA División de Diseño de Sistemas Integrados Universidad de Las Palmas de Gran Canaria...
-
Upload
fernando-poblete-nunez -
Category
Documents
-
view
215 -
download
0
Transcript of IUMA División de Diseño de Sistemas Integrados Universidad de Las Palmas de Gran Canaria...
IUMA
División de Diseño de Sistemas IntegradosUniversidad de Las Palmas de Gran Canaria
Implementación hardware del algoritmo Vertex Component Analysis (VCA)
para el procesamiento de imágenes hiperespectrales
Pablo Horstrand Andaluz
Tutores
Dr. D. Roberto Sarmiento RodríguezDr. D. Sebastián López Suárez
Trabajo FiN de Máster
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
✤ Introducción
✤ Procesamiento de imágenes hiperespectrales
✤ Resultados
✤ Conclusiones
Estructura del trabajo
✤ Diseño de arquitecturas
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
Introducción¿Qué es una imagen hiperespectral?
➡ Conjunto de datos dispuestos de tal forma que cada píxel de la imagen está formado por un set de valores obteniéndose un espectro continuo. Es decir, la imagen hiperespectral tiene las dos dimensiones espaciales, más una tercera espectral.
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Longitud de onda (nm)
Reflect
an
cia (
%)
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IntroducciónComposición de la imagen hiperespectral
➡ Se definen dos tipos de píxeles en la imagen:
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
✦ Píxel puro: píxeles en la escena que constituyen un único material.
✦ Píxel mezcla: píxel en el que cohabitan varios materiales.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IntroducciónModelo lineal de mezcla
➡ El modelo lineal representa de manera fiable la composición.
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
r =x+ n=Ms+ n
M ≡[m1,m2 ,...,mp]
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
IntroducciónInconvenientes
➡ Gran cantidad de datos
✦
✦
Ocupa más espacio en memoria
Flujo de transmisión más costoso
➡ Tiempo de cómputo elevado
Imagen hiperespectral (55 bandas): 77MbitsImagen RGB: 4Mbits
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
IntroducciónImplementación en hardware
➡ Las posibilidades de selección de los dispositivos hardware es variada.
Hardware
Software
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
IntroducciónObjetivos
➡ Plantear modificaciones en el algoritmo VCA que posibiliten la labor de su implementación en hardware aumentando su rendimiento.
➡ Estudiar los algoritmos de extracción de endmembers, PPI, N-FINDR y VCA, y destacar sus principales diferencias.
➡ Implementar y sintetizar el algoritmo VCA junto con las modificaciones estudiadas, en una FPGA Virtex 5.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
AVDP-SX95T (Virtex 5)
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
✤ Introducción
✤ Diseño de arquitecturas
✤ Resultados
✤ Conclusiones
✤ Procesamiento de imágenes hiperespectrales
Estructura del trabajo
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Cadena de procesado
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Extracción de endmembers: Pixel Purity Index (PPI)
➡ Proyección de la imagen sobre vectores aleatorios (skewers):
proj =skw* R
skw =rand(1, p)
generación de vectores aleatorios:
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
➡ Los puntos en el espacio forman un simplex
V (e1,...,ep ) =det
1e1
⎡
⎣⎢
1 ...e2 ...
1ep
⎤
⎦⎥
(p−1)!
N
p
⎛⎝⎜
⎞⎠⎟=(N!) / (p!(N −p)!)número de búsquedas:
➡ Se determina el volumen encerrado por las diferentes combinaciones de puntos
Extracción de endmembers: N-FINDR
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Extracción de endmembers: Vertex Component Analysis (VCA)
✦ Los puntos forman un simplex en el espacio.
✦
✦ Se determinan los vectores ortogonales (f) a los endmembers ya calculados.
Se proyecta la imagen sobre dicho vector.
v = f TY
✦ Se selecciona aquel píxel cuya proyección sea mayor.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
✦ Se realiza una proyección de la imagen sobre el plano perpendicular a u.y =
rrTu
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
➡ Preprocesado + algoritmo
Extracción de endmembers: Vertex Component Analysis (VCA)
1
2
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Pseudoinversa vs. Gram Schmidt
➡ Pseudoinversa
f =([ I ] −[A][A]+ )w
✦ SVD method
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
➡ Gram-Schmidt
Pseudoinversa vs. Gram Schmidt
−proju1v2
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
➡ Nos quedamos con el píxel cuyo producto por f sea el mayor. Por tanto:
Proyección de la imagen sobre el vector f
✦ No se realiza la normalización del vector f, ya que esto afecta a todos los productos por igual.
✦ Se realiza la proyección de la imagen sobre el vector f, con todos los elementos en notación entera.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
✦ Para ellos se ejecuta un desplazamiento de todos los exponentes en punto flotante, de los elementos de f.
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Extracción de endmembers: Modificaciones sobre el VCA
Inicialización
Desplazamientode los exponentes de Y
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Extracción de endmembers: Modificaciones sobre el VCA
u1 =a1
u2 =a2 −a2 ,u1
u1,u1
u1 =a2 −c1(2,1)u1
u3 =a3 −a3,u1
u1,u1
u1 −a3,u2
u2 ,u2
u2 =a3 −c1(3,1)u1 −c1(3,2)u2f =w−w,uj
uj ,ujj=1
j=i
∑ uj =w− c2 ( j)j=1
j=i
∑ uj
Generación de la base u
Generación de f
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Procesamiento de imágenes hiperespectrales
Extracción de endmembers: Modificaciones sobre el VCA
1ª iteración
Desplazamiento de losexponentes de f
truncamiento
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
✤ Introducción
✤ Diseño de arquitecturas
✤ Resultados
✤ Conclusiones
✤ Procesamiento de imágenes hiperespectrales
Estructura del trabajo
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Diseño de arquitecturas
Generalidades
➡ Se realizan 2 implementaciones
1. Todas las operaciones en punto flotante.
2. La proyección de la matriz sobre el vector f se realiza con
números enteros.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Diseño de arquitecturas
➡ 1ª arquitectura
Arquitecturas generales
Input
Output
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Diseño de arquitecturas
➡ 2ª arquitectura
Arquitecturas generales
Diferencias
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Diseño de arquitecturas
➡ Calcula las constantes para el cálculo del nuevo vector de la base
Bloque: constantcalc
✦ Presenta un bucle interno con p iteraciones.
✦ Presenta un bucle externo con iter iteraciones.
✦ Las entradas son:
1. el nuevo endmember a.
2. los vectores de la base u.
3. la iteración en que está el algoritmo, iter.
4. el denominador de la ecuación de la constante, el producto de cada
vector de u por si mismo, mod.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Diseño de arquitecturas
Bloque: image projection
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
✤ Introducción
✤ Diseño de arquitecturas
✤ Resultados
✤ Conclusiones
✤ Procesamiento de imágenes hiperespectrales
Estructura del trabajo
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Resultados
Demo VCA
➡ Para obtener los resultados en Matlab se hace uso de esta demo
que consta de 2 partes:
✦ Genera una imagen (imagen artificial) a partir de firmas espectrales de librerías, y los compara con los endmembers detectados (tamaño: 36x36x224)
✦ También se contrastan los resultados con una imagen muy conocida como cuprite (tamaño:250x191x188)
Imagen ArtificialCuprite
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Resultados
Demo VCA
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Resultados en software: Imagen artificial
Resultados
θi ≡ (arccosmi , m̂imi m̂i
)
θRMS = Erθ
2⎡⎣⎢
⎤⎦⎥( )
1/2
➡ Se emplea la siguiente figura de mérito en la comparación
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
➡ Los resultados se obtienen para una imagen de 36x36 píxeles y 224 bandas
espectrales
➡ Se construye una tabla en la que se varía el número de endmembers a calcular p,
y la relación señal ruido, SNR.
θRMS −θ 'RMS
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Resultados en software: Imagen artificial
Resultados
10 dB 20 dB 30 dB 40 dB 50 dB
3 -0,9934º 0,0131º -0,0121º -0,012º 0,0006º
4 0,0186º -0,5254º -0,052º -0,0096º -0,0109º
5 -0,1463º 0,8745º 0,0427º -0,1356º 0,0064º
6 1,1479º -0,4961º -0,0649º 0,4242º 0,0123º
7 0,4412º -1,1901º 0,3961º -0,0475º 0,1191º
8 -0,7105º -0,6022º -0,1286º 0,0597º 0,0159º
9 -0,4914º -1,0834º -0,0797º 0,1105º -0,0038º
10 2,271º 0,0225º 0,0738º -0,0104º -0,0567º
Sumatoria 1,5371º -2,7891º 0,1753º 0,3793º 0,0829º
SNR
p
θRMS −θ 'RMS
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Verificación e implementación
Resultados en software: Cuprite
➡Comparación con 5 firmas espectrales conocidas
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Verificación e implementación
Resultados en hardware: Ocupación en área
Virtex 5 Implementación 1 Implementación 2
Slice Registers 32% 27%
Slice LUTs 25% 20%
Block RAM/FIFO 2% 2%
DSP48Es 4% 5%
★La implementación con operaciones en entero utiliza menos recursos hardware.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
➡ Los resultados se obtienen para una imagen de 36x36 píxeles y 224 bandas
espectrales
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Verificación e implementación
Resultados en hardware: Tiempo de ejecución
Frecuencia (MHz)
LatenciaTiempo total
(ms)
Implementación 1 210,44 9738 0,0463
Implementación 2 268,15 10383 0,0387
★La implementación con operaciones en entero es más rápida.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
✤ Introducción
✤ Diseño de arquitecturas
✤ Resultados
✤ Conclusiones
✤ Procesamiento de imágenes hiperespectrales
Estructura del trabajo
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
IUMA
División de Diseño de Circuitos IntegradosUniversidad de Las Palmas de Gran Canaria
Conclusiones
➡ En el presente trabajo se han presentado modificaciones en el algoritmo VCA para su implementación hardware.
➡ Estas modificaciones han probado obtener resultados prácticamente iguales, a partir de las pruebas que se han realizado en software, siendo su implementación más asequible de abordar y de menor coste computacional.
➡ Se han sintetizado dos versiones diferentes, comprobándose que aquella que ejecuta la proyección de la imagen sobre el vector f en notación entera utiliza menos recursos y obtiene mejores tiempos de ejecución.
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones
➡ Se va a presentar un paper a la revista IEEE Geoscience and Remote Sensing Letters (Factor de Impacto:1.4), con los resultados que se han obtenido en software.
IUMA
División de Diseño de Sistemas IntegradosUniversidad de Las Palmas de Gran Canaria
Implementación hardware del algoritmo Vertex Component Analysis (VCA)
para el procesamiento de imágenes hiperespectrales
Pablo Horstrand Andaluz
Tutores
Dr. D. Roberto Sarmiento RodríguezDr. D. Sebastián López Suárez
Trabajo FiN de Máster
Instituto Universitario de Microelectrónica AplicadaSistemas de información y Comunicaciones