uma nãotãobreve introduçãoaobásico de pinca.ufma.br/~geraldo/vcm/2.basico_pi.pdfnemsempre…...

123
Uma não tão breve introdução ao básico de PI Visão Computacional Programa de Pós-Graduação em Ciência da Computação – UFMA Prof. Geraldo Braz Junior

Upload: others

Post on 15-Apr-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Umanão tão breveintrodução ao básicodePIVisão ComputacionalPrograma de Pós-Graduação em Ciência da Computação – UFMAProf. Geraldo Braz Junior

Page 2: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Oque fazer comessa aula?• Utilize essa aula para conhecer métodos básicos

que serão usados em visão• Busque leituras recomendadas no site da

disciplina• Depois que ler esses textos, busque por outros

2

Page 3: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Passos Clássicos emumametodologia deVisão

Aquisição

Melhoramento/Tratamento/Representação

Detecção

Descrição

Reconhecimento

3

Page 4: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Imagem como função

• Teoricamente, imagens são funções de R2 a RM do brilhorefletido de uma cena

f(x,y) fornece o valor de intensidade numa posição (x,y)

• O processo envolve as etapas de:• Amostragem• Quantização 4

Page 5: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Amostragem eQuantizaçãoDomínio da Frequência* O processo inverso pode ser

obtido com a Transformada de Fourier

5

Page 6: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

ImagemDiscreta Digital• Uma imagem contém uma quantidade discreta de

elementos chamados pixels• Cada pixel possui um valor • intensidade no caso de tons de cinza

6

Page 7: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Esquemas diferentes dequantização

!

YCbCr

HSV

RGB

7

Page 8: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Nem sempre…• nem sempre a aquisição é perfeita (pense numa

aplicação sem ruídos …)• Sujeita a:• Qualidade do equipamento de captura• Efeitos de iluminação idesejados• Ruídos

• Numa situação real a técnica tem que ser o máximo robusta a este tipo de caso

8

Page 9: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Melhoramento/Tratamento• Operações que visam extrair informações

importantes da imagem• Características• Cantos, bordas, agrupamentos

• Realce• retirada de ruídos, aumento de contraste, …

• O processo de filtragem forma uma nova imagem a qual é uma combinação dos pixels da imagem original 9

Page 10: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtros Lineares

• S é um filtro linear caso satisfaça a seguintecondição:

10

Page 11: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplo:Filtro daMédia• Um filtro da média pode ser definido como uma janela 3x3

que se move através de uma vizinhança de pixels, aplicando a seguinte fórmula

• * representa a convolução de duas funções: f e hOnde• k varia de n-1 a n+1, l varia de m-1 a m+1• m e n são as dimensões da imagem f

11

Page 12: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Processo deFiltragemporMédia

12

Page 13: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Processo deFiltragemporMédia

13

Page 14: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Processo deFiltragemporMédia

14

Page 15: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Processo deFiltragemporMédia

15

Page 16: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Correlação vsConvolução• Correlação 2d

• Convolução 2d

],[],[],[,

lnkmIlkfnmhlk

--=å

],[],[],[,

lnkmIlkfnmhlk

++=å

conv2(I,f)é igual a filter2(rot90(f,2),I)Correlação e convolução são identicos quando os filtros são simétricos

James Hays

h=filter2(f,I); or h=imfilter(I,f);

h=conv2(f,I); or h=imfilter(I,f,’conv’);

Page 17: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplo:Filtro daMédia

17

Page 18: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplo:combinação defiltros?

18

Page 19: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Oque fazer comnas bordas daimagem?

19

Page 20: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Oque fazer comnas bordas daimagem?• Somente será computado pixels que tenham representantes

completos dentro do filtro• Estratégias que podem ser adotadas• Replicar borda• Adicionar zeros• Extensão por espelho

20

Page 21: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtro Gaussiano

21

Page 22: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtros não lineares• Não preservam relação inversa

• Principais:• Bilateral• Mediana

22

Page 23: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtro Bilateral• Redução de ruídos• Simplificação de estruturas• Preserva contornos

23

Page 24: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtro daMediana• Melhor para reduzir o ruído• Ordena-se os vizinhos em ordem crescente.• A mediana consiste nos m elementos que estão no meio do

conjunto• Eficiente contra ruídos localizados

24

Page 25: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtro:mediana• salt(original, 3000);• medianBlur(original, resultado, 3);

• *Procure implementação de sal nos exemplos

25

Page 26: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

MorfologiaMatemática• Não Linear

• Objetivo: extrair objetos baseados em alguma geometria pré-definida• Elemento Estruturante

• Normalmente sobre imagens binárias• representadas com apenas 2 intensidades

26

Page 27: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Operações Básicas• Dilatação• Preenche ou amplifica contornos

• Reflexão (translação) de B para a origem centralizada em um elemento x de A

• B é chamado de elemento estruturante

A⊕ B = {z | (B̂)x ∩ A ≠∅}

27

Page 28: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplos

28

Page 29: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Operações Básicas• Erosão• Reduz elementos ao elemento estruturante

• Reflexão (translação) de B para a origem centralizada em um elemento x de A tal que todos os elementos de B estejam em A

• B é chamado de elemento estruturante

A−B = {x | (B)x ⊆ A}

29

Page 30: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplos

30

Page 31: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplos:separação

31

Page 32: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Operaçõesmais complexas• Utilizam combinações de dilatação e erosão

• Ou

• Expansões na teoria dos conjuntos

• Exemplos:• Abertura• Fechamento• Gradiente• TopHat• Hit & Miss• Fill• Skeleton

32

Page 33: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Abertura• Suaviza o contorno da imagem ao mesmo tempo que elimina

pequenas brechas• Uma erosão seguida de uma dilatação

A !B = (A−B)⊕ B

33

Page 34: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplo

34

Page 35: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Fechamento• Suaviza contorno, elimina pequenos buracos, preenche fendas

• Uma dilatação seguida por uma erosão

A•B = (A⊕ B)−B

35

Page 36: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplo

36

Page 37: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Abertura eFechamento

37

Page 38: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Umaque não é nativa noopencv• Até então: skeletonização

• É uma representação da componente de sustentação de umaforma (esqueleto)

• repete-se n vezes: ou até que não exista mais pixels naimagem original (caso binário)

Sn (X)=(X-B)-(X-B)!B

38

Page 39: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Exemplowhile (countNonZero(img) != 0) {

erode(img, eroded, element);dilate(eroded, temp, element); subtract(img, temp, temp);bitwise_or(resultado, temp, resultado);eroded.copyTo(img);

}

39

Page 40: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Oprocesso demelhoramento• Também pode ser usado para extrair informação

da imagem ou realçadas de maneira a destacaressas informações.

• Uma categoria específica trata do destaque de altas frequências na imagem para destacarbordas como a finalidade de gerar contornos

40

Page 41: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Porque contornos sãoimportantes?

41

Page 42: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Oque são bordas?• Local na imagem onde aconteceu rápida mudança de

tonalidades

42

Page 43: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Gradiente deuma imagem• O gradiente de uma imagem é a derivada no ponto

∇f = [∂f∂x, ∂f∂y]

43

Page 44: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Gradiente deuma imagem• A força (magnitude) de um gradiente é dado por:

• Representa a força direcional num ponto (x,y)• A orientação do gradiente é dada por:

• Representa a orientação da borda no ponto (x, y) 44

Page 45: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Gradiente deuma imagem

X Y

45

Page 46: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Magnitudedogradiente

46

Page 47: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Efeitos causados por ruídos• Onde está o contorno?

47

Page 48: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Efeito dosruídos:oque fazer?• O ruído faz com que bordas não sejam corretamente

obtidas:• Pixels muito próximos possuem comportamentos

aleatório• Mudanças súbitas de cor

• O que pode ser feito?• Remover ruídos com filtros passa baixa

48

Page 49: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Filtre Primeiro:Gaussiano

49

Page 50: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Opções deDetectoresa) Robertsb) Prewittc) Sobeld) Canny e) Laplaciano

50

Page 51: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Canny• Baseado em sucessivas Gaussianas (ou usando gaussianas

como complementar)

• Canny demonstra que a primeira derivada da gaussianaaproxima com alta precisão a detecção de bordas, com as propriedades de localização e atomicidade

• Primeira derivada de uma gaussiana, porque?

51

Page 52: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Primeira Derivada deumaGaussiana

52

Page 53: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Passo aPasso doCanny1. Filtre x, y com as derivadas do Gaussiano2. Obtenha magnitude e orientação3. Aplique a regra Non-Maximum-Suppression4. Threshold e hysteresis • Defina duas faixas: inferior e superior• Use o superior para iniciar os contornos e o inferior

para garantir continuidade

53

Page 54: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Gradiente por gaussiana

54

Page 55: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Orientações

55

Page 56: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Non-Maximum-Suppression

Antes Depois56

Page 57: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Resultado doCanny

57

Page 58: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Efeitos doKernelGaussiano• Quanto maior o desvio, menor será a

quantidade de detalhes capturada

58

Page 59: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

ok,temos informação?• A partir de imagens realçadas (para obter ou não

contorno)• É possível descrever o que aparece na imagem

• Mas qual método escolher?

59

Page 60: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Qual característica vocêdeseja?• Depende totalmente da aplicação desejada:• Textura• Forma• Estrutura• Estatística

• Dentre outras

60

Page 61: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Quantificação deCores–Histograma Básico• O histograma de uma imagem em tons de cinza é uma funçãoH(k) que produz o número de ocorrências de cada nível decinza de uma imagem (função de distribuição deprobabilidades)

61

Page 62: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

62

Page 63: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Somente cor,que talHistograma?• Informação global da distribuição de tonalidades• Probabilidades

• Independente de localização e orientação

• Pode ser usada em problemas de classificação?• cuidado, imagens diferentes podem possuir o

mesmo histograma63

Page 64: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Processo Histograma 1DPara todo valor de Z: inicialize H(z) = 0onde z varia de 0 a L-1, sendo L a quantidade de tons diferentes possíveis para a imagem

z também é chamado de bin

Para cada pixel da imagem• H(pixel(img(I,j)) ++;

64

Page 65: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Eseconsiderarmos ohistograma 3D?• E utilizar todos os canais ao mesmo tempo?• O que podemos supor é que o poder de discriminação seja

melhor• O que fazer com o número de bins do histograma?

65

!

Page 66: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Quemedidas tirar deumhistogama decores?• Além de poder utilizar diretamente os bins, você

pode retirar:• Variância• Contraste• Entropia• Distribuição relativa de cores

• Mas não é textura66

Page 67: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Umpoucomais dedistribuição:Haar Features• Diferença da soma de “brancos” com “pretos”• O filtro deve ser posicionado na imagem, numa

escala específica• E depois obtido a métrica

67

Page 68: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Haar Features• Melhores respostas em imagens com definição

de formas, textura, …

68

Page 69: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Otamanho dofiltro Haar podemudar• Os filtros são organizados em octaves• Começam com dimensão 9x9 (equivale a σ=1.2)• Incrementos são na ordem de 6

69

Page 70: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Haar Vector:apenas umaalternativa• Pode ser de várias maneiras, como todas as contribuições ou:

• Essa região é divida em 4x4• Para cada região, Haar Feature na horizontal e vertial é

calculada• As respostas são somadas

• Totalizando 64 características : 4x4 = 16 * 4 = 64

• Mas existem várias outras maneiras: alguém pensou emHistograma?

70

Page 71: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Umpoucodetextura:LocalBinaryPatterns

71

Page 72: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Equacionando

72

Page 73: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

LocalBinary Pattern (LBP)• Prós:• Computacionalmente eficiente e robusto a variaçãomonotônica de iluminação.• Simples.

• Limitações:• Desempenho ruim na presença de ruídos aleatórios• Considera apenas o sinal da diferença entre doisvalores de cinza, descartando a magnitude.

73

Page 74: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Esefossem caracterísiticas deBordas?HistogramOfGradients

74

Page 75: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

CalculanoHOG• Divida a imagem em blocos de tamanhos iguais• Cada bloco deve ser dividido em células de igual

tamanho

• Qual o tamanho do bloco correto?• Qual e quantas células são corretas?• Quanto de sobreposição?• Qual o shape? R ou C?

75

Page 76: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

CalculanoHOG• Para cada célula, obtenha o histograma de

orientações:• Obter magnitude:

• Obter orientação:

76

s = sx2 + sy

2

θ = arctan(sysx)

Page 77: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

CalculanoHOG• Normalize os histogramas e junte todos para

gerar um vetor de características

77

Page 78: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

78

Page 79: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Onde usar ascaracterísticas?• Onde está o caminhão de brinquedo?

• Matching

79

Page 80: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Pergunta:• Essa imagem possui carro(s)?

• Detecção de Objetos

80

Vários

Page 81: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Pergunta:• O que essa cena apresenta?

• Segmentação (em alguns casos, semântica) –localização precisa

81

Page 82: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

MatchingcomHistogramas

82

calcHist( &imageROI, 1, channel_numbers, Mat(), histogram, image.channels(), number_bins, channel_ranges );normalize( histogram, histogram, 1.0); calcBackProject(&image, 1,channel_numbers,histogram,result,channel_ranges,255.0);

Page 83: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

MatchingcomabordagemLocal

83

Nota de aula Fei-Fei Li

Page 84: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Keypoints?• Pontos Chave são Importantes!• Independente da imagem, o algoritmo extrator deve

extrair os keypoints sempre da mesma maneira• Consistência• Repetição

84

Page 85: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Características para ométodo• Repetição (independência de imagem)• Invariante: translação, escala e rotação• Robusto• Eficiente• Discriminativo• Quantitativo• Local

85

Page 86: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Oque são bons candidatos akeypoints?

86

Page 87: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Distinção

87

Interior: semvariações emtodas as direções

borda: variaçõesna direção da borda

canto: mudançasbruscas em todasas direções

Page 88: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

HarrisDetector• Ideia da janela• Maximizar

88

Page 89: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

HarrisDetector• Pode ser aproximada por:

• onde M significa

89M = w(x, y)

Ix2 IxIy

IxIy Iy2

!

"

##

$

%

&&

x,y∑

- Ix e Iy são osgradientes em x e y

- Essa é uma matrizde covariância

Page 90: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

HarrisDetector

90

Pode-se usar Sobel para calcular o gradiente

Page 91: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

HarrisDetector• A equação anterior gera um score de cada janela testada.• Para saber se a janela possui um canto:

• onde:• det(M) = λ1λ2

• trace(M)=λ1+λ2

• k é uma constante que varia entre 0.04 e 0.06• λ1 e λ2 são os autovalores de M

91

R = det(M )− k(trace(M ))2

Page 92: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

HarrisDetector• Os valores dos autovalores decidem se a determinada janela

possui ou não um canto:• quando R é grande (que acontece quando λ1 e λ2 são grandes)

então a janela possui um canto

92

Page 93: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Passo aPasso

93

- Threshold do máximoou- non-maximum supression

Page 94: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Harris

94

Page 95: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Problema• Variação de escala. Um canto nem sempre é canto numaescala diferente

95

Quando a escaladiminui, a janelapode identificarque o canto agoraé apenas borda

Page 96: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Problema• Como achar a janela (ou círculo neste caso) do tamanho

correto, independente da imagem?

96

Page 97: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

SIFTPríncipio• Scale-Space Filtering• Aplica Difference of Gaussians (DoG) ->

aproximação de LoG e mais rápido

• Efeito: borramento da imagem• Quanto maior o borramento, existe a simulação

de baixa escala• A diferença é calculada sobre imagens que

passaram por gaussianas σ e kσ97

Page 98: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Espaço deEscala - exemplo

98

Page 99: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

DoG

99

Page 100: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

LocalExtrema• Com a DoG construída, procura-se pelos pontos de extrema• Esse ponto é maior que os seus 27 vizinhos de diferentes

escalas• Representa um possível keypoint

100

Page 101: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Invariante aRotação• A orientação do possível keypoint é obtida através da análise

da orientação dos contornos próximos• Orientação do keypoint = pico de orientação no histograma

direcional ponderado pela magnitude

101

Page 102: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

SIFT(DoG +HOG)

102

Page 103: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

SIFTeplacas detransito

103

Page 104: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Surf:Aideia• SIFT relativamente lento• No SIFT:• Aproxima-se Laplaciano de Gaussiana com DoG

• No SURF• A aproximaçãoé feita com BoxFilter

Bay, H., Tuytelaars, T. and Van Gool, L, published another paper, “SURF: Speeded Up Robust Features”

104

Page 105: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Obtendo os pontos deinteresse• Baseado em Integral Images

105

Page 106: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Descritores• Contêm basicamente a resposta a primeira ordem de Haar

Waveltes• Calculados em x e y (acha gradientes)• Novamente sobre as imagens integral

106

Page 107: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

SURF(BoxFilter +HaarFeatures)

107

Page 108: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Detecção dePessoas comHOG

108

Page 109: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

109

Page 110: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Colha Resultados

110

Page 111: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Porque não emoutras classes?

111

Page 112: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

LBPpara detecção deatividades• Kellokumpu V, Zhao G & Pietikäinen M (2009) Recognition of

human actions using texture. Machine Vision and Applications (available online).

112

Page 113: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Equando asfeaturesserepetem,masnão sesabe aquantidade?• Reconhecimento de Textura• repetição ao longo da imagem de textons

Page 114: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

ContagemdeTextons

Page 115: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

BoW

Page 116: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

BagOfWords- BOW• Representação da frequência acumulada de palavras em documentos diferentes a partir de um dicionário pré-criado

Page 117: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Paraimagem:BagofFeatures• Inicialmente, extraia features (partes)

Page 118: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Paraimagem:BagofFeatures• Aprenda um vocabulário visual de partes

Page 119: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Paraimagem:BagofFeatures• Se utiliza alguma técnica não supervisionada de

aprendizado para fazer o vocabulário

• A mais comum, kmeans

• Classifica o grupo de amostras em K grupos porproximidade

• K neste caso é o tamanho do vocabulário!

Page 120: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Paraimagem:BagofFeatures

Page 121: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Paraimagem:BagofFeatures• Quantize as partes em relação ao vocabulário• Representar as imagens na forma de

frequências (histograma) de partes do vocabulário

Page 122: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Paraimagem:BagofFeatures1. Inicialmente, extraia features (partes – SIFT,

SURF ...)2. Aprenda um vocabulário visual de partes3. Quantize as partes em relação ao vocabulário• Representar as imagens na forma de

frequências (histograma) de partes do vocabulário

4. Parta para o aprendizado de máquinausando a representacão do BOW

Page 123: Uma nãotãobreve introduçãoaobásico de PInca.ufma.br/~geraldo/vcm/2.basico_pi.pdfNemsempre… •nemsemprea aquisiçãoéperfeita(pensenuma aplicaçãosemruídos…) •Sujeitaa:

Etapas

Aquisição

Melhoramento/Tratamento/Rep

resentação

Detecção

Descrição

Reconhecimento

123