O LVQP (Local Vector Quantization Pattern) Padr˜ao Local com Quantiza¸c˜ao de Vetor [42], ´e um m´etodo baseado no LBP com quantiza¸c˜ao de vetor. A seguir temos uma explica¸c˜ao do funcionamento do LVQP.
Vetor de Diferen¸ca
O vetor de diferen¸ca ´e o conjunto de valores de todas as diferen¸cas de intensidade dos pixels vizinhos em rela¸c˜ao ao pixel central. Na Equa¸c˜ao (12) temos a equa¸c˜ao do vetor de diferen¸ca.
Vd= (g0− gc, g1− gc, ..., gP −1− gc) (12)
Na Equa¸c˜ao (12), Vd´e o vetor de diferen¸ca, gc ´e o valor do pixel central, P ´e total
de vizinhos.
O vetor de diferen¸ca de cada pixel central agora ´e considerado um c´odigo para o LVQP. Esse c´odigo n˜ao passa pela binariza¸c˜ao e transforma¸c˜ao em escalar do LBP. O c´odigo tem a vantagem de manter a magnitude dos valores, que possuem um bom poder descritivo, perdida na transforma¸c˜ao escalar do LBP.
Quantiza¸c˜ao de Vetores
A quantiza¸c˜ao de vetores ´e um tipo de clusteriza¸c˜ao. Clusteriza¸c˜ao ´e um algor´ıtimo de aprendizagem de m´aquina n˜ao supervisionado que divide uma base de dados em grupos (clusters) de forma autom´atica a partir de alguma medida de distˆancia [37]. Cada cluster possui um representante, ´e o que chamamos de centroide. O centroide ´e um vetor de valores que serve de guia para a distribui¸c˜ao dos dados segundo a medida de similaridade escolhida.
A quantiza¸c˜ao de vetores utilizada ´e uma modifica¸c˜ao do conhecido k-M´edias com a adi¸c˜ao do conceito de distor¸c˜ao. Existem v´arios algor´ıtimos para a quantiza¸c˜ao de vetores, o utilizado neste trabalho ´e o de Linde-Buzo-Gray (LBG) [31]. Temos a seguir em detalhes do LBG:
1. Selecione um conjunto de dados.
2. Crie N clusters de centroides selecionados aleatoriamente da base.
3. Distribua o restante dos dados segundo o centroide com menor distˆancia. 4. Atualize os centroides.
5. Calcule a distor¸c˜ao geral, se for maior que um valor ǫ ou o n´umero de itera¸c˜oes for menor que o total de itera¸c˜oes m´axima determinado volte ao passo 3, se n˜ao, finalize.
6. Retorne os centroides de cada cluster como uma lista (codebook ).
A distˆancia utilizada para o algor´ıtimo foi a euclidiana. Na Equa¸c˜ao (13) temos sua defini¸c˜ao. Deuclidiana(x, y) = L−1 X j=0 (xj − yj) 2 (13)
Para a atualiza¸c˜ao dos centroides ´e calculada a m´edia dos valores em cada cluter. A distor¸c˜ao de um cluster em um itera¸c˜ao i ´e a m´edia das distˆancia de todos seus elementos em rela¸c˜ao ao centroide. A distor¸c˜ao geral considera as itera¸c˜oes anteriores segundo a Equa¸c˜ao (14).
Dgeral = (Di−1− Di)/Di i = (1, 2, ..., M ax) (14)
Em que i ´e o ´ındice da itera¸c˜ao e Max ´e o valor m´aximo de itera¸c˜oes determinados no inicio do algoritmo. Ap´os a clusteriza¸c˜ao temos como resultado o codebook que ´e um matriz que cont´em todos os N centroides de dimens˜ao P.
LVQP - Algor´ıtimo
Para extrair caracter´ısticas o LVQP, primeiro seleciona-se uma base de imagens para para treino. Ent˜ao s˜ao extra´ıdas os seus vetores de diferen¸ca. Os vetores de diferen¸ca ser˜ao a nova base de dados para a clusteriza¸c˜ao por quantiza¸c˜ao de vetor.
Como o LVQP ´e um pr´e-processamento a segunda parte ser´a a convers˜ao da base de imagens para a codifica¸c˜ao. A partir do pixel central com seu vetor de diferen¸ca ´e realizada uma busca no codebook pelo valor mais pr´oximo, utilizando distˆancia euclidiana. Com o valor mais pr´oximo selecionado o ´ındice desse c´odigo no codebook se tornar´a o novo valor do pixel central. Esse processo ´e aplicado para todos os pixels nas imagens da base. A Figura 17 exemplifica esse processo.
Figura 17: Busca no Codebook e associa¸c˜ao do novo c´odigo LVQP A busca ainda passa por um tratamento para rota¸c˜ao. O invariante de rota¸c˜ao consistes em rotacionar o c´odigo P vezes, tal que P ´e dimens˜ao do c´odigo, gerando um conjunto de c´odigos de tamanho P. Na Figura 18 temos um c´odigo com 8 dimens˜oes (P = 8), que foi rotacionado 8 vezes, tendo como sa´ıda um conjunto de 8 c´odigos. Cada integrante do conjunto de c´odigos rotacionados ´e comparado com cada posi¸c˜ao do code- book, sendo aquele do conjunto que possuir a menor distˆancia o selecionado para aquele ´ındice. A Equa¸c˜ao (15) define o invariante de rota¸c˜ao para o LVQP.
DER(x, y) = min[Deuclidiana(x, yi)], i ∈ (0, 1, ..., S − 1). (15)
Na Equa¸c˜ao (15), temos que x ´e um c´odigo do codebook, y ´e o conjunto de c´odigos rotacionados e P ´e a dimens˜ao dos c´odigos. Na Figura 18 temos um exemplo temos um
um c´odigo LVQP rotacionado. 1(x1, x2, x3, x4, x5, x6, x7, x8) 2(x2, x3, x4, x5, x6, x7, x8, x1) 3(x3, x4, x5, x6, x7, x8, x1, x2) 4(x4, x5, x6, x7, x8, x1, x2, x3) 5(x5, x6, x7, x8, x9, x2, x3, x4) 6(x6, x7, x8, x1, x1, x3, x4, x5) 7(x7, x8, x1, x2, x2, x4, x5, x6) 8(x8, x1, x2, x3, x3, x5, x6, x7)
Figura 18: Invariante de rota¸c˜ao em um codebook (R=1, P=8) Na Figura 19 temos um diagrama do funcionamento geral do algor´ıtimo LVQP.
Figura 19: Diagrama geral da codifica¸c˜ao LVQP
O vetor de diferen¸ca consegue armazenar no geral mais informa¸c˜oes com rela¸c˜ao ao pixel central, como magnitude e ilumina¸c˜ao. Na Figura 20 temos um exemplo de como a codifica¸c˜ao LVQP pode ser mais eficiente que o LBP.
Figura 20: Compara¸c˜ao de defini¸c˜ao de c´odigos, LVQP x LBP
Na Figura 20 o c´odigo LVQP ´e diferente para padr˜oes distintos enquanto o do LBP teve como resultado c´odigos iguais. De forma similar ao LBP, as caracter´ısticas computadas pelo LVQP s˜ao utilizadas para gerar um histograma para serem para uma m´aquina de classifica¸c˜ao. Para o histograma podemos considerar a Equa¸c˜ao (3).
Considera¸c˜oes Finais
O m´etodo LBP apesar de ser antigo, ´e um robusto e de simples implementa¸c˜ao. V´arios m´etodos utilizam como base o LBP, como citado aqui o LVQP. O LVQP ´e uma modifica¸c˜ao do LBP, que adiciona quantiza¸c˜ao de vetores. A adi¸c˜ao de quantiza¸c˜ao de vetores com LBP aumenta acur´acia na classifica¸c˜ao de texturas. Por´em o LVQP possui algumas limitas, que podem ser trabalhadas para aumentar esta acur´acia. No Capitulo seguinte falamos do m´etodo proposto que modifica o LVQP para uma acur´acia maior e dos m´etodos necess´arios para o seu desenvolvimento.
3
M´ETODO PROPOSTO - MLVQP
Este trabalho prop˜oe uma modifica¸c˜ao do m´etodo LVQP. A primeira parte deste processo ´e a modifica¸c˜ao da entrada da quantiza¸c˜ao de vetor no LVQP, que deixa de ser o vetor de diferen¸ca e agora ´e cada valor de diferen¸ca, chamado agora de DQP (Difference Quantization Pattern). A segunda parte do processo ´e a aplica¸c˜ao do DQP e LVQP em uma mesma base de treino. Ent˜ao, de cada padr˜ao de textura s˜ao obtidos dois histogra- mas, um gerado pelo DQP e um pelo LVQP. Ent˜ao estes histogramas s˜ao concatenados e enviados para um classificador.
3.1 Difference Quantization Pattern - DQP
Enquanto no LVQP s˜ao agrupasos os vetores de diferen¸ca, no DQP cada diferen¸ca ´e um dos elementos que vai ser agrupado. No DQP um vetor de diferen¸ca, que ´e um c´odigo de dimens˜ao P , se torna uma conjunto de P c´odigos com dimens˜ao 1. Ap´os `a aplica¸c˜ao dessa transforma¸c˜ao, em cada imagem temos como resultado um conjunto de diferen¸cas. Ent˜ao um ´unico conjunto com todas as diferen¸cas ´e formado a partir da uni˜ao de todos os conjuntos de diferen¸ca. E esse conjunto ´e quantizado atrav´es da clusteriza¸c˜ao. A Figura 21 demonstra como ocorre esse procedimento da clusteriza¸c˜ao das diferen¸cas no DQP. Conjuntos de Diferenças {5,-1,-32,41,12,32} Quantização com K clusters Cluster 1 Cluster 2 Cluster 3 Cluster K ... Conjunto de Diferenças {2,-4,9,1,32,-31} Conjunto de Diferenças {12,-22,49,-15,0,2} ... ...
Imagens de treino União dos Conjuntos de Diferenças
{5,-1, -32, 41,12,32, 12,-22,-49, -15,0,2,2,-4,
9,1,32,-31}
Figura 21: Diagrama simplificado do LVQP com pixel central (DQP) Quando ´e realizada a busca no codebook, a partir de um valor gerado pelas dife- ren¸cas, como ele agora possui c´odigos de dimens˜ao 1 n˜ao ´e necess´ario tratamento para rota¸c˜ao. Para o convers˜ao da base s˜ao considerados os valores de diferen¸ca em rela¸c˜ao a um pixel central. Com o conjunto de diferen¸cas selecionado ent˜ao ´e efetuada a busca no
codebook. Para cada centroide ´e selecionado o valor do conjunto de diferen¸cas que possuir a menor distˆancia. Dentre todas as distˆancias calculadas a menor entre elas ser´a um novo c´odigo. O ´ındice do centroide com a menor distˆancia ser´a o novo valor desse c´odigo que ir´a substituir o valor do pixel central. Essa modifica¸c˜ao do LVQP chamamos de DQP (Diferrence Quantization Pattern) ou Padr˜ao de Quantiza¸c˜ao de Diferen¸ca. A Figura 22 exemplifica a busca de c´odigo no DQP. Na Figura 22 o novo c´odigo que ir´a substituir o valor do pixel 13 ser´a o ´ındice do codebook mais pr´oximo, ap´os a busca, neste caso 2.
Figura 22: Busca de pixel no LVQP com conjuntos de diferen¸cas
O DQP ´e uma modifica¸c˜ao do LVQP. A ele ´e adicionado o conceito de conjunto de diferen¸cas. Diferente do LVQP que trata de x vetores com dimens˜ao P , o DQP tem um conjunto com P valores de diferen¸ca. O DQP ´e mais simples se comparado ao LVQP, pois para o seu processamento n˜ao ´e necess´aria a aplica¸c˜ao de uma invariante de rota¸c˜ao. De forma similar ao LBP, as caracter´ısticas computadas pelo LVQP s˜ao utilizadas para gerar um histograma para serem para uma m´aquina de classifica¸c˜ao. Para gerar este histograma podemos considerar a Equa¸c˜ao (3).