Você está na página 1de 31

i

UNIVERSIDADE CATLICA DE PERNAMBUCO BACHARELADO EM SISTEMAS DE INFORMAO COM NFASE EM TELEMTICA

Esdras Lins Bispo Jnior

Acelerao de um Algoritmo de Aprendizagem Competitiva

RECIFE 2008

ii

UNIVERSIDADE CATLICA DE PERNAMBUCO BACHARELADO EM SISTEMAS DE INFORMAO COM NFASE EM TELEMTICA

Esdras Lins Bispo Jnior Acelerao de um Algoritmo de Aprendizagem Competitiva Orientador: Prof. Dr. Francisco Madeiro Bernardino Jnior

Trabalho de Concluso de Curso submetida Universidade Catlica de Pernambuco como requisito parcial para a obteno do ttulo de Bacharel em Sistemas de Informaes com nfase em Telemtica.

RECIFE 2008

iii

Acelerao de um Algoritmo de Aprendizagem Competitiva

Esdras Lins Bispo Jnior

Esta Trabalho de Concluso de Curso foi julgado adequado como requisito parcial para a obteno do ttulo de Bacharel em Sistemas de Informao com nfase em Telemtica e considerado aprovado.

Coordenadoria do Curso Banca Examinadora Prof Robson Cavalcanti Lins Avaliador

Prof. Dr. Francisco Madeiro Bernardino Jnior Orientador

RECIFE 2008

iv

E disse Pilatos a Jesus: O que a verdade? So Mateus

Agradeo a todos os meus familiares e amigos, aos professores Francisco Madeiro, Tiago Ferreira e Emerson Lima, pelo apoio e exemplo de dedicao e vocao vida acadmica... e a todos aqueles que acreditam e buscam em um sentido maior para a sua existncia!

vi

Para meu pai (in memoriam)... por acreditar tanto em mim.

vii

RESUMO
O projeto de dicionrio tem uma funo crucial no desempenho de sistemas de processamento de sinais baseados em quantizao vetorial (QV). O presente trabalho apresenta mtodos de reduo do tempo gasto pelo algoritmo de aprendizagem competitiva (AAC) aplicado ao projeto de dicionrio de QV. Utilizando expresses analticas para o nmero de operaes (multiplicaes, adies, subtraes e comparaes) obtidas pelo AAC, mostra-se que quase todas as operaes so devidas busca do vizinho maisprximo (BVMP). Atravs da incorporao de mtodos de BVMP rpido no AAC, resultados de simulaes em relao QV de imagem mostraram ganhos no tempo de execuo de at 95%.

ABSTRACT
Codebook design plays a crucial role in the performance of signal processing systems base on vector quantization (VQ). The present work is concerned with methods for reducing the time spent by competitive learning (CL) algorithm applied to VQ codebook design. Using analytical expressions for the number of operations (multiplications, additions, subtractions and comparisons) performed by the CL algorithm, it is shown that almost all the operations are due to the nearest neighbor search (NNS). Through incorporating fast NNS to CL algorithm, simulations results regarding image VQ have shown that execution time savings up to 95%.

viii LISTA DE TABELAS Tabela 1 - Descrio detalhada do nmero de operaes requeridas pelo AAC .................. 9 Tabela 2 - Expresses analticas para o nmero de multiplicaes, divises, adies, subtraes e comparaes utilizadas pelo AAC ............................................................................................................................ 10 Tabela 3 - Carga computacional da BVMP para o algoritmo de aprendizagem competitiva ............................................................................................................................ 12 Tabela 4 - Nmero de multiplicaes realizadas pelo AAC, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto entre parntesis ............................................................................................................................ 16 Tabela 5 - Nmero de adies realizadas pelo AAC, considerando a BT, BDP e TorresHuguet para BVMP. Os ganhos em relao BT esto entre parntesis ............................................................................................................................ 16 Tabela 6 - Nmero de subtraes realizadas pelo AAC, considerando a BT, BDP e TorresHuguet para BVMP. Os ganhos em relao BT esto entre parntesis ............................................................................................................................ 16 Tabela 7 - Nmero de comparaes realizadas pelo AAC, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto entre parntesis ............................................................................................................................ 17 Tabela 8 - Tempo (em segundos) gasto pelo AAC para projeto de dicionrio, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto em parntesis ........................................................................................................... 17

