3.2 T´ecnicas de Extrac¸˜ao de Caracter´ısticas
3.2.3 Speeded Up Robust Features (SURF)
Uma alternativa ao SIFT ´e apresentada por Leonardis (2006) e revisada por Bay (2008): um detector e descritor de caracter´ısticas invariante `a escala e `a rotac¸˜ao denominado SURF (Speeded-up Robust Features). Este m´etodo utiliza os mesmos passos do algoritmo SIFT, oti- mizando c´alculos por diferentes maneiras de encontrar, filtrar e definir pontos de interesse. Relembrando, os quatro passos do m´etodo SIFT s˜ao detecc¸˜ao de pontos de interesse, filtragem, obtenc¸˜ao de orientac¸˜ao do ponto e sua descric¸˜ao distribu´ıda.
Para a detecc¸˜ao de pontos de interesse, o m´etodo SIFT utiliza os pontos m´aximos e m´ınimos das diferenc¸as de gaussianas em escalas sucessivas. No m´etodo SURF, o mesmo efeito ´e alcanc¸ado analisando o determinante de uma matriz Hessiana, dada pela matriz H(p, σ ) com- putada pela equac¸˜ao 3.4.
H(p, σ ) = Lxx(p, σ ) Lxy(p, σ )
Lyx(p, σ ) Lyy(p, σ )
!
(3.4)
Os termos Lxx(p, σ ), Lxy(p, σ ), Lyx(p, σ ) e Lyy(p, σ ) correspondem `as convoluc¸˜oes das de-
rivadas gaussianas de segunda ordem centradas no ponto p= (x, y), cada uma em uma direc¸˜ao diferente. Estas derivadas s˜ao obtidas no m´etodo SIFT por sucessivas suavizac¸˜oes na imagem, e aqui, s˜ao aproximadas por filtros quadrados com pesos inteiros baseados na teoria de imagens integrais. Os c´alculos das matrizes L(p, σ ) s˜ao computacionalmente intensivos e lidam com n´umeros reais. Na Figura 3.12, temos as matrizes que gerar˜ao os termos originais da matriz Hessiana na esquerda, e na direita, temos as aproximac¸˜oes feitas por filtros utilizando pesos inteiros. Os filtros na primeira linha s˜ao correspondentes ao c´alculo de Lyy(p, σ ), e, na segunda
linha, Lxy(p, σ ). O termo σ tem valor de 1.2, sendo a menor escala de blur utilizada para encon-
trar blobs em uma imagem. Para aumentar a performance deste custoso processo, utilizam-se filtros quadrados integrais (LEWIS, 1995) para obter cada uma das orientac¸˜oes desejadas.
Figura 3.12: C´alculo das derivadas gaussianas de segunda ordem.
Fonte: Retirado de http://docs.opencv.org/3.0-beta/doc/py tutorials/py feature2d/ py surf intro/py surf intro.html em 09/01/2017.
Isto cobre a escala original da imagem. Mas, para encontrar caracter´ısticas invariantes `a escala, precisamos utilizar a teoria de espac¸o escalar e criar novas representac¸˜oes da imagem. No m´etodo SURF, isto ´e feito por uma pirˆamide de imagens criada por sucessivas convoluc¸˜oes de filtros com escala crescente (figura 3.13). Dividimos o espac¸o escalar em oitavas, assim
como no algoritmo SIFT, mas ao inv´es de alterar diretamente a imagem, alteramos o tamanho inicial do filtro gaussiano.
No n´ıvel inicial da pirˆamide, temos os filtros de 9× 9 pixels apresentados na figura 3.12. No segundo n´ıvel, aumentamos este filtro para 15× 15 pixels (processo ilustrado na figura 3.14). No terceiro, 21× 21 pixels. A cada n´ıvel, aumentamos o tamanho do filtro em 6 pixels em cada dimens˜ao. Na primeira oitava, os filtros comec¸am com 9× 9 pixels, e as pr´oximas oitavas tem acr´escimos iguais ao dobro da oitava anterior: a segunda oitava tem o primeiro n´ıvel em 15× 15
pixelse o segundo em 27× 27, por exemplo.
Figura 3.13: Pirˆamide de imagens. Na esquerda, o processo SIFT original. Na direita, o processo SURF.
Fonte: Retirado de (BAY, 2008).
Figura 3.14: Processo de aumento escalar dos filtros gaussianos aproximados. Na imagem, um filtro de 9x9 ´e passado para um n´ıvel superior, com tamanho 15x15.
Fonte: Retirado de (BAY, 2008).
Pontos de interesse s˜ao obtidos procurando os valores m´aximos em vizinhanc¸as de 3x3x3, nos seus vizinhos pr´oximos e entre escalas. Os pontos resultantes s˜ao interpolados em espac¸o escalar e de imagem para encontrar suas posic¸˜oes exatas na imagem original.
Para encontrar a orientac¸˜ao deste ponto de interesse, s˜ao calculadas as respostas das trans- formadas de Haar (HAAR, 1910) nas direc¸˜oes verticais e horizontais em um raio de 6s, onde s representa a escala do ponto. As respostas obtidas s˜ao multiplicadas por uma func¸˜ao gaussi- ana centrada no ponto de interesse e desenhadas como pontos em um espac¸o bidimensional. A orientac¸˜ao dominante do ponto de interesse ´e dada por um vetor com sua magnitude definida pela soma de todas as respostas em uma janela deslizante de tamanho π3, e sua direc¸˜ao definida pelo ˆangulo para o qual a janela est´a correntemente apontando. Esta janela verifica todos os ˆangulos poss´ıveis e gera um vetor local de orientac¸˜ao a cada passo. O maior vetor gerado den- tre todos ´e o escolhido para ser o dominante. Na figura 3.15, a orientac¸˜ao dominante pode ser vista como o vetor vermelho.
Figura 3.15: Extrac¸˜ao da orientac¸˜ao de um ponto de interesse pelo m´etodo SURF. O vetor indicado em vermelho ´e o maior dentre todos os poss´ıveis vetores encontrados pela janela deslizante em cinza.
Fonte: Retirado de (BAY, 2008).
Com a orientac¸˜ao definida, prosseguimos para a etapa de descric¸˜ao do ponto de interesse. Uma janela quadr´atica de tamanho 20s ´e gerada direcionada para a orientac¸˜ao dominante do ponto. Esta janela ´e dividida em quatro sub-regi˜oes de 4x4. Em cada setor destas sub-regi˜oes, 25 pontos de amostragem equidistantes s˜ao retirados e suas respostas `a transformada de Haar s˜ao computadas e rotacionadas de acordo com a orientac¸˜ao dominante (figura 3.16). Elas s˜ao, ent˜ao, somadas para representar a orientac¸˜ao e magnitude daquele setor, e cada sub-regi˜ao ar- mazena quatro n´umeros: a soma das derivadas nas direc¸˜oes verticais e horizontais, e a soma dos absolutos destas derivadas.
As quatro regi˜oes tem quatro somas cada, resultando em um vetor concatenado de 64 posic¸˜oes. Este vetor descreve o ponto de interesse com menor tamanho comparado com o m´etodo SIFT, otimizado e com acur´acia compar´avel.
Figura 3.16: Criac¸˜ao do vetor de descric¸˜ao em um ponto de interesse. Na esquerda, a janela quadr´atica orientada completa; na direita, uma sub-regi˜ao em destaque.
Fonte: Retirado de (BAY, 2008).