algoritmo surf

6
Implementación del detector y descriptor SURF en dispositivos móviles con sistema operativo Android Ing. Jorge S. Cruz León 1 , M. en C. Jazmín Rodríguez Flores 2 , M. en C. Josue Román Martínez Mireles 3 y Dr. Juan Manuel Xicoténcatl Pérez 4 ResumenEn el presente artículo se presentan los resultados de la implementación del algoritmo SURF expuesto por Herbert Bay en [1], el cual se basa en el reconocimiento de imágenes en un dispositivo móvil con sistema operativo Android. Este algoritmo realiza la implementación del detector de puntos de interés así como del descriptor de características. También se muestran los resultados que se obtienen al realizar modificaciones en la construcción del escala-espacio, cambios de iluminación, escala y rotación y el empleo de imágenes con diferentes resoluciones con el objetivo de analizar el funcionamiento del algoritmo. Palabras claveReconocimiento de imágenes, dispositivos móviles, detector de puntos de interés, descriptor de características, algoritmo SURF. Introducción Un dispositivo móvil es un aparato portable, con velocidad de procesamiento, acceso a redes WiFi, memoria limitada, diseñado específicamente para una función, pero que puede llevar a cabo otras funciones más generales como se expone en [2]. La creciente demanda de comunicación entre las personas y localización de lugares, así como la fácil adquisición de dispositivos móviles (Smartphones, tabletas) ha permitido el auge de aplicaciones de gran utilidad para el usuario, las cuales emplean al máximo los recursos brindados por los dispositivos, entre ellas se encuentran aplicaciones que requieren el procesamiento de imágenes. La tecnología de dispositivos móviles tiene entre sus objetivos principales fabricar dispositivos cada vez más pequeños y portables, así como incrementar la capacidad y velocidad de procesamiento, lo cual beneficia la implementación de algoritmos para el reconocimiento de imágenes más robustos ante modificaciones de las mismas, que permitan el desarrollo de aplicaciones especializadas.En este documento le proporcionamos un patrón para el formato de su manuscrito. Por favor sea consistente y observe los tamaños de letra y de estilo. Continúa aquí la introducción. Antecedentes Romero y Cazorla presentan en [3] una comparativa de detectores de características visuales y su aplicación al SLAM (Simultaneous Localization and Mapping) el cual trata de resolver la problemática de estimar la posición de un robot y el mapa de su entorno. La solución a lo anterior se realiza mediante la implementación de algoritmos de extracción de características, realizando una comparativa del funcionamiento de dos de ellos: SIFT (Scale Invariant Features Transforms) y SURF (Speeded Up Robust Features), también se desarrolla un algoritmo para el emparejamiento de las imágenes. Se concluye que el algoritmo SURF cuenta con mayor velocidad de ejecución, sin embargo hace un reconocimiento de menos puntos característicos, mientras que SIFT disminuye casi al doble la velocidad de procesamiento, aunque la detección de puntos característicos es mayor, existe mayor repetibilidad entre los puntos que se detectan, por lo tanto, el uso de cada algoritmo depende del objetivo de su implementación. Con base a los resultados que se obtuvieron en la investigación, si se genera una aplicación donde es primordial minimizar los tiempos de ejecución, se recomienda emplear el algoritmo SURF, en cambio si se genera una aplicación donde lo primordial sea la cantidad de puntos de interés detectados sin importar el tiempo que se requiera entonces se recomienda emplear el algoritmo SIFT. En [4], Ballesta, Gil, Reinoso y Úbeda realizaron un análisis comparativo entre diversos extractores de características (un detector de puntos significativos y un descriptor local) con la finalidad de obtener el extractor que tenga mejor rendimiento. Los algoritmos de detección de puntos que se evaluaron son: Harris Corner Detector, Harris Laplace, SUSAN (Smallest Univalue Segment Assimilating Nucleus), SIFT y SURF. Los descriptores locales que se evaluaron son: SIFT, SURF, ventana de niveles de grises, histograma de orientación y momentos de Zernike. En 1 Ing. Jorge Stefan Leon Cruz, Estudiante del posgrado en Tecnologías de la Información, Universidad Politécnica de Pachuca. Zempoala, Hidalgo, 42083, México 2 Jazmín Rodríguez Flores. Coordinación del Posgrado en Tecnologías de la Información, Universidad Politécnica de Pachuca. Zempoala, Hidalgo, 42083, México. [email protected] 3 Josué Román Martínez Mireles. Coordinación de Ingeniería en Mecatrónica. Universidad Politécnica de Pachuca Zempoala, Hidalgo, 42083, México. jmartí[email protected], (autor corresponsal) 4 Juan Manuel Xicoténcatl Pérez. Coordinación de Ingeniería en Mecatrónica. Universidad Politécnica de Pachuca, Zempoala, Hidalgo, 42083, México. [email protected] Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals Celaya, Guanajuato, México Noviembre 5 al 7, 2014 ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014 5232

