Transformación de características de escala invariable

La transformación de características invariantes de escala ( SIFT ) es un  algoritmo de detección de características en visión artificial para detectar y describir características locales en imágenes. El algoritmo fue patentado en Canadá por la Universidad de Columbia Británica [1] y publicado por David Lowe en 1999 [2] . Las aplicaciones incluyen reconocimiento de objetos mapeo y navegación , unión de imágenes modelado 3D , reconocimiento de gestos , seguimiento , identificación de vida silvestre y seguimiento posicional .

Primero, los puntos clave de los objetos se extraen en SIFT de un conjunto de imágenes de referencia [2] y se almacenan en la base de datos. Un objeto se reconoce en una nueva imagen comparando cada característica de la nueva imagen con las características de la base de datos y encontrando características candidatas en función de la distancia euclidiana entre los vectores de características. Del conjunto completo de coincidencias en la nueva imagen, se seleccionan subconjuntos de puntos clave que mejor coinciden con el objeto en términos de su ubicación, escala y orientación. La determinación de los bloques de características adecuados es rápida con una implementación de tabla hash eficiente de la transformada de Hough generalizada . Cada bloque de 3 o más características que sea consistente con el objeto y su posición está sujeto a una verificación más detallada del ajuste del modelo, y se descartan los valores atípicos. Finalmente, se calcula la probabilidad de que un determinado conjunto de características indique la presencia de un objeto, lo que brinda información sobre la precisión de la coincidencia y el número de posibles errores. Los objetos que pasan todas estas pruebas pueden considerarse correctos con un alto grado de certeza [3] .

Resumen

Para cualquier objeto en una imagen, los puntos característicos se pueden extraer para proporcionar una "descripción característica" del objeto. Esta descripción obtenida de la imagen de entrenamiento se puede usar para identificar el objeto cuando se intenta ubicar el objeto en una imagen de prueba que contiene muchos otros objetos. Para un reconocimiento confiable, es importante que las características extraídas de la imagen de entrenamiento puedan detectarse incluso con cambios en la escala de la imagen, ruido e iluminación. Dichos puntos generalmente se encuentran en áreas de alto contraste, como los bordes de los objetos.

Otra característica importante de estas características es que las posiciones relativas entre ellas no deben cambiar de una imagen a la siguiente. Por ejemplo, si solo las cuatro esquinas de una puerta se usaran como letreros, funcionarían independientemente de la posición de la puerta. Pero si también se usaran los puntos de la jamba de la puerta, el reconocimiento podría fallar porque la puerta podría estar abierta o cerrada. Del mismo modo, las funciones colocadas en objetos articulados o flexibles generalmente no funcionan si ocurre algún cambio en la geometría interna entre dos imágenes en el conjunto de procesamiento. Sin embargo, en la práctica, SIFT detecta y utiliza una cantidad mucho mayor de características de la imagen, lo que reduce la contribución de cada error causado por estos cambios locales al error total de todos los errores de coincidencia de características.

SIFT [1] puede seleccionar objetos de manera confiable incluso en presencia de ruido y superposición parcial, ya que el descriptor de características de SIFT es invariable al escalado proporcional , la orientación , los cambios de iluminación y es parcialmente invariable a las distorsiones afines [2] . Esta sección describe el algoritmo SIFT original y menciona varias técnicas en competencia disponibles para el reconocimiento de objetos ruidosos y superpuestos.

El descriptor SIFT se basa en mediciones de imágenes en términos de campos receptores [4] [5] [6] [7] , para los cuales se establecen marcos de referencia invariantes de escala locales [8] [9] seleccionando una escala local [10] [11] [ 9] . En el documento del proyecto Scholarpedia sobre SIFT [12] se proporciona una explicación teórica general del algoritmo .

Una tarea Técnica Ventaja
ubicación clave / escala / rotación Diferencia gaussiana / pirámide de escalas del espacio / asignación de direcciones precisión, estabilidad, escala e invariancia de rotación
distorsión geométrica desenfoque/remuestreo de los planos de orientación de la imagen local invariancia afín
indexación y coincidencia vecino más cercano / busque "Mejor contenedor primero" Eficiencia / velocidad
Identificación de grupos Hough transformar voto modelos de posición fiables
Validación de modelos/detección de valores atípicos Mínimos cuadrados lineales mejor tolerancia a errores con menos conformidad
Aprobación de hipótesis Análisis de probabilidad bayesiano fiabilidad

Pasos básicos

Detección de características invariantes de escala

El método de Lowe's para generar características de imagen convierte la imagen en un gran conjunto de vectores de características, cada uno de los cuales es invariable bajo la traducción, escala y rotación de imágenes (en paralelo), parcialmente invariable a los cambios de iluminación y resistente a las distorsiones geométricas locales. Estas características tienen propiedades similares a las neuronas en la corteza visual principal que codifican para la forma básica, el color y la detección de movimiento de objetos en la visión de los primates [13] . Las claves de ubicación se definen como el máximo y el mínimo de la función de diferencia gaussiana aplicada en el espacio de a una serie de imágenes suavizadas y renderizadas nuevamente. Se descartan los puntos candidatos con bajo contraste y los puntos a lo largo de los bordes. A los puntos clave localizados se les asignan orientaciones dominantes. Estos pasos proporcionan más estabilidad para los puntos clave de coincidencia y reconocimiento. Los descriptores SIFT resistentes a las violaciones afines locales se obtienen observando los píxeles alrededor de la ubicación clave al desenfocar y volver a muestrear los planos de orientación de la imagen local.

Coincidencia e indexación de funciones

