Biblioteca de Alto Desempenho para C^omputos com Matrizes ... · Biblioteca de Alto Desempenho para...

3
Biblioteca de Alto Desempenho para Cˆomputos com Matrizes Hermitianas Complexas em R Leonildo Nacismento, Leonardo Torres, Alejandro C. Frery Laborat´ orio de Computa¸c˜ ao Cient´ ıfica e An´ alise Num´ erca – LaCCAN Universidade Federal de Alagoas – UFAL 57072-970, Macei´ o, AL – Brasil E-mail: {leonildo.mello, ljmtorres, acfrery}@gmail.com Palavras-chave: Dados PolSAR, Matriz Hermitiana Complexa, Computa¸ c˜aoCient´ ıfica Resumo: Este trabalho apresenta uma biblioteca em R para cˆ omputos com matrizes hermitianas complexas em R. No desenvolvimento foi aproveitada a estrutura hermitiana das matrizes, bem como capacidade de R comunicar-se com a linguagem de programa¸c˜ao C, para produzir c´odigo de alto desempenho. As fun¸c˜oes desenvolvidas s˜ao uma ordem de grandeza mais r´apidas do que as originalmente dispon´ ıveis em R. 1 Introdu¸ ao Os dados SAR Polarim´ etricos (PolSAR) alcan¸caram uma posi¸c˜ao de destaque dentre as tecnologias de sensoriamento remoto. Imagens PolSAR utilizam ilumina¸ ao coerente na faixa das microondas fornecendo imagens de grande escala bidimensional de alta resolu¸c˜ ao espacial; detalhes em [1]. Trabalhar com estas imagens imp˜oe um alto custo computacional com opera¸c˜oes de visualiza¸c˜ao, filtragem, segmenta¸ ao, classifica¸ ao etc., pois no seu formato completo cada posi¸ ao est´ a associada a uma matriz de dados complexos [2]. Estudos requerem a realiza¸ ao de ensaios Monte Carlo, com milhares ou milh˜ oes de replica¸ oes. Uma das plataformas mais empregadas para a realiza¸c˜ao de estudos estat´ ısticos ´ eo R [3]. Esta linguagem, que ´ e tamb´ em um ambiente de programa¸c˜ao, oferece as fun¸c˜oes necess´arias para compor diversos tipos de an´ alises de imagens PolSAR. A matriz de covariˆ ancia complexa Σ que caracteriza a lei Wishart complexa multivariada ´ e hermitiana positiva definida, propriedade essa que permite simplificar as opera¸c˜oes que sobre ela s˜ao aplicadas. As distˆancias h-φ calculadas em [4] entre duas leis Wishart dependem exclusivamente da transposi¸c˜ao, do determinante e da inversa das matrizes de covariˆancia complexas. Essa constata¸c˜ao abre espa¸co para a proposta que realizamos neste trabalho: desenvolver uma biblioteca em R que aproveite as propriedades das matrizes hermitianas positivas definidas e tenham melhor desempenho computacional do que as fun¸c˜ oes oferecidas pela plataforma. 2 O Modelo Wishart complexo O imageamento PolSAR resulta em uma matriz de espalhamento complexa, que inclui dados de intensidade e fase relativa [4]. Para cada frequˆ encia de imageamento tais matrizes tˆ em, no seu formato mais completo, quatro elementos complexos distintos, denotados S VV , S VH , S HV ,e S HH , em que H e V referem- se aos estados das ondas de polariza¸c˜ao horizontal e vertical, respectivamente. O sinal complexo do retroespalhamento de cada c´ eluladeresolu¸c˜ao´ e caracterizado por uma p-tupla y, em que p = 3, pois S VH = S HV ; detalhes em Lee & Pottier [1]. Assim, temos o vetor aleat´orio de espalhamento complexo y =[S VV ,S VH ,S HH ] t em que t deno- ta transposi¸c˜ao e pode ser modelado por uma distribui¸c˜ao gaussiana complexa multivariada [5], cuja fun¸ ao densidade de probabilidade ´ e f (y; Σ)= π -3 |Σ| -1 exp -y * Σ -1 y , em que |·| ´ e o determinante, o sobrescrito ‘*’ denota o conjugado complexo transposto de um vetor, e Σ ´ e a matriz de covariˆ ancia de y, sendo hermitiana e definida positiva que caracteriza o retroespalhamento. O processamento multilook ´ e destinado a aumentar a rela¸c˜ao sinal-ru´ ıdo. Ele pode ser realizado calculando a m´ edia de L observa¸ oes (looks ) idealmente independente da cena. Isto resulta na matriz de covariˆ ancia Z dada por Z = L -1 L =1 y y * , em que L ´ e o n´ umero de looks. 392 ISSN 2317-3297