Upload: jorge-cruz-leon

Post on 04-Jan-2016

222 views

Category:

Documents


0 download

DESCRIPTION

Algoritmo surf

TRANSCRIPT

Page 1: Algoritmo surf

Implementación del detector y descriptor SURF en dispositivos móviles

con sistema operativo Android

Ing. Jorge S. Cruz León1, M. en C. Jazmín Rodríguez Flores2,

M. en C. Josue Román Martínez Mireles3 y Dr. Juan Manuel Xicoténcatl Pérez4

Resumen—En el presente artículo se presentan los resultados de la implementación del algoritmo SURF expuesto por

Herbert Bay en [1], el cual se basa en el reconocimiento de imágenes en un dispositivo móvil con sistema operativo Android.

Este algoritmo realiza la implementación del detector de puntos de interés así como del descriptor de características.

También se muestran los resultados que se obtienen al realizar modificaciones en la construcción del escala-espacio,

cambios de iluminación, escala y rotación y el empleo de imágenes con diferentes resoluciones con el objetivo de analizar el

funcionamiento del algoritmo.

Palabras clave—Reconocimiento de imágenes, dispositivos móviles, detector de puntos de interés, descriptor de

características, algoritmo SURF.

Introducción

Un dispositivo móvil es un aparato portable, con velocidad de procesamiento, acceso a redes WiFi, memoria

limitada, diseñado específicamente para una función, pero que puede llevar a cabo otras funciones más generales como

se expone en [2]. La creciente demanda de comunicación entre las personas y localización de lugares, así como la

fácil adquisición de dispositivos móviles (Smartphones, tabletas) ha permitido el auge de aplicaciones de gran utilidad

para el usuario, las cuales emplean al máximo los recursos brindados por los dispositivos, entre ellas se encuentran

aplicaciones que requieren el procesamiento de imágenes.

La tecnología de dispositivos móviles tiene entre sus objetivos principales fabricar dispositivos cada vez más

pequeños y portables, así como incrementar la capacidad y velocidad de procesamiento, lo cual beneficia la

implementación de algoritmos para el reconocimiento de imágenes más robustos ante modificaciones de las mismas,

que permitan el desarrollo de aplicaciones especializadas.En este documento le proporcionamos un patrón para el

formato de su manuscrito. Por favor sea consistente y observe los tamaños de letra y de estilo. Continúa aquí la

introducción.

Antecedentes

Romero y Cazorla presentan en [3] una comparativa de detectores de características visuales y su aplicación al

SLAM (Simultaneous Localization and Mapping) el cual trata de resolver la problemática de estimar la posición de

un robot y el mapa de su entorno. La solución a lo anterior se realiza mediante la implementación de algoritmos de

extracción de características, realizando una comparativa del funcionamiento de dos de ellos: SIFT (Scale Invariant

Features Transforms) y SURF (Speeded Up Robust Features), también se desarrolla un algoritmo para el

emparejamiento de las imágenes. Se concluye que el algoritmo SURF cuenta con mayor velocidad de ejecución, sin

embargo hace un reconocimiento de menos puntos característicos, mientras que SIFT disminuye casi al doble la

velocidad de procesamiento, aunque la detección de puntos característicos es mayor, existe mayor repetibilidad entre

