• Nenhum resultado encontrado

Um conceito para categoriza¸c˜ao visual de imagens ´e apresentado por Csurka et al. (2004). Neste conceito, as caracter´ısticas locais da imagens s˜ao quantizadas para classificar um objeto ou imagem dentro de uma determinada classe. O Bag of Keypoints ´e baseado na proposta de Bag of Words, nessa representa¸c˜ao um documento textual ´e descrito como um histograma com o n´umero de ocorrˆencias de cada palavra. Perronnin (2008) explica que de forma similar, essa quantiza¸c˜ao pode ser aplicada a imagens, onde ao inv´es contabilizar dados textuais, s˜ao contabilizados dados visuais.

Os autores abordam o problema de recupera¸c˜ao de imagens em grandes bancos de dados e explicam que para gerenciar tal quantidade de informa¸c˜ao, ´e necess´ario ter acesso a informa¸c˜oes de mais alto n´ıvel em cada uma dessas imagens. Para chegar a esse n´ıvel de interpreta¸c˜ao, primeiramente deve-se processar dados de baixo n´ıvel que caracterizem

a imagem. Procura-se ent˜ao reduzir o espa¸co semˆantico entre as caracter´ısticas locais e as informa¸c˜oes interpretadas pelo conhecimento humano. Partindo desse principio, Csurka et al. (2004) e Perronnin (2008) apresentam uma forma de descrever e classificar cada uma das imagens utilizando caracter´ısticas locais (pontos de interesse). Os pontos detectados s˜ao descritos e agrupados para gerar um dicion´ario de palavras visuais (Figura 18). Esse dicion´ario corresponde a um histograma com o n´umero de ocorrˆencias de um determinado padr˜ao na imagem. Com uma categoriza¸c˜ao apropriada do conte´udo, ´e poss´ıvel medir a similaridade entre imagens e assim gerar recomenda¸c˜oes.

Figura 18: Representa¸c˜ao da gera¸c˜ao do dicion´ario de palavras visuais.

Fonte: (VALLE; CORD, 2009)

Segundo Liu (2013), a principal diferen¸ca entre o Bag of Words e o Bag of Keypoints ´e que o primeiro analisa um texto contabilizando as palavras, ou seja, j´a existe um voca- bul´ario definido. J´a no segundo caso, n˜ao h´a um vocabul´ario pronto de palavras visuais e este deve ser gerado automaticamente a partir de uma leitura das imagens existentes no banco de dados. A diferen¸ca entre vocabul´ario e dicion´ario, ´e que o primeiro termo consiste em uma lista com todas as palavras poss´ıveis e o segundo termo representa uma lista de palavras existentes no documento ou imagem.

3.3.1 Constru¸c˜ao de um vocabul´ario de palavras universal

Csurka et al. (2004) explicam que a gera¸c˜ao do descritor visual consiste em trˆes fases: • Detec¸c˜ao e descri¸c˜ao dos pontos de interesse ou keypoints contidos em todas as

imagens;

• Gera¸c˜ao do vocabul´ario de palavras atrav´es de um algoritmo de agrupamento, no caso, o k-means;

• E por ´ultimo uma contagem de quantas vezes cada palavra aparece na imagem, formando um vetor caracter´ıstico que descreve a imagem.

Para o processo de classifica¸c˜ao ´e proposta mais uma etapa, que consiste em enviar o histograma extra´ıdo da imagem para uma m´aquina de aprendizado que determina a categoria a qual a imagem pertence (CSURKA et al., 2004). Os autores apresentam resultados utilizando as m´aquinas de aprendizado Support Vector Machine e Naive Bayes, por´em esta etapa n˜ao ser´a utilizada neste trabalho, visto que o objetivo est´a na indexa¸c˜ao para gerar recomenda¸c˜oes e n˜ao na categoriza¸c˜ao da imagem. As etapas para a gera¸c˜ao do dicion´ario de palavras visuais ser˜ao detalhadas a seguir.

3.3.1.1 Extra¸c˜ao dos pontos caracter´ısticos A primeira etapa do processo con- siste na detec¸c˜ao e descri¸c˜ao dos pontos de interesse, Csurka et al. (2004) utilizam o algoritmo SIFT (LOWE, 1999; LOWE, 2004) que possui as propriedades de ser inva- riante a rota¸c˜ao, escala e ilumina¸c˜ao. Neste trabalho, tamb´em ser˜ao feitos testes com o algoritmo SURF (BAY et al., 2008), que ´e um algoritmo mais moderno e apresenta avan¸cos no tempo de processamento em rela¸c˜ao ao SIFT. Inicialmente, todos os pontos s˜ao detectados em todas as imagens e colocados juntos em um grupo ´unico. Tanto o al- goritmo SIFT como o SURF possuem parˆametros que devem ser ajustados para detectar mais ou menos pontos. Estes ajustes ser˜ao discutidos mais a frente na fase implementa¸c˜ao.

3.3.1.2 Agrupamento dos pontos utilizando k-means Para a gera¸c˜ao do voca- bul´ario, ´e utilizado o algoritmo k-means que recebe todos os pontos detectados e os divide em k grupos. O valor de k n˜ao ´e definido automaticamente, esse valor deve ser informado

e ir´a indicar a quantidade de palavras visuais existente no vocabul´ario (CSURKA et al., 2004; PERRONNIN, 2008; VALLE; CORD, 2009). A quantidade de palavras poder´a afetar a distˆancia entre o descritor de cada imagem ao comparar a similaridade visual, portanto o ajuste do valor k tamb´em ser´a experimentado na fase de implementa¸c˜ao.

