Reconhecimento de Instâncias (parte 2) Rafael Galvão de Mesquita rgm@cin.ufpe.br Carlos Alexandre Mello cabm@cin.ufpe.br
SURF Speeded-Up Robust Features [3] Computer Vision and Image Understanding, 2004
SURF Baseado em conceitos similares ao SIFT Porém com uma grande vantagem: maior velocidade! Aproximação da DoG Uso de imagens integrais [9] reduzem o tempo de processamento
SURF Imagem Integral Cálculo rápido de filtros box Valor da imagem integral S(x, y) representa a soma de todos os pixels da imagem de entrada I em uma região retangular entre (0,0) e x, y S x, y = σ i<x i=0 σ j<y j=0 I(i, j)
SURF Imagem Integral Cálculo da imagem integral é realizado em apenas uma passagem pela imagem S x, y = I x, y + S x 1, y + S x, y 1 S(x 1, y 1)
SURF Cálculo da área de uma região retangular qualquer usando uma imagem integral S = s D s B s C + s(a) Area = 5+2+3+6 = 16 Area = D C B + A = 64 32 32 + 16 = 16 Vantagem: 4 acessos à memória, para qualquer tamanho de janela O(1)
SURF Fast-Hessian Detector Aproxima Diferença de Gaussianas utilizando filtros box Possibilita o uso de imagens integrais
SURF Detecção de Keypoints matriz Hessiana H = D xx D xy D xy D yy H aproximada utilizando filtros box (B) H B xx B xy B xy B yy São selecionados pontos de máximo determinante em uma vizinhança 3x3x3 que excedam um limiar th
SURF Scale-Space Custo computacional no redimensionamento da imagem é eliminado Ao invés de reduzir o tamanho da imagem (SIFT), tamanho do filtro aumenta (sem que o custo seja aumentado, já que imagens integrais são utilizadas)
SURF Orientação Uso de Haar-Wavelets em conjunto com imagens integrais Tamanho dos filtros e da vizinhança definida em função da escala do ponto Respostas pesadas utilizando uma gaussiana centrada no ponto
Orientação SURF Haar wavelets calculadas nas direções x (abscissas) e y (ordenadas) Para cada janela de tamanho π/3 uma orientação é estimada pela soma de todas as respostas das wavelets Orientação de dominante (janela de maior soma de respostas) é atribuída ao keypoint
SURF Descritor Região quadrada centrada no ponto de interesse Orientada em função da orientação dominante selecionada
SURF Descritor Região de vizinhança de cada keypoint é quebrada em 4x4 subregiões Para cada subregião Haar wavelets são computadas na direção horizontal (d x ) e vertical (d y ) (em relação à orientação dominante) d x e d y são computados em 5x5 pontos igualmente espaçados dentro da região d x e d y são pesadas com uma Gaussiana centrada no ponto de interesse
Descritor SURF
SURF Descritor Respostas de d x e d y são somadas em cada subregião para compor o descritor Além disso, soma-se d x e d y Assim, cada subregião possui um vetor descritor v = (σ d x, σ d y, σ d x, σ d y ) Tamanho do descritor: (4x4)x4=64 subregiões d x, d y, d x, d y
SURF Descritor Por que v = (σ d x, σ d y, σ d x, σ d y )?? Caso a região seja homogênea, todos os valores são baixos Na presença de altas frequências na direção x,σ d x é alto, mas σ d x não Se a intensidade cresce gradualmente na direção x, σ d x e σ d x são altos
SURF Variações SURF-128 Valores de d x e d y computados separadamente para valores positivos e negativos Tamanho do descritor dobra (128) Descritor se torna mais discriminativo, mas fase de matching se torna mais lenta... U-SURF Uso de orientação é descartado Mais rápido Específico para situações onde variações de orientação não são esperadas
Matching
Matching Imagem referência keypoints detectados descritores de cada região construídos Imagem de teste keypoints detectados descritores de cada região construídos Como relacionar as duas imagens?
Matching Estratégia simples (Limiarização) Definir um limiar de distância máxima t Selecionar todas as correspondências entre descritores da cena e do objeto buscado cuja distancia seja menor que t
Matching Estratégia simples (Limiarização) Dificilmente essa idéia funcionará bem para reconhecimento de objetos Difícil escolher um valor para t Para um valor de t muito alto muitos falsos positivos são retornados Para t muito baixo, o número de falsos negativos cresce Além disso... Existe um único valor de t apropriado?
Matching NNDR - Nearest Neighbour Distance Ratio (knnratio) Distância euclidiana de cada descritor de uma das imagens é calculada para cada descritor da outra imagem Distância Euclidiana
Matching Nearest Neighbour Ratio Distância euclidiana de cada descritor de uma das imagens é calculada para cada descritor da outra imagem Distância Euclidiana
Matching Nearest Neighbour Ratio Distância euclidiana de cada descritor de uma das imagens é calculada para cada descritor da outra imagem Distância Euclidiana
Matching Menor distância armazenada d 1 Segunda menor distância armazenada (d 2 ) Knn-ratio (k=2) Caso duas distâncias sejam próximas, temos uma ambiguidade Caso as duas distâncias sejam muito diferentes, sabemos que d 1 é, no pior caso, igualmente distinta em relação aos outros descritores Caso d 1 d 2 < r, correspondência detectada! Caso contrário, assume-se que não existe correspondência
Matching Utilizando um limiar fixo (círculo tracejado) D A e D B não são relacionados corretamente Além disso, D E e D C são incorretamente relacionados à D D Ilustração retirada de [1]
Matching Utilizando apenas vizinho mais próximo D A e D B são relacionados corretamente No entanto, D C é incorretamente relacionado à D D Ilustração retirada de [1]
Matching Utilizando NNDR Um pequeno valor de r(> d 1 d 2 ) é suficiente para relacionar D A e D B Além disso, mesmo um alto valor de r(< d 1 d 2 ) seria suficiente para rejeitar as correspondências de D C e D E para D D Para d 1 < r < d 1 d 2 d todos os 2 exemplos são classificados corretamente Ilustração retirada de [1]
NNDR Sugestão para r em [6] (SIFT): 0.8 Elimina 90% das correspondências falsas Ao custo de deixar de detectar apenas 5% das corretas No entanto, em outras situações esse valor pode não ser adequado! Matching
Descritores Binários Como reduzir tempo de processamento da fase de matching? Descritores binários Vetor descritor de cada região armazena valores binários ao invés de valores de ponto flutuante Distância hamming (XOR) é mais rápida de ser computada do que a euclidiana Vetor é construído através de comparações de intensidade entre pares de pixels ou regiões Exemplos: BRIEF, BRISK, ORB,...
AKAZE Descritores Binários Etapa de detecção de keypoints Fast Explicit Diffusion for Accelerated Features in Nonlinear Scale Spaces), 2013 [12,13] Melhora nos resultados ao usar difusão não linear Filtragem preserva bordas» Mesmo nas escalas mais altas No entanto, com alto tempo de processamento...
Descritores Binários AKAZE Detecção de keypoints Filtragem Gaussiana Difusão não linear
Descritores Binários AKAZE Descrição de keypoints LDB [17] Região é dividida em patches Para cada patch, médias de intensidade (I) e gradientes (dx e dy) são computados É gerada uma cadeia de 3 bits para cada par de patch se I patch A > I patch B adicione 1 ao descritor Caso contrário, adicione 0 se dx patch A > dx patch B adicione 1 ao descritor Caso contrário, adicione 0 se dy patch A > dy patch B adicione 1 ao descritor Caso contrário, adicione 0 I, dx e dy entre todos os possíveis pares de patches são comparados Cadeias de 3 bits de todas as possíveis combinações são concatenadas para gerar o vetor binário (descritor)
Descritores Binários AKAZE Descrição de keypoints LDB [17]
Descritores Binários AKAZE Descrição de keypoints LDB [17] Patches 2x2, 3x3 e 4x4 são utilizados LDB não é invariante à rotação Utiliza imagem integral para calcular área dos patches Imagem integral requer regiões retangulares sem rotação Visitar cada pixel de cada patch para somar área dos patches seria computacionalmente ineficiente
Descritores Binários AKAZE Descrição de keypoints AKAZE propõe o Modified-Local Difference Binary (M-LDB) para realizar a descrição de keypoints M-LDB (proposto no AKAZE) M-LDB utiliza uma aproximação da area dos patches por meio de uma subamostragem dos pixels
Descritores Binários AKAZE Descrição de keypoints M-LDB (proposto no AKAZE) Tamanho do descritor Grid 2x2: 3 C 2 4 = 3 6 = 18bits Grid 3x3: 3 C 2 9 = 3 36 = 108bits Grid 4x4: 3 C 2 16 = 3 120 = 360bits 18+108+360=486 bits! I,dx e dy Numero de patches Comparação entre pares de patches Tempo de matching é considerado alto, por conta do tamanho do descritor No entanto, o fato de um descritor binário ser utilizado ajuda a reduzir tempo de processamento
Dúvidas?
Referências 1. SZELISKI, R. Computer Vision: algorithms and applications. 1st.ed. New York, NY, USA: Springer-Verlag New York, Inc., 2010. 2. EVERINGHAM, M. et al. The Pascal Visual Object Classes Challenge: a retrospective. 3. BAY, H. et al. Speeded-Up Robust Features (SURF). Comput. Vis. Image Underst., New York,NY, USA, v.110, n.3, p.346 359, June 2008. 4. LEUTENEGGER, S.; CHLI, M.; SIEGWART, R. Y. BRISK: binary robust invariant scalable keypoints. In: ICCV, 2011.,Washington, DC, USA. Proceedings... IEEE Computer Society, 2011. p.2548 2555. (ICCV 11).
Referências 5. LOWE, D. G. Distinctive Image Features from Scale-Invariant Keypoints. Int. J. Comput. Vision, Hingham, MA, USA, v.60, n.2, p.91 110, Nov. 2004. 6. Lowe, D.G. 1999. Object recognition from local scale-invariant features. In International Conference on Computer Vision, Corfu, Greece, pp. 1150-1157. 7. Lowe, D.G. 1999. Object recognition from local scale-invariant features. In International Conference on Computer Vision, Corfu, Greece, pp. 1150-1157. 8. Brown, M. and Lowe, D.G. 2002. Invariant features from interest point groups. In British Machine Vision Conference, Cardiff, Wales, pp. 656-665.
Referências 9. Viola, P., Jones, M.: Rapid object detection using a boosted cascade of simple features. In: CVPR (1). (2001) 511 518 10. Mikolajczyk, K., Schmid, C.: A performance evaluation of local descriptors. In: CVPR. Volume 2. (2003) 257 263 11. CALONDER, M. et al. BRIEF: binary robust independent elementary features. In: ECCV: PART IV, 11. Proceedings... Springer-Verlag, 2010. p.778 792. (ECCV 10). 12. KAZE Features. Pablo F. Alcantarilla, Adrien Bartoli and Andrew J. Davison. In European Conference on Computer Vision (ECCV), Fiorenze, Italy, October 2012
Referências 13. Fast Explicit Diffusion for Accelerated Features in Nonlinear Scale Spaces. Pablo F. Alcantarilla, J. Nuevo and Adrien Bartoli. In British Machine Vision Conference (BMVC), Bristol, UK, September 2013 14. Fischler, M. A. and Bolles, R. C. (1981). Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, 24(6):381 395. 15. HARTLEY, R. I.; ZISSERMAN, A. Multiple View Geometry in Computer Vision. 2.ed. [S.l.]: "Cambridge University Press, ISBN: 0521540518", 2004. 16. https://www.youtube.com/watch?v=npcms49v5hg 17. X. Yang and K. T. Cheng. LDB: An ultra-fast feature for scalable augmented reality, In IEEE and ACM Intl. Sym. on Mixed and Augmented Reality (ISMAR), 2012.