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.
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
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.
3)
¿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.2
sigue recurriendo, sin indicar claramente su origen.
5.
La matriz de Hesse representada en términos de L
cuá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 w
es:
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.
Respuestas:
¿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).
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
número mágico
fuente
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
sigma
valores 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).fuente