SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
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
Proposta (1/2)
 Motivação Inicial: Turismo




                               2
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
Aplicação (1/3)
 Turismo
      (1) Usuário captura imagem
      (2) Pontos de Interesse
      (3) Informações sobre a imagem

                             2


         1


                             3




                                        4
Aplicação (2/3)
 Turismo: Redução da carga na rede




      PNG: 1.5Mb   Pontos de Interesse: 300Kb

                                           5
Aplicação (3/3)
 Outras aplicações




                             6
Pontos de Interesse (1/2)
 O que são?




                        7
Pontos de Interesse (2/2)
 O que são?
 Para que servem?




                         8
SIFT (1/6)
 Por quê usar o SIFT?
      Mesmo objeto apresenta variações em
       diferentes imagens




                                     9
SIFT (2/6)
 Há necessidade invariância:
      Escala




                                10
SIFT (3/6)
 Há necessidade invariância:
      Escala
      Rotação




                                11
SIFT (4/6)
 Há necessidade invariância:
      Escala
      Rotação
      Luminosidade




                                12
SIFT (5/6)
 Há necessidade invariância:
      Escala
      Rotação
      Luminosidade
      Perspectiva




                                13
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
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
Detecção de Extremos (2/5)
 Método (1/3):
    Scale-Space:




                       16
Detecção de Extremos (3/5)
 Método (2/3):
    Diferença de Gaussianas:




                                17
Detecção de Extremos (4/5)
 Método (3/3):
    Encontrar candidatos em extremos
     locais:




                                   18
Detecção de Extremos (5/5)
 Resultado: Muitos pontos




                             19
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
Localização de Pontos de
         Interesse (2/6)
 Método (1/3):
      Interpolação com expansão de Taylor



      Novo extremo local:




                                     21
Localização de Pontos de
         Interesse (3/6)
 Método (2/3):
      Pontos com baixo contraste são
       descartados:




                                        22
Localização de Pontos de
         Interesse (4/6)
 Resultado: Ainda há muitos pontos mal
  posicionados nas bordas




                                    23
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
Localização de Pontos de
         Interesse (6/6)
 Resultado:




                        25
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
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
Definição de Orientação (3/4)
 Método (2/2):
      Criar um histograma de orientações:
         Orientação dominante é assinalada
           ao ponto.




                                     28
Definição de Orientação (4/4)
 Resultado:




                        29
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
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
Definição de Descritores (3/4)
 Método (2/3)




                        32
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
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
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
Resultados (1/8)
 O que já está pronto?




                             36
Resultados (2/8)




                   37
Resultados (3/8)




                   38
Resultados (4/8)




                   39
Resultados (5/8)




                   40
Resultados (5/8)




                   41
Dúvidas




          42

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Poc1 - Final

  • 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. Proposta (1/2)  Motivação Inicial: Turismo 2
  • 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. 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. Aplicação (2/3)  Turismo: Redução da carga na rede PNG: 1.5Mb Pontos de Interesse: 300Kb 5
  • 7. Pontos de Interesse (1/2)  O que são? 7
  • 8. Pontos de Interesse (2/2)  O que são?  Para que servem? 8
  • 9. SIFT (1/6)  Por quê usar o SIFT?  Mesmo objeto apresenta variações em diferentes imagens 9
  • 10. SIFT (2/6)  Há necessidade invariância:  Escala 10
  • 11. SIFT (3/6)  Há necessidade invariância:  Escala  Rotação 11
  • 12. SIFT (4/6)  Há necessidade invariância:  Escala  Rotação  Luminosidade 12
  • 13. SIFT (5/6)  Há necessidade invariância:  Escala  Rotação  Luminosidade  Perspectiva 13
  • 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. 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. Detecção de Extremos (2/5)  Método (1/3):  Scale-Space: 16
  • 17. Detecção de Extremos (3/5)  Método (2/3):  Diferença de Gaussianas: 17
  • 18. Detecção de Extremos (4/5)  Método (3/3):  Encontrar candidatos em extremos locais: 18
  • 19. Detecção de Extremos (5/5)  Resultado: Muitos pontos 19
  • 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. Localização de Pontos de Interesse (2/6)  Método (1/3):  Interpolação com expansão de Taylor  Novo extremo local: 21
  • 22. Localização de Pontos de Interesse (3/6)  Método (2/3):  Pontos com baixo contraste são descartados: 22
  • 23. Localização de Pontos de Interesse (4/6)  Resultado: Ainda há muitos pontos mal posicionados nas bordas 23
  • 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. Localização de Pontos de Interesse (6/6)  Resultado: 25
  • 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. 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. 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. Definição de Orientação (4/4)  Resultado: 29
  • 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. 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. Definição de Descritores (3/4)  Método (2/3) 32
  • 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. 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. 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. Resultados (1/8)  O que já está pronto? 36
  • 42. Dúvidas 42