En visión por computadora , las características robustas aceleradas ( SURF ) es un detector y descriptor de características locales patentado . Se puede utilizar para tareas como el reconocimiento de objetos , el registro de imágenes , la clasificación o la reconstrucción 3D . Está inspirado en parte por el descriptor de transformación de características invariantes de escala (SIFT). La versión estándar de SURF es varias veces más rápida que SIFT y sus autores afirman que es más robusta frente a diferentes transformaciones de imágenes que SIFT.
Para detectar puntos de interés, SURF utiliza una aproximación entera del determinante del detector de manchas de Hesse , que se puede calcular con 3 operaciones enteras utilizando una imagen integral precalculada . Su descriptor de características se basa en la suma de la respuesta de la ondícula de Haar alrededor del punto de interés. Estos también se pueden calcular con la ayuda de la imagen integral.
Los descriptores SURF se han utilizado para localizar y reconocer objetos, personas o rostros, reconstruir escenas 3D, rastrear objetos y extraer puntos de interés.
SURF fue publicado por primera vez por Herbert Bay , Tinne Tuytelaars y Luc Van Gool, y presentado en la Conferencia Europea de Visión por Computadora de 2006 . Una aplicación del algoritmo está patentada en Estados Unidos. [1] Una versión "vertical" de SURF (llamada U-SURF) no es invariable a la rotación de la imagen y, por lo tanto, es más rápida de calcular y más adecuada para aplicaciones donde la cámara permanece más o menos horizontal.
La imagen se transforma en coordenadas, utilizando la técnica de la pirámide de resolución múltiple , para copiar la imagen original con forma de pirámide piramidal gaussiana o laplaciana para obtener una imagen del mismo tamaño pero con un ancho de banda reducido. Esto logra un efecto de desenfoque especial en la imagen original, llamado Scale-Space y asegura que los puntos de interés sean invariantes en la escala.
Algoritmo y características
El algoritmo SURF se basa en los mismos principios y pasos que SIFT; pero los detalles de cada paso son diferentes. El algoritmo tiene tres partes principales: detección de puntos de interés, descripción del vecindario local y coincidencia.
Detección
SURF utiliza filtros de forma cuadrada como una aproximación del suavizado gaussiano . (El enfoque SIFT usa filtros en cascada para detectar puntos característicos invariantes de escala, donde la diferencia de gaussianos (DoG) se calcula en imágenes reescaladas progresivamente). Filtrar la imagen con un cuadrado es mucho más rápido si se usa la imagen integral :
La suma de la imagen original dentro de un rectángulo se puede evaluar rápidamente utilizando la imagen integral, lo que requiere evaluaciones en las cuatro esquinas del rectángulo.
SURF utiliza un detector de manchas basado en la matriz de Hesse para encontrar puntos de interés. El determinante de la matriz de Hesse se usa como una medida del cambio local alrededor del punto y se eligen los puntos donde este determinante es máximo. En contraste con el detector de Hesse-Laplaciano de Mikolajczyk y Schmid, SURF también usa el determinante de Hesse para seleccionar la escala, como también lo hace Lindeberg. Dado un punto p = (x, y) en una imagen I, la matriz de Hesse H (p, σ) en el punto py la escala σ, es:
dónde es la convolución de la derivada de segundo orden de gaussiano con la imagen en el punto .
El filtro de caja de tamaño 9 × 9 es una aproximación de un gaussiano con σ = 1.2 y representa el nivel más bajo (resolución espacial más alta) para mapas de respuesta de blob.
Representación en el espacio de escala y ubicación de puntos de interés.
Los puntos de interés se pueden encontrar a diferentes escalas, en parte porque la búsqueda de correspondencias a menudo requiere imágenes de comparación donde se ven a diferentes escalas. En otros algoritmos de detección de características, el espacio de escala generalmente se realiza como una pirámide de imágenes. Las imágenes se suavizan repetidamente con un filtro gaussiano, luego se submuestrea para obtener el siguiente nivel superior de la pirámide. Por tanto, se calculan varios pisos o escaleras con varias medidas de las máscaras:
El espacio de la escala se divide en varias octavas, donde una octava se refiere a una serie de mapas de respuesta que cubren una duplicación de la escala. En SURF, el nivel más bajo del espacio de escala se obtiene a partir de la salida de los filtros de 9 × 9.
Por lo tanto, a diferencia de los métodos anteriores, los espacios de escala en SURF se implementan aplicando filtros de caja de diferentes tamaños. En consecuencia, el espacio de escala se analiza aumentando la escala del tamaño del filtro en lugar de reducir iterativamente el tamaño de la imagen. La salida del filtro de 9 × 9 anterior se considera como la capa de escala inicial en la escala s = 1.2 (correspondiente a las derivadas gaussianas con σ = 1.2). Las siguientes capas se obtienen filtrando la imagen con máscaras gradualmente más grandes, teniendo en cuenta la naturaleza discreta de las imágenes integrales y la estructura de filtro específica. Esto da como resultado filtros de tamaño 9 × 9, 15 × 15, 21 × 21, 27 × 27, .... Se aplica una supresión no máxima en una vecindad de 3 × 3 × 3 para localizar puntos de interés en la imagen y sobre escalas . Los máximos del determinante de la matriz de Hesse se interpolan luego en escala y espacio de imagen con el método propuesto por Brown, et al. La interpolación del espacio de escala es especialmente importante en este caso, ya que la diferencia de escala entre las primeras capas de cada octava es relativamente grande.
Descriptor
El objetivo de un descriptor es proporcionar una descripción única y sólida de una característica de la imagen , por ejemplo, describiendo la distribución de intensidad de los píxeles dentro de la vecindad del punto de interés. Por tanto, la mayoría de los descriptores se calculan de forma local, por lo que se obtiene una descripción para cada punto de interés identificado previamente.
La dimensionalidad del descriptor tiene un impacto directo tanto en su complejidad computacional como en la robustez / precisión de coincidencia de puntos. Un descriptor corto puede ser más robusto contra las variaciones de apariencia, pero puede que no ofrezca suficiente discriminación y, por lo tanto, dé demasiados falsos positivos.
El primer paso consiste en fijar una orientación reproducible basada en información de una región circular alrededor del punto de interés. Luego construimos una región cuadrada alineada con la orientación seleccionada y extraemos el descriptor SURF de ella.
Asignación de orientación
Para lograr la invariancia rotacional, es necesario encontrar la orientación del punto de interés. Las respuestas de la ondícula de Haar en las direcciones x e y dentro de una vecindad circular de radio alrededor del punto de interés se calculan, donde es la escala a la que se detectó el punto de interés. Las respuestas obtenidas se ponderan mediante una función gaussiana centrada en el punto de interés, luego se trazan como puntos en un espacio bidimensional, con la respuesta horizontal en abscisas y la respuesta vertical en ordenadas . La orientación dominante se estima calculando la suma de todas las respuestas dentro de una ventana de orientación deslizante de tamaño π / 3. Se suman las respuestas horizontal y vertical dentro de la ventana. Las dos respuestas sumadas luego producen un vector de orientación local. El vector más largo en general define la orientación del punto de interés. El tamaño de la ventana deslizante es un parámetro que debe elegirse cuidadosamente para lograr el equilibrio deseado entre robustez y resolución angular.
Descriptor basado en la suma de las respuestas de ondas de Haar
Para describir la región alrededor del punto, se extrae una región cuadrada, se centra en el punto de interés y se orienta a lo largo de la orientación como se seleccionó anteriormente. El tamaño de esta ventana es de 20 segundos.
La región de interés se divide en subregiones cuadradas de 4x4 más pequeñas, y para cada una, las respuestas de ondas de Haar se extraen en puntos de muestra de 5x5 espaciados regularmente. Las respuestas se ponderan con un gaussiano (para ofrecer más robustez a las deformaciones, el ruido y la traslación).
Pareo
Al comparar los descriptores obtenidos de diferentes imágenes, se pueden encontrar pares coincidentes.
Ver también
Referencias
- ^ US 2009238460 , Ryuji Funayama, Hiromichi Yanagihara, Luc Van Gool, Tinne Tuytelaars, Herbert Bay, "DETECTOR Y DESCRIPTOR DE PUNTO DE INTERÉS ROBUSTO", publicado el 24 de septiembre de 2009
Fuentes
- Herbert Bay, Andreas Ess, Tinne Tuytelaars y Luc Van Gool, " Funciones robustas aceleradas ", ETH Zurich, Katholieke Universiteit Leuven
- Andrea Maricela Plaza Cordero, Jorge Luis Zambrano Martínez, " Estudio y Selección de las Técnicas SIFT, SURF y ASIFT de Reconocimiento de Imágenes para el Diseño de un Prototipo en Dispositivos Móviles ", 15º Concurso de Trabajos Estudiantiles, EST 2012
- AM Romero y M. Cazorla, " Comparativa de detectores de característicasvisuales y su aplicación al SLAM ", X Taller de agentes físicos, Setiembre 2009, Cáceres
- PM Panchal, SR Panchal, SK Shah, " Una comparación de SIFT y SURF ", Revista internacional de investigación innovadora en ingeniería informática y de comunicaciones, vol. 1, número 2, abril de 2013
- Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool "SURF: Funciones robustas y aceleradas " , Visión por computadora y comprensión de imágenes (CVIU), vol. 110, núm. 3, págs. 346–359, 2008
- Christopher Evans "Notas sobre la biblioteca OpenSURF", Maestría en Ciencias de la Computación, Universidad de Bristol; código fuente y documentación archivados aquí
- J an Knopp, Mukta Prasad, Gert Willems, Radu Timofte y Luc Van Gool, " Hough Transform and 3D SURF for Robust Three Dimensional Classification ", European Conference on Computer Vision (ECCV), 2010