los puntos que se detectan, por lo tanto, el uso de cada algoritmo depende del objetivo de su implementación. Con

base a los resultados que se obtuvieron en la investigación, si se genera una aplicación donde es primordial minimizar

los tiempos de ejecución, se recomienda emplear el algoritmo SURF, en cambio si se genera una aplicación donde lo

primordial sea la cantidad de puntos de interés detectados sin importar el tiempo que se requiera entonces se

recomienda emplear el algoritmo SIFT.

En [4], Ballesta, Gil, Reinoso y Úbeda realizaron un análisis comparativo entre diversos extractores de

características (un detector de puntos significativos y un descriptor local) con la finalidad de obtener el extractor que

tenga mejor rendimiento. Los algoritmos de detección de puntos que se evaluaron son: Harris Corner Detector, Harris

Laplace, SUSAN (Smallest Univalue Segment Assimilating Nucleus), SIFT y SURF. Los descriptores locales que se

evaluaron son: SIFT, SURF, ventana de niveles de grises, histograma de orientación y momentos de Zernike. En

1 Ing. Jorge Stefan Leon Cruz, Estudiante del posgrado en Tecnologías de la Información, Universidad Politécnica de Pachuca.

Zempoala, Hidalgo, 42083, México 2 Jazmín Rodríguez Flores. Coordinación del Posgrado en Tecnologías de la Información, Universidad Politécnica de Pachuca.

Zempoala, Hidalgo, 42083, México. [email protected] 3 Josué Román Martínez Mireles. Coordinación de Ingeniería en Mecatrónica. Universidad Politécnica de Pachuca

Zempoala, Hidalgo, 42083, México. jmartí[email protected], (autor corresponsal) 4 Juan Manuel Xicoténcatl Pérez. Coordinación de Ingeniería en Mecatrónica. Universidad Politécnica de Pachuca, Zempoala,

Hidalgo, 42083, México. [email protected]

Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals

Celaya, Guanajuato, México Noviembre 5 al 7, 2014

ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014

5232

Page 2: Algoritmo surf

cuanto al aspecto de detección de puntos significativos, de acuerdo al análisis que se realizó, el algoritmo que presentó

mejor rendimiento fue el de Harris Corner Detector seguido por Harris Laplace, SIFT, SURF y SUSAN tanto para

imágenes en interiores como en exteriores. En la comparativa de descriptores locales el resultado en orden descendente

respecto a la característica del rendimiento es el siguiente: SURF, SIFT, Histogramas, Zernike y ventana de niveles.

En [5], Boullosa realizó una comparativa entre diversos descriptores visuales con el objetivo de detectar escenas

cuasi-duplicadas. El estudio divide a los descriptores de características como globales (consisten en resumir la imagen

en un solo vector de características) y locales (actúan sobre regiones de interés), en ellos se comparó el

comportamiento de 6 diversos descriptores, los cuales son: histogramas HSV (Hue, Saturation y Value), histogramas

RGB (Red, Green y Blue), Color layout, Correlograma, SIFT y SURF. Los descriptores que obtuvieron mejor

rendimiento fueron SIFT e histograma HSV, SURF, después Histograma RGB y Color layout y por último

Correlograma, así mismo es de relevancia tomar en cuenta que el autor aclara que los resultados que se obtienen de

los descriptores depende en gran parte del contenido de la base de datos.

Con base en el análisis de los algoritmos de procesamiento de imágenes anterior, se seleccionó la implementación

del algoritmo SURF, el cual se basa en la detección de puntos de interés invariantes, para el procesamiento de imágenes

que realizará el dispositivo, debido a su robustez ante la invarianza de cambios de iluminación, rotación y escala, así

como por presentar mejor velocidad de procesamiento y detección de puntos de interés en comparación a descriptores

similares.

Nótese que al haber un par de sub-secciones en la sección II, hemos introducido subtítulos con letra inclinada.

Las sub-secciones deberán ser arregladas como mostramos aquí. Mostramos en el Cuadro 1 un ejemplo de un

análisis estadístico.

DESCRIPCIÓN DEL ALGORITMO SURF

Las características principales que brinda el algoritmo son: invariancia ante la escala, orientación y distorsión afín

