Aprendizagem de Máquinas Extração de...

70
Aprendizagem de Máquinas Extração de Características David Menotti, Ph.D. http://web.inf.ufpr.br/menotti Universidade Federal do Paraná (UFPR) Departamento de Informática (DInf) 1

Transcript of Aprendizagem de Máquinas Extração de...

Aprendizagem de Máquinas

Extração de Características

David Menotti, Ph.D.http://web.inf.ufpr.br/menotti

Universidade Federal do Paraná (UFPR)Departamento de Informática (DInf)

1

Objetivos

• Entender os conceitos de padrões (formas).

• O que são características e por que elas são importantes.

• Introdução a percepção• Apresentar diferentes tipos de

características.

2

Padrões

• A facilidade com que nós humanos classificamos e interpretamos os padrões que nos cercam, dão a falsa idéia de que é fácil automatizar tal processo.

• Como reconhecemos um determinado padrão?– Mesmo sem perceber, extraímos suas

características relevantes.

3

Características

• Qualquer medida que se possa extrair de um determinado objeto.– Simbólicas– Numéricas contínuas.– Numéricas binárias.

4

Características (cont)

• Exemplo de característica simbólica:– Cor do objeto.

• Exemplo de característica numérica continua.– Peso do objeto.

• Característica numérica binária.– Determinam a presença ou ausência de

uma determinada característica.

5

Características (cont)

• Objetivo: Caracterizar um objeto através de medidas, as quais são bastante similares para objetos da mesma classe, e bastante diferentes para objetos de outras classes.– Características discriminantes e

invariantes.

6

Características (cont)

• Globais– Extrair características de uma maneira

holística.– Maneira como os humanos reconhecem

objetos– Gestalt (Percepção)

• Locais– Segmentar em partes menores para

então extrair características.

7

Percepção

• Processo de adquirir, interpretar, selecionar e organizar informações sensoriais.

• Gestalt– Enfatiza o todo– Processo de reconhecimento se dá pelas

propriedades globais (holístico) e não pelas partes.

– Baseia-se em princípios tais como• Emergência, Construtivismo, Invariância

8

Gestalt

• Emergência– Prova de que reconhecemos a partir do todo e

não por partes.

9

Gestalt

• Construtivismo– Conseguimos identificar características

não presentes a partir da percepção de características presentes.

10

Gestalt

• Invariância– Objetos são reconhecidos independentemente de

rotação, translação, escala e ruído.

11

Holístico X Local

• Muitas vezes características globais, como as defendida pela Gestalt, não apresentam desempenho satisfatório.

• Nesses casos, características locais se tornam bastante interessantes.

12

Padrões

• A maioria das coisas que nos cerca podem ser definidas como padrões.

13

Características

• No nosso exemplo dos peixes:– Devemos procurar características

invariantes a rotação e translação.– Não sabemos como o peixe estará

posicionado na esteira.– Tamanho é uma boa característica?

• Não, pois um salmão jovem é menor que um salmão adulto, mas continua salmão (escala).

14

Características (cont)

• Então que tipo de características deveríamos empregar?– Características ligadas a cor e textura

geralmente são invariantes a rotação e translação.

Padrão Padrão dilatado Translação Rotação

15

Características Estatísticas

• Geralmente extraem coeficientes estatísticos do padrão como um todo. Entre elas podemos citar– Templates– Momentos de

• Hu (invariante a rotação, translação e escala)

• Zernike (invariante a rotação)– Fourier / Wavelet– PCA (Principal Component Analysis)– Correlação

16

Template Matching

• Usa as características de mais baixo nível conhecidas– Pixel

• O processo é simples e funciona quando os padrões são bem comportados.

• Basicamente consiste em – Criar um template para cada classe do

problema em questão.– Comparar o exemplo de teste com todos os

templates disponíveis.

17

Template Matching

• Aquele template que tiver a menor distância será a classe escolhida.

• Para padrões binários, uma medida bastante utilizada é a Distância de Hamming (número de bits diferentes).

• Por exemplo, – A distância entre 1011101 e 1001001 é 2– A distância entre 2143896 e 2233796 é 3– A distância entre toned e roses é 3