Transcript of Biblioteca de Alto Desempenho para C^omputos com Matrizes ... · Biblioteca de Alto Desempenho para...

Biblioteca de Alto Desempenho para Computos com MatrizesHermitianas Complexas em R

Leonildo Nacismento, Leonardo Torres, Alejandro C. FreryLaboratorio de Computacao Cientıfica e Analise Numerca – LaCCAN

Universidade Federal de Alagoas – UFAL

57072-970, Maceio, AL – Brasil

E-mail: {leonildo.mello, ljmtorres, acfrery}@gmail.com

Palavras-chave: Dados PolSAR, Matriz Hermitiana Complexa, Computacao Cientıfica

Resumo: Este trabalho apresenta uma biblioteca em R para computos com matrizes hermitianas complexasem R. No desenvolvimento foi aproveitada a estrutura hermitiana das matrizes, bem como capacidade de R

comunicar-se com a linguagem de programacao C, para produzir codigo de alto desempenho. As funcoesdesenvolvidas sao uma ordem de grandeza mais rapidas do que as originalmente disponıveis em R.

1 Introducao

Os dados SAR Polarimetricos (PolSAR) alcancaram uma posicao de destaque dentre as tecnologias desensoriamento remoto. Imagens PolSAR utilizam iluminacao coerente na faixa das microondas fornecendoimagens de grande escala bidimensional de alta resolucao espacial; detalhes em [1].

Trabalhar com estas imagens impoe um alto custo computacional com operacoes de visualizacao,filtragem, segmentacao, classificacao etc., pois no seu formato completo cada posicao esta associada a umamatriz de dados complexos [2]. Estudos requerem a realizacao de ensaios Monte Carlo, com milhares oumilhoes de replicacoes.

Uma das plataformas mais empregadas para a realizacao de estudos estatısticos e o R [3]. Estalinguagem, que e tambem um ambiente de programacao, oferece as funcoes necessarias para compordiversos tipos de analises de imagens PolSAR.

A matriz de covariancia complexa Σ que caracteriza a lei Wishart complexa multivariada e hermitianapositiva definida, propriedade essa que permite simplificar as operacoes que sobre ela sao aplicadas. Asdistancias h-φ calculadas em [4] entre duas leis Wishart dependem exclusivamente da transposicao, dodeterminante e da inversa das matrizes de covariancia complexas. Essa constatacao abre espaco para aproposta que realizamos neste trabalho: desenvolver uma biblioteca em R que aproveite as propriedadesdas matrizes hermitianas positivas definidas e tenham melhor desempenho computacional do que asfuncoes oferecidas pela plataforma.

2 O Modelo Wishart complexo

O imageamento PolSAR resulta em uma matriz de espalhamento complexa, que inclui dados de intensidadee fase relativa [4]. Para cada frequencia de imageamento tais matrizes tem, no seu formato mais completo,quatro elementos complexos distintos, denotados SV V , SV H , SHV , e SHH , em que H e V referem-se aos estados das ondas de polarizacao horizontal e vertical, respectivamente. O sinal complexo doretroespalhamento de cada celula de resolucao e caracterizado por uma p-tupla y, em que p = 3, poisSV H = SHV ; detalhes em Lee & Pottier [1].

Assim, temos o vetor aleatorio de espalhamento complexo y = [SV V , SV H , SHH ]t em que t deno-ta transposicao e pode ser modelado por uma distribuicao gaussiana complexa multivariada [5], cujafuncao densidade de probabilidade e f(y; Σ) = π−3|Σ|−1 exp

{−y∗Σ−1y

}, em que | · | e o determinante, o

sobrescrito ‘∗’ denota o conjugado complexo transposto de um vetor, e Σ e a matriz de covariancia de y,sendo hermitiana e definida positiva que caracteriza o retroespalhamento.

O processamento multilook e destinado a aumentar a relacao sinal-ruıdo. Ele pode ser realizadocalculando a media de L observacoes (looks) idealmente independente da cena. Isto resulta na matriz de