Ap´os definida a quantidade de palavras, o algoritmo converge todos os pontos infor- mados para k centros de massa, de acordo com a figura 19. Cada centro de massa, indica uma palavra no vocabul´ario que ser´a utilizada para gerar o histograma de acordo com sua proximidade em rela¸c˜ao aos pontos. Csurka et al. (2004) explicam que a quantidade de palavras contidas neste vocabul´ario deve ser grande o suficiente para distinguir as carac- ter´ısticas que classificam a imagem, mas n˜ao t˜ao grande ao ponto de distinguir pequenas varia¸c˜oes, como por exemplo de um ru´ıdo.

Figura 19: Representa¸c˜ao do agrupamento realizado pelo algoritmo k-means.

Fonte: http://scikit-learn.org/0.5/modules/clustering.html acessado em 15/05/2014

3.3.1.3 Gera¸c˜ao do descritor visual para cada imagem Com o vocabul´ario de- finido, a pr´oxima etapa consiste em identificar o dicion´ario de palavras existente em cada uma das imagens, conforme descrito por Csurka et al. (2004). Para isso, os pontos caracter´ısticos s˜ao detectados novamente e cada ponto ´e atribu´ıdo a uma das palavras do vocabul´ario utilizando a t´ecnica de KNN (K-Nearest Neighbors), ou seja, o ponto ir´a representar a palavra que possua K vizinhos mais pr´oximos deste (MARENGONI; STRINGHINI, 2011). Cria-se um histograma com a quantidade de posi¸c˜oes igual a quan- tidade de palavras no vocabul´ario. Para cada ponto o valor da respectiva palavra ´e

incrementado obtendo-se o histograma, em seguida os valores s˜ao normalizados. Este ser´a o vetor caracter´ıstico que descreve a imagem para os pontos de interesse extra´ıdos.

3.3.2 Constru¸c˜ao de um vocabul´ario adaptado por classe

Assim como apresentado por Csurka et al. (2004), Perronnin (2008) explica que a categoriza¸c˜ao visual gen´erica de imagens ´e um problema de classifica¸c˜ao de padr˜oes que consiste em aplicar etiquetas a imagens com base em seu conte´udo. Por´em, Perronnin (2008) aborda o uso de grupos espec´ıficos de palavras para cada classe, onde para exem- plificar a diferen¸ca na classifica¸c˜ao entre gatos e cachorros ´e utilizado um histograma universal e um histograma espec´ıfico para a classe. Nesse caso a imagem de um cachorro, no histograma do classificador de cachorro, ir´a apresentar valores maiores no vocabul´ario espec´ıfico do que no universal. J´a no histograma do classificador de gato, os valores do vocabul´ario universal ser˜ao maiores do que do vocabul´ario espec´ıfico.

Perronnin (2008) enfatiza o uso da palavra ”gen´erico” para mostrar que as imagens possuem informa¸c˜oes comuns para todas as classes e mais importante que estas, existem caracter´ısticas espec´ıficas para cada uma, que facilitam a categoriza¸c˜ao visual dentro de cada classe. Por exemplo, s˜ao estas caracter´ısticas espec´ıficas que nos auxiliam a iden- tificar a diferen¸ca entre uma caneca e um copo, ambos possuem caracter´ısticas similares (gen´ericas), mas o que diferencia uma classe da outra, s˜ao atributos particulares de cada uma. Por´em, a pr´atica de dividir os vocabul´arios por classe se torna impratic´avel para uma grande quantidade de classes, visto que o tamanho do vocabul´ario cresce linearmente com esta quantidade, tornando o custo computacional muito alto devido ao tamanho do histograma gerado.

A gera¸c˜ao de um descritor para cada imagem depende de um treinamento onde todas as imagens s˜ao analisadas. Como j´a explicado, os pontos caracter´ısticos s˜ao extra´ıdos de todas as imagens para gerar um vocabul´ario de palavras visuais. No trabalho de Csurka et al. (2004) ´e utilizado um ´unico vocabul´ario e no trabalho de Perronnin (2008) ´e agregado mais um vocabul´ario de palavras visuais espec´ıficas de cada classe. Em ambos os casos, se houver uma nova classe ou uma nova lista de imagens, ´e necess´ario um novo treinamento para gerar um vocabul´ario condizente com as palavras contidas nestas imagens. Os resultados mostram que a classifica¸c˜ao de uma imagem dentro do banco

de dados sempre ter´a uma taxa de acerto maior do que uma imagem fora do mesmo, exatamente pelo fato do agrupamento ter sido feito a partir das imagens contidas no banco de dados. No entanto, ´e poss´ıvel classificar uma imagem fora do banco de dados com uma boa taxa de acerto, j´a que os pontos caracter´ısticos tendem a estar pr´oximos para imagens dentro das mesmas categorias.

A partir da classifica¸c˜ao visual de imagens e visando gerar recomenda¸c˜oes baseadas no conte´udo de uma imagem, temos um caminho que nos leva ao problema de recupera¸c˜ao de imagens baseado em conte´udo. Para efetuar uma consulta em uma lista de imagens ´e necess´ario uma indexa¸c˜ao, que por sua vez deve ser baseada em alguma informa¸c˜ao da imagem. Os histogramas gerados pelo Bag of Keypoints apresentam uma boa descri¸c˜ao para indexar as imagens, desde que a extra¸c˜ao das caracter´ısticas seja feita de acordo com a informa¸c˜ao buscada e desde que os parˆametros para gera¸c˜ao do vocabul´ario sejam aplicados corretamente, como por exemplo a quantidade de palavras visuais que ser´a utilizada e os parˆametros para o detector de pontos de interesse (DATTA et al., 2008).

Documentos relacionados