A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Processamento de imagens capturadas para algoritmos de Visão Computacional Curso de Visão Computacional Marcelo Gattass 2009.2.

Apresentações semelhantes


Apresentação em tema: "Processamento de imagens capturadas para algoritmos de Visão Computacional Curso de Visão Computacional Marcelo Gattass 2009.2."— Transcrição da apresentação:

1 Processamento de imagens capturadas para algoritmos de Visão Computacional Curso de Visão Computacional Marcelo Gattass

2 Resumo Motivação (aplicações) Requisitos Deteção de pontos e arestas –Analise da variação local –Deteção de arestas Sobel e –Deteção de pontos Haris SHIFT

3 object instance recognition (matching) David Lowe Motivação

4 Slide Set 12: Face Detection/Viola-Jones 4 CS 175, Fall 2007: Professor Padhraic Smyth Sample results using the Viola-Jones Detector Notice detection at multiple scales Motivação

5 Slide Set 12: Face Detection/Viola-Jones 5 CS 175, Fall 2007: Professor Padhraic Smyth Small set of 111 Training Images Motivação

6 How do we build panorama? We need to match (align) images Darya Frolova, Denis Simakov, The Weizmann Institute of Science, 2004 Motivação

7 Matching with Features Detect feature points in both images Darya Frolova, Denis Simakov, The Weizmann Institute of Science, 2004 Motivação

8 Matching with Features Detect feature points in both images Find corresponding pairs Darya Frolova, Denis Simakov, The Weizmann Institute of Science, 2004 Motivação

9 Matching with Features Detect feature points in both images Find corresponding pairs Use these pairs to align images Motivação

10 Matching with Features Problem 1: –Detect the same point independently in both images no chance to match! We need a repeatable detector Darya Frolova, Denis Simakov, The Weizmann Institute of Science, 2004 Motivação

11 Matching with Features Problem 2: –For each point correctly recognize the corresponding one ? We need a reliable and distinctive descriptor Darya Frolova, Denis Simakov, The Weizmann Institute of Science, 2004 Motivação

12 Example: Build a Panorama M. Brown and D. G. Lowe. Recognising Panoramas. ICCV 2003 Motivação

13 Photosynth Motivação

14 Busca de padrões geométricos Mauricio Ferreira, Diogo Carneiro e Carlos Eduardo Lara Visão 2005 Motivação

15 Requisitos Uma caracteristica deve ser robusta o suficiente para continuar se destacando mesmo quando a cena é capturada em diferentes condições

16 Types of invariance Illumination Tom Duerig Requisitos

17 Types of invariance Illumination Scale Tom Duerig Requisitos

18 Types of invariance Illumination Scale Rotation Tom Duerig Requisitos

19 Types of invariance Illumination Scale Rotation Affine Tom Duerig Requisitos

20 Types of invariance Illumination Scale Rotation Affine Full Perspective Tom Duerig Requisitos

21 Tipos de características de uma imagem Globais: histograma, conteúdo de freqüências, etc... Locais: regiões com determinada propriedade, arestas, cantos, curvas, etc... Análise local

22 Modelo Matemático: Função u v L L(u,v) Função Análise local

23 Derivadas direcionais x y f(x,y) Análise local

24 Norma da derivada Análise local

25 Mínimo de formas quadráticas de matrizes simétricas positivas definidas Análise local

26 Autovetores e autovalores de matrizes simétricas positivas definidas Análise local

27 Minimização como um problema de autovalores x y p x' y' mínimo Análise local

28 Teorema Espectral (Teorema dos Eixos Principais) Toda matriz simétrica S (S = S T ) pode ser fatorada em: - matriz diagonal real Q – matriz ortogonal, formada pelos autovetores de S MMachado Análise local

29 Estimando Orientação Local em Imagens J é máximo se y só tem componente na direção do autovetor de maior autovalor Mudança de base por rotação Usando o Teorema Espectral no problema de orientação: MMachado Análise local

30 Identificando Estruturas Lineares com PCA Problema. Dados os vetores v 1,...,v k, em N dimensões, estimar a orientação média quando o sinal de v i é ignorado. Solução. A orientação média é dada pelo eixo principal da matriz MMachado Análise local

