Articulo de referencia

Funciones robustas aceleradas

En visión artificial , SURF ( Speeded Up Robust Features ) es un detector y descriptor de características locales con aplicaciones patentadas. Se puede utilizar para tareas como...

En visión artificial , SURF ( Speeded Up Robust Features ) es un detector y descriptor de características locales con aplicaciones patentadas. Se puede utilizar para tareas como reconocimiento de objetos , registro de imágenes , clasificación o reconstrucción 3D . Se inspira parcialmente en el descriptor SIFT ( Scale-Invariant Feature Transform ). La versión estándar de SURF es varias veces más rápida que SIFT y, según sus autores, es más robusta frente a diferentes transformaciones de imagen.

Para detectar puntos de interés, SURF utiliza una aproximación entera del determinante del detector de manchas hessianas , que se puede calcular con tres operaciones enteras a partir de 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. Estas 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 los Estados Unidos. [ 1 ] Una versión "vertical" de SURF (llamada U-SURF) no es invariante 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 mediante la técnica de pirámide multirresolución para copiar la imagen original con forma de pirámide gaussiana o laplaciana, obteniendo así una imagen del mismo tamaño pero con ancho de banda reducido. Esto logra un efecto de desenfoque especial en la imagen original, denominado espacio de escala , y garantiza que los puntos de interés sean invariantes a la escala.

Algoritmo y características

El algoritmo SURF se basa en los mismos principios y pasos que SIFT; sin embargo, los detalles de cada paso son diferentes. El algoritmo consta de tres partes principales: detección de puntos de interés, descripción del vecindario local y comparación.

Detección

SURF utiliza filtros de forma cuadrada como aproximación del suavizado gaussiano . (El método SIFT utiliza filtros en cascada para detectar puntos característicos invariantes a la escala, donde la diferencia de gaussianas (DoG) se calcula progresivamente en imágenes reescaladas). Filtrado de la imagenI{\displaystyle I}Con un cuadrado es mucho más rápido si se utiliza la imagen integral :

S(incógnita,y)=i=0incógnitaj=0yI(i,j){\displaystyle S(x,y)=\sum _{i=0}^{x}\sum _{j=0}^{y}I(i,j)}

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 blobs basado en la matriz hessiana para encontrar puntos de interés. El determinante de la matriz hessiana se utiliza como medida del cambio local alrededor del punto y se eligen los puntos donde este determinante es máximo. A diferencia del detector hessiano-laplaciano de Mikolajczyk y Schmid, SURF también utiliza el determinante de la hessiana para seleccionar la escala, como también lo hace Lindeberg. Dado un puntopag=(incógnita,y){\displaystyle p=(x,y)}en una imagenI{\displaystyle I}, la matriz hessianaH(pag,σ){\displaystyle H(p,\sigma )}en el puntopag{\displaystyle p}y escalaσ{\displaystyle \sigma }, es:

H(pag,σ)=(Lincógnitaincógnita(pag,σ)Lincógnitay(pag,σ)Lincógnitay(pag,σ)Lyy(pag,σ)){\displaystyle H(p,\sigma )={\begin{pmatrix}L_{xx}(p,\sigma )&L_{xy}(p,\sigma )\\L_{xy}(p,\sigma )&L_{yy}(p,\sigma )\end{pmatrix}}}

dóndeLincógnitaincógnita(pag,σ){\displaystyle L_{xx}(p,\sigma )}etc. es la convolución de la derivada de segundo orden de Gaussiana con la imagenI(incógnita,y){\displaystyle I(x,y)}en ese puntopag{\displaystyle p}.

El filtro de caja de tamaño 9×9 es una aproximación de una gaussiana con σ=1,2 y representa el nivel más bajo (mayor resolución espacial) para mapas de respuesta de blobs.

Representación en escala espacial y localización de puntos de interés

Los puntos de interés pueden encontrarse en diferentes escalas, en parte porque la búsqueda de correspondencias a menudo requiere imágenes comparativas donde se observan a distintas escalas. En otros algoritmos de detección de características, el espacio de escalas se suele representar como una pirámide de imágenes. Las imágenes se suavizan repetidamente con un filtro gaussiano y luego se submuestrean para obtener el siguiente nivel superior de la pirámide. Por lo tanto, se calculan varios pisos o escalones con diferentes medidas de las máscaras.