La indexación consiste en recordar las claves SIFT e identificar las claves correspondientes de la nueva imagen. Lowe usó una modificación de un algoritmo de árbol k-dimensional llamado método de búsqueda best-bin-first (BBF) [14] , que puede identificar al vecino más cercano con alta probabilidad utilizando solo un número limitado de cálculos. El algoritmo BBF utiliza un orden de búsqueda modificado para el algoritmo de árbol k-dimensional de modo que las áreas en el espacio de características se busquen en el orden de su distancia más cercana a la ubicación solicitada. Este orden de búsqueda requiere el uso de una cola de prioridad basada en montón para determinar de manera eficiente el orden de búsqueda. El mejor candidato para cada punto clave se encuentra estableciendo su vecino más cercano en la base de datos de puntos clave a partir de las imágenes de entrenamiento. Los vecinos más cercanos se definen como los puntos clave con la distancia euclidiana mínima desde el vector descriptor dado. La probabilidad de que una coincidencia sea correcta se puede determinar calculando la relación entre la distancia desde el vecino más cercano y la distancia hasta el segundo vecino más cercano.

Low [3] rechazó todas las coincidencias en las que la relación de distancia es superior a 0,8, lo que elimina el 90 % de las coincidencias incorrectas y descarta menos del 5 % de las coincidencias correctas. Para mejorar aún más el rendimiento, el algoritmo de búsqueda best-bin-first se detiene después de verificar los primeros 200 candidatos vecinos más cercanos. Para una base de datos con 100.000 puntos clave, esto proporciona un aumento de velocidad en comparación con la búsqueda exacta de vecinos en 2 órdenes de magnitud, mientras que la elección incorrecta no supera el 5% de las coincidencias correctas.

Identificación de grupos votando la transformada de Hough

La transformada de Hough se usa para agrupar un modelo de hipótesis robusto para encontrar claves que sean consistentes con una posición de modelo particular La transformada de Hough revela grupos de características con una interpretación consistente al votar por cada característica para todas las posiciones de objetos que son consistentes con la característica. Cuando se encuentran grupos de características con votos para la misma posición de un objeto, la probabilidad de una interpretación correcta es mucho mayor que para cualquier característica individual. Se crea una entrada en la tabla hash que contiene la posición, la orientación y la escala estimadas a partir de la hipótesis coincidente. Se busca en una tabla hash para identificar todos los grupos con al menos 3 elementos en el área, y las áreas se ordenan por tamaño decreciente.

Cada uno de los puntos clave SIFT define una ubicación, escala y orientación 2D, y cada punto clave en la base de datos tiene una entrada con sus parámetros relacionados con la imagen de entrenamiento en la que se encontró. La transformación análoga resultante de estos 4 parámetros es solo una aproximación al espacio de posición completo con 6 grados de libertad para objetos 3D y tampoco tiene en cuenta ninguna deformación flexible. Por lo tanto, Lowe [3] usó tamaños de área de 30 grados para la orientación de la ubicación, un factor de 2 para la escala y un factor de 0,25 para el tamaño máximo de proyección de la imagen de entrenamiento (usando la escala predicha). Para las claves SIFT generadas a gran escala, se otorga el doble de peso en comparación con las claves para una escala más pequeña. Esto significa que una escala más grande puede filtrar a los vecinos más probables para realizar pruebas en una escala más pequeña. También mejora el rendimiento del reconocimiento al dar más peso a una escala menos ruidosa. Para evitar el problema de los efectos de borde al asignar un área, cada punto clave mira los votos de las 2 áreas más cercanas en cada dirección, dando un total de 16 valores para cada hipótesis y difuminando aún más la distribución de posiciones.

Validación del modelo de mínimos cuadrados

Cada grupo establecido está sujeto a un procedimiento de verificación que realiza una de mínimos cuadrados para los parámetros de transformación afines asociados con el modelo de imagen. Una transformación afín de un punto modelo [xy] T a un punto imagen [uv] T se puede escribir de la siguiente manera

donde la traslación paralela es [tx ty] T , y la rotación afín, la escala y el estiramiento están representados por los parámetros m1, m2, m3 y m4. Para obtener los parámetros de transformación, la ecuación se puede reescribir para que todas las incógnitas estén en un vector columna.

La igualdad muestra una sola coincidencia, pero se puede agregar cualquier número de coincidencias, donde cada coincidencia agrega dos filas a la primera y última matriz. Se necesitan al menos 3 coincidencias para obtener una solución. Podemos escribir este sistema lineal como

donde A es una matriz conocida (generalmente m > n ), x es un vector de parámetros n - dimensional desconocido y b es un vector de dimensión m - dimensional conocido.

Por tanto, el vector minimizador es la solución de la ecuación normal

La solución al sistema de ecuaciones lineales se da en términos de una matriz llamada matriz pseudoinversa para A , en la forma

,

lo que minimiza la suma de las distancias al cuadrado de las proyecciones de ubicación del modelo a las ubicaciones de imagen correspondientes.

Identificación de valores atípicos

Los valores atípicos ahora se pueden descartar comprobando la concordancia entre la característica de cada imagen y el modelo dado por la solución del parámetro. Dada una solución de mínimos cuadrados , cada coincidencia debe aceptar no más de la mitad del intervalo de error que se usó para los parámetros en las regiones de transformación de Hough . Se descartan los valores atípicos, se vuelve a calcular la solución de mínimos cuadrados para los puntos restantes y se repite el proceso. Si quedan menos de 3 puntos después de descartar los valores atípicos , se rechaza el partido. Además, la fase de coincidencia de arriba hacia abajo se usa para agregar otras coincidencias que sean consistentes con la posición del modelo proyectado, que la región de transformación de Hough puede pasar por alto debido a la aproximación de transformaciones similares u otros errores.

