Comprensión del proceso de cálculo de características de SURF


9

Entonces, estaba leyendo el documento sobre SURF (Bay, Ess, Tuytelaars, Van Gool: Características robustas aceleradas (SURF) ) y no puedo comprender este párrafo a continuación:

Debido al uso de filtros de caja e imágenes integrales, no tenemos que aplicar iterativamente el mismo filtro a la salida de una capa previamente filtrada, sino que podemos aplicar filtros de caja de cualquier tamaño exactamente a la misma velocidad directamente en la imagen original y incluso en paralelo (aunque este último no se explota aquí). Por lo tanto, el espacio de escala se analiza aumentando el tamaño del filtro en lugar de reducir de forma iterativa el tamaño de la imagen, figura 4.

This is figure 4 in question.

Figura 4

PD: El documento tiene una explicación de la imagen integral, sin embargo, todo el contenido del documento se basa en el párrafo particular anterior. Si alguien ha leído este documento, ¿puede mencionar brevemente lo que está sucediendo aquí? Toda la explicación matemática es bastante compleja para tener una buena comprensión en primer lugar, por lo que necesito ayuda. Gracias.

Editar, un par de problemas:

1)

Cada octava se subdivide en un número constante de niveles de escala. Debido a la naturaleza discreta de las imágenes integrales, la diferencia de escala mínima entre 2 escalas posteriores depende de la longitud lo de los lóbulos positivos o negativos de la derivada parcial de segundo orden en la dirección de derivación (x o y), que se establece en un tercio de la longitud del tamaño del filtro. Para el filtro 9x9, esta longitud lo es 3. Para dos niveles sucesivos, debemos aumentar este tamaño en un mínimo de 2 píxeles (un píxel en cada lado) para mantener el tamaño desigual y garantizar así la presencia del píxel central. . Esto da como resultado un aumento total del tamaño de la máscara en 6 píxeles (ver figura 5).

Figure 5

Figura 5

No pude entender las líneas en el contexto dado.

Para dos niveles sucesivos, debemos aumentar este tamaño en un mínimo de 2 píxeles (un píxel en cada lado) para mantener el tamaño desigual y así garantizar la presencia del píxel central.

Sé que están tratando de hacer algo con la longitud de la imagen, incluso si están tratando de hacerlo extraño, de modo que haya un píxel central que les permita calcular el máximo o el mínimo del gradiente de píxeles. Estoy un poco dudoso sobre su significado contextual.

2)

Para calcular el descriptor se utiliza la wavelet de Haar.

Halet Wavelet

 reX El |reXEl |

3)

Otro

¿Cuál es la necesidad de tener un filtro aproximado?

4. No tengo ningún problema con la forma en que descubrieron el tamaño del filtro. Ellos "hicieron" algo empíricamente. Sin embargo, tengo un problema persistente con esta línea

La salida del filtro 9x9, introducida en la sección anterior, se considera como la capa de escala inicial, a la que nos referiremos como escala s = 1.2 (aproximación de derivados gaussianos con σ = 1.2).

¿Cómo se enteraron del valor de σ? Además, ¿cómo se realiza el cálculo de la escala en la imagen a continuación? La razón por la que estoy afirmando sobre esta imagen es porque el valor de s=1.2sigue recurriendo, sin indicar claramente su origen. Imagen a escala

5. La matriz de Hesse representada en términos de Lcuál es la convolución del gradiente de segundo orden del filtro gaussiano y la imagen.

Sin embargo, se dice que el determinante "aproximado" contiene solo términos que involucran un filtro gaussiano de segundo orden.

El valor de wes:

Mi pregunta es por qué el determinante se calcula así, y cuál es la relación entre la matriz de Hesse aproximada y la matriz de Hesse.


¡Oye! Agregué los nombres de los autores y el título del artículo en sus preguntas, espero que no le importe. Primero, permite buscar el artículo incluso si el enlace se corta. En segundo lugar, como alguien que hace la investigación, creo que los autores de acreditación con sus nombres y los nombres de la publicación es lo mínimo que podemos hacer para reconocer su trabajo :)
Penélope

@penelope: Tenía miedo de que la gente me votara al olvido.
motiur

Creo que es una muy buena pregunta, una de las más interesantes recientemente. Nunca me metí en SURF, pero podría intentar echar un vistazo mañana y ver si puedo contribuir, la pregunta realmente me interesó :) y PS: si estás haciendo esto como parte de un proyecto Uni "oficial" , Estoy seguro de que su supervisor con gusto lo ayudará (especialmente si está en el nivel Master). Una parte de su trabajo es enseñarle a leer literatura científica.
Penélope

PPS: es posible que desee editar su pregunta para agregar una breve explicación de los términos imagen integral y filtro de cuadro : comprender lo que entiende probablemente nos ayudará a comprender lo que no comprende;)
penelope

@penelope: Eres una linda chica / chico, lo que sea. Y no, tengo que tener una revisión de la literatura de este artículo, leí el escrito por David Lowe tanto en 2004 como en 1999. Ese fue bastante comprensible, además hubo una buena conferencia de YouTube sobre eso. El problema es que hay toneladas de términos matemáticos utilizados en este documento, el que tiene SURF. Si no tienes un modelo matemático en tu cabeza, es difícil ver la idea principal.
motiur

Respuestas:


10

¿Qué es el SURF?

Para comprender correctamente lo que está sucediendo, también debe estar familiarizado con SIFT : SURF es básicamente una aproximación de SIFT. Ahora, la verdadera pregunta es: ¿qué es SIFT? .

SIFT es tanto un detector de punto clave como un descriptor de punto clave . En la parte del detector, SIFT es esencialmente una variante multiescala de los detectores de esquina clásicos, como la esquina de Harris, y tiene la capacidad de sintonizar automáticamente la escala. Luego, dada una ubicación y un tamaño de parche (derivado de la escala), puede calcular la parte del descriptor.

SIFT es muy bueno para hacer coincidir piezas de imágenes localmente afines, pero tiene un inconveniente: es costoso (es decir, largo) para calcular. Se invierte una gran cantidad de tiempo en calcular el espacio de escala gaussiano (en la parte del detector), luego en calcular los histogramas de la dirección del gradiente (para la parte del descriptor).

Tanto SIFT como SURF pueden verse como una diferencia de gaussianos con selección automática de escala (es decir, tamaños gaussianos). Esto, construye primero un espacio de escala donde la imagen de entrada se filtra a diferentes escalas. El espacio de escala puede verse como una pirámide, donde dos imágenes consecutivas están relacionadas por un cambio de escala (es decir, el tamaño del fiéter de paso bajo gaussiano ha cambiado), y las escalas se agrupan por octavas (es decir, un gran cambio en el tamaño del filtro gaussiano).

  • En SIFT, esto se hace filtrando repetidamente la entrada con un gaussiano de ancho fijo hasta alcanzar la escala de la siguiente octava.
  • En SURF, no sufres ninguna penalización de tiempo de ejecución por el tamaño del filtro gaussiano gracias al uso del truco integral de la imagen. Por lo tanto, calcula directamente la imagen filtrada en cada escala (sin utilizar el resultado en la escala anterior).

La parte de aproximación

Dado que calcular el espacio de escala gaussiano y los histogramas de la dirección del gradiente es largo, es una buena idea (elegida por los autores de SURF) reemplazar estos cálculos por aproximaciones rápidas.

Los autores comentaron que los pequeños gaussianos (como los que se usan en SIFT) podrían ser aproximados por integrales cuadradas (también conocido como cuadro borroso ). Estos promedios rectangulares tienen la buena propiedad de ser muy rápidos de obtener gracias al truco integral de la imagen.

Además, el espacio de escala gaussiano en realidad no se usa per se , sino para aproximarse a un laplaciano de gaussianos (puede encontrar esto en el documento SIFT). Por lo tanto, no necesita solo imágenes borrosas de Gauss, sino derivados y diferencias de ellas. Entonces, solo empujas un poco más la idea de aproximar un Gaussiano por una caja: primero deriva un Gaussiano tantas veces como sea necesario, luego aproxima cada lóbulo por una caja del tamaño correcto. Eventualmente terminarás con un conjunto de características de Haar.

Incrementar en 2

Esto es solo un artefacto de implementación, como habrás adivinado. El objetivo es tener un píxel central. El descriptor de características se calcula con respecto al centro del parche de imagen que se describirá.

Región media

todo pix en columnaX=UNAtodo pix en columnaX=-UNAX

número mágico

σ=1,2σ=1,2


Gracias por la explicación, borró algunas cosas, déjame ver si alguien tiene una comprensión más elaborada.
motiur

He editado la respuesta con respecto a sus nuevas preguntas.
sansuiso

Oh sí, gracias, apreciable. El papel es bastante largo, por lo que muchas cosas pasan a la vez.
motiur

¿Quieres ver mi última edición?
Motiur

1
Es una mezcla de conocimiento compartido común (los pequeños gaussianos se aproximan bien por desenfoques), la experimentación (tamaños mínimos / máximos de objetos de interés en imágenes del mundo real) y las matemáticas (dado un tamaño de parche inicial, rectángulos computacionales y gaussianos que encajan) .
sansuiso

4

Para identificar los puntos de interés potenciales, la función de diferencia de Gauss (DOG) se usa a menudo para procesar la imagen, lo que la hace invariable a escala y orientación.

En SIFT, las pirámides de imágenes se establecen filtrando cada capa con DOG de sigmavalores crecientes y tomando la diferencia.

Por otro lado, SURF aplica una aproximación mucho más rápida de derivadas parciales gaussianas de segundo orden con laplaciano de Gauss (LoG) y los filtros cuadrados de diferente tamaño (9 * 9, 15 * 15, ...). El costo computacional es independiente del tamaño del filtro. No hay muestreo descendente (cambio sigma) para niveles más altos en la pirámide, sino solo la escala ascendente del tamaño del filtro que da como resultado imágenes de la misma resolución.

EDITAR

Una nota adicional: los autores en su papel simplificar aún más el segundo derivado de Gauss en las 4 orientaciones (x, y, xy, YX) con el kernel [1 -2 1], [1 -2 1]', [1 -1;-1 1], y [-1 1;1 -1]. Cuando aumenta el tamaño del filtro, solo necesita extender las regiones simplificadas del núcleo para lograr el más grande. Y es equivalente al DOG con diferentes escalas (la curva LoG tiene la misma forma que el DOG, y el tamaño del filtro también hace que su ancho sea igual).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.