σaproximadamente=tamaño del filtro actual×(escala del filtro basetamaño del filtro base){\displaystyle \sigma _{\text{approx}}={\text{tamaño actual del filtro}}\times \left({\frac {\text{escala base del filtro}}{\text{tamaño base del filtro}}}\right)}

El espacio de escalas 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 escalas 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 el tamaño del filtro en lugar de reducir iterativamente el tamaño de la imagen. La salida del filtro 9×9 anterior se considera como la capa de escala inicial en escala s  =1.2 (correspondiente a 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 específica del filtro. 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 un vecindario de 3×3×3 para localizar puntos de interés en la imagen y sobre escalas. Los máximos del determinante de la matriz hessiana se interpolan luego en el espacio de escala e imagen con el método propuesto por Brown, et al. La interpolación del espacio de escalas 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 robusta de una característica de la imagen , por ejemplo, describiendo la distribución de intensidad de los píxeles en la vecindad del punto de interés. Por lo tanto, la mayoría de los descriptores se calculan de forma local, obteniéndose así una descripción para cada punto de interés identificado previamente.

La dimensionalidad del descriptor influye directamente tanto en su complejidad computacional como en la robustez y precisión de la coincidencia de puntos. Un descriptor corto puede ser más robusto frente a variaciones de apariencia, pero podría no ofrecer suficiente discriminación y, por lo tanto, generar demasiados falsos positivos.

El primer paso consiste en fijar una orientación reproducible a partir de la información de una región circular alrededor del punto de interés. A continuación, construimos una región cuadrada alineada con la orientación seleccionada y extraemos el descriptor SURF de ella.

Tarea 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 un entorno circular de radio6s{\displaystyle 6s}alrededor del punto de interés se calculan, dondes{\displaystyle s}es la escala en 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 y se representan como puntos en un espacio bidimensional, con la respuesta horizontal en el eje de abscisas y la respuesta vertical en el eje de 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. Las respuestas horizontales y verticales dentro de la ventana se suman. Las dos respuestas sumadas dan como resultado un vector de orientación local. El vector más largo 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 un equilibrio deseado entre robustez y resolución angular.

Descriptor basado en la suma de las respuestas de la ondícula de Haar.

Para describir la región alrededor del punto, se extrae una región cuadrada centrada en el punto de interés y orientada según la orientación seleccionada anteriormente. El tamaño de esta ventana es de 20 s.

La región de interés se divide en subregiones cuadradas más pequeñas de 4x4, y para cada una, se extraen las respuestas de la ondícula de Haar en 5x5 puntos de muestreo espaciados regularmente. Las respuestas se ponderan con una función gaussiana (para ofrecer mayor robustez frente a deformaciones, ruido y traslación).

Pareo

Al comparar los descriptores obtenidos de diferentes imágenes, se pueden encontrar pares coincidentes.

Véase también

Referencias

  1. US 2009238460 , Ryuji Funayama, Hiromichi Yanagihara, Luc Van Gool, Tinne Tuytelaars, Herbert Bay, "DETECTOR Y DESCRIPTOR ROBUSTO DE PUNTOS DE INTERÉS", publicado el 24/09/2009 

Fuentes

  • Herbert Bay, Andreas Ess, Tinne Tuytelaars y Luc Van Gool, " Speeded Up Robust Features ", ETH Zurich, Katholieke Universiteit Leuven
  • Andrea Maricela Plaza Cordero, Jorge Luis Zambrano-Martinez, " 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ísticas visuales 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: Características robustas aceleradas" , Computer Vision and Image Understanding (CVIU), vol. 110, n.º 3, págs.  346–359, 2008
  • Christopher Evans, "Notas sobre la biblioteca OpenSURF", Máster en Informática, Universidad de Bristol; código fuente y documentación archivados aquí.
  • Jan Knopp, Mukta Prasad, Gert Willems, Radu Timofte y Luc Van Gool, " Transformada de Hough y SURF 3D para una clasificación tridimensional robusta ", Conferencia Europea de Visión por Computadora (ECCV), 2010
  • SURF en GitHub
  • Sitio web de SURF: Funcionalidades robustas y aceleradas
  • Primera publicación de Speeded Up Robust Features (2006)
  • Publicación revisada de SURF (2008)