ix LISTA DE FIGURAS Figura 1. Algoritmo BDP..................................................................................................... 04 Figura 2. Algoritmo Torres-Huguet .................................................................................... 06 Figura 3. Algoritmo de aprendizagem competitiva ............................................................. 07 Figura 4. BDP incorporado ao AAC ................................................................................... 13 Figura 5. Torres-Huguet incorporado ao AAC ................................................................... 14 Figura 6. Imagem Original Lena (8,0 bpp) ......................................................................... 15

x SUMRIO

1. INTRODUO .............................................................................................................. 01 2. COMPLEXIDADE COMPUTACIONAL DA QV ........................................................ 03 2.1 Algoritmo BDP .................................................................................................. 03 2.2 Algoritmo Torres-Huguet .................................................................................. 05 3. ALGORITMO DE APRENDIZAGEM COMPETITIVA .............................................. 07 4. CARGA COMPUTACIONAL DA BVMP PARA O AAC ........................................... 09 5. INCORPORANDO O MTODO BVMP RPIDO AO AAC ....................................... 13 6. RESULTADOS ............................................................................................................... 15 7. CONCLUSES ............................................................................................................... 18 8. REFERNCIAS .............................................................................................................. 19

1. INTRODUO
A quantizao vetorial (QV) (GRAY, 1984; GERSHO & GRAY, 1992) vem sido largamente utilizada em compresso de sinais (ANTONINI et al., 1992; PALIWAL & ATAL, 1993; COSMAN et al., 1996). A razo para o seu bom desempenho de codificao defendida na teoria da distoro de Shannon, que estabelece que um melhor desempenho sempre obtido pelo uso de vetores de codificao em vez de escalares. A quantizao vetorial pode ser definida como um mapeamento Q de um vetor r de entrada x pertencente ao espao euclidiano K-dimensional, K , em um vetor pertencente a um subconjunto finito W de K , isto , Q : K W . O dicionrio r W = {wi ; i = 1,2,..., N } o conjunto de vetores-cdigo (vetores de reconstruo), K a dimenso dos vetores-cdigo e N o tamanho do dicionrio. O mapeamento Q introduz um particionamento de K em N clulas (chamadas regies de Voronoi) Si , i = 1,2,..., N , tais que
N

US
i =1

= K e Si S j = para i j ,

(1)

em que cada clula Si definida como r r r Si = {x : Q( x ) = wi } . Mais precisamente,


r r r r r Si = {x : d ( x , wi ) < d ( x , w j ), j i} ,

(2)

(3)

r em que d () uma medida de distoro. O vetor-cdigo wi o vetor representante de

todos os vetores de entrada pertencentes clula Si . A taxa de codificao de um quantizador vetorial, que mede o nmero de bits por componente do vetor, dada por R =
expressa em bits por pixel (bpp). 1 log 2 N . Em codificao de imagem, R K

O propsito das tcnicas para projeto de dicionrio reduzir (para uma dada taxa R) a distoro introduzida quando os vetores de entrada x so representados por suas r verses quantizadas correspondentes Q( x ) . O algoritmo Linde-Buzo-Gray (LBG) (LINDE et al., 1980) a tcnica mais largamente usada para projeto de dicionrios. Na literatura, um nmero de algoritmos no-supervisionados tem sido aplicado ao projeto de dicionrios (KOHONEN, 1990; KRISHNAMURTHY et al., 1990; CHEN et al., 1994 ). Para esses algoritmos, os pesos sinpticos correspondem s componentes dos vetores-cdigo de um dicionrio a ser projetado. O presente trabalho apresenta mtodos para reduo do tempo gasto pelo algoritmo de aprendizagem competitiva (AAC). Usando expresses analticas para o nmero de operaes (multiplicaes, adies, subtraes e comparaes) obtidas pelo AAC, mostra-se que quase todas as operaes so devidas busca do vizinho maisprximo (BVMP). Em outras palavras, a determinao do vetor vencedor consome quase todas as operaes do AAC. Atravs da incorporao de mtodos de BVMP rpido no AAC, resultados de simulaes em relao QV de imagem mostraram ganhos no tempo de execuo de at 95%. O restante deste trabalho est organizado como segue. O Captulo 2 apresenta uma breve abordagem da complexidade computacional da QV e descreve a busca por distncia parcial (BDP) e o algoritmo de Torres-Huguet. O Captulo 3 descreve o AAC considerado no presente trabalho. O Captulo 4 apresenta as expresses analticas para o nmero de operaes do AAC e examina a carga computacional do BVMP para o AAC. O Captulo 5 mostra verses mais rpidas do BVMP (BDP e Torres-Huguet) incorporado ao AAC. Os resultados em relao QV de imagem e concluses so apresentados nos Captulos 6 e 7, respectivamente.