así como invariancia parcial a los cambios de iluminación. De acuerdo al artículo de Evans [6], el algoritmo se

encuentra dividido en 4 etapas principales, las cuales son:

a) Imágenes integrales: es uno de los principales aportes que utiliza el algoritmo, debido a que contribuyen a una

mejora en el funcionamiento. Dada una imagen de entrada y un pixel de esa imagen, la imagen integral es calculada

como la suma de los pixeles comprendidos entre el punto y el origen.

b) Detector basado en la matriz Hessiana: se basa en el determinante de la matriz para la localización y escala de

los puntos, se emplea por su rendimiento en la velocidad de cálculo y precisión.

c) Descriptor: es un vector de características que se calcula sobre una pequeña región de interés de la imagen, en

el caso del descriptor SURF, describe como la intensidad de los pixeles se distribuye dentro de una escala dependiente

de la vecindad de cada punto de interés que detectó la Hessiana.

d) Emparejamiento de puntos de interés: correspondencia de los puntos de interés identificados en dos imágenes.

A continuación se describe cada una de las etapas del algoritmo SURF.

Imágenes integrales. El uso de imágenes integrales lo introduce Paul Viola y Michael Jones en el artículo [7] de

nombre “Rapid Object Detection using a Boosted Cascade of Simple Features”, las cuales permiten una rápida

evaluación de características de una imagen. Son empleadas por que permiten disminuir la cantidad de operaciones al

realizar cálculos en el detector y descriptor SURF. La imagen integral en el pixel (x,y) contiene la suma de los pixeles

arriba y a la izquierda del punto como se muestra en la Ec. (1):

𝐼′(𝑥,𝑦) = ∑ ∑ 𝐼(𝑥, 𝑦)

𝑗≤𝑦

𝑗=0

𝑖≤𝑥

𝑖=0

(1)

Donde I es la imagen original e I’ es la imagen integral. Para el cálculo de la imagen integral se emplean las

operaciones descritas en Ec. (2) y Ec. (3).

s(x, y) = s(x, y − 1) + I(x, y) (2)

I’(x, y) = I’(x − 1, y) + s(x, y) (3)

Donde s(x,y) es una suma acumulativa y las funciones cuentan con los valores iniciales descritos en las Ec. (4) y

Ec. (5).

s(x, −1) = 0 (4)

𝐼′(−1, y) = 0 (5)

Al implementar la imagen integral se disminuye la cantidad de cálculos que se realizan en los pasos del algoritmo,

por ejemplo, para realizar la sumatoria de un área rectangular dentro de la imagen, considerando los puntos

seleccionados en la figura 1, en vez de sumar cada uno de los elementos, únicamente se tendrán que realizar las

operaciones que se muestran en la Ec. (6), lo cual disminuye la cantidad de cálculos.

Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals

Celaya, Guanajuato, México Noviembre 5 al 7, 2014

ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014

5233

Page 3: Algoritmo surf

Figura 1. Cálculo de la Imagen Integral extraído de [7]

Figura 2. Izquierda: derivadas parciales de segundo

orden de las gaussianas, derecha: aproximación por

filtros de caja.

∑ = 𝐴 + 𝐷 − (𝐵 + 𝐶) (6)

Detector basado en la matriz Hessiana. Dado un punto p=(x,y) de la imagen integral I, la matriz Hessiana H(p,σ)

del punto p que pertenece a la escala σ, se define por la Ec. (7).

𝐻(𝑝, 𝜎) = [𝐿𝑥𝑥(𝑝, 𝜎) 𝐿𝑥𝑦(𝑝, 𝜎)

𝐿𝑥𝑦(𝑝, 𝜎) 𝐿𝑦𝑦(𝑝, 𝜎)] (7)

Donde Lxx(p,σ) es la convolución de la derivada parcial de segundo orden de la Gaussiana en el punto p y escala

σ. Las gaussianas se emplean en el análisis del espacio-escala debido a su desempeño en la localización de puntos

característicos, en el desarrollo del algoritmo SURF se propone la implementación de filtros de caja para brindar una

