32
Visão Computacional Prof. Leandro Augusto Frata Fernandes [email protected] TCC-00.169 Introdução à Ciência da Computação (2012.1)

Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Visão Computacional

Prof. Leandro Augusto Frata Fernandes [email protected]

TCC-00.169 Introdução à Ciência da Computação (2012.1)

Page 2: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Visão Humana

• Responsável por cerca de 75% de nossa percepção

• O ato de ver é resultado de Operações ópticas

Operações químicas

Operações nervosas

TCC-00.169 Introdução à Ciência da Computação (2012.1) 2

Page 3: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Visão Humana

• Os olhos são órgãos responsáveis por Captar informação luminosa

Transformá-la em impulsos a serem decodificados pelo sistema nervoso

• Os impulsos vão sendo depurados durante todo o trajeto através do sistema visual

• A visão é feita pelo cérebro Depende de experiência e interpretação

TCC-00.169 Introdução à Ciência da Computação (2012.1) 3

Page 4: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Visão Computacional

• Ciência e tecnologia das máquinas que veem

• Objetivo Programar o computador para entender a cena ou

elementos em uma imagem

TCC-00.169 Introdução à Ciência da Computação (2012.1) 4

Um computador não é capaz de encontrar uma bicicleta, ônibus, pessoa ou guarda chuva sem interpretar o conteúdo do reticulado

Uma imagem é nada mais que um reticulado colorido de “pixels”

Page 5: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Visão Computacional

• Ciência e tecnologia das máquinas que veem

• Objetivo Programar o computador para entender a cena ou

elementos em uma imagem

• Estuda-se Métodos para aquisição, processamento, análise e

compreensão de imagens

Dados multidimensionais do mundo real para produzir informação numérica ou simbólica na forma de decisão

TCC-00.169 Introdução à Ciência da Computação (2012.1) 5

Page 6: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Aplicações de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 6

Robótica Veículos Autônomos

Google Driverless Car

Organização de Informação Recuperação de Imagem Baseada em Conteúdo

Technique 1

Technique 3

Technique 2

Page 7: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Aplicações de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 7

Indústria Controle de Qualidade

Reconhecimento e Medição de Objetos

Interação Humano-Computador Dispositivos de Entrada

Reconhecimento de Mão e Gestos

Medicina Auxílio no Diagnóstico de Doenças

Segmentação Automática de Tumor na Mama

Page 8: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Roteiro da Apresentação

• Fundamentos

• Exemplo Prático Detecção de retas em imagens

• Visão Computacional em Ciência da Computação Classificação da área

Campos relacionados

• Considerações Finais

TCC-00.169 Introdução à Ciência da Computação (2012.1) 8

Page 9: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Fundamentos

TCC-00.169 Introdução à Ciência da Computação (2012.1) 9

Page 10: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 10

Entrada Sensorial

Semântica

Percepção

Normalização Análise Bidimensional

Recuperação de Parâmetros Físicos

Agrupamento Reconhecimento de Objetos, Cenas e Eventos

Page 11: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 11

Entrada Sensorial

Semântica

Normalização Análise Bidimensional

Recuperação de Parâmetros Físicos

Agrupamento Reconhecimento de Objetos, Cenas e Eventos

Percepção

A etapa de percepção obtém imagens de

um ou mais sensores

Page 12: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 12

Percepção

Análise Bidimensional

Recuperação de Parâmetros Físicos

Agrupamento Reconhecimento de Objetos, Cenas e Eventos

Entrada Sensorial

Semântica

Normalização

Imagens do MAC de Niterói

Note as diferenças entre elas

A etapa de normalização

tenta diminuir as diferenças

Page 13: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 13

Percepção

Normalização

Recuperação de Parâmetros Físicos

Agrupamento Reconhecimento de Objetos, Cenas e Eventos

Entrada Sensorial

Semântica

Análise Bidimensional Bordas

Retas Aparentes

Busca e agrupamento de características nas

imagens normalizadas

Resultado pode ser repassado para etapa posterior

ou utilizado no refino da etapa anterior

Imagem Normalizada

Page 14: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 14

Percepção

Normalização Análise Bidimensional

Agrupamento Reconhecimento de Objetos, Cenas e Eventos

Entrada Sensorial

Semântica

Recuperação de Parâmetros Físicos

Exemplos de parâmetros físicos:

- Orientação da superfície - Forma 2-D de objetos - Movimento aparente - Direção da iluminação - Etc.

Imagens Normalizadas

Características Bidimensionais

Profundidade Estimada Movimentação Aparente das Câmeras

Page 15: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 15

Percepção

Normalização Análise Bidimensional

Recuperação de Parâmetros Físicos

Reconhecimento de Objetos, Cenas e Eventos

Entrada Sensorial