La decisión final de aceptar o rechazar el modelo de hipótesis se basa en un modelo probabilístico detallado [15] . Este método primero calcula el número esperado de coincidencias de error del modelo de posición, dado por el tamaño del modelo, el número de características dentro de la región y la precisión del ajuste. Luego, el análisis bayesiano da la probabilidad de que el objeto esté presente en función del número real de coincidencias de características encontradas. El modelo se acepta si la probabilidad final de interpretación correcta es superior a 0,98. Basado en el método SIFT desarrollado por Lowe, el reconocimiento de objetos da excelentes resultados, excepto en casos de gran dispersión de la iluminación y con transformaciones poco rígidas.

Signos

La detección y descripción de las características de la imagen local pueden ayudar en el reconocimiento de objetos. Las funciones SIFT son locales y se basan en las manifestaciones del objeto en puntos singulares específicos. Son invariantes de escala y rotación. También son resistentes a los cambios de iluminación, ruido y pequeños cambios en el punto de vista. Además de estas propiedades, son muy distinguibles, relativamente fáciles de recuperar y permiten la identificación de objetos con pocos errores. Son relativamente fáciles de encontrar en una base de datos (grande) de características locales, pero, sin embargo, la alta dimensionalidad de las características puede causar dificultades, por lo que los algoritmos probabilísticos como los árboles k-dimensionales con la búsqueda de mejor contenedor primero ( BBF) se utilizan. La descripción de un objeto usando funciones SIFT también es estable con respecto a la superposición parcial, ya que incluso tres funciones SIFT de un objeto son suficientes para calcular el lugar y la posición de un objeto. El reconocimiento se puede realizar casi en tiempo real, al menos para pequeñas bases de datos de equipos informáticos modernos.

Algoritmo

Extremos reveladores del espacio de escala

Comenzamos identificando puntos, que se denominan puntos clave dentro de SIFT. La imagen se convoluciona con filtros gaussianos a varias escalas y luego se calcula la diferencia de imágenes borrosas gaussianas sucesivas. Los puntos clave luego se muestrean como la diferencia máxima/mínima de gaussianas que ocurren en diferentes escalas. La diferencia gaussiana viene dada por la expresión

, donde está la convolución de la imagen original con desenfoque gaussiano en escala , es decir,

Por lo tanto, la imagen de la diferencia gaussiana entre escalas y es la diferencia de imágenes borrosas gaussianas con escalas y . Para determinar el extremo en el espacio de escala , en el algoritmo SIFT, la imagen primero se convoluciona con desenfoque gaussiano a diferentes escalas. Las miniaturas se agrupan por octavas (una octava corresponde a duplicar el valor de ) y se elige el valor para que tengamos un número fijo de miniaturas por octava. Luego se calcula la diferencia gaussiana de las imágenes borrosas gaussianas adyacentes en una octava.

Una vez que se obtiene la diferencia gaussiana de la imagen, los puntos clave se definen como el mínimo/máximo local de la diferencia gaussiana de la imagen sobre las plantillas. Esto se hace comparando cada píxel con la diferencia gaussiana de la imagen para sus ocho vecinos en la misma escala y los nueve píxeles vecinos correspondientes en cada una de las escalas vecinas. Si el valor del píxel es el máximo o el mínimo entre todos los puntos comparados, se selecciona como candidato a punto clave.

Este paso de detección de puntos clave es una variación de uno de los métodos de detección de puntos de Lindeberg mediante la búsqueda de extremos en el espacio de escala normalizado a la escala laplaciana [10] [11] . Es decir, la determinación de puntos que son extremos locales, teniendo en cuenta tanto la posición espacial como la escala, en el caso discreto, por comparación con los 26 vecinos más cercanos en un volumen discretizado en el espacio de escala. El operador de diferencia de Gauss puede verse como una aproximación del Laplaciano, con una normalización implícita en la pirámide , que también contiene una aproximación discreta del Laplaciano normalizado en escala [12] . Lindeberg y Bretzner presentaron otra encarnación en tiempo real de la búsqueda de extremos del espacio de escala del operador de Laplace, que se basa en una representación de pirámide híbrida [16] que se utilizó para la interacción entre humanos y computadoras para el reconocimiento de gestos en tiempo real. [17] .

Localización de puntos clave

La determinación de los extremos del espacio de escala da demasiados candidatos para puntos clave, algunos de los cuales son inestables. El siguiente paso en el algoritmo es realizar un ajuste vecino detallado para la ubicación exacta, la escala y la relación de curvatura principal . Esta información le permite descartar puntos que tienen poco contraste (y por lo tanto son sensibles al ruido) o mal ubicados a lo largo del borde.

Interpolación de datos vecinos para precisión de posición

En primer lugar, para cada candidato a punto de referencia, se utiliza la interpolación de datos cercanos para determinar con precisión la posición. El enfoque inicial fue determinar la ubicación de cada punto clave por la posición y la escala del candidato a punto clave [2] . El nuevo enfoque calcula la posición interpolada del extremo, lo que mejora significativamente el ajuste y la estabilidad [3] . La interpolación se realiza utilizando la expansión de Taylor cuadrática de  la función de espacio de escala de diferencia de Gauss con el candidato de punto clave ubicado en el origen. Esta expansión de Taylor viene dada por la ecuación:

,

donde D y su derivada se calculan en el punto candidato y es el desplazamiento desde este punto. La ubicación del extremo se determina tomando la derivada de esta función con respecto a e igualándola a cero. Si el cambio es mayor en cualquier dirección, esto indica que el extremo se encuentra más cerca de otro candidato a punto clave. En este caso, se cambia el candidato de punto clave y se realiza la interpolación para este punto. De lo contrario, se agrega un sesgo al candidato de punto clave para obtener una estimación interpolada de la ubicación del extremo. Una determinación de subpíxeles similar de la ubicación de los extremos del espacio de escala, desarrollada por Lindeberg et al., se lleva a cabo en tiempo real sobre la base de pirámides híbridas [16] .

