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

Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Visão Computacional

Prof. Leandro Augusto Frata Fernandes

[email protected]

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

Page 2: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 2

Page 3: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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 são 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.2) 3

Page 4: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 5

Page 6: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Aplicações de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Aplicações de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 8

Page 9: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Fundamentos

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

Page 10: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Hierarquia de um Sistema Geral de

Visão Computacional

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Detecção de Retas em Imagens

Exemplo Prático

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

Page 18: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Você consegue ver retas na imagem?

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

Aplicação Prática

Page 19: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 19

Page 20: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Pontos de Entrada Representação

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

Espaço de Imagem

x

y

p

p = (x, y)

Coordenadas cartesianas

do ponto

Page 21: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Retas Detectadas Representação

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

Espaço de Imagem

x

y

r

θ ρ

ρ = x cos θ + y sin θ

Equação Normal

da Reta

Page 22: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 22

Não vale a pena!

Muito esforço

computacional

Page 23: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Transformada de Hough

TCC-00.169 Introdução à Ciência da Computação (2012.2) 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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Transformada de Hough

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

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

Page 25: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Pré-Processamento

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

Converter imagens coloridas para

imagens de borda

Page 26: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Visão Computacional em

Ciência da Computação

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

Page 27: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 27

Page 28: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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

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 Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Considerações Finais

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

Page 30: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 30

Page 31: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

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.2) 31

Page 32: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Professores no IC-UFF

• Anselmo Montenegro

• Aura Conci

• Cristina Nader Vasconcelos

• Helena Cristina da Gama Leitão

• José Ricardo de Almeida Torreão

• Leandro Augusto Frata Fernandes

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

Page 33: Visão Computacional - UFFjulius/icc/vcomp.pdfVisão Computacional • Ciência e tecnologia das máquinas que veem • Objetivo Programar o computador para entender a cena ou elementos

Obrigado!

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