• Uma distância mais interessante nesse caso é a Edit Distance.

• Calcula o número de inserções, remoções ou substituições para transformar uma string em outra.

• Procure por “processamento de cadeias de caracteres” 18

Template Matching

• Considerando duas imagens, o template matching consiste em comparar as duas pixel a pixel– Diferenças estruturais são perdidas

O OOTemplate Teste 1 Teste 2

Considerando a Distância de Hamming, qual seria o exemplo mais similarao template?

19

Template Matching

• Ruídos devido aquisição– Aumentam a variabilidade, diminuindo

assim a eficiência do template matching

20

Template Matching

• Uma outra forma de usar template matching consiste em fazer a comparação usando um esquema de zoneamento.– Enfatizar diferenças locais

• Uma variante do template matching é o feature matching.– Nesse caso, a comparação se dá no

nível das características.

21

Momentos

• Momentos de HU:– Característica Global e Invariante– Medidas puramente estatísticas da

distribuição dos pontos.– Considere a imagem binária de um

objeto MxN onde I(x,y) representa o estado do pixel (x,y) – preto ou branco.

– Um momento regular de ordem (p+q) é definido por:

22

Momentos

• O momento de ordem 0 (m00) representa a superfície enquanto os momentos de ordem 1 (m01) e (m10) definem o centro da gravidade (xg e yg) da imagem.

23

Momentos

• Com o intuito de serem invariantes a rotação e translação, Hu definiu os momentos centrais npq

Os momentos centrais de ordem 2 permitemachar os eixos principais de inércia, osprolongamentos e as orientações da forma.

24

Momentos

• Para que os momentos sejam invariantes a escala, os mesmos devem ser normalizados pelo tamanho da imagem.

Finalmente, os momentos mais utilizados são os 7 momentos invariantes de HU,(de ordem 2 e 3):

25

Momentos

Os sete momentos invariantes de HU

26

Um ExemploMomentos de HU

R1

R4

R3

R2

R5

R6

x1

x2

27

Um Exemplo Momentos de HU

Momento R1 R2 R3 R4 R5 R6

1 1.67E-01 1.94E-01 2.08E-01 1.67E-01 1.94E-01 1.94E-01

2 0.00E+00 6.53E-03 1.56E-02 0.00E+00 6.53E-03 6.53E-03

3 0.00E+00 1.02E-03 0.00E+00 0.00E+00 1.02E-03 1.02E-03

4 0.00E+00 4.56E+05 0.00E+00 0.00E+00 4.56E+05 4.56E+05

5 0.00E+00 4.25E-09 0.00E+00 0.00E+00 4.25E-09 4.25E-09

6 0.00E+00 1.70E+06 0.00E+00 0.00E+00 1.70E+06 1.70E+06

7 0.00E+00 -8.85E+09 0.00E+00 0.00E+00 -8.85E+09 -8.85E+09

R1 e R4, R2 e R5 são diferentes escalas do mesmo objetoR6 é a versão rotacionada de R2 e R5

28

Um ExemploMomentos de HU

• Analisando os resultados:– Podemos verificar que os momentos são

invariantes a rotação, translação e escala.

– Note que R3 é o único objeto diferente, e portanto produz diferentes valores.

29

Características Estruturais

• Extraem informações da estrutura do padrão. – Concavidades– Contornos– Esqueleto– Perfil– Área, Distribuição

• Muitas vezes informações estatísticas são computadas a partir das informações estruturais.

30

Concavidades

• Nesse caso podemos identificar 4 tipos de concavidades– Baseia-se na quantidade de vizinhos

pretos

31

Concavidades

• Como armazenar as informações?

Vetor de características:

Cada posição do vetor corresponde a uma possível configuração.Nesse caso, teríamos um vetor de quatro posições.

32

Distribuição de Pixels

• Nesse caso podemos usar um histograma para representar a distribuição dos pixels da imagem.

33

Contorno

• Para cada pixel do contorno, contabiliza-se a direção do próximo pixel.

Vetor de características teria 8 posições onde cada posição teria a somadas direções.

34

Zoneamento

• Zoneamento é uma estratégia bastante usada para enfatizar determinadas regiões de um padrão.