Eliminación de puntos clave de bajo contraste

Para descartar puntos clave con bajo contraste, se calcula una expansión de Taylor de segundo orden con un sesgo . Si este valor es menor que , se descarta el candidato de punto clave. De lo contrario, se guarda con una ubicación en el espacio de escala finita , donde es la ubicación original del punto clave.

Exclusión de contribución perimetral

La función de diferencia gaussiana tendrá valores fuertes a lo largo de los bordes, incluso si el candidato de punto clave no es resistente al ruido pequeño. Por lo tanto, para aumentar la estabilidad, debe excluir los puntos clave que tienen una ubicación poco definida, pero que tienen una gran contribución desde los bordes.

Para picos de función de diferencia gaussiana pobremente definidos, la curvatura principal a lo largo de un borde será mucho mayor que la curvatura principal a lo largo de él. Encontrar estas curvaturas principales corresponde a encontrar los valores propios de la matriz hessiana de segundo orden H :

Los valores propios de H son proporcionales a las curvaturas principales de la matriz D. Resulta que el cociente de dos valores propios, digamos  el mayor de ellos, a  es el menor, con el cociente , es suficiente para los fines de SIFT . La traza de la matriz H , i.e. , nos da la suma de los dos autovalores, mientras que el determinante, i.e. , nos da el producto. Se puede demostrar que la razón es , que depende solo de la razón de los valores propios, no de los valores individuales. R es el mínimo si los valores propios son iguales. Por lo tanto, cuanto mayor sea el valor absoluto de la diferencia entre dos valores propios, que es equivalente al valor absoluto más grande de la diferencia entre las dos curvaturas principales D, mayor será el valor de R. Se deduce que para alguna relación umbral de valores propios , si R para el candidato de punto clave es mayor que , entonces el punto clave está mal ubicado y, por lo tanto, se descarta. El nuevo enfoque utiliza [3] .

Este paso de supresión de respuesta de borde es transferir el enfoque apropiado al operador de Harris para la detección de esquinas . La diferencia es que la medida del umbral se calcula a partir de la matriz hessiana y no de la matriz de segundos momentos .

Asignación de orientación

En este paso, a cada punto clave se le asigna una o más orientaciones según las direcciones de los degradados en la imagen local. Este es un paso clave para lograr la invariancia de rotación , ya que el descriptor del punto clave se puede representar con respecto a esta orientación y, por lo tanto, se vuelve invariante de rotación de la imagen.

En primer lugar, se toma una imagen borrosa gaussiana en puntos clave con scale , de modo que todos los cálculos se realicen de manera invariable en escala. Para una imagen a escala , el valor del degradado y la orientación se calculan previamente en función de la diferencia de píxeles .

El cálculo de la magnitud y la dirección del gradiente se realiza para cada píxel en la vecindad del punto clave en la imagen borrosa gaussiana L. Se forma un histograma de dirección con 36 áreas, cada una de las cuales cubre 10 grados. Cada punto del cuadro que lo rodea se agrega al área del histograma, ponderado por la magnitud del gradiente y por una ventana circular con ponderación gaussiana con , que es 1,5 veces la escala del punto clave. Los picos en este histograma corresponden a las direcciones dominantes. Una vez que se completa el histograma, se asignan al punto clave las direcciones correspondientes a los picos más altos y los picos locales que están dentro del 80 % de los picos más altos. Si se asignan varias direcciones, se crea un punto clave adicional que tiene la misma ubicación y escala que el punto original para cada dirección adicional.

Descriptor de punto clave

Los pasos anteriores encuentran las ubicaciones de los puntos clave en escalas específicas y les asignan una orientación. Esto proporciona invariancia para la ubicación del punto, la escala y la rotación. Ahora queremos calcular un vector de descriptores para cada punto clave, de modo que el descriptor sea muy diferente y parcialmente invariable a otros cambios como iluminación, puntos de vista, etc. Este paso se lleva a cabo en la imagen más cercana en escala a la escala del punto clave.

En primer lugar, se crea un conjunto de histogramas de dirección en píxeles vecinos de 4x4 con 8 áreas en cada uno. Estos histogramas se calculan a partir de los valores de magnitud y orientación de los elementos en el área de 16×16 alrededor del punto clave, de modo que cada histograma contiene elementos de una subregión de 4×4 de la región vecina original. Los valores son ponderados además por una función gaussiana igual a la mitad del ancho de la ventana del descriptor. El identificador se convierte entonces en un vector de todos los valores de estos histogramas. Como hay 4×4=16 histogramas con 8 regiones cada uno, el vector tiene 128 elementos. Este vector se normaliza a la unidad de longitud para garantizar que sea invariable a cambios afines en la iluminación. Para reducir el efecto de la iluminación no lineal, se aplica un umbral de 0,2 y el vector se normaliza de nuevo. El proceso de umbralización puede mejorar los resultados de coincidencia incluso si no hay efectos de iluminación no lineales [18] . El valor de umbral de 0,2 se elige empíricamente y la sustitución de un umbral fijo por uno calculado a propósito puede mejorar los resultados de la comparación [18] .

Aunque la dimensión del descriptor (es decir, 128) parece alta, los descriptores más pequeños no funcionan tan bien [3] y el costo computacional sigue siendo bajo porque se usa el método BBF aproximado para encontrar el vecino más cercano (ver más abajo). Los descriptores más largos darían mejores resultados, pero no por mucho, y existe el peligro de una mayor sensibilidad a la distorsión y aliasing. También se ha demostrado que la precisión de coincidencia de características es superior al 50 % para cambios de punto de vista de hasta 50 grados. Por lo tanto, los descriptores SIFT son invariantes a pequeños cambios afines. Para probar la distinguibilidad de los descriptores SIFT, la precisión de coincidencia también se mide con respecto a un número diferente de puntos clave en la base de datos de prueba, y se ha demostrado que la precisión de coincidencia disminuye solo ligeramente para bases de datos grandes, lo que indica que las características de SIFT son altamente distinguibles. .

