Algoritmo Clássico de Processamento de Imagem -- Transformação de Recurso Invariante de Escala SIFT

1. Introdução ao SIFT

SIFT (Scale-invariant feature transform scale-invariant feature transform) é um algoritmo tradicional de extração de imagens publicado por David G. Lowe em 1999. Após modificações e melhorias, foi publicado no IJCV em 2004. O nome do artigo é Distinctive Image Features De Scale-Invariant Keypoints, o texto original está aqui.

O algoritmo SIFT é um algoritmo baseado em pontos de interesse locais, que não é sensível à escala e rotação da imagem, e o algoritmo também é robusto aos efeitos de iluminação e ruído.

O algoritmo SIFT é dividido principalmente em quatro etapas:

1. Detecção de extremo de espaço de escala (detecção de extremo de espaço de escala): Usando a função de diferença gaussiana para pesquisar a posição da imagem em todas as escalas, identifique pontos de interesse potenciais que são invariantes em relação à escala e direção.

2. Localização do ponto-chave : Em cada local candidato, um modelo bem ajustado é usado para determinar a localização e a escala, e a seleção dos pontos-chave depende de sua estabilidade.

3. Atribuição de orientação (atribuição de orientação para cada ponto-chave): Com base na direção do gradiente da imagem local, atribua uma ou mais direções a cada posição do ponto-chave e todas as operações subsequentes nos dados da imagem são baseadas em pontos-chave relativos A direção, escala e posição do objeto são transformadas, obtendo-se assim a invariância de direção e escala.

4. Descritor de ponto-chave : dentro de cada domínio de ponto-chave, os gradientes locais da imagem são calculados em escalas selecionadas e esses gradientes são transformados em uma representação que permite a deformação e iluminação de formas locais relativamente grandes Variedade.

2. Detecção de espaço de escala extrema

As pirâmides gaussianas são construídas usando núcleos gaussianos e cada camada de escala contém imagens em um conjunto de escalas. Aqui, as pirâmides de características de diferentes grupos são obtidas por amostragem em intervalos.

 Em cada grupo (oitava), faça uma diferença par a par para construir uma pirâmide de diferenças gaussianas.

Na pirâmide de diferenças gaussianas, para cada 3\vezes 3\vezes 3cubo, compare o tamanho do ponto central com os outros 26. Se o ponto central for o maior ou o menor, então o ponto central é o ponto extremo.

 

s representa o número de camadas de recursos que queremos obter na pirâmide de diferenças Gaussianas, então é necessária uma pirâmide de diferenças Gaussiana com s+2 camadas e uma pirâmide Gaussiana com s+3 camadas. Portanto, são necessárias s+3 camadas de imagens na oitava de cada grupo.

3. Posicionamento do ponto-chave

Os pontos extremos detectados nas etapas acima são os pontos extremos do espaço discreto. Esses pontos extremos não são muito precisos. Precisamos determinar com precisão a posição e a escala dos pontos-chave e remover pontos-chave de baixo contraste e pontos de borda instáveis (porque o operador DoG produzirá uma forte resposta de borda), aumentando assim a estabilidade.

Os pontos extremos do espaço discreto não são pontos extremos reais, como mostra a figura abaixo, os pontos extremos do espaço contínuo podem ser obtidos pela interpolação dos pontos extremos do espaço discreto.

Portanto, aqui, a aproximação de expansão de Taylor de segunda ordem é realizada nos pontos extremos da imagem

D(x)=D+\frac{\parcial D^T}{\parcial x}x+\frac{1}{2}x^T\frac{\parcial^2 D}{\parcial x^2}x

Encontre a derivada, seja 0, e encontre o ponto extremo do espaço contínuo:

\hat{x}=-\frac{\parcial^2 D^{-1}}{\parcial x^2}\frac{\parcial D}{\parcial x}

Substitua o ponto extremo na fórmula de aproximação de Taylor acima para obter o valor na posição do ponto extremo:

D(\hat{x})=D+\frac{1}{2}\frac{\parcial D^T}{\parcial x}\hat{x}

Assim, o ponto extremo do espaço contínuo real pode ser obtido.

Em seguida, remova os pontos extremos com baixo contraste e efeitos de borda e, finalmente, obtenha todos os pontos extremos que precisam ser mantidos.

A remoção dos efeitos de borda usa os autovalores da matriz hassiana, que na verdade é uma derivada parcial de segunda ordem. Na imagem de diferença gaussiana, se for um ponto de recurso de borda, seu valor muda na direção perpendicular à borda (correspondente ao maior autovalor na matriz hassiana) e ao longo da direção da borda, o valor muda pequeno (correspondente ao matriz hassiana menores autovalores). Portanto, o efeito de borda é removido removendo os pontos de recurso cuja razão do maior autovalor para o menor autovalor excede o limite na matriz hassiana.

H=\esquerda [ \begin{matriz} D_{xx} &D_{xy} \\ D_{xy} & D_{aa} \fim{matriz} \direita ]

Tr(H)=D_{xx}+D_{aa}=\alfa +\beta

Det(H)=D_{xx}D_{aa}-(D_{xy})^2=\alpha \beta

\frac{Tr(H)^2}{Det(H)}< \frac{(r+1)^2}{r}

O resultado do teste é

A imagem a é a imagem original, a imagem b é a imagem de efeito obtida pela detecção direta do ponto-chave e a imagem c é a imagem de efeito obtida descartando os pontos extremos com pequeno contraste. A Figura d é a imagem do efeito obtida após a remoção dos pontos extremos do efeito de borda. 

4. Correspondência de direção

Para cada ponto extremo, são contadas as direções de gradiente e as magnitudes de gradiente de todos os pixels em um círculo com um raio de 1,5 vezes a escala da imagem gaussiana onde o ponto de recurso está localizado. Obtenha o histograma mostrado na figura abaixo (no papel, a cada 10 graus é um intervalo, ou seja, são 36 direções). A direção correspondente ao valor de pico do histograma é a direção principal e qualquer direção maior que 80% do valor de pico é a direção auxiliar do ponto de recurso.

5. Descritor de ponto-chave

Nas três primeiras etapas, encontramos as posições de todos os pontos de recurso, e cada ponto de recurso possui informações de direção e escala. O próximo passo é calcular os descritores desses pontos característicos na área local.

Conforme mostrado na figura abaixo, a imagem de gradiente da imagem está à esquerda e o descritor do ponto-chave está à direita. O descritor está relacionado com a imagem da escala onde o ponto característico está localizado. Portanto, em uma imagem em escala gaussiana, com o ponto característico como centro, divida sua vizinhança em sub-regiões, e cada região conta a direção e a escala do 4\vezes 4recurso São obtidas informações de gradiente de cada sub-região em 8 direções, de modo que cada ponto de recurso possui um 4\vezes 4\vezes 8=128recurso dimensional comum.

6. Exemplos de aplicações SIFT

Acho que você gosta

Origin blog.csdn.net/panpan_jiang1/article/details/126944165
Recomendado
Clasificación