aproximación de las derivadas parciales de segundo orden de las gaussianas y puedan ser evaluadas rápidamente con

el uso de las imágenes integrales.

En la figura 2 se muestra la aproximación propuesta en el algoritmo SURF para las derivadas parciales de segundo

orden de las gaussianas por medio de filtros de caja, donde el área en gris representa el valor de 0. Como los valores

de las áreas se encuentran definidos en los filtros de caja, existe un incremento en la velocidad de cálculo en conjunción

al empleo de las imágenes integrales.

Para el cálculo del determinante de la Hessiana, Bay en [1] propone la Ec. (8), donde se emplea el filtro de 9 x 9

como filtro inicial, con un valor de σ = 1.2 que representa la mínima escala del mismo. Con relación a la figura 2, se

denota a Dxx, Dyy y Dxy como las aproximaciones a utilizar.

det(𝐻𝑎𝑝𝑟𝑜𝑥) = 𝐷𝑥𝑥𝐷𝑦𝑦 − 𝑤2𝐷𝑥𝑦2 (8)

Donde w=0.9, cuyo valor se utiliza para balancear la expresión del determinante de la Hessiana, lo cual permite

que la respuesta del filtro este normalizada con respecto al tamaño de la máscara, para garantizar una norma de

Frobenius constante para cualquier tamaño de filtro.

Para el cálculo del determinante de la Hessiana se emplea el proceso propuesto en [8] por Han, Jia y Wang donde

se optimiza el algoritmo, el cual se muestra en la figura 3.

Figura 3. Aproximación de las derivadas parciales de

segundo orden de las gaussianas mediante

imágenes integrales.

Figura 4. Asignación de puntos en las sumatorias en

Dxx y Dyy

Para el cálculo de Dxx, Dyy, de acuerdo a la figura 3 y tomando en cuenta los valores que se asignaron a las

aproximaciones en la figura 2, las operaciones a realizar están descritas en la Ec. (9):

𝐷𝑥𝑥(𝑜𝐷𝑦𝑦) = 𝑆𝑢𝑚1 − 2𝑆𝑢𝑚2 + 𝑆𝑢𝑚3 (9)

Y para Dxy descrita en la Ec. (10):

𝐷𝑥𝑦 = 𝑆𝑢𝑚1 − 𝑆𝑢𝑚2 − 𝑆𝑢𝑚3 + 𝑆𝑢𝑚4 (10)

Considerando los parámetros de la figura 4, donde se observa la asignación de un valor en específico a puntos que

representan los límites de cada sumatoria, se utilizó la Ec. (6) para el cálculo de las imágenes integrales que emplean

las sumatorias de la Ec. (9) resultando las Ec. (11), Ec. (12) y Ec. (13).

𝑆𝑢𝑚1 = (𝐴 − 𝐵) + (𝐷 − 𝐶) (11)

𝑆𝑢𝑚2 = (𝐶 − 𝐷) + (𝐹 − 𝐸) (12)

𝑆𝑢𝑚3 = (𝐸 − 𝐹) + (𝐻 − 𝐺) (13)

Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals

Celaya, Guanajuato, México Noviembre 5 al 7, 2014

ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014

5234

Page 4: Algoritmo surf

Se reorganizan la Ec. (11), Ec. (12) y Ec. (13) y se sustituyen en la Ec. (14).

𝐷𝑥𝑥(𝑜𝐷𝑦𝑦) =(𝐴 − 𝐵) + (𝐷 − 𝐶) + (𝐷 − 𝐶) + (𝐷 − 𝐶)

+(𝐸 − 𝐹) + (𝐸 − 𝐹) + (𝐸 − 𝐹) + (𝐻 − 𝐺)

(14)

Se definen las variables descritas en la Ec. (15) y Ec. (16) y se sustituyen en la Ec. (14) lo que genera la ecuación

a emplear descrita en la Ec. (17).

𝑋1 = (𝐷 − 𝐶) (15)

𝑋3 = (𝐸 − 𝐹) (16)

𝐷𝑥𝑥(𝑜𝐷𝑦𝑦) =(𝐴 − 𝐵) + 𝑋1 + 𝑋1 + 𝑋1