2. COMPLEXIDADE COMPUTACIONAL DA QV
A BVMP desempenha uma funo importante em vrias aplicaes, tais como reconhecimento de padres e compresso de sinais baseada em QV. Devido necessidade de comparar um padro de teste a cada padro de referncia armazenado, a regra do vizinho mais-prximo envolve uma alta complexidade computacional, o que tem motivado a pesquisa em anlise e sntese de mtodos eficientes de busca (RA & KIM, 1993; TAI et al., 1996; BAEK et al., 1997; LIN & TAI, 1998; McNAMES, 2000; PAN et al., 2003; LAI & LIAW, 2004; CHANG et al., 2006; LAHA et al., 2006; LAHA et al., 2008). Em QV, a complexidade computacional da fase de codificao um problema relevante. Para codificar um vetor de entrada, o codificador deve determinar a distncia deste a cada um dos N vetores-cdigo e deve comparar as distncias a fim de encontrar o vetor-cdigo mais semelhante (o vizinho mais-prximo) ao vetor de entrada. No mtodo convencional por busca total (BT), a codificao de um vetor de entrada requer N clculos de distncia (distoro) e N-1 comparaes. Quando usamos a distoro euclidiana quadrtica, que ,
K r r d ( x , wi ) = ( x j wij ) 2 , j =1

(4)

r em que wij a j-sima componente do vetor-cdigo wi e x j a j-sima componente do r vetor de entrada x , cada clculo de distncia requer K multiplicaes, K subtraes e K-1 adies. Logo, para codificar cada vetor de entrada, KN multiplicaes, KN subtraes, (K1)N adies e N-1 comparaes devem ser calculadas.

2.1 Algoritmo BDP


O algoritmo de busca por distncia parcial (BDP), proposto por Bei e Gray (1985), um mtodo utilizado para reduzir a complexidade computacional da busca do vizinho mais prximo (fase de codificao). No algoritmo BDP, o codificador toma a

deciso antes de completar o clculo da distncia entre o vetor de entrada (vetor a ser codificado) e um vetor-cdigo. O codificador decide que um vetor-cdigo no o vizinho mais-prximo se, para algum j < K , a distncia acumulada (que , a distncia parcial) para as primeiras j amostras do vetor de entrada maior que a menor distncia previamente calculada na busca. Se caso positivo, o codificador pra e efetua o clculo da distncia para o prximo vetor-cdigo. Com esta abordagem, o nmero de multiplicaes por amostra consideravelmente reduzido. O algoritmo BDP tambm leva a uma reduo no nmero de subtraes/adies por amostra. Embora a BDP aumente o nmero de comparaes, a complexidade global da busca do vizinho mais-prximo reduzida. A estrutura bsica do algoritmo BDP apresentada na Figura 1, em que dist denota a distncia (distoro), distmin denota a distncia mnima (que , a menor distncia r previamente encontrada), x j a j-sima componente do vetor de entrada K-dimensional x
r e wij a j-sima componente do i-simo vetor-cdigo ( wi K , i = 1,..., N ).

distmin = // um nmero muito grande for 1 i N dist = 0; for 1 j K dist = dist + ( x j wij ) 2 ; if(dist > distmin) break; next j; if(dist < distmin) index = i; distmin = dist; next i;
Figura 1. Algoritmo BDP.

2.2 Algoritmo Torres-Huguet


Um outro mtodo para reduzir a complexidade computacional da BVMP o algoritmo de Torres-Huguet (TORRES & HUGUET, 1994), que discutido a seguir. A distncia euclidiana (veja Equao 4) pode ser escrita como
K r r r2 r 2 d ( x , wi ) = x + wi 2 x j wij . j =1

(5)

r 2 No mtodo Torres-Huguet, wi (1 i N ) pr-calculado e armazenado. O termo

x w
j j =1

ij

desenvolvido como
K K

x j wij xmax wij ( x j 0, y j 0)


j =1 j =1

(6)
K

r em que xmax a maior componente do vetor x . Em Torres-Huguet,

w
j =1

ij

tambm

