Poc1 - Final

746 visualizações

Publicada em

Extração de pontos de interesse de imagens utilizando o algoritmo SIFT no ambiente Android - Parte 1

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
746
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Poc1 - Final

  1. 1. Extração de pontos de interesse de imagens utilizando o algoritmo SIFT no ambiente Android Duílio Campos Sasdelli (duilio@dcc.ufmg.br) Orientador: Fernando Magno Quintão Pereira Co-Orientador: David Menotti
  2. 2. Proposta (1/2)  Motivação Inicial: Turismo 2
  3. 3. Proposta (2/2)  Solução:  Utilizar técnicas de visão computacional para casamento de objetos:  SIFT: Detecção de Pontos de Interesse  RANSAC: Casamento dos Pontos Encontrados  Metodologia:  Implementação do SIFT (Scale Invariant Feature Transform) em um Ambiente Móvel Android 3
  4. 4. Aplicação (1/3)  Turismo  (1) Usuário captura imagem  (2) Pontos de Interesse  (3) Informações sobre a imagem 2 1 3 4
  5. 5. Aplicação (2/3)  Turismo: Redução da carga na rede PNG: 1.5Mb Pontos de Interesse: 300Kb 5
  6. 6. Aplicação (3/3)  Outras aplicações 6
  7. 7. Pontos de Interesse (1/2)  O que são? 7
  8. 8. Pontos de Interesse (2/2)  O que são?  Para que servem? 8
  9. 9. SIFT (1/6)  Por quê usar o SIFT?  Mesmo objeto apresenta variações em diferentes imagens 9
  10. 10. SIFT (2/6)  Há necessidade invariância:  Escala 10
  11. 11. SIFT (3/6)  Há necessidade invariância:  Escala  Rotação 11
  12. 12. SIFT (4/6)  Há necessidade invariância:  Escala  Rotação  Luminosidade 12
  13. 13. SIFT (5/6)  Há necessidade invariância:  Escala  Rotação  Luminosidade  Perspectiva 13
  14. 14. SIFT (6/6)  É dividido em quatro etapas:  Detecção de Extremos  Localização dos Pontos de Interesse  Definição de Orientação  Definição de Descritores 14
  15. 15. Detecção de Extremos (1/5)  Deve-se detectar candidatos a pontos de interesse e definir suas escalas e localizações.  Solução:Utilizar a Função Scale-Space 15
  16. 16. Detecção de Extremos (2/5)  Método (1/3):  Scale-Space: 16
  17. 17. Detecção de Extremos (3/5)  Método (2/3):  Diferença de Gaussianas: 17
  18. 18. Detecção de Extremos (4/5)  Método (3/3):  Encontrar candidatos em extremos locais: 18
  19. 19. Detecção de Extremos (5/5)  Resultado: Muitos pontos 19
  20. 20. Localização de Pontos de Interesse (1/6)  Definir uma localização precisa para os pontos:  Interpolação com expansão de Taylor  Eliminar candidatos:  Com baixo contraste:  Usar Threshold mínimo  Mal localizados ao longo de uma borda:  Avaliar curvaturas principais 20
  21. 21. Localização de Pontos de Interesse (2/6)  Método (1/3):  Interpolação com expansão de Taylor  Novo extremo local: 21
  22. 22. Localização de Pontos de Interesse (3/6)  Método (2/3):  Pontos com baixo contraste são descartados: 22
  23. 23. Localização de Pontos de Interesse (4/6)  Resultado: Ainda há muitos pontos mal posicionados nas bordas 23
  24. 24. Localização de Pontos de Interesse (5/6)  Método (3/3):  Curvaturas principais possuem uma razão elevada se o ponto é sensível a ruídos  Auto-valores da matriz hessiana em um dado ponto são proporcionais às curvaturas principais:  Como só é necessária a razão, os pontos devem respeitar: 24
  25. 25. Localização de Pontos de Interesse (6/6)  Resultado: 25
  26. 26. Definição de Orientação (1/4)  Para garantir invariância a rotação, deve-se definir a orientação do ponto de interesse: 26
  27. 27. Definição de Orientação (2/4)  Método (1/2):  Calcular gradientes e suas magnitudes em uma região ao redor do ponto: 27
  28. 28. Definição de Orientação (3/4)  Método (2/2):  Criar um histograma de orientações:  Orientação dominante é assinalada ao ponto. 28
  29. 29. Definição de Orientação (4/4)  Resultado: 29
  30. 30. Definição de Descritores (1/4)  As etapas anteriores criam um descritor invariante à escala e rotação  É necessário expandi-lo para permitir invariância à:  Perspectiva:  Histograma de gradientes regional  Iluminação (Brilho e Contraste):  Normalização 30
  31. 31. Definição de Descritores (2/4)  Método (1/3)  Cria-se um novo descritor a partir de histogramas de gradiente em regiões ao redor do ponto: 31
  32. 32. Definição de Descritores (3/4)  Método (2/3) 32
  33. 33. Definição de Descritores (4/4)  Método (3/3)  Invariância a mudanças no contraste:  O vetor descritor é normalizado e se torna unitário  Invariância a mudanças no brilho:  Não é necessário fazer nada pois o uso de gradientes já incorpora a invariância 33
  34. 34. Android (1/2)  O Ambiente Android  Sistema operacional da Google para Smartphones  Utiliza uma versão modificado do Kernel Linux  Desenvolvimento de aplicativos:  Linguagem Java  Google oferece amplo suporte e documentação  SDK completo: bibliotecas, depurador e emulador 34
  35. 35. Android (2/2)  Desenvolvimento do Sift no Android é desafiante:  Grande gasto de memória  Processamento pesado  Soluções:  Simplificar o algoritmo  Otimizar funções custosas  Adaptar algumas funções 35
  36. 36. Resultados (1/8)  O que já está pronto? 36
  37. 37. Resultados (2/8) 37
  38. 38. Resultados (3/8) 38
  39. 39. Resultados (4/8) 39
  40. 40. Resultados (5/8) 40
  41. 41. Resultados (5/8) 41
  42. 42. Dúvidas 42

×