+𝑋2 + 𝑋2 + 𝑋2 + (𝐻 − 𝐺)

(17)

Para detectar los puntos de interés por medio del determinante de la matriz Hessiana, es necesario emplear el

escala-espacio, el cual comúnmente se representa en forma piramidal, donde una imagen se convoluciona

iterativamente con las gaussianas mientras se disminuye su tamaño en cada iteración, en el caso de SURF, el tamaño

de la imagen se mantiene constante, siendo el filtro el que se escala repetidamente. En la figura 5 se muestra la variante

anterior, el incremento del tamaño del filtro (lado derecho de la figura) en lugar de reducir el tamaño de la imagen

(lado izquierdo de la figuara). En SURF el escala-espacio se divide en octavas e intervalos, lo que se emplean para

representar una serie de imágenes de respuesta. El tamaño del filtro se calcula mediante la Ec. (18).

Figura 5. Pirámide del filtro Figura 6. Filtros de Haar (El color negro tiene un valor

de -1 y el blanco de +1)

𝑇𝑎𝑚𝑓𝑖𝑙𝑡𝑟𝑜 = 3(2𝑜𝑐𝑡𝑖𝑛𝑡 + 1) (18)

Donde, oct=número de octavas e int=número de intervalos para cada octava, con lo cual se implementa un arreglo

bidimensional de estructuras de imagen de tamaño octava*intervalo.

Para determinar la invarianza ante la escala y la rotación como paso inicial se eliminan los puntos que se encuentran

por debajo de un umbral establecido por el usuario, si el punto es mayor al umbral establecido a continuación se hace

una supresión de no máximos dentro de un vecindario de 3x3x3, esto es que dentro de cada octava, se compara cada

punto calculado en un intervalo, con el punto en un intervalo mayor y uno menor, si el punto es mayor que los puntos

comparados, entonces se realiza una interpolación entre las diferentes escalas y en el espacio, x’=(x,y,s), con el método

propuesto por Brown en [9], tomando en cuenta los valores el cual viene dado por la Ec. (19).

𝑥′ =𝜕2𝐻−1

𝜕𝑥2

𝜕𝐻

𝜕𝑥 (19)

Donde 𝜕2𝐻−1

𝜕𝑥2 es representada por una matriz de 3x3 descrita en la Ec. (20) y 𝜕𝐻

𝜕𝑥 por un vector de 3x1 descrito en

la Ec. (21).

𝜕2𝐻−1

𝜕𝑥2= [

𝑑𝑥𝑥 𝑑𝑦𝑥 𝑑𝑠𝑥

𝑑𝑥𝑦 𝑑𝑦𝑦 𝑑𝑠𝑦

𝑑𝑥𝑠 𝑑𝑦𝑠 𝑑𝑠𝑠

] (20)

𝜕𝐻

𝜕𝑥= [

𝑑𝑥

𝑑𝑦

𝑑𝑠

] (21)

Donde dx se refiere a 𝜕𝐼

𝜕𝑥 y dxx se refiere a

𝜕2𝐼

𝜕𝑥2 y del mismo modo para los otros elementos. Se realiza la inversa de

la matriz de la Ec. (20) y se multiplica por el vector de la Ec. (21), si todos los valores del vector resultante son

menores a 0.5 entonces el punto es considerado un punto de interés.

Descriptor de puntos de interés. La obtención del descriptor se divide en dos tareas específicas, primero se realiza

la asignación de la orientación de cada punto de interés y después se obtienen las componentes del descriptor. A

continuación se describen ambas tareas.

Asignación de la orientación: Ésta tarea permite la invarianza ante la rotación de las imágenes mediante la

orientación de cada punto de interés. Para cada punto de interés obtenido en la etapa anterior, se realiza el cálculo de

la respuesta de Haar en las direcciones x e y, expresadas por los filtros de caja que se muestran en la figura 6, los

cuales sirven para detectar inclinaciones en ambas direcciones. El área que se analiza es el área circular comprendida

en un radio de 6 veces la escala a la que el punto de interés se localizó, esto para obtener la orientación del punto de

Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals

Celaya, Guanajuato, México Noviembre 5 al 7, 2014

ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014

5235

Page 5: Algoritmo surf

interés. Así mismo, el valor que tomarán las respuestas de Haar será el de 4 veces la misma escala y se aplican con el

empleo de imágenes integrales para disminuir el procesamiento.

Después de obtener las respuestas Haar, son ponderadas con una gaussiana de valor 2.5 veces la escala, con centro

en el punto de interés para representar al punto calculado como un punto en el espacio x e y. Por último para obtener

la orientación dominante que presenta el punto de interés, se realiza la sumatoria de todas las respuestas obtenidas,

dentro de un ángulo de π/3, el cual se rotará con incrementos propuestos. La orientación final será aquella cuyo vector

resultante sea de mayor valor, lo cual se observa en la figura 7.

Figura 7. Asignación de la orientación Figura 8. Componentes del descriptor

Componentes del descriptor: En esta etapa se trabaja nuevamente sobre cada punto de interés particularmente. El

primer paso es trazar un área cuadrada de tamaño 20 veces la escala alrededor del punto de interés, ésta región es

dividida en 4x4 subregiones del mismo tamaño, en las cuales se calculan las respuesta de Haar para 25 puntos de

muestra distribuidos regularmente (ver figura 8). Estas respuestas son ponderadas con una gaussiana de 3.3 veces la

escala para una mayor robustez ante deformaciones geométricas. El resultado de éste proceso es un vector de

elementos dado por la Ec. (22).

𝑉 = [∑ 𝑑𝑥, ∑ 𝑑𝑦, ∑|𝑑𝑥|, ∑|𝑑𝑦|] (22)

Donde dx y dy representan la respuesta de Haar para x e y. El vector resultante es de un cubo de 4x4x4= 64 valores

para cada punto de interés detectado, lo cual genera la invarianza ante la rotación, escala e iluminación.

Descripción de los experimentos

Se generó un Android Library Project donde se realiza el proceso del algoritmo SURF y un proyecto de prueba en

el cual se carga una imagen almacenada en la carpeta del proyecto y se realiza el procesamiento. Para obtener una

mayor velocidad de procesamiento, se propuso el empleo de imágenes de 320x240 o en su defecto de 640x480, aunque

esto afectaría el rendimiento, ambos tamaños de imagen son soportados por los dispositivos móviles, en el caso de

que el tamaño de 320x240 no sea soportado, se propone escalar la imagen obtenida por la cámara al valor requerido.

Así mismo se comparó el rendimiento del algoritmo con diferentes valores de octavas e intervalos, se analiza la

cantidad de puntos obtenidos y la repetibilidad de los mismos.

Para realizar el experimento se empleó el hardware que se describe en la tabla 1.

Dispositivo Procesador RAM

Samsung Galaxy Tab 2 1 GHz 1 Gb

Sony Xperia U 1 GHz 512 Mb

Asus Transformer Pad

Infinity

1.5 GHz 1 Gb

Tabla 1. Características del hardware

Se realizaron diversas pruebas con 10 imágenes con cambios en escala, rotación e iluminación de objetos, así

mismo, se realizó el procedimiento con diferente cantidad de octavas e intervalos en el cálculo del espacio-escala. El

tamaño de las imágenes utilizadas son: 320x240 y 640x480.

Resultados

La tabla 2 muestra la cantidad de puntos de interés que se detectan en una imagen ante cambios de escala (1:2),

rotación (45°) e iluminación (aumento de un 50% de brillo).

Imagen muestra Escala Rotación Iluminación

Puntos de interés 15 60% 66% 93%

Tabla 2. Detección de puntos de interés ante cambios de escala, rotación e iluminación

En la tabla 2 se muestra la variación que existe en la detección de puntos de interés en una imagen al realizarle

cambios, la menor variación entre los puntos detectados se da ante el cambio de iluminación, mientras que la más

afectada es ante cambios de escala.

En la figura 9 se observan los puntos de interés que se detectaron con una imagen con una resolución de 640x480

y con el empleo de 2 octavas y 3 intervalos para la construcción del escala-espacio.

