4.2 Metodologia do SURF
4.2.2 Detector Fast-Hessian
Fast-Hessian
O detector SURF ´e baseado no determinante da matriz Hessiana. Para a utiliza¸c˜ao de Hessian ´e considerada uma fun¸c˜ao cont´ınua de duas vari´aveis, na qual o valor da fun¸c˜ao em (x, y) ´e dada por f (x, y). A matriz Hessiana, H, ´e a matriz das derivadas parciais da fun¸c˜ao mencionada no ponto 3.3.2 desta disserta¸c˜ao.
Para a aplica¸c˜ao da matriz Hessiana a imagens, em vez de a fun¸c˜oes cont´ınuas, primeiramente substituem-se os valores da fun¸c˜ao f (x, y) pela intensidade do p´ıxel I(x, y). De seguida, ´e necess´ario um m´etodo para calcular as segundas derivadas da imagem. O c´alculo das derivadas pode efectuar-se com base na convolu¸c˜ao com uma m´ascara apropriada. No caso do SURF, a escala de segunda ordem normali- zada de Gaussian ´e o filtro escolhido que permite a an´alise em diferentes escalas e espa¸co. ´E poss´ıvel construir m´ascaras para as derivadas Gaussianas, em x e y, e combinar a direc¸c˜ao xy de forma a se calcular as quatro entradas da matriz Hessi- ana. A utiliza¸c˜ao de Gaussian permite variar a quantidade de suaviza¸c˜ao durante a convolu¸c˜ao, de modo a que o determinante seja calculado em escalas diferentes. Uma vez que o Gaussian ´e uma fun¸c˜ao isotr´opica (isto ´e, circularmente sim´etrico) a convolu¸c˜ao com a m´ascara permite invariˆancia `a rota¸c˜ao. Pode calcular-se a matriz Hessiana, H, como fun¸c˜ao de ambos os espa¸cos x = (x, y) e escala σ (Evans, 2009):
H(f (x, y)) = Lxx(x, σ) Lxy(x, σ) Lxy(x, σ) Lyy(x, σ)
onde Lxx(x, σ) se refere `a convolu¸c˜ao da derivada Gaussiana de segunda ordem δ2δxg(σ)2
s˜ao conhecidas como Laplaciano da Gaussiana.
De seguida, procede-se ao c´alculo do determinante de Hessian para cada pixel da imagem, usando o valor deste para encontrar pontos de interesse. Esta varia¸c˜ao do detector Hessiano ´e semelhante ao proposto por Beaudet (1978).
Lowe (2004) propˆos uma melhoria no desempenho quando se aproxima o Laplaci- ano de Gaussiana pela diferen¸ca Gaussiana, ver sec¸c˜ao 3.3.2. De modo semelhante, Herbert Bay (2008) propˆos uma aproxima¸c˜ao para o Laplaciano de Gaussian, uti- lizando box filter representations, das respectivas m´ascaras. A figura 4.2 ilustra a semelhan¸ca entre os n´ucleos discretizados e cortados e os filtros equivalentes. Uti- lizando estes filtros em conjunto com a imagem integral, obt´em-se um aumento de desempenho consider´avel. Para quantificar a diferen¸ca, considera-se o n´umero de acessos `a matriz e opera¸c˜oes necess´arias na convolu¸c˜ao. Deste modo para um filtro de 9× 9 seriam necess´arios 81 acessos `a matriz e opera¸c˜oes para o valor real do filtro original, e apenas 8 para a box filter representations. Assim `a medida que se au- menta o tamanho do filtro, o custo computacional aumenta significativamente para o Laplaciano original, enquanto que o mesmo custo para os box filters ´e invariante ao tamanho.
Na figura 4.2 o valor aplicado a cada uma das sec¸c˜oes do filtro ´e mantido simples, sendo que para o filtro Dxy as regi˜oes a negro tˆem o valor de 1, as regi˜oes brancas o valor de -1 e as restantes regi˜oes n˜ao possuem valor algum. Os filtros Dxx e Dyy s˜ao valorados de forma semelhante, mas com as regi˜oes brancas a corresponder ao valor -1 e as negras ao valor 2. Uma valora¸c˜ao simples permite o c´alculo r´apido das regi˜oes, mas para a utiliza¸c˜ao destes valores ´e necess´ario compensar os valores originados pela diferen¸ca entre o original e a aproima¸c˜ao das m´ascaras. Herbert Bay (2008) prop˜oe a seguinte express˜ao, como uma aproxima¸c˜ao precisa para o determinante Hessiano, utilizando a aproxima¸c˜ao Gaussiana (Evans, 2009):
Figura 4.2 – Filtros Laplacianos (em cima) e Box Filter (em baixo), da esquerda para a direita os filtros Dxx, Dyy e Dxy (Evans, 2009).
Em (Herbert Bay, 2008), os dois filtros s˜ao comparados em pormenor, e os resultados apontam para que a box filter representations apresente uma perda desprez´ıvel de precis˜ao, a qual ´e largamente compensada pelo aumento consider´avel em eficiˆencia e rapidez. O determinante aqui ´e referido como resposta ao agrupamento na loca- liza¸c˜ao de x = (x, y, σ). A procura dos m´aximos locais desta fun¸c˜ao sobre o espa¸co e a escala, produz os pontos de interesse da imagem. O m´etodo exacto para a extrac¸c˜ao dos pontos de interesse ´e abordado na sec¸c˜ao seguinte.
Constru¸c˜ao do Scale-Space
Para detectar pontos de interesse, utilizando o determinante Hessiano, ´e necess´ario introduzir a no¸c˜ao de scale-space. Um scale-space ´e uma fun¸c˜ao cont´ınua que pode ser utilizada para encontrar extremos em todas as escalas poss´ıveis Witkin (1983).
Na vis˜ao por computador, um scale-space ´e geralmente implementado como uma pirˆamide de imagens, onde a imagem de entrada ´e v´arias vezes convolvida com a m´ascara Gaussiana, e repetitivamente subdividida, reduzindo o seu tamanho. Este m´etodo ´e utilizado no SIFT (Lowe, 2004), mas uma vez que cada camada depende da anterior, e as imagens precisam para ser redimensionadas, n˜ao ´e computacional- mente eficiente. Como o tempo de processamento das m´ascaras utilizadas no SURF, ´e invariante ao tamanho das mesmas, os scale-spaces podem ser criados aplicando
m´ascaras de maior tamanho `a imagem original, permitindo que m´ultiplas camadas
do scale-space possam ser processadas simultaneamente, eliminando assim a neces- sidade da imagem da camada anterior, proporcionando, deste modo, um aumento do desempenho.
A figura 4.3 ilustra a diferen¸ca entre a estrutura tradicional de scale-space e a utili- zada no SURF.
Figura 4.3 – Constru¸c˜ao tradicional (`a esquerda) e constru¸c˜ao utilizada no SURF (`a direita) (Evans, 2009).
O scale-space ´e dividido num n´umero de octavos, onde um octavo se refere a uma
s´erie de mapas de resposta que envolve uma duplica¸c˜ao de escala. No SURF o n´ıvel mais baixo do scale-space ´e obtido a partir do resultado das m´ascaras 9×9, ilustradas na figura 4.2. Estas m´ascaras correspondem a valores reais Gaussianos com σ = 1, 2. As camadas seguintes s˜ao obtidas pelo aumento em escala das m´ascaras, mantendo
as propor¸c˜oes e disposi¸c˜oes das mesmas. `A medida que o tamanho da m´ascara
as propor¸c˜oes permanecem constantes, pode calcular-se esta escala pela seguinte express˜ao (Evans, 2009):
σapprox = CurrentF ilterSize·
BaseF ilterScale BaseF ilterSize = CurrentF ilterSize· 1.2
9
Ao construir m´ascaras maiores, existe um n´umero de factores que se deve ter em
considera¸c˜ao. O aumento do tamanho ´e limitado pela dimens˜ao das sec¸c˜oes positiva e negativa, subjacentes `a derivada Gaussiana, de segunda ordem. Nas m´ascaras, o tamanho das regi˜oes ´e definida como um ter¸co do tamanho do lado da m´ascara, o qual se refere ao lado mais curto das regi˜oes ponderadas, a preto e branco. Uma vez que ´e necess´aria a presen¸ca de um pixel central, as dimens˜oes devem ser aumen- tadas igualmente em torno desta localiza¸c˜ao, portanto o tamanho das sec¸c˜oes pode aumentar num m´ınimo de 2 unidades. Uma vez que existem trˆes regi˜oes em cada m´ascara, as quais devem ter o mesmo tamanho, a propor¸c˜ao de altera¸c˜ao entre dois filtros consecutivos ´e de 6 unidades. Para os filtros Dxx e Dyy o comprimento do lado mais longo das regi˜oes ponderadas, aumenta por 2 unidades, em cada lado, de forma a preservar a estrutura. A figura 4.4 ilustra a estrutura das m´ascaras, uma vez que aumentam de tamanho.
Localizar Pontos de Interesse
O processo de localiza¸c˜ao de pontos de interesse invariantes `a escala e `a rota¸c˜ao numa imagem, pode ser dividida em trˆes etapas. Na primeira, as respostas s˜ao limitadas, de modo a que todos os valores abaixo do limite predeterminado sejam removidos. O aumento do limite diminui o n´umero de pontos de interesse detectados, deixando apenas os mais fortes, enquanto a diminui¸c˜ao do limite permite que sejam detectados muitos mais pontos de interesse. Consequentemente, o limite pode ser adaptado consoante a aplica¸c˜ao e o n´ıvel de detec¸c˜ao necess´ario.
Depois de limitar o n´umero de pontos de interesse, uma supress˜ao n˜ao-m´axima
´e realizada para encontrar um conjunto de pontos candidatos. Para o efeito, cada pixel no scale-space ´e comparado com os seus 26 vizinhos, compostos por 8 pontos na escala nativa e 9 pontos em cada uma das escalas acima e abaixo, respectivamente. A figura 4.5 ilustra o passo da supress˜ao n˜ao-m´axima. Nesta fase, tem-se um conjunto de pontos de interesse com resistˆencia m´ınima, determinada pelo valor de limite, os quais correspondem tamb´em a m´aximos ou m´ınimos locais no scale-space.
Figura 4.5 – Supress˜ao n˜ao-m´axima (Evans, 2009).
O passo final na localiza¸c˜ao dos pontos de interesse, envolve a interpola¸c˜ao dos dados mais pr´oximos do ponto de interesse, de forma encontrar a localiza¸c˜ao precisa na
escala e espa¸co do sub-pixel. Este procedimento efectua-se encaixando um quadrado 3D (CUBO), como proposto por Matthew Brown (2002). Para tal, recorre-se ao de- terminante da fun¸c˜ao Hessiana, H(x, y, σ), como uma expans˜ao de Taylor, capaz de criar termos quadr´aticos centrados na localiza¸c˜ao detectada, expresso como (Evans, 2009): H(x) = H + δH T δx x + 1 2x Tδ2H δx2 x
A localiza¸c˜ao interpolada do extremo, ˆx = (x, y, σ), ´e encontrada tomando a deri- vada desta fun¸c˜ao e definindo-a em zero, tal que (Evans, 2009):
ˆ x =−δ 2H−1 δx2 δH δx
As derivadas aqui s˜ao aproximadas por diferen¸cas finitas de pixels vizinhos. Se ˆx ´e maior do que 0,5 nas direc¸c˜oes X ou Y , ajusta-se a localiza¸c˜ao e realiza-se a interpola¸c˜ao novamente. Este procedimento ´e repetido at´e ˆx ser inferior a 0,5 em todas as direc¸c˜oes ou at´e que o n´umero predeterminado de interpola¸c˜oes tenha sido excedido. Esses pontos n˜ao convergentes s˜ao exclu´ıdos do conjunto de pontos de interesse, deixando apenas os mais est´aveis e repet´ıveis.