Comparación de características SIFT con otras características locales

Se ha llevado a cabo una intensa investigación para evaluar la efectividad de varios descriptores locales, incluido SIFT [19] . Los principales resultados se muestran a continuación:

  • Las funciones SIFT y (similar a SIFT) GLOH ( Ubicación de gradiente e histograma de orientación ) muestran la mayor precisión de coincidencia para una transformación afín de 50 grados .  Más allá de este límite, los resultados de la conversión se vuelven poco confiables.
  • La distinción de los descriptores se mide sumando los valores propios de los descriptores obtenidos por el método de componentes principales para los descriptores normalizados por varianza. Esto corresponde a la cantidad de varianza correspondiente a diferentes descriptores y, por lo tanto, a su distinción. Características PCA-SIFT (Método de componentes principales aplicado a los descriptores SIFT), GLOH y SIFT dan los valores más altos.
  • Los descriptores basados ​​en SIFT superan a otros descriptores locales modernos tanto para escenas texturizadas como estructuradas, mientras que son más eficientes para escenas texturizadas.
  • Para zoom de 2-2.5x y rotación de imagen entre 30 y 45 grados, los descriptores basados ​​en SIFT y SIFT nuevamente superan a otros descriptores locales modernos para escenas texturizadas y estructuradas.
  • El desenfoque (borrosidad) afecta a todos los descriptores locales, especialmente aquellos basados ​​en bordes (bordes), como el algoritmo "shape context" (shape context ), ya que los bordes desaparecen en caso de un fuerte desenfoque de los bordes. Pero GLOH, PCA-SIFT y SIFT continúan funcionando mejor que el resto. Esto también es cierto para el caso de los cambios de iluminación.

Las pruebas realizadas sugieren fuertemente que los descriptores basados ​​en SIFT son los más estables y distinguibles y, por lo tanto, los más recomendados para la coincidencia de características. Sin embargo, los descriptores de características desarrollados recientemente, como SURF , no se han investigado en estos ensayos.

Se ha demostrado que SURF tiene una eficiencia cercana a SIFT, pero al mismo tiempo, el algoritmo es mucho más rápido [20] . Otros estudios han demostrado que cuando la velocidad no es un factor crítico, SIFT supera a SURF [21] [22] . En particular, sin tener en cuenta los efectos de muestreo, el descriptor de imagen SIFT es significativamente mejor que el descriptor de imagen SURF. Al mismo tiempo, el extremo en el espacio de escala del determinante del Hessian del detector de punto singular simple en SURF consiste en puntos singulares significativamente mejores en comparación con el extremo en el espacio de escala del Laplaciano, para el cual el algoritmo para determinar el punto singular en SIFT realiza una aproximación numérica [21] .

El rendimiento de coincidencia de imágenes de los descriptores SIFT se puede mejorar en términos de lograr un mayor rendimiento y puntuaciones de precisión 1 más bajas[ aclarar ] ( puntajes de precisión 1 en inglés  ) al reemplazar el extremo espacial escalable del operador de diferencia gaussiana en el SIFT original con el extremo del determinante hessiano en el espacio escalable, o al considerar una familia más general de puntos singulares generalizados del espacio escalable [21] .

Recientemente, se ha propuesto una versión ligeramente modificada del descriptor, utilizando una red de histograma no uniforme, que mejora significativamente la calidad [23] . En lugar de utilizar una cuadrícula de 4x4 de regiones de histograma, todas las regiones se expanden hacia el centro de la entidad. Esto mejora la resiliencia de los descriptores a los cambios de escala.

Se ha demostrado que el descriptor SIFT-Rank [24] mejora el rendimiento del descriptor SIFT estándar para la coincidencia de características afines. El descriptor SIFT-Rank se genera a partir del descriptor SIFT estándar asignando a cada área del histograma un rango en una matriz ordenada de áreas. La distancia euclidiana entre los descriptores SIFT-Rank es invariable ante cambios monotónicos arbitrarios en los valores del histograma y está relacionada con los coeficientes de correlación de rango de Spearman .

Aplicaciones

Reconocimiento de objetos mediante funciones SIFT

