Algoritmo de procesamiento de imágenes clásico: transformación de características invariantes a escala SIFT

1. Introducción a SIFT

SIFT (transformación de características invariantes de escala, transformación de características invariantes de escala) es un algoritmo tradicional de extracción de imágenes publicado por David G. Lowe en 1999. Después de modificaciones y mejoras, se publicó en IJCV en 2004. El nombre del artículo es Características de imagen distintivas Desde Puntos clave invariantes de escala, el texto original está aquí.

El algoritmo SIFT es un algoritmo basado en puntos de interés locales, que no es sensible a la escala de la imagen ni a la rotación de la imagen, y el algoritmo también es resistente a los efectos de la iluminación y el ruido.

El algoritmo SIFT se divide principalmente en cuatro pasos:

1. Detección de extremos de espacio de escala (detección de extremos de espacio de escala): mediante el uso de la función de diferencia gaussiana para buscar la posición de la imagen en todas las escalas, identifique los puntos de interés potenciales que son invariantes a la escala y la dirección.

2. Localización de puntos clave : en cada ubicación candidata, se utiliza un modelo bien ajustado para determinar la ubicación y la escala, y la selección de puntos clave depende de su estabilidad.

3. Asignación de orientación (asignación de orientación para cada punto clave): en función de la dirección del degradado de la imagen local, asigne una o más direcciones a cada posición de punto clave y todas las operaciones posteriores en los datos de la imagen se basan en puntos clave relativos La dirección, se transforma la escala y posición del objeto, obteniendo así la invariancia de dirección y escala.

4. Descriptor de punto clave : dentro de cada dominio de punto clave, los gradientes de imagen locales se calculan a escalas seleccionadas y estos gradientes se transforman en una representación que permite la deformación e iluminación de formas locales relativamente grandes Variedad.

2. Detección del extremo del espacio de escala

Las pirámides gaussianas se construyen utilizando núcleos gaussianos y cada capa de escala contiene imágenes en un conjunto de escalas. Aquí, las pirámides de características de diferentes grupos se obtienen mediante muestreo a intervalos.

 En cada grupo (octava), haga una diferencia por pares para construir una pirámide de diferencia gaussiana.

En la pirámide de diferencias gaussianas, para cada 3\veces 3\veces 3cubo, compare el tamaño del punto central con los otros 26 puntos.Si el punto central es el más grande o el más pequeño, entonces el punto central es el punto extremo.

 

s representa el número de capas de características que queremos obtener en la pirámide de diferencias gaussianas, luego se requiere una pirámide de diferencias gaussianas con s+2 capas, y se requiere una pirámide gaussiana con s+3 capas. Por lo tanto, se requieren s+3 capas de imágenes en la octava de cada grupo.

3. Posicionamiento de puntos clave

Los puntos extremos detectados en los pasos anteriores son los puntos extremos del espacio discreto. Estos puntos extremos no son muy precisos. Necesitamos determinar con precisión la posición y la escala de los puntos clave, y eliminar los puntos clave de bajo contraste y los puntos de borde inestables. (porque el operador DoG producirá una fuerte respuesta de borde), mejorando así la estabilidad.

Los puntos extremos del espacio discreto no son puntos extremos reales, como se muestra en la siguiente figura, los puntos extremos del espacio continuo se pueden obtener por interpolación de los puntos extremos del espacio discreto.

Por lo tanto, aquí, la aproximación de expansión de Taylor de segundo orden se realiza en los puntos extremos de la imagen

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

Encuentre la derivada, sea 0, y encuentre el punto extremo del espacio continuo:

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

Sustituya el punto extremo en la fórmula de aproximación de Taylor anterior para obtener el valor en la posición del punto extremo:

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

Así, se puede obtener el punto extremo del espacio continuo real.

Luego elimine los puntos extremos con bajo contraste y efectos de borde, y finalmente obtenga todos los puntos extremos que deben conservarse.

La eliminación de los efectos de borde utiliza los valores propios de la matriz de Hassian, que en realidad es una derivada parcial de segundo orden. En la imagen de diferencia gaussiana, si es un punto característico del borde, su valor cambia en la dirección perpendicular al borde (correspondiente al valor propio más grande en la matriz Hassiana), y a lo largo de la dirección del borde, el valor cambia pequeño (correspondiente a la Valores propios más pequeños de la matriz de Hass). Por lo tanto, el efecto de borde se elimina eliminando los puntos característicos cuya relación entre el valor propio más grande y el valor propio más pequeño supera el umbral en la matriz de Hassian.

H=\left [ \begin{matriz} D_{xx} &D_{xy} \\ D_{xy} & D_{yy} \end{matriz} \right ]

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

Det(H)=D_{xx}D_{yy}-(D_{xy})^2=\alfa \beta

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

El resultado de la prueba es

La imagen a es la imagen original, la imagen b es la imagen de efecto obtenida mediante la detección directa de puntos clave y la imagen c es la imagen de efecto obtenida descartando los puntos extremos con poco contraste. La figura d es la imagen del efecto obtenida después de eliminar los puntos extremos del efecto de borde. 

4. Coincidencia de dirección

Para cada punto extremo, se cuentan las direcciones de gradiente y las magnitudes de gradiente de todos los píxeles en un círculo con un radio de 1,5 veces la escala de la imagen gaussiana donde se encuentra el punto característico. Obtenga el histograma que se muestra en la figura a continuación (en el documento, cada 10 grados es un rango, es decir, hay 36 direcciones). La dirección correspondiente al valor máximo del histograma es la dirección principal, y cualquier dirección superior al 80 % del valor máximo es la dirección auxiliar del punto característico.

5. Descriptor de punto clave

En los primeros tres pasos, encontramos las posiciones de todos los puntos característicos, y cada punto característico tiene información de dirección y escala. El siguiente paso es calcular los descriptores de estos puntos característicos en el área local.

Como se muestra en la figura a continuación, la imagen de gradiente de imagen está a la izquierda y el descriptor de punto clave está a la derecha. El descriptor está relacionado con la imagen de escala donde se encuentra el punto de característica, por lo tanto, en una imagen a escala gaussiana, con el punto de característica como centro, divida su vecindad en subregiones, y cada región cuenta la dirección y la escala de la característica 4\veces 4. Cada subregión se obtiene información de gradiente en 8 direcciones, por lo que cada punto de característica tiene una 4\veces 4\veces 8=128característica dimensional común.

6. Ejemplos de aplicaciones SIFT

Supongo que te gusta

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