calculado e armazenado. Assim, Torres-Huguet define uma distncia auxiliar


K r r r2 r 2 d1 ( x , wi ) = x + wi 2 xmax wij j =1

(7)

r r r r r r percebendo que d1 ( x , wi ) d ( x , wi ) . Adicionalmente, d1 ( x , wi ) requer um menor nmero r r de operaes aritmticas quando comparado com d ( x , wi ) . Faa V o nmero de vetores a serem codificados. A descrio do algoritmo apresentada na Figura 2.

r Avalie e armazene wi
K

de cada vetor-cdigo;

Avalie e armazene 2 wij de cada vetor-cdigo;


j =1

for 1 v V Avalie x max ; distmin = ; for 1 i N r r dist = d1 ( x , wi ) ; if(dist > distmin) continue; r r dist = d ( x , wi ) ; if(dist > distmin) continue; r index = i; (vetor-cdigo selecionado: wi ) distmin = dist; next i; next v;
Figura 2. Algoritmo Torres-Huguet.

3. ALGORITMO DE APRENDIZAGEM COMPETITIVA


Faa ntot ser o nmero de iteraes (nmero de passagens inteiras do conjunto de treinamento) do algoritmo de aprendizagem competitiva (AAC). Faa M ser o nmero de vetores-cdigo. Depois de uma inicializao do dicionrio de QV (isto , depois da inicializao das K componentes dos N vetores-cdigo), o AAC pode ser descrito como segue. r No AAC (Figura 3), x (m) o m-simo vetor do conjunto treino, enquanto r r wi (n, m) e wi* (n, m) denotam, respectivamente, o i-simo vetor-cdigo e o vencedor para o m-simo vetor de treino na n-sima iterao. Na descrio do algoritmo,
K r r d [ x (m), wi (n, m)] = [ x j (m) wij (n, m)]2 j =1

(8)

r r denota a distncia euclidiana entre os vetores x (m) e wi (n, m) , em que x j (m) a j-sima r r componente do vetor x (m) e wij (n, m) a j-sima componente do vetor wi (n, m) . Na expresso que descreve a atualizao do vencedor, wi* j a modificao introduzida na jsima componente do vencedor, (n) a taxa de aprendizagem ou ganho de adaptao na n-sima iterao (com 0 < (n) < 1 ), wi* j a j-sima componente do vencedor e w i* j a verso atualizada da j-sima componente do vencedor.
~

for 1 n ntot for 1 m M r Encontre o vencedor wi* (n, m) : r r i* = arg min d [ x (m), wi (n, m)] ;
i

Atualize o vencedor da seguinte forma:

w i* j (n, m) = wi* j (n, m) + wi* j (n, m) , em que wi* j (n, m) = (n)[( x j (m) wi* j (n, m)] .
Figura 3. Algoritmo de aprendizagem competitiva.

(9) (10)

A taxa de aprendizagem decresce linearmente medida que a iterao n incrementada. E, a cada iterao, ela permanece constante, isto , durante cada passagem completa dos M vetores de treino. Define-a como

(n) = (1) + (n 1)

n(ntot ) (1) , ntot 1

(11)

em que (1) e (ntot ) denotam dois parmetros do AAC: a taxa de aprendizagem inicial e a final, respectivamente. Os outros parmetros so K (dimenso), N (tamanho do dicionrio) e ntot (nmero de iteraes).

4. CARGA COMPUTACIONAL DA BVMP PARA O AAC


Uma anlise detalhada da complexidade do AAC foi apresentada em (MADEIRO et al., 2004). As Tabelas 1 e 2 apresentam as expresses analticas para o nmero de multiplicaes, adies, subtraes e comparaes obtidas pelo algoritmo. Este captulo examina a carga computacional da BVMP (que corresponde a busca do vencedor) no AAC. Para cada operao (multiplicao, subtrao, adio e comparao), a carga computacional da BVMP definida como Carga = # BVMP , # TOTAL (12)

em que #BVMP e #TOTAL denotam, respectivamente, o nmero de operaes obtidas na busca do vizinho mais-prximo (ver Tabela 1) e o nmero total de operaes realizadas pelo AAC (ver Tabela 2).
Tabela 1 Descrio detalhada do nmero de operaes requeridas pelo AAC.

Operao

Expresso Analtica

Determinao do vencedor

mult. ad. sub. comp. mult. ad. sub. mult. div. ad. sub.

KNMntot ( K 1) NMntot KNMntot ( N 1) Mntot Atualizao do vencedor

KMntot KMntot KMntot Clculo da taxa de aprendizagem ntot 1 1 ntot 1 ntot + 1

Tabela 2 Expresses analticas para o nmero de multiplicaes, divises, adies, subtraes e comparaes utilizadas pelo AAC.

Operao

Expresso Analtica

mult. div. ad. sub. comp.

[1 + (1 + N ) KM ]ntot 1 1 [1 + ( K 1) NM + KM ]ntot 1 [1 + (1 + N ) KM ]ntot + 1 ( N 1) Mntot

Logo, a carga computacional resultante do nmero de multiplicaes dada por Carga(mult) = KNMntot . [1 + (1 + N ) KM ]ntot 1 (13)

Em um projeto tpico de dicionrios, conhecido que conjuntos de treino suficientemente grande so utilizados. Em outras palavras, grandes valores de M so considerados na prtica de projeto de dicionrios. Ento, [1 + (1 + N ) KM ]ntot >> 1 . Logo, Carga(mult) KNMntot . [1 + (1 + N ) KM ]ntot
(14)

Observando que [1 + (1 + N ) KM ]ntot (1 + N ) KMntot , segue que

Carga(mult)

N . 1+ N

(15)

Observa-se que Carga(mult) tende a 1 medida que N aumenta. A carga computacional requerida do nmero de subtraes dada por

Carga(sub) =

KNMntot . [1 + (1 + N ) KM ]ntot + 1

(16)

Na prtica de projeto de dicionrios, conjuntos de treinamento suficientemente grandes (M grande) so utilizados. Como conseqncia, [1 + (1 + N ) KM ]ntot >> 1 . Ento, a Expresso (16) pode ser escrita como

10

Carga(sub)

KNMntot . [1 + (1 + N ) KM ]ntot

(17)

Visto que [[1 + (1 + N ) KM ]ntot (1 + N ) KMntot , segue

Carga(sub)

N . 1+ N

(18)

Observa-se que Carga(sub) tende a 1 medida que N aumenta. A carga computacional de comparaes dada por

Carga(comp) =

( N 1) MNntot . ( N 1) MNntot

(19)

Ento 100% das comparaes realizadas pelo AAC so devidas busca do vizinho maisprximo. A carga computacional do nmero de adies dada por

Carga(ad) =

( K 1) NMntot . [1 + ( K 1) NM + KM ]ntot 1

(20)

Para a prtica de projeto de dicionrios, isto , para M grande, segue que [1 + ( K 1) NM + KM ]ntot 1 [1 + ( K 1) NM + KM ]ntot . Ento,

Carga(ad)

( K 1) NM . 1 + ( K 1) NM + KM

(21)

Visto que 1 + ( K 1) NM + KM ( K 1) NM + KM , tem-se

Carga(ad)

( K 1) N . ( K 1) N + K

(22)

( K 1) N A Tabela 3 mostra valores de 100% para K = 16 e N = 32, ( K 1) N + K

64, 128, 256 e 512. Observa-se que a carga computacional de adies tende a 1 medida que o valor de N aumenta.

11

Tabela 3 Carga computacional da BVMP para o algoritmo de aprendizagem competitiva.

K N 32 64 128 256 512

16

( K 1) N ( K 1) N + K 100% 96,77% 98,36% 99,17% 99,59% 99,79%

12

5. INCORPORANDO O MTODO BVMP RPIDO AO AAC


Foi mostrado no captulo anterior que quase todas as operaes realizadas pelo algoritmo de aprendizagem competitiva so devidas BVMP. No AAC, a BVMP requerida na determinao do vencedor. Pode-se reduzir o tempo de execuo do AAC utilizando mtodos de BVMP rpidos, tais como PDS ou Torres-Huguet, que so incorporados com o propsito de determinar o vencedor, na substituio da busca total (busca exaustiva). V-se na Figura 4 como a BDP incorporada ao algoritmo de aprendizagem competitiva. Na Figura 5, o mesmo pode ser visto para o Torres-Huguet incorporado ao

r AAC. Vale salientar que windex

e 2 windex, j (em que index o ndice do vetor vencedor)


j =1

deve ser calculado cada vez que o vencedor determinado, isto , cada vez que um vetor de treinamento apresentado.
for 1 n ntot for 1 m M distmin = ; for 1 i N dist = 0; for 1 j K dist = dist + ( x j wij ) 2 ; if(dist > distmin) break; next j; if(dist < distmin) index = i; distmin = dist; next i; r Atualize o vencedor ( windex ); next m; next n;
Figura 4. BDP incorporado ao AAC.

13

r Avalie e armazene wi
K

de cada vetor-cdigo;

Avalie e armazene 2 wij de cada vetor-cdigo;


j =1

for 1 n ntot for 1 m M Avalie xmax ; distmin = ; for 1 i N


~ r r dist = d 1 ( x , wi ) ; if(dist > distmin) continue; ~ r r dist = d ( x , wi ) ; if(dist > distmin) continue; r index = i; (vetor-cdigo selecionado: wi ) distmin = dist;

next i; r Atualize o vencedor ( windex ); r 2 Avalie e substitua windex ;

Avalie e substitua 2 windex, j ;


j =1

next m; next n;
Figura 5. Torres-Huguet incorporado ao AAC.

r r r r necessrio enfatizar que d ( x , wi ) e d1 ( x , wi ) so modificados no algoritmo r da Figura 5. Visto que o termo x r r calcul-lo. O d ( x , wi ) modificado
K ~ r r r 2 d ( x , wi ) = wi 2 x j wij j =1 2

r depende unicamente do vetor x , no necessrio

(23)

r r e o d1 ( x , wi ) modificado
K ~ r r r 2 d1 ( x , wi ) = wi 2 xmax wij . j =1

(24)

14

6. RESULTADOS
Os seguintes resultados dizem respeito ao projeto de dicionrios utilizando um conjunto de treinamento correspondente imagem Lena ( 512 512 pixels), mostrada na Figura 6. A quantizao vetorial com K = 16 (correspondente a blocos de 4 4 pixels) e tamanho de dicionrio N = 32, 64 128, 256 e 512 foi considerada. As respectivas taxas de codificao so 0,3125 bpp, 0,375 bpp, 0,4375 bpp, 0,5 bpp e 0,5625 bpp. As simulaes foram realizadas utilizando um AMD Athlon 64, 2,01 GHz com 1 GB RAM. Os cdigosfonte foram implementados utilizando a linguagem C++.

Figura 6. Imagem Original Lena (8,0 bpp).

As Tabelas 4, 5, 6 e 7 apresentam o nmero de multiplicaes, adies, subtraes e comparaes realizadas pelo AAC, respectivamente, em que BT, BDP e Torres-Huguet foram utilizados para a tarefa de determinao do vencedor. Observa-se que o algoritmo BDP mais eficiente quando comparado ao algoritmo de Torres-Huguet no que diz respeito a multiplicaes e adies. Entretanto, em relao ao nmero de subtraes e comparaes, o Torres-Huguet mais eficiente do que o BDP. Como exemplo, para
N = 512 , Torres-Huguet alcana um ganho em subtraes de 90,39% em relao ao BT

enquanto que o ganho em relao ao BDP 87,17%. Para este tamanho de dicionrio, o 15

nmero de comparaes do Torres-Huguet aproximadamente a metade do valor obtido pelo seu correspondente do BDP.
Tabela 4 Nmero de multiplicaes realizadas pelo AAC, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto entre parntesis.

N 32 64 128 256 512

BT 2,6 10 7 5,1 10 7 1,0 10 8 2,7 10 8 6,7 108

Nmero de multiplicaes BDP Torres-Huguet 6 9,0 10 (66,69%) 1,7 10 7 (33,10%) 1,2 10 7 (77,18%) 3,2 10 7 (37,55%) 1,9 10 7 (81,10%) 6,0 10 7 (40,51%) 4,3 10 7 (83,99%) 1,6 10 8 (41,27%) 9,3 10 7 (86,17%) 4,1 108 (39,43%)

Tabela 5 Nmero de adies realizadas pelo AAC, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto entre parntesis.

N 32 64 128 256 512

BT 2,4 10 7 4,8 10 7 9,5 10 7 2,5 108 6,3 108

Nmero de adies BDP Torres-Huguet 6 7,0 10 (70,99%) 1,5 10 7 (39,45%) 9,0 10 6 (82,24%) 2,6 10 7 (45,33%) 1,3 10 7 (86,47%) 4,9 10 7 (48,99%) 2,6 10 7 (89,56%) 1,3 108 (50,16%) 5,110 7 (91,90%) 3,2 108 (48,65%)

Tabela 6 Nmero de subtraes realizadas pelo AAC, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto entre parntesis.

N 32 64 128 256 512

BT 2,6 10 7 5,1 10 7 1,0 10 8 2,7 10 8 6,7 108

Nmero de subtraes BDP Torres-Huguet 6 9,0 10 (66,69%) 3,0 10 6 (87,70%) 1,2 10 7 (77,18%) 6,0 10 6 (89,18%) 1,9 10 7 (81,10%) 1,0 10 7 (89,98%) 4,3 10 7 (83,99%) 2,6 10 7 (90,34%) 9,3 10 7 (86,17%) 6,5 10 7 (90,39%)

16

Tabela 7 Nmero de comparaes realizadas pelo AAC, considerando a BT, BDP e Torres-Huguet para BVMP. Os aumentos em relao BT esto entre parntesis.

N 32 64 128 256 512

BT 2,0 10 6 3,0 10 6 6,0 10 6 1,7 10 7 4,2 10 7

Nmero de comparaes BDP Torres-Huguet 6 8,6 10 (460,87%) 2,6 10 6 (70,82%) 1,3 10 7 (324,28%) 5,0 10 6 (59,52%) 2,4 10 7 (281,12%) 9,6 10 6 (53,35%) 5,8 10 7 (245,30%) 2,5 10 7 (50,51%) 1,3 108 (215,71%) 6,3 10 7 (51,55%)

A Tabela 8 registra os benefcios introduzidos pelo algoritmo de Torres-Huguet em termos de reduo do tempo gasto para o projeto de dicionrio. Como exemplo, para N=256, a substituio da BT pelo Torres-Huguet alcanou ganho de 95,04% em termos de tempo gasto para o projeto do quantizador vetorial.
Tabela 8 Tempo (em segundos) gasto pelo AAC para projeto de dicionrio, considerando a BT, BDP e Torres-Huguet para BVMP. Os ganhos em relao BT esto em parntesis.

N 32 64 128 256 512

BT 0,4047 0,8079 1,6093 4,2843 10,6813

Tempo (s) BDP 0,1318 (67,19%) 0,1844 (77,18%) 0,3141 (80,48%) 0,7187 (83,22%) 1,5704 (85,30%)

Torres-Huguet 0,0250 (93,82%) 0,0453 (94,39%) 0,0828 (94,85%) 0,2125 (95,05%) 0,5422 (94,92%)

importante registrar que o propsito de incorporar o BDP e o Torres-Huguet no AAC reduzir a complexidade computacional da busca do vizinho mais-prximo (determinao do vencedor). Logo, os dicionrios obtidos pelo uso do BDP, Torres-Huguet e BT para BVMP no AAC so idnticos. Finalmente, vale ressaltar que melhores resultados em termos da relao de pico do sinal-rudo (Peak Signal-to-Noise Ratio - PSNR) das imagens reconstrudas podem ser obtidos utilizando dicionrios projetados pelo AAC em substituio a dicionrios LBG.

17

7. CONCLUSES
Neste presente trabalho, atravs de expresses analticas, foi mostrado que quase todas as operaes realizadas pelo algoritmo de aprendizagem competitiva (AAC) so devidas busca do vizinho mais-prximo. Com o propsito de reduzir o tempo gasto do AAC para o projeto de quantizadores vetoriais, dois mtodos rpidos de busca do vizinho mais-prximo foram considerados: o algoritmo de busca por distncia parcial (BDP) e o algoritmo de TorresHuguet. Os resultados em relao ao projeto de dicionrios para quantizao vetorial de imagem mostraram que o algoritmo BDP bem como o algoritmo de Torres-Huguet levam a uma reduo no nmero de operaes (multiplicaes, adies, e subtraes) realizadas pelo AAC. Ganhos de at 95% em termos de tempo gasto quando comparado a BT foram obtidos para QV de imagem com o uso do algoritmo de Torres-Huguet.

18

8. REFERNCIAS
ANTONINI, M., BARLAUD, M., DAUBECHIES, I. Image coding using wavelet transform. IEEE Transactions on Image Processing, Vol. 1, No. 2, pg 205-220, 1992. BAEK, S., JEON, B., SUNG, K.-M. A fast encoding algorithm for vector quantization. IEEE Signal Processing Letters, Vol. 4, No. 12, pg. 325-327, 1997. BEI, C.-D., GRAY, R. M. An improvement of the minimum distortion encoding algorithm for vector quantization. IEEE Transactions on Communications, Vol. 33, No. 10, pg. 1132-1133, 1985. CHANG, C.-C., CHANG, Y.-C., SHEN, J.-J. A novel image compression algorithm based on sixteen most lately used encoded codewords. International
Conference on Intelligent Information Hiding and Multimedia, pg. 545-548,

2006. CHEN, O. T.-C., SHEU, B. J., FANG, W.-C. Image compression using selforganization networks. IEEE Transactions on Circuits and Systems for
Video Technology, Vol. 4, No. 5, pg. 480-489, 1994.

COSMAN, P. C., GRAY, R. M., VETTERLI, M. Vector quantization of image subbands: a survey. IEEE Transactions on Image Processing, Vol. 5, No. 2, pg. 202-225, 1996. GERSHO, A., GRAY, R. M. Vector Quantization and Signal Compression. Kluwer Academic Publishers, Boston, MA, 1992. GRAY, R. M. Vector quantization. IEEE ASSP Magazine, pg. 4-29, 1984.

19

KOHONEN, T. The self-organizing map. Proceedings of the IEEE, Vol. 78, No. 9, pg. 1464-1480, 1990. KRISHNAMURTHY, A. K., AHALT, S. C., MELTON, D. E., CHEN, P. Neural networks for vector quantization of speech and images. IEEE Journal
on Selected Areas in Communications, Vol. 8, No. 8, pg. 1449-1457, 1990.

LAHA, A., CHANDA, B., PAL, N. R. Accelerated codebook searching in a SOM-based vector quantizer.
Proceedings of World Congress in Computational Intelligence, pg. 5945-5950, 2006.

LAHA, A., CHANDA, B., PAL, N. R. Fast codebook searching in a SOMbased vector quantizer for image compression. Signal, Image and Video
Processing, Vol. 2, No. 1, Janeiro, 2008.

LAI, J. Z. C., LIAW, Y,-C. Fast-searching algorithm for vector quantization using projection and triangular inequality. IEEE Transactions on Circuits and
Systems II: Express Briefs, Vol. 13, No. 12, pg. 1554-1558, 2004.

LIN, Y.-C, TAI, S.-C. A fast Linde-Buzo-Gray algorithm in image vector quantization. IEEE Transactions on Circuits and Systems II: Express Briefs, Vol. 45, No. 3, pg. 432-435, 1998. LINDE, Y., BUZO, A., GRAY, R. M. An algorithm for vector quantizer design.
IEEE Transactions on Communications, Vol. 28, No. 1, pg. 84-95, 1980.

MADEIRO, F., LOPES, W. T. A., AGUIAR NETO, B. G., ALENCAR, M. S. Complexidade computacional de um algoritmo competitivo aplicado ao projeto de quantizadores vetoriais. Learning and Nonlinear Models -- Revista da
Sociedade Brasileira de Redes Neurais, Vol. 1, No. 3, pg. 172-186, 2004.

20

McNAMES, J. Rotated partial distance search for faster vector quantization encoding. IEEE Signal Processing Letters, Vol. 7, No. 9, pg. 244-246, 2000. PALIWAL, K. K., ATAL, B. S., Efficient vector quantization of LPC parameters at 24 bits/frame. IEEE Transactions on Speech and Audio
Processing, Vol. 1, No. 1, pg. 3-14, 1993.

PAN, J.-S., LU, Z.-M., SUN, S,-H. An efficient encoding algorithm for vector quantization based on subvector technique. IEEE Transactions on Image
Processing, Vol. 12, No. 3, pg. 265-270, 2003.

RA, S.-W., KIM, J.-K. A fast mean-distance-ordered partial codebook search algorithm for image vector quantization. IEEE Transactions on Circuits and
Systems II: Express Briefs, Vol. 40, No. 9, pg. 576-579, 1993.

TAI, S. C., LAI, C. C., LIN, Y. C. Two fast neighbor searching algorithms for image vector quantization. IEEE Transactions on Communications, Vol. 44, No. 12, pg. 1623-1628, 1996. TORRES, L., HUGUET, J. An improvement on codebook search for vector quantization. IEEE Transactions on Communications, Vol. 42, No. 2/3/4, pg. 208-210, 1994.

21

Você também pode gostar