• Características locais• Zonas Simétricas e Assimétricas

– Depende do problema que está sendo abordado.

• Normalização implícita.

35

Zoneamento

4 zonas simétricas

Com base na informação das duas zonasinferiores somente, temos informaçõessimilares ao dígito 3

Qual seria a melhor estratégia de zoneamento?

36

Mapas de Pixels

• Também conhecidos como Edge Maps• Se o objeto puder ser reduzido a um conjunto de

linhas horizontais, verticais e diagonais, esses mapas podem fornecer características discriminantes.

• Inicialmente a imagem deve ser esqueletizada.• Utiliza simples detectores de linhas

horizontal vertical Diagonal 45º Diagonal -45º

37

Mapas de Pixels

• Após a detecção das linhas, as mesmas são compactadas em mapas menores– Diminuir custo

computacional– Retêm

informações mais importantes

Nesse casos teríamos um vetor binário de 125 posições

38

Distâncias• Outra característica com um bom

poder de discriminação é a DDD (Directional Distance Distribution)– Calcula a distância de cada pixel branco

(preto) para seu mais próximo vizinho preto (branco).

– Utiliza 8 direções

39

Distâncias

Para pixels branco, utiliza-se a primeira parte do vetor. A segunda parte é para pixels pretos

O vetor final é a média de todos os vetores

4 é o número de pixels que separam o pixel (8,2) do seu vizinho

mais próximo a direita

Pode-se aplicar zoneamento e fazer uma média para cada zona.

40

Descritores baseados em Redes Complexas: Modelagem da Rede

• Rede Complexa: Teoria dos Grafos e Estatística

• Contorno modelado como rede complexa• Evolução dinâmica

41

a ij={0, se wij≥T l

1, se wij<T l}

Descritores baseados em Redes Complexas: Extração das

Características• Conectividade: grau do vértice.

• Joint Degree: probabilidade de um vértice estar conectado a outro vértice de mesmo grau.

42

Grau MédioGrau Médio Grau MáximoGrau Máximo

k μ=1N∑j=1

N

aμ (∑j=1

N

aij )

EntropiaEntropia EnergiaEnergia Joint Degree MédioJoint Degree Médio

E=−∑i=1

N