En la figura 10 se observan los puntos de interés que se localizaron en la misma imagen de la figura 9, pero con

una resolución de 320x240, conservando el empleo de 2 octavas y 3 intervalos para la construcción del escala-espacio.

Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals

Celaya, Guanajuato, México Noviembre 5 al 7, 2014

ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014

5236

Page 6: Algoritmo surf

Figura 9. Detección de puntos en una imagen con

resolución de 640x480 con 2 octavas y 3 intervalos

Figura 10. Detección de puntos en una imagen con

resolución de 320x240 con 2 octavas y 3 intervalos

Relación oct-int Resolución

640x480 320x240

3 oct. 4 int. 72 24

2 oct. 4 int. 67 21

3 oct. 3 int. 48 18

2 oct. 3 int. 45 15

Tabla 3. Comparativa puntos de interés detectados

La tabla 3 muestra la cantidad de puntos de interés detectados dependiendo el tamaño de la imagen. Se observa

que entre más pequeña es la imagen, la cantidad de puntos detectados disminuye, del mismo modo, al disminuir la

cantidad de octavas-intervalos que implementa el algoritmo, la cantidad de puntos detectados también disminuye.

La tabla siguiente muestra los tiempos necesarios para el funcionamiento del algoritmo en los 3 dispositivos que

se mencionaron, así como entre las variaciones de octavas e intervalos analizados.

Relación oct-int Galaxy Tab 2 Asus Transformer Sony Xperia U

640x 480 320x240 640x480 320x240 640x480 320x240

3 oct. - 4 int. 22.84 8.10 17.34 5.48 28.30 9.24

2 oct. - 4 int. 17.85 5.41 13.64 4.46 23.17 6.73

3 oct. - 3 int. 19.56 5.30 15.24 4.78 25.60 7.07

2 oct. - 3 int. 15.30 4.56 12.35 4.12 19.52 6.16

Tabla 4. Comparativa de tiempos de ejecución (en segundos)

Conclusiones

Con la implementación del algoritmo SURF la cantidad de puntos de interés detectados se relaciona con el umbral

propuesto en la determinación de los puntos de interés. Aunque existe disminución de puntos de interés detectados

ante la invarianza de rotación, escala e iluminación, los puntos detectados prevalecen en las diversas imágenes

analizadas. Para optimizar el funcionamiento del algoritmo que se seleccionó en un dispositivo móvil se requiere

disminuir la relación octava-intervalo, así como emplear imágenes de tamaño 320x240. El tiempo de procesamiento

del algoritmo varía dependiendo del dispositivo móvil en el que se implemente, debido a que con un procesador a

mayor velocidad disminuyen los tiempos de ejecución.

Referencias [1] T. T. y. V. G. L. Bay, H., “Surf: Speeded up robust features”, pp. 404_417, European Conference on Computer Vision, 2006. [2] A. Baz, “Dispositivos móviles”, 2009.

[3] A. y. C. M. Romero, “Comparativa de detectores de características visuales y su aplicación al SLAM”, X workshop de agentes físicos, 2009.

[4] G. A. R. O. y. b. D. Ballesta, M., “Análisis de detectores y descriptores de características visuales en SLAM en entornos interiores y exteriores”, RIAI, vol. 7, pp. 68_80, Abril 2010.

[5] O. Boullosa, “Estudio comparativo de descriptores visuales para la detección de escenas cuasi-duplicadas”. 2011.

[6] C. Evans, “Notes on the open surf library”, 2009. [7] M. Viola, P. y Jones, “Rapid object detection using a boosted cascade of simple features”, IEEE, 2001.

[8] J. X. y. W. Y. Han, B., “Optimized algorithm for gaussian second order derivative filters in fast hessian detector”, IEEE, 2010.

[9] D. Brown, M. y Lowe, “Invariant features from interest point groups”, pp. 656-665, British Machine Vision Conference, 2002.

Congreso Internacional de Investigación Academia Journals 2014 Copyright 2014 Academia Journals

Celaya, Guanajuato, México Noviembre 5 al 7, 2014

ISSN 1946-5351 Online 1948-2353 CD ROM Volumen 6, No. 5., 2014

5237