Semântica

Agrupamento

Etapa que agrega partes significativas dos dados

Pode ocorrer associação

de características similares vindas de fontes diferentes

Regiões com pixels claros - Regulares - Irregulares Regiões com pixel escuros - Regulares - Irregulares

Page 16: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Hierarquia de um Sistema Geral de Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.1) 16

Percepção

Normalização Análise Bidimensional

Recuperação de Parâmetros Físicos

Agrupamento Reconhecimento de Objetos, Cenas e Eventos

Entrada Sensorial

Semântica

Regiões com pixels claros - Regulares: casas brancas - Irregulares: peças brancas Regiões com pixel escuros - Regulares: casas pretas - Irregulares: peças pretas

Interpretação da situação

Inferência

É feita correspondência entre estruturas relacionais

abstratas conhecidas e dados agrupados

Page 17: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Detecção de Retas em Imagens Exemplo Prático

TCC-00.169 Introdução à Ciência da Computação (2012.1) 17

Page 18: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Você consegue ver retas na imagem?

TCC-00.169 Introdução à Ciência da Computação (2012.1) 18

Aplicação Prática

Page 19: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Antes de Começar

• Escolher como representar as entradas Pontos

• Escolher como representar as saídas Retas

• Entender o problema, buscar uma solução e convertê-la em etapas

• Verificar necessidade de pré-processamento

TCC-00.169 Introdução à Ciência da Computação (2012.1) 19

Page 20: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Pontos de Entrada Representação

TCC-00.169 Introdução à Ciência da Computação (2012.1) 20

Espaço de Imagem

x

y

p p = (x, y)

Coordenadas cartesianas do ponto

Page 21: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Retas Detectadas Representação

TCC-00.169 Introdução à Ciência da Computação (2012.1) 21

Espaço de Imagem

x

y

r

θ ρ

ρ = x cos θ + y sin θ

Equação Normal da Reta

Page 22: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Solução Força-Bruta

• Cada par de pontos define uma reta

• Solução Tomar pontos dois a dois

Anotar todas as retas possíveis

Contar quantas vezes cada reta repete

Retornar retas mais frequentes

TCC-00.169 Introdução à Ciência da Computação (2012.1) 22

Não vale a pena!

Muito esforço computacional

Page 23: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Transformada de Hough

TCC-00.169 Introdução à Ciência da Computação (2012.1) 23

x

y

r

p

q s

Espaço de Imagem Espaço de Parâmetros

ρ = x cos θ + y sin θ

θ r’

s’

p’

q’

ρ

Page 24: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Transformada de Hough

TCC-00.169 Introdução à Ciência da Computação (2012.1) 24

Espaço de Imagem Espaço de Parâmetros

Page 25: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Pré-Processamento

TCC-00.169 Introdução à Ciência da Computação (2012.1) 25

Converter imagens coloridas para imagens de borda

Page 26: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Visão Computacional em Ciência da Computação

TCC-00.169 Introdução à Ciência da Computação (2012.1) 26

Page 27: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Subáreas de Computação Visual

• Animação

• Computação gráfica

• Modelagem

• Processamento de imagens

• Vídeo digital

• Visão computacional

• Visualização

TCC-00.169 Introdução à Ciência da Computação (2012.1) 27

Page 28: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

TCC-00.169 Introdução à Ciência da Computação (2012.1)

Campos Relacionados

28

Sistema de Visão

Processamento de Imagens

Aprendizado de Máquina

Inteligência Artificial

Matemática

Neurobiologia

Imagiologia

Física

Processamento de Sinais

Robótica

Visão robótica

PS não linear

PS multivariável

Óptica

Smart cameras

Visão biológica

Estatística

Geometria

Otimização

Visão cognitiva

Inteligência computacional

Visão Computacional

Page 29: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Considerações Finais

TCC-00.169 Introdução à Ciência da Computação (2012.1) 29

Page 30: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Considerações Finais

• Um sistema de visão computacional agrega diversas técnicas

• Dados brutos precisam ser lapidados para uso

• Esforço maior está em inserir inteligência em sistemas computacionais

• Adota modelos vindos de diferentes áreas do conhecimento

TCC-00.169 Introdução à Ciência da Computação (2012.1) 30

Page 31: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Presente e Futuro

• É preciso avançar o estado da arte Área “imatura” (no bom sentido)

• Espaço para novas ideias Técnicas atuais são moldadas para

(sub)casos específicos

• Perspectiva de mercado Grandes empresas estão contratando

TCC-00.169 Introdução à Ciência da Computação (2012.1) 31

Page 32: Visão Computacionaljulius/icc/vicomp.pdf · 2012. 5. 8. · Visão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender

Obrigado!

TCC-00.169 Introdução à Ciência da Computação (2012.1) 32