Si es posible que un sistema SIFT encuentre diferentes puntos clave que son invariantes en ubicación, escala y rotación y resistentes a transformaciones afines (cambios en escala , rotación , desplazamiento y posición) y cambios en iluminación, son útiles para el reconocimiento de objetos. Estos pasos se dan a continuación

  • Primero, las características SIFT se obtienen de la imagen de entrada utilizando el algoritmo descrito anteriormente.
  • Estas características se comparan con las características SIFT de la base de datos obtenidas a partir de imágenes de entrenamiento. Esta coincidencia de características se realiza utilizando el enfoque del vecino euclidiano más cercano. Para aumentar la estabilidad, la coincidencia se descarta para los puntos clave en los que la relación entre la distancia al vecino más cercano y la distancia al segundo vecino más cercano es superior a 0,8. Esto descarta muchas coincidencias falsas que surgen de imágenes de fondo que interfieren. Finalmente, para evitar la costosa búsqueda requerida para encontrar el vecino euclidiano más cercano, se utiliza un algoritmo aproximado llamado “best-bin-first” [14] . Este es un método rápido que devuelve el vecino más cercano con alta probabilidad y puede acelerar el proceso de búsqueda por un factor de 1000, mientras que encontrar al vecino más cercano toma el 95% del tiempo.
  • Aunque la prueba de relación de distancia descrita anteriormente descarta muchas coincidencias falsas que surgen de imágenes de fondo que interfieren, nos quedan coincidencias que pertenecen a otros objetos. Por lo tanto, para aumentar la confiabilidad de la identificación de objetos, queremos agrupar las características que pertenecen al mismo objeto y descartar las coincidencias que quedan después del proceso de agrupamiento. Esto se hace usando la transformada de Hough . Identifica grupos de características que votan por alguna posición de objeto. Cuando se encuentran grupos de características con votos para alguna posición del objeto, la probabilidad de interpretación correcta será mucho mayor que para una sola característica. Cada punto clave vota por un conjunto de posiciones de características si son coherentes con la ubicación, la escala y la orientación del punto clave. Las áreas que acumulan al menos 3 votos se consideran candidatas para el emparejamiento objeto/posición.
  • Para cada candidato de grupo, obtenemos una solución de mínimos cuadrados para las mejores estimaciones de proyección afín que relacionan las imágenes de entrenamiento con la imagen de entrada. Si la proyección del punto clave a través de estos parámetros se encuentra dentro de la mitad del intervalo de error que se usó para los parámetros en las regiones de transformada de Hough, se mantiene la correspondencia del punto clave. Si quedan menos de 3 puntos después de descartar los valores atípicos de las regiones, se rechaza la coincidencia del objeto. El ajuste por mínimos cuadrados se repite siempre que se pueda descartar algo. Esto funciona mejor para el reconocimiento de objetos planos, pero no para el reconocimiento de objetos 3D porque el modelo afín deja de ser fiable para los objetos 3D.
  • El documento de Sirmachek y Unsalan [25] propone un nuevo enfoque para usar descriptores SIFT para asignar múltiples objetos. El enfoque de detección de objetos múltiples propuesto se probó en imágenes aéreas y de satélite.

Las características de SIFT pueden, en principio, aplicarse a cualquier problema en el que se requiera la coincidencia de imágenes. Se puede trabajar en aplicaciones como reconocimiento de categorías específicas de objetos en imágenes 2D, reconstrucción de objetos 3D, seguimiento y segmentación de movimiento, ubicación de robots, unión de imágenes panorámicas y calibración epipolar . Algunas de estas aplicaciones se analizan con más detalle a continuación.

La ubicación del robot y el mapa

Esta aplicación [26] utiliza un sistema trinocular estéreo para estimar la ubicación 3D de un punto de referencia. Los puntos clave solo se usan cuando aparecen en las 3 imágenes con desajustes consistentes, lo que resulta en abandonos muy raros. A medida que el robot se mueve, determina su ubicación mediante relaciones de características con el mapa 3D existente y, luego, agrega características al mapa de forma incremental mientras actualiza la posición 3D mediante un filtro de Kalman. Esto proporciona una solución confiable y precisa al problema de ubicar un robot en un entorno desconocido.

Pespunte panorámico

La coincidencia de características SIFT se puede utilizar para la unión de imágenes para la construcción de panoramas completamente automatizados a partir de marcos no panorámicos. Las características SIFT extraídas de las imágenes de entrada se comparan entre sí para encontrar k vecinos más cercanos en cada imagen. Estas coincidencias se utilizan luego para encontrar m candidatos de coincidencia de imágenes para cada imagen. Las homografías entre pares de imágenes se calculan luego mediante RANSAC ( consenso de muestra aleatoria ) y se utiliza un modelo probabilístico para la verificación .  Dado que no hay restricciones en las imágenes de entrada, se aplica una búsqueda de gráficos a los componentes de coincidencia de imágenes conectados para que cada componente conectado coincida con un panorama. Finalmente, para cada componente conectado, se realiza un ajuste de bloque para resolver los parámetros de la cámara, y el panorama se procesa mediante la combinación multibanda . Debido al enfoque inspirado en SIFT para el reconocimiento de objetos para la unión panorámica, el sistema resultante es insensible al orden, la orientación, la escala y la iluminación de la imagen. Las imágenes de entrada pueden contener múltiples panoramas y ruido de imagen (algunos de los cuales pueden ni siquiera ser parte de la imagen compuesta) [27] .  

Modelado, reconocimiento y trazado de escenas 3D

Esta aplicación utiliza funciones SIFT para el reconocimiento de objetos 3D y el modelado 3D el contexto de la realidad aumentada , en la que los objetos artificiales creados en una pose precisa se superponen a imágenes reales. Una coincidencia SIFT se define para múltiples imágenes 2D de una escena u objeto tomadas desde diferentes ángulos. Esto se usa con el ajuste de bloques para construir un modelo 3D disperso de la escena en cuestión y restaurar simultáneamente las posiciones de la cámara y los parámetros de calibración. Luego se determina la posición, orientación y tamaño del objeto virtual en relación con las coordenadas del marco del modelo considerado. Para el seguimiento posicional en línea , las funciones SIFT se extraen del cuadro de video actual y se comparan con las funciones ya calculadas, lo que da como resultado un conjunto de coincidencias 2D a 3D. Estas coincidencias se utilizan luego para calcular la posición actual de la cámara para la proyección virtual y el procesamiento final. La técnica de regularización se utiliza para reducir el jitter en la proyección virtual [28] . También se han implementado extensiones SIFT 3D para reconocer y resaltar objetos 3D reales [29] [30] .

Descriptores 3D tipo SIFT para reconocer acciones humanas

Se han estudiado extensiones del descriptor SIFT a datos espaciotemporales de 2+1 dimensiones en el contexto del reconocimiento de acciones humanas en video [29] [31] [32] [33] . La creación de histogramas dependientes de la posición local en el algoritmo SIFT 2D se expande de 2D a 3D para describir las características SIFT del dominio del espacio-tiempo. Para la aplicación al reconocimiento de acciones humanas en video, los videos de entrenamiento se realizan desde puntos espaciotemporales específicos o en un lugar, tiempo y escala aleatorios. Las regiones del espacio-tiempo alrededor de estos puntos singulares se describen luego usando un descriptor 3D SIFT. Estos descriptores se ensamblan luego en un modelo espaciotemporal de " bolsa de palabras " . Los descriptores 3D SIFT extraídos de los clips de prueba se comparan con estas palabras para clasificar las acciones humanas.