covariancia Z dada por Z = L−1∑L`=1 y`y

∗` , em que L e o numero de looks.

392

ISSN 2317-3297

De acordo com [5], Z segue uma distribuicao Wishart complexa multivariada com parametros Σ e L,caracterizada pela seguinte funcao densidade de probabilidade

fZ(Z ′; Σ, L) =L3L|Z ′|L−3

|Σ|LΓ3(L)exp{−L tr

(Σ−1Z ′

)}, (1)

em que Γ3(L) = π3∏2i=0 Γ(L− i), Γ(·) e a funcao gama, tr(·) e o operador traco e a matriz de covariancia

Z e dada por

Σ = E{yy∗} =

E{S1S∗1} E{S1S

∗2} E{S1S

∗3}

E{S2S∗1} E{S2S

∗2} E{S2S

∗3}

E{S3S∗1} E{S3S

∗2} E{S3S

∗3}

,em que E{·} denota o valor esperado.

3 Distancias h-φ

Sejam X e Y matrizes aleatorias cujas com distribuicoes caracterizadas pelas densidades fX(Z ′;θ1) efY (Z ′;θ2), respectivamente, em que θ1 e θ2 sao parametros. Suponhamos ainda que ambas densidadesestao definidas sobre o conjunto de todas as matrizes hermitianas positivas definidas A. A divergencia(h, φ) entre fX e fY e dada por [6]

Dhφ(X,Y ) = h

(∫Aφ(fX(Z ′;θ1)

fY (Z ′;θ2)

)fY (Z ′;θ2)dZ ′

), (2)

em que φ : (0,∞) → [0,∞) e uma funcao convexa e h : (0,∞) → [0,∞) e uma funcao estritamentecrescente com h(0) = 0.

Varias divergencias conhecidas na literatura surgem escolhendo adequadamente as funcoes h e φ, dentreelas a χ2, a Kullback-Leibler, a Bhattacharyya e a Hellinger. Essas divergencias nao sao necessariamentesimetricas e, portanto, nem sempre sao distancias. Esse problema pode ser resolvido facilmente fazendodhφ(X,Y ) =

(Dhφ(X,Y ) +Dh

φ(Y ,X))/2.

Frery et al. [4] derivaram essas distancias entre pares de distribuicoes Wishart. A tıtulo de ilustracao, adistancia de Hellinger entre as distribuicoes indexadas pelos parametros (LX ,ΣX) e (LY ,ΣY ) e dada por

dH(θX ,θY ) = 1−

∣∣∣(LXΣ−1X +LY Σ−1

Y

2

)−1∣∣∣LX+LY2

|ΣX |LX2 |ΣY |

LY2

√LpLX

X LpLY

Y

p−1∏k=0

Γ(LX+LY

2 − k)√

Γ(LX − k)Γ(LY − k), (3)

em que p denota o numero de polarizacoes.Na equacao (3) percebemos que as operacoes centrais para calcular dH sao o determinante da matriz

de covariancia |Σ| (3 computos envolvidos) e a sua inversa Σ−1 (3 computos envolvidos). A transposicaoe tambem necessaria para computos intermediarios. Essa dependencia de apenas tres funcoes e comum atodas as outras distancias, e motiva o desenvolvimento de funcoes especıficas de alto desempenho.

4 Metodologia Proposta

O calculo do determinante e a inversa da matriz de covariancia complexa S pode ser feito no R comos comandos prod(abs(Re(diag(qr(S)$qr)))) e solve(S). Ambas sao funcoes genericas, passıveis deserem aceleradas ao limitar sua aplicacao ao conjunto das matrizes hermitianas positivas definidas.

O comando prod(abs(Re(diag(qr(S)$qr)))) calcula o determinante da seguinte maneira: qr(S)$qrcalcula a decomposicao QR, isto e, no produto entre Q, matriz ortogonal, e R, matriz triangular-superiorde diagonal nao-nula; abs(Re(diag(*))) extrai o valor absoluto da parte real de cada elemento dadiagonal principal, e prod os multiplica. Nao utilizamos a funcao padrao det(S) do R, pois a mesma socalcula o determinante de matrizes reais.

A funcao solve, que e padrao na plataforma R, resolve um sistema linear do tipo Ax = B, em que A euma matriz quadrada. Quando B e omitida, a matriz identidade e colocada no seu lugar fazendo com quea funcao retorne a inversa da matriz A. Essas operacoes sao genericas; no nosso trabalho as tornamosespecıficas para as matrizes hermitianas e, com isso, reduzimos o numero de operacoes necessarias.

O metodo de Sarrus foi usado no calculo do determinante, que consiste em escrever a matriz seguidada repeticao de suas duas primeiras colunas. Tanto o determinante quando a inversa envolvem operacoes

393

ISSN 2317-3297

de soma e produto do complexo a+ bi com seu conjugado a− bi, pela natureza hermitiana das matrizes.Nesses casos, ao inves de fazer as operacoes genericas, dadas por (a+a)+(b−b)i e por (aa+bb)+(ab−ab)i,retornamos diretamente 2a e a2 + b2. Outras simplificacoes foram identificadas e incorporadas as novasfuncoes.

A biblioteca acelerada foi desenvolvida e compilada em C e executada em R. Nao utilizamos nenhumcomando de repeticao (for, while) no codigo e tudo foi executado de forma sequencial para poupar custocomputacional.

5 Resultados

A analise do desempenho foi realizada replicando um milhao vezes cada operacao sobre a mesma matrizde covariancia e calculando o tempo requerido. Para este tipo de analise, a plataforma R fornece o pacotebenchmark, que identifica o tempo de processador que cada funcao requer. Uma comparacao direta donumero de operacoes nao nos daria uma ideia correta da economia computacional, ja que estarıamoscomparando plataformas de processamento diferentes.

A baixo temos os tempos requeridos para avaliar um milhao de vezes o determinante e a inversa deuma matriz de covariancia em milissegundos em um computador com processador Core 2 Duo, 1Gbde memoria RAM, rodando sistema operacional Ubuntu Linux 12.04, R versao 2.14.1 e compiladorgcc 4:4.6.3-1ubuntu5. Funcao: prod(abs(Re(diag(qr(S)$qr)))) = 299.103, acelerada = 29.097.Funcao: solve() 242.615, acelerada 24.383.

6 Conclusao

Este trabalho propos o desenvolvimento de uma biblioteca acelerada de funcoes especıficas em R queutilizasse as propriedades das matrizes hermitianas complexas positivas definidas, obtendo assim melhordesempenho computacional que as funcoes oferecidas pela propria plataforma R. A biblioteca foi desen-volvida em linguagem C e oferece funcoes que realizam o calculo do determinante e da matriz inversa,tendo a matriz de covariancia como parametro de entrada. As funcoes foram submetidas a um teste deexecucao com um milhao de replicacoes cada e os resultados obtidos foram satisfatorios, pois as funcoesaceleradas se mostraram cerca de dez vezes mais eficientes que as funcoes oferecidas pela plataforma.As caracterısticas das matrizes hermitianas, bem como as propriedades de numeros complexos, foramessenciais para os resultados. Os proximos passos estarao voltados a avaliar este mesmo desempenho emdistancias h-φ.

Referencias

[1] J.-S. Lee and E. Pottier, Polarimetric Radar Imaging: From Basics to Applications, CRC Pres, BocaRaton, 2009.

[2] L. Torres, A. C. Medeiros, and A. C. Frery, “Polarimetric sar image smoothing with stochasticdistances,” in Proceedings of the 17th Iberoamerican Congress on Patter Recognition (CIARP),L. Alvarez et al., Ed. 2012, vol. 7441 of Lect. Notes in Comp. Science, pp. 674–681, Springer.

[3] R Development Core Team, R: A Language and Environment for Statistical Computing, R Foundationfor Statistical Computing, Vienna, Austria, 2012, ISBN 3-900051-07-0.

[4] A. C. Frery, A. D. C. Nascimento, and R. J. Cintra, “Information theory and image understanding:An application to polarimetric SAR imagery,” Chilean Journal of Statistics, vol. 2, no. 2, pp. 81–100,2011.

[5] J. W. Goodman, “Some fundamental properties of speckle,” Journal of the Optical Society of America,vol. 66, pp. 1145–1150, 1976.

[6] L. Pardo, D. Morales, M. Salicru, and M. L. Menendez, “Generalized divergence measures: Informationmatrices, amount of information, asymptotic distribution, and its applications to test statisticalhypotheses,” Information Sciences, vol. 84, no. 8, pp. 181–198, May 1995.

394

ISSN 2317-3297