31 Matriz de Variância-Covariância N variáveis M observações VariânciaCovariância MMachado Análise local

32 PCA maximiza a variância minimiza a variância Maior Componente Principal Menor Componente Principal X1X1 X2X2 MarcoMachado Análise local

33 PCA Variância total = soma das variâncias Variância total = traço de S Eixos principais também representam a variância total do conjunto de dados. –Primeiro eixo: 1 /traço(S) –Segundo eixo: 2 /traço(S) MarcoMachado Análise local

34 Estimando Orientação Local em Imagens Interpretação dos Autovalores – 1 =0, 2 =0 Intensidade constante, sem estrutura – 1 >0, 2 =0 Estrutura linear (invariante por deslocamento em uma única direção) – 1 >0, 2 >0 A estrutura desvia do modelo de estrutura linear –Ruído –Curvatura –Múltiplas orientações 1 = 2 –Estrutura isotrópica Análise local

35 Comportamento local: Classificação 1 2 Corner 1 e 2 são grandes, 1 ~ 2 ; aumenta em todas as direções 1 e 2 são pequenos; Quase constante em Edge 1 >> 2 Edge 2 >> 1 Flat Análise local

36 Detecção de arestas 1 > 2

37 Operadores clássicoss Prewitts Suaviza Diferencia Arestas

38 Openadores clássicos Sobels Suaviza Diferencia Arestas

39 Detector de arestas Arestas

40 Quality of an Edge Detector Robustness to Noise Localization Too Many/Too less Responses Poor robustness to noise Poor localization Too many responses True Edge Khurram Hassan-Shafique Arestas

41 Canny Edge Detector Criterion 1: Good Detection: The optimal detector must minimize the probability of false positives as well as false negatives. Criterion 2: Good Localization: The edges detected must be as close as possible to the true edges. Single Response Constraint: The detector must return one point only for each edge point. Khurram Hassan-Shafique Arestas

42 Hai Tao Arestas

43 The result –General form of the filter (N.B. the filter is odd so h(x) = -h(-x) the following expression is for x < 0 only) Camillo J. Taylor Arestas

44 Approximation –Cannys filter can be approximated by the derivative of a Gaussian Camillo J. Taylor Derivative of GaussianCanny Arestas

45 Canny Edge Detector Convolution with derivative of Gaussian Non-maximum Suppression Hysteresis Thresholding Khurram Hassan-Shafique Arestas

46 Algorithm Canny_Enhancer Smooth by Gaussian Khurram Hassan-Shafique Compute x and y derivatives Compute gradient magnitude and orientation Arestas

47 Canny Edge Operator Khurram Hassan-Shafique Arestas

48 Canny Edge Detector Khurram Hassan-Shafique Arestas

49 Canny Edge Detector Khurram Hassan-Shafique Arestas

50 We wish to mark points along the curve where the magnitude is biggest. We can do this by looking for a maximum along a slice normal to the curve (non-maximum suppression). These points should form a curve. There are then two algorithmic issues: at which point is the maximum, and where is the next one? Algorithm Non-Maximum Suppression Khurram Hassan-Shafique Arestas

51 Non-Maximum Suppression Suppress the pixels in Gradient Magnitude Image which are not local maximum Khurram Hassan-Shafique Arestas

52 Non-Maximum Suppression Khurram Hassan-Shafique Arestas

53 Non-Maximum Suppression Khurram Hassan-Shafique Arestas

54 Hysteresis Thresholding Khurram Hassan-Shafique Arestas

55 Hysteresis Thresholding If the gradient at a pixel is above High, declare it an edge pixel If the gradient at a pixel is below Low, declare it a non-edge-pixel If the gradient at a pixel is between Low and High then declare it an edge pixel if and only if it is connected to an edge pixel directly or via pixels between Low and High Khurram Hassan-Shafique Arestas

56 Hysteresis Thresholding Khurram Hassan-Shafique Arestas

57 Resultado de algoritmo de histerese Arestas

58 Subpixel Localization –One can try to further localize the position of the edge within a pixel by analyzing the response to the edge enhancement filter –One common approach is to fit a quadratic polynomial to the filter response in the region of a maxima and compute the true maximum. 01 Arestas