(P(k i ,k' )i)

2H=−∑

i= 1

N

P( k i ,k' )i log2 P(k i ,k

' )i P=1N∑i=1

N

P (k i ,k' )i

Descritores Fourier• Dano descrito pelas coordenadas do

contorno (número complexo).• Transformada de Fourier representa o

contorno na frequência .• Primeiros coeficientes = menor frequência.

43

Descritores de Fourier

44

Textura

• Encontrar padrões de homogeneidade que não estão presentes em uma simples cor ou intensidade. – Momentos do histograma– Matriz de co-ocorrência– Filtro de Gabor

Dois padrões45

Textura

• Além de classificação, características de textura são bastante utilizadas na recuperação de informação.– Imagens médicas– Imagens de satélite

46

Textura: Momentos do Histograma

• Uma das abordagens mais simples para a descrição da textura é através dos momentos do histograma de níveis de cinza de uma região.

• Seja Z uma variável aleatória denotando a intensidade discreta de uma imagem

• Seja p(zi), i = 1,2,...,L, a distribuição de probabilidade associada a está variável, na qual L é o número de níveis de cinza.

47

Textura:Momentos do Histograma

• O n-ésimo momento de z em torno da média é dado por

• na qual m é valor médio de z

μn ( z )=∑i=1

L

( zi−m)n p ( zi)

m=∑i=1

L

zi×p( zi )

48

Textura: Momentos do Histograma

• O segundo momento possui uma importância particular para a descrição da textura– Medida de contraste do nível de cinza– Pode ser usada no estabelecimento de

descritores de suavidade relativa.

• O terceiro momento é uma medida de anti-simetria do histograma.

• Quatro momento fornece uma medida de achatamento.

49

Textura: Momentos do Histograma

• Exercício: Considere o seguinte histograma em 8 níveis de cinza.

Calcule o segundo e o terceiro momentos.

Z P(z)

1 0.16

2 0.24

3 0.20

4 0.14

5 0.11

6 0.08

7 0.05

8 0

M=102, M2 = 127450

Textura: Matriz de co-ocorrência

• Medidas de textura calculadas a partir do histograma sofrem a limitação de não carregarem informações sobre a posição relativa dos pixels em relação uns aos outros.

• Uma maneira de trazer essa informação ao processo de análise de texturas é considerar não apenas a distribuição de intensidades, mas também as posições dos pixels com valores de intensidade iguais ou similares.

51

Textura: Matriz de co-ocorrência

• Seja Q um operador de posição e A uma matriz k x k, cujo elemento aij seja o número de vezes que os pontos com o nível de cinza zi ocorrem (na posição especificada por Q), relativamente a pontos com o nível de cinza zj, com i<=k , j<=k.

52

Textura: Matriz de co-ocorrência

• Considere por exemplo uma imagem com 3 níveis de cinza, z0 = 0, z1 =1 e z2 = 2.

0 0 0 1 2

1 1 0 1 1

2 2 1 0 0

1 1 0 2 0

0 0 1 0 1

P = um píxel a direita e pixel abaixo

Sendo assim, A seria uma matriz 3x3.a00 o número de vezes que um ponto com nível de cinza 0 apareceabaixo e a direita de outro pixel com nível 0Nesse caso a00 teria o valor 4

53

Textura: Matriz de co-ocorrência

• O valor de a02 é o número de vezes que um ponto com nível z0 aparece abaixo e a direita de z2

0 0 0 1 2

1 1 0 1 1

2 2 1 0 0

1 1 0 2 0

0 0 1 0 1

Desta maneira, a matriz de co-ocorrênciaserá

4 2 1

2 3 2

0 2 0

A=

A qual deve ser normalizada.

54

Matriz de co-ocorrência: Descritores

55

Cor

• Geralmente extraídos dos histogramas acumulativos dos canais RGB.– Simples e bastante discriminante.

Vetor de característicaspode ser compostosdiversos percentis

56

Detecção de rostos

57

Viola & Jones, 2001

58

Integral Image

• Iint(x,y) = I(x,y), se x=y=1 (primeiro pixel)

• Iint(x,y) = I(x,y)+Iint(x,y-1), se x=1, y>1 (primeira coluna)

• Iint(x,y) = I(x,y)+Iint(x-1,y), se x>1, y=1 (primeira linha)

• Iint(x,y) = I(x,y) + Iint(x-1,y) + Iint(x,y-1) – Iint(x-1,y-1)59

Integral Image

• O(1) S = D – (C+B) + A60

SIFT – Scale Invariant Feature Transform

61

• Ideia - pontos de interesse & descritores

SIFT – Scale Invariant Feature Transform

62

• Representação Piramidal – Multiescala

SIFT – Scale Invariant Feature Transform

63

• Descritor SIFT

SIFT – Scale Invariant Feature Transform

64

• Rec. de Objetos – Trem & Sapo!

SIFT – Scale Invariant Feature Transform

65

• Rec. de Objetos – Trem & Sapo?

Normalização

• Evitar que uma característica se sobressaia a outras.– V1 = {200, 0.5, 0.002}– V2 = {220, 0.9, 0.050}

• Se calcularmos a distância Euclidiana, veremos que a primeira característica dominará o resultado.

66

Normalização

• Diferentes técnicas de normalização

Min-Max Z-Score

ni=x i−min ( x )

max( x )−min ( x )ni=

x i−mean( x )

std( x )

Tanh

ni=12 [ tanh (001

xi−mean( x )

std ( x ) )+1] ni=xi

∑ x

Soma

67

Normalização

• Para redes neuronais, a convergência geralmente é mais rápida se a média das características de entrada é próxima a zero.

68

69

M.K. Hu, Visual pattern Recognition by moment invariants, IEEE Transactions on Information Theory, vol IT-8, pp.179-187, Feb. 1962.

P. Viola , M. JonesRapid object detection using a boosted cascade of simples features,In IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), 1998

P. Viola , M. JonesRobust Real-time Object Detection International Journal of Computer Vision, 2001.

D. Lowe“Distinctive image features from scaleinvariant keypoints” International Journal of Computer Vision, 60, 2 (2004), pp. 91-110

70