Los autores afirman que su descriptor SIFT 3D funciona significativamente mejor que otros enfoques, como los descriptores SIFT 2D simples y el valor de gradiente [34] .

Análisis del Cerebro Humano en Imagen de Resonancia Magnética 3D

La técnica de morfometría basada en características ( FBM) [35] [35] utiliza extremos en la diferencia del espacio de escala gaussiana IRM(de resonancia magnéticaimágenespara analizar y clasificarFBM modela una imagen de forma probabilística como un collage de características independientes determinadas por la geometría de la imagen y grupos de etiquetas, como objetos sanos y objetos correspondientes a la enfermedad de Alzheimer. Las características se extraen primero en imágenes individuales de una diferencia de espacio de escala gaussiana 4D, luego se modelan en términos de su apariencia, geometría y estadísticas de co-ocurrencia en un grupo a través de múltiples imágenes. FBM ha sido validado en el análisis de la enfermedad de Alzheimer con un conjunto de ~200 imágenes volumétricas (MRI) del cerebro humano, detectando automáticamente indicadores establecidos de la enfermedad de Alzheimer en el cerebro y clasificando enfermedades no agudas en nuevas imágenes con una tasa del 80% [ 35] .   

Métodos competitivos

Los métodos en competencia para el reconocimiento de objetos de escala invariable bajo ruido y superposición parcial son los siguientes.

RIFT [36] : Generalización invariante de rotación de SIFT .  El descriptor RIFT se construye usando cortes normalizados circulares divididos en anillos concéntricos de igual ancho, y dentro de cada anillo se calcula un histograma de la dirección del gradiente. Para obtener la invariancia rotacional, la orientación se mide en cada punto en relación con la dirección desde el centro.

G-RIF [37] : La característica robusta invariante generalizada es un  descriptor de contexto general que codifica la orientación de los bordes, la densidad de los bordes y la información de color en una sola clave, combinando la información perceptual con la codificación espacial. El esquema de reconocimiento de objetos utiliza el contexto de vecindad para evaluar modelos de objetos basados ​​en votaciones.

"SURF" [38] : Speeded  Up Robust Features son detectores/descriptores invariantes de escala y rotación de alto rendimiento que se afirma que se acercan o incluso superan los esquemas propuestos anteriormente en términos de reproducibilidad, claridad y confiabilidad. SURF se basa en imágenes de convolución completa para reducir el tiempo de cálculo y se basa en la solidez de los principales detectores y descriptores existentes (usando una medida rápida basada en la matriz hessiana para detectores y descriptores basados ​​en la distribución de probabilidad). Describe la distribución de las respuestas wavelet de Haar entre los vecinos del punto singular. Las imágenes completas se utilizan para acelerar y solo los vectores de características de 64 dimensiones se utilizan para reducir el tiempo de cálculo y coincidencia. El paso de indexación se basa en el signo del Laplaciano , lo que aumenta la velocidad de coincidencia y la robustez del descriptor.

PCA-SIFT [39] y GLOH [19] son ​​variantes de SIFT. El descriptor PCA-SIFT es un vector de gradientes de imagen en las direcciones x e y calculadas en el área admitida. El área de gradiente se divide en 39×39 lugares, por lo que la dimensión del vector es 3042. La dimensión se reduce a 36 por el método de componentes principales . El histograma de gradiente de orientación de ubicación ( GLOH ) es una extensión del descriptor SIFT y se desarrolló para aumentar su robustez y distinguibilidad. El descriptor SIFT se calcula en coordenadas polares logarítmicas de una cuadrícula de posición con tres regiones en las direcciones radiales (radio establecido en 6, 11 y 15) y 8 en las direcciones angulares, lo que da como resultado 17 regiones. El área central no está dividida en direcciones angulares. Las direcciones de gradiente se cuantifican en 16 regiones, lo que da como resultado un histograma con 272 regiones. El tamaño de este descriptor se reduce por el método de componentes principales . La matriz de covarianza para el Método de Componentes Principales se evalúa en piezas recolectadas de diferentes imágenes. Los 128 vectores propios más grandes se utilizan para la descripción.

Gauss-SIFT [21] es un descriptor de imagen puro definido al medir todas las imágenes del descriptor SIFT subyacente con una derivada gaussiana, en lugar de aproximar la derivada en una pirámide de imágenes como se hace en SIFT estándar. Con este enfoque, el efecto de la discretización del espacio y la escala se puede reducir al mínimo, lo que podría dar como resultado descriptores de imágenes más precisos. Lindeberg [21] combinó tales descriptores de imágenes de Gauss-SIFT con un conjunto de espacios de escala de puntos singulares generalizados, que incluyen el laplaciano gaussiano, el determinante hessiano, cuatro nuevas medidas características del hessiano con y sin signo, así como Harris-Laplace y Shea. -Tomás puntos singulares. En un experimento intensivo en una base de datos de vallas publicitarias que contenía varias transformaciones de 12 vallas publicitarias en términos de zoom de hasta 6x y la dirección de la vista hasta un ángulo de 45 grados, se demostró que un aumento significativo en la eficiencia del procesamiento de imágenes (mayor eficiencia puntuaciones y puntuaciones inferiores 1 -precisión) se pueden obtener reemplazando el Laplaciano de la Gaussiana de los puntos singulares por el determinante de la Hessiana de los puntos singulares. Dado que la diferencia gaussiana de punto singular asume una aproximación numérica del laplaciano de la gaussiana de punto singular, esto muestra que es posible aumentar significativamente el rendimiento de coincidencia reemplazando la diferencia hessiana de punto singular en SIFT con el determinante hessiano de punto singular. Se pueden obtener ganancias de rendimiento adicionales al considerar una medida de fuerza de característica hessiana  sin signo o 0 de lo contrario. Una comparación numérica entre el descriptor Gauss-SIFT y el descriptor Gauss-SURF correspondiente también mostró que Gauss-SIFT generalmente funciona significativamente mejor que Gauss-SURF para una gran cantidad de detectores de espacio de escala de punto singular diferentes. Por lo tanto, el estudio muestra que la reducción del efecto de discretización del descriptor de imagen SIFT es significativamente mejor que el descriptor de imagen SURF; sin embargo, el detector de puntos característicos en SURF, que puede considerarse como una aproximación numérica al extremo en el espacio de escala del determinante hessiano, es significativamente mejor que el detector de puntos característicos en SIFT.

Wagner y colaboradores han desarrollado dos algoritmos de reconocimiento de objetos específicamente adaptados a las limitaciones de los teléfonos móviles existentes [40] . A diferencia del enfoque clásico, SIFT Wagner y otros utilizan el algoritmo de detección de esquinas FAST para la detección de características. El algoritmo también incluye una fase de preparación fuera de línea, en la que se crean funciones con diferentes niveles de zoom, y una fase en línea, en la que las funciones se generan solo para un nivel de zoom fijo de la cámara del teléfono. Además, las características solo se crean a partir de áreas fijas de 15 × 15 píxeles y solo se crea un descriptor SIFT de 36 dimensiones. El enfoque se amplió aún más mediante la integración con Scalable Vocabulary Tree [41 ] .  Esto permite el reconocimiento eficiente de una gran cantidad de objetos por parte del teléfono móvil. El enfoque está limitado principalmente por la cantidad de RAM disponible .

KAZE y A-KAZE (KAZE Features y Kaze Boosted Features) es un nuevo método de caracterización y detección de características 2D que funciona mejor que SIFT y SURF. Ha ganado gran popularidad debido al hecho de que se distribuye libremente y tiene códigos fuente abiertos. El algoritmo tampoco está patentado. KAZE fue creado por Pablo F. Alcantarilla, Adrien Bartoli y Andrew J. Davison [42] .

Véase también

Notas

  1. 12 EE . UU. _ Patente 6.711.293 , "Método y aparato para identificar características invariantes de escala en una imagen y uso de las mismas para ubicar un objeto en una imagen", patente de David Low para el algoritmo SIFT, 23 de marzo de 2004
  2. 1 2 3 4 Lowe, 1999 , pág. 1150-1157.
  3. 1 2 3 4 5 6 Lowe, 2004 , pág. 91–110.
  4. Koenderink, van Doorn, 1987 , pág. 383-396.
  5. Koenderink, van Doorn, 1992 , pág. 597-605.
  6. Lindeberg:BICY, 2013 , pág. 589-635.
  7. Lindeberg:AdvImg, 2013 , pág. 1-96.
  8. Lindeberg: PLOS UNO, 2013 .
  9. 12 Lindeberg , 2014 , pág. 701-713.
  10. 12 Lindeberg , 1994 .
  11. 1 2 Lindeberg, 1998 , pág. 79–116.
  12. 12 Lindeberg , 2012 , pág. 10491.
  13. Serre, Kouh, Cadieu, Knoblich, Kreiman, Poggio, 2005 .
  14. 1 2 Beis, Lowe, 1997 , pág. 1000–1006.
  15. Lowe, 2001 , pág. 682-688.
  16. 1 2 Lindeberg, Bretzner, 2003 , pág. 148–163.
  17. Bretzner, Laptev, Lindeberg, 2002 , pág. 423-428.
  18. 12 Kirchner , 2016 , pág. 291-295.
  19. 1 2 Mikolajczyk, Schmid, 2005 , pág. 1615-1630
  20. TU-chemnitz.de (enlace descendente) . Consultado el 12 de noviembre de 2018. Archivado desde el original el 22 de mayo de 2011. 
  21. 1 2 3 4 5 Lindeberg, 2015 , pág. 3-36.
  22. Oyallon, Rabin, 2015 .
  23. Cui, Hasler, Thormaehlen, Seidel, 2009 .
  24. Toews, Wells III, 2009 , pág. 172–177.
  25. Sirmacek, Unsalan, 2009 , pág. 1156–1167.
  26. Se, Lowe, Little, 2001 , pág. 2051.
  27. Marrón, Lowe, 2003 , pág. 1218-1225.
  28. Gordon, Lowe, 2006 , pág. 67-82.
  29. 1 2 Flitton, Breckon, 2010 , pág. 11.1–12.
  30. Flitton, Breckon, Megherbi, 2013 .
  31. Laptev, Lindeberg, 2004 , pág. 91–103.
  32. Laptev, Caputo, Schuldt, Lindeberg, 2007 , pág. 207–229.
  33. Scovanner, Ali, Shah, 2007 , pág. 357–360.
  34. Niebles, Wang, Li, 2006 , pág. 1156–1167.
  35. 1 2 3 Toews, Wells III, Collins, Arbel, 2010 , pág. 2318–2327.
  36. Lazebnik, Schmid, Ponce, 2004 .
  37. Kim, Yoon, Kweon, 2006 .
  38. Bahía, Tuytelaars, van Gool, 2006 .
  39. Ke, Sukthankar, 2004 .
  40. Wagner, Reitmayr, Mulloni, Drummond, Schmalstieg, 2008 .
  41. Henze, Schinke, Boll, 2009 .
  42. Características de KAZE . Consultado el 12 de noviembre de 2018. Archivado desde el original el 3 de noviembre de 2018.

Literatura

Enlaces