59 Segmentos de reta longos Um caso especial Segmentos retos longos

60 Hough Transform There are three problems in model fitting –Given the points that belong to a line, what is the line? –Which points belong to which line? –How many lines are there? Hough transform is a technique for these problems –The basic idea is to record all the models on which each point lies and then look for models that get many votes Segmentos retos longos

61 Hough Transform – cont. Straight line case –Consider a single isolated edge point (x i, y i ) There are an infinite number of lines that could pass through the points –Each of these lines can be characterized by some particular equation Segmentos retos longos

62 Hough Transform – cont. x y m c Segmentos retos longos

63 Hough Transform – cont. m c m c ponto de maior contribuição Segmentos retos longos

64 Hough Transform – cont. Segmentos retos longos

65 Hough Transform – cont. Hough transform algorithm 1. Find all of the desired feature points in the image 2. For each feature point For each possibility i in the accumulator that passes through the feature point Increment that position in the accumulator 3. Find local maxima in the accumulator 4. If desired, map each maximum in the accumulator back to image space Segmentos retos longos

66 Hough Transform – cont. x y 0 m e c [- + ] Segmentos retos longos

67 Hough Transform – cont. x y Segmentos retos longos

68 Hough Transform – cont. x y Segmentos retos longos

69 Transformada de Hough Segmentos retos longos

70 Transformada de Hough Segmentos retos longos

71 Busca de linhas longas no campo Outro enfoque: tese de Flávio Szenberg: Juiz Virtual Segmentos retos longos

72 Modelos Os modelos utilizados na tese: Modelo de um campo de futebol Modelo sem simetria Segmentos retos longos

73 Filtragem para realce de linhas O filtro Laplaciano da Gaussiana (LoG) é aplicado à imagem, baseado na luminância. filtro gaussiano filtro laplaciano Segmentos retos longos

74 Filtragem para realce de linhas Problemas com linhas duplas Segmentos retos longos

75 Filtragem para realce de linhas A transformação negativa é aplicada entre o cálculo da luminância e o filtro LoG. Segmentos retos longos

76 Filtragem para realce de linhas Resultado de uma segmentação (threshold) feita na imagem filtrada. (em negativo para visualizar melhor) Segmentos retos longos

77 Extração de segmentos de retas longos O objetivo é localizar segmentos de retas longos candidatos a serem linhas da imagem do modelo. O procedimento é dividido em dois passos: 1.Eliminação de pontos que não estão sobre nenhum segmento de reta. 2.Determinação de segmentos de retas. Segmentos retos longos

78 Eliminando pontos que não estão sobre um segmento de reta A imagem é dividida, por uma grade regular, em células retangulares. Segmentos retos longos

79 Eliminando pontos que não estão sobre um segmento de reta Para cada célula, os autovalores 1 e 2 ( 1 2 ) da matriz de covariância, dada abaixo, são calculados. Se 2 = 0 ou 1 / 2 > M (dado) então o autovetor de 1 é a direção predominante senão a célula não tem uma direção predominante Segmentos retos longos

80 Eliminando pontos que não estão sobre um segmento de reta Podemos atribuir pesos i aos pontos (resultado do LoG). Segmentos retos longos

81 Eliminando pontos que não estão sobre um segmento de reta Células com pontos formando segmentos de retas: Segmentos retos longos

82 Determinando segmentos de reta As células são percorridas de modo que as linhas são processadas de baixo para cima e as células em cada coluna são processadas da esquerda para direita. Um valor é dado para cada célula: Se não existe uma direção predominate na célula, o valor é zero. Caso contrário, verifica-se os três vizinhos abaixo e o vizinho à esquerda da célula corrente. Se algum deles tem uma direção predominante similar ao da célula corrente, quando unidos, então a célula corrente recebe o valor da célula que tem a direção mais similar; senão, um novo valor é usado para a célula corrente. Segmentos retos longos

83 Determinando segmentos de reta São formados grupos com células de mesmo valor, representados na figura abaixo por cores distintas. Segmentos retos longos

84 Extração de segmentos de reta Cada grupo fornece um segmento de reta. A reta de equação v=au+b é encontrada por método de mínimos quadrados: O segmento é obtido limitando a reta pela caixa envoltória dos pontos usados. Segmentos retos longos

85 Extração de segmentos de reta Os segmentos de reta que estão sobre a mesma reta suporte são unidos, formando segmentos longos, usando mínimos quadrados. No final do processo, tem-se um conjunto de segmentos de reta. f1f1 f2f2 f3f3 f4f4 f5f5 f6f6 f7f7 Segmentos retos longos

86 Extração de segmentos de reta Sobrepondo as linhas extraída na imagem, temos o seguinte resultado: Segmentos retos longos

87 Reconhecimento dos segmentos A partir do conjunto de segmentos, as linhas do modelo são detectadas e o modelo reconhecido [Grimson90]. Método baseado na Transformada de Hough. Método de reconhecimento baseado em modelo. Conjunto de restrições Segmentos retos longos

88 Reconhecimento dos segmentos F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 f1:f1: f2:f2: F1F1 F6F6 F2F2 F3F3 F4F4 F5F5 F7F7 Modelo F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 Árvore de Interpretação f1f1 f2f2 f3f3 f4f4 f5f5 f6f6 f7f7 Visualização Método de Reconhecimento baseado em Modelo Segmentos retos longos

89 O nó {f 1 : F 1, f 2 :F 6, f 3 :F 3 } é discardado por que viola a restrição: A linha representante de F 6 deve estar entres as linhas que representam F 1 e F 3, na visualização. F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 f1:f1: f2:f2: Árvore de Interpretação F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 f3:f3: Reconhecimento dos segmentos Discardando nós F1F1 F6F6 F2F2 F3F3 F4F4 F5F5 F7F7 Modelo f1f1 f2f2 f3f3 f4f4 f5f5 Visualização f6f6 f7f7 Segmentos retos longos

90 Reconhecimento dos segmentos Problema relacionado com a perspectiva Segmentos retos longos

91 Reconhecimento dos segmentos Problema relacionado com a perspectiva Segmentos retos longos

92 Reconhecimento dos segmentos Escolhendo a melhor solução F1F1 F6F6 F2F2 F3F3 F4F4 F5F5 F7F7 Modelo Em geral, existem diversas interpretações possíveis; Escolhemos a interpretação onde a soma dos comprimentos dos segmentos representativos é máxima. f 1 : F 4 f 2 : F 3 f 3 : f 4 : f 5 : F 6 f 6 : F 7 f 7 : F 1 Vencedor f1f1 f2f2 f3f3 f4f4 f5f5 f6f6 f7f7 Visualização f 1 : F 4 f 2 : f 3 : f 4 : F 3 f 5 : F 6 f 6 : F 7 f 7 : F 1 Segmentos retos longos

93 f 1 : F 2 f 2 : F 3 f 3 : f 4 : f 5 : F 6 f 6 : F 5 f 7 : F 1 f 1 : F 4 f 2 : F 3 f 3 : f 4 : f 5 : F 6 f 6 : F 7 f 7 : F 1 f1f1 f2f2 f3f3 f4f4 f5f5 f6f6 f7f7 Visualização Reconhecimento dos segmentos F1F1 F6F6 F2F2 F3F3 F4F4 F5F5 F7F7 Modelo Resultado final F7F7 F1F1 F6F6 F2F2 F3F3 F4F4 F5F5 Modelo ou Segmentos retos longos

94 Cálculo da transformação projetiva planar Uma transformação projetiva planar H (homografia) correspondente às linhas reconhecidas é encontrada (usando pontos de interseção e pontos de fuga como pontos de referência). Modelo reconstruído H pontos de interseção pontos de fuga Segmentos retos longos

95 Detector de cantos

96 Comportamento local: Classificação 1 2 Corner 1 e 2 são grandes, 1 ~ 2 ; aumenta em todas as direções 1 e 2 são pequenos; Quase constante em Edge 1 >> 2 Edge 2 >> 1 Flat Cantos

97 Harris Detector: Mathematics Measure of corner response: (k – empirical constant, k = ) Cantos

98 Harris Detector: Mathematics 2 R depends only on eigenvalues of M R is large for a corner R is negative with large magnitude for an edge |R| is small for a flat region 1 Corner Edge Flat R > 0 R < 0 |R| small Cantos

99 Algoritmo Comparação dos gráficos 1 Corner Edge Flat R > 0 R < 0 |R| small 2 Cantos

100 Algoritmo Comparação dos gráficos 1 Corner Edge Flat R > 0 R < 0 |R| small 2 Cantos

101 Algoritmo Comparação dos gráficos 1 Corner Edge Flat R > 0 R < 0 |R| small 2 Cantos

102 Harris Detector The Algorithm: –Find points with large corner response function R (R > threshold) –Take the points of local maxima of R Cantos

103 Harris Detector: Workflow Cantos

104 Harris Detector: Workflow Compute corner response R Cantos

105 Harris Detector: Workflow Find points with large corner response: R>threshold Cantos

106 Harris Detector: Workflow Take only the points of local maxima of R Cantos

107 Harris Detector: Workflow Cantos

108 Example: Gradient Covariances Full image Detail of image with gradient covar- iance ellipses for 3 x 3 windows from Forsyth & Ponce Corners are where both eigenvalues are big Cantos

109 Example: Corner Detection (for camera calibration) courtesy of B. Wilburn Cantos

110 Example: Corner Detection courtesy of S. Smith SUSAN corners Cantos

111 Harris Detector: Summary Average intensity change in direction [u,v] can be expressed as a bilinear form: Describe a point in terms of eigenvalues of M : measure of corner response A good (corner) point should have a large intensity change in all directions, i.e. R should be large positive Cantos

112 Harris Detector: Some Properties Rotation invariance Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response R is invariant to image rotation Cantos

113 Harris Detector: Some Properties Partial invariance to affine intensity change Only derivatives are used => invariance to intensity shift I I + b Intensity scale: I a I R x (image coordinate) threshold R x (image coordinate) Cantos

114 Harris Detector: Some Properties But: non-invariant to image scale! All points will be classified as edges Corner ! Cantos

115 Harris Detector: Some Properties Quality of Harris detector for different scale changes Repeatability rate: # correspondences # possible correspondences C.Schmid et.al. Evaluation of Interest Point Detectors. IJCV 2000 Cantos

116 SIFT (Scale Invariant Feature Transform) SIFT

117 SIFT stages: Scale-space extrema detection Keypoint localization Orientation assignment Keypoint descriptor ( ) local descriptor detectordescriptor A 500x500 image gives about 2000 features matching SIFT

118 1. Detection of scale-space extrema For scale invariance, search for stable features across all possible scales using a continuous function of scale, scale space. SIFT uses DoG filter for scale space because it is efficient and as stable as scale-normalized Laplacian of Gaussian. SIFT

119 Scale space doubles for the next octave K=2 (1/s) SIFT

120 Detection of scale-space extrema SIFT

121 Keypoint localization X is selected if it is larger or smaller than all 26 neighbors Pontos

122 2. Accurate keypoint localization Reject points with low contrast and poorly localized along an edge Fit a 3D quadratic function for sub-pixel maxima SIFT

123 Accurate keypoint localization Change sample point if offset is larger than 0.5 Throw out low contrast (<0.03) SIFT

124 Eliminating edge responses r=10 Let Keep the points with SIFT

125 Maxima in D SIFT

126 Remove low contrast and edges SIFT

127 3. Orientation assignment By assigning a consistent orientation, the keypoint descriptor can be orientation invariant. For a keypoint, L is the image with the closest scale, orientation histogram SIFT

128 Orientation assignment SIFT

129 Orientation assignment SIFT

130 Orientation assignment SIFT

131 Orientation assignment SIFT

132 SIFT descriptor SIFT

133 4. Local image descriptor Thresholded image gradients are sampled over 16x16 array of locations in scale space Create array of orientation histograms (w.r.t. key orientation) 8 orientations x 4x4 histogram array = 128 dimensions Normalized, clip values larger than 0.2, renormalize σ=0.5*width SIFT

134 FIM


Carregar ppt "Processamento de imagens capturadas para algoritmos de Visão Computacional Curso de Visão Computacional Marcelo Gattass 2009.2."

Apresentações semelhantes


Anúncios Google