Вы находитесь на странице: 1из 52

Estudio sobre Reconocimiento Automtico de Objetos en

Imgenes
Meola Franco Romn, Puente Julieta, Strubolini Diego Martn
18 de julio de 2016

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Gracias a la Coleccin de Arte Amalia Lacroze de Fortabat (Olga Cossettini 141, Puerto Madero,
Buenos Aires, Argentina) por proveernos las imgenes de su base de datos.
Este trabajo tiene nicamente fines educativos y no se utilizar con fines de lucro ni comerciales.

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

ndice
1. Introduccin

2. Estado del Arte


2.1. Motivacin . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Mtodos existentes . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. SIFT: Scale Invariant Feature Transform . . . . . .
2.2.2. SURF: Speeded Up Robust Features . . . . . . . . . .
2.2.3. ORB: Oriented FAST and Rotated BRIEF . . . . .
2.2.4. BRISK: Binary Robust Invariant Scalable Keypoints
2.2.5. KAZE . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Los
3.1.
3.2.
3.3.

mtodos SIFT, SURF


SIFT . . . . . . . . . . .
SURF . . . . . . . . . .
ORB . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

5
5
8
8
9
10
11
11
11

y ORB
13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4. Experimentos y resultados
4.1. Librera utilizada: OpenCV . . . . .
4.2. Implementacin . . . . . . . . . . . .
4.2.1. Filtrado de correspondencias
4.3. Experimento . . . . . . . . . . . . .
4.4. Tiempo de procesamiento . . . . . .
4.5. Transformaciones de laboratorio . .
4.5.1. Escala . . . . . . . . . . . . .
4.5.2. Rotacin 2D . . . . . . . . .
4.5.3. Blur . . . . . . . . . . . . . .
4.5.4. Cambios en iluminacin . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

22
22
22
23
24
25
27
27
30
32
35

5. Transformaciones reales: Galera de Arte

38

6. Conclusiones

48

7. Apndice

49

8. Bibliografa

51

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Estudio sobre Reconocimiento


Automtico de Objetos en Imgenes
Meola Franco Romn, Puente Julieta, Strubolini Diego Martn
Tutor: Dra. Mara Juliana Gambini
Instituto Tecnolgico Buenos Aires (ITBA)
Resumen
El reconocimiento automtico de objetos en imgenes representa un desafo dentro del rea de
procesamiento de imgenes porque posee mltiples aplicaciones de suma importancia. En este trabajo
se presenta un anlisis detallado de tres mtodos de reconocimiento: SIFT, SURF y ORB. Con
el objetivo de analizar y comparar estos mtodos, se realizan diversos experimentos con imgenes
sintticas, a partir de los cuales, se obtienen conclusiones acerca de qu mtodo es conveniente usar
de acuerdo al contexto y al problema. Adems, se presenta una aplicacin de reconocimiento de
imgenes utilizando un conjunto de fotografas reales con el objetivo compararlas con sus respectivas
imgenes originales.

1.

Introduccin

El reconocimiento automtico de objetos dentro de imgenes es considerado un problema difcil por


el error que se comete al tratar de identificarlos. En el presente trabajo, se realiza un estudio detallado
de tres mtodos de reconocimiento de objetos: Scale Invariant Feature Transform (SIFT), Speeded Up
Robust Features (SURF) y Oriented FAST and Rotated BRIEF (ORB). Los objetivos del proyecto son
estudiar, implementar y analizar dichos mtodos para extraer conclusiones de modo de seleccionar el
mtodo mas adecuado para el contexto dnde se desea utilizar.
En la Seccin 2 del presente trabajo, se detalla la motivacin de este estudio enumerando algunas
aplicaciones y una introduccin a algunos de los mtodos de reconocimiento de objetos existentes. En la
Seccin 3 se describen en detalle los mtodos analizados en este trabajo. Los experimentos realizados se
encuentran en la Seccin 4, donde se realiza un anlisis exhaustivo sobre los resultados obtenidos. En la
Seccin 5 se explica una aplicacin real del reconocimiento de objetos para imgenes de obras de arte
del Museo Amalia Lacroze de Fortabat. Por ltimo, se presentan las conclusiones del estudio realizado
para, segn el contexto dnde se lo desea utilizar, elegir el mtodo mas conveniente.

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

2.
2.1.

ITBA

Estado del Arte


Motivacin

El reconocimiento automtico de objetos en imgenes es utilizado en diversas aplicaciones como


identificacin de personas a travs de fotos, seguimiento de objetos en video, robtica, diagnstico mdico,
entre otras. Reconocer un objeto en una imagen es trivial para el ojo humano y el cerebro pero cuando
es necesario analizar grandes volmenes de datos la automatizacin de estos procesos es imprescindible.
En el rea de procesamiento de imgenes, el problema de identificacin de objetos o el de decidir si dos
imgenes corresponden a la misma escena es un desafo. En esta seccin se presentan algunas aplicaciones
en las que la tarea de reconocer objetos a travs de una imagen resuelve problemas concretos, los cuales
motivan este trabajo.
Mosaico de Imgenes
El objetivo de esta aplicacin es unir varias imgenes de una misma escena y determinar la mejor
manera de combinarlas en una nueva imagen que las contenga. Por ejemplo, las Figuras 1(a) y
1(b) son dos imgenes de un paisaje urbano. En amarillo se destacan los puntos caractersticos de
cada imagen, los cuales sern utilizados para generar una nueva, como muestra la Figura 2. Esta
aplicacin se utiliza para diversas tareas, como generar imgenes panormicas, manejo de imgenes
satelitales y diagnstico mdico, entre otras (ver [2]).

(a) Imagen Izquierda

(b) Imagen Derecha

Figura 1: Ejemplo de imgenes que se desean unir. Los puntos en amarillo muestran los pixels que
caracterizan a cada una de las imgenes.

Figura 2: Mosaico donde quedan unidas las imgenes de la Figura 1.


Anlisis de cerebros humanos en resonancias 3D
5

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Estudiantes de la Universidad McGill de Montreal utilizaron los mtodos de reconocimiento de


objetos en imgenes para detectar patrones comunes en cerebros [23]. Aquellos que poseen cierta
condicin neuronal, como el Alzheimer tienen patrones comunes en apariencia, geometra y relaciones entre distintos grupos del cerebro. Algunas condiciones neuronales pueden detectarse utilizando
imgenes generadas por una resonancia 3D. Se comparan aquellas imgenes neuronales donde el
problema ya fue identificado con las imgenes que se desean analizar.
Localizacin de objetos para para un mapeo 3D
En el campo de la robtica resulta importante conocer la posicin de los objetos que se encuentran
en el ambiente de interaccin del robot. En el artculo [8] los autores obtienen las correspondencias
entre las imgenes ya almacenadas de la escena y las imgenes que el robot captura en su movimiento
por medio de una cmara de 360 grados. Se generan as imgenes que cubren el entorno que lo
rodea. De esta forma el robot puede ubicarse en el espacio y evitar colisiones. En la Figura 3 se
observan las correspondencias encontradas entre una imagen almacenada en la base de datos y la
imagen que el robot observa en su movimiento.

Figura 3: Puntos de correspondencia entre dos imgenes de 360 grados unidos por una lnea recta en
una escena de oficina. Izquierda: la imagen capturada por el robot. Derecha: la imagen almacenada en
la base de datos.

Recomendacin de recetas de cocina en tiempo real


En el artculo [19] se utiliza el reconocimiento de objetos en imgenes en un dispositivo mvil para
recomendar recetas de cocina a los usuarios de acuerdo a una serie de ingredientes ingresados a
travs de la cmara del dispositivo. La funcionalidad consiste en la identificacin en tiempo real
de ingredientes de cocina utilizando una base de datos de imgenes de distintos ingredientes. La
misma sirve para comparar la imagen capturada con la cmara del dispositivo con el conjunto
de imgenes almacenado en la base anteriormente mencionada. De esta forma, surgen hasta seis
ingredientes candidatos para que el usuario seleccione el correcto. En la Figura 4 se muestra un
dispositivo que contiene la aplicacin. la aplicacin termina recomendando recetas de cocina que
contengan los ingredientes identificados.

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 4: Captura de pantalla de la aplicacin mvil de recomendacin de recetas en tiempo real [19].

Deteccin de objetos en videos de cmaras de seguridad


Los sistemas de vigilancia han evolucionado en los ltimos aos, incorporando mtodos de reconocimiento de objetos de inters. En el artculo [21] se describe el reconocimiento de objetos cuyos
movimientos son capturados por cmaras que tambin estn en movimiento. La Figura 5 muestra
el mtodo de reconocimiento de objetos en dos cuadros diferentes de un video de vigilancia. Los
pares de puntos caractersticos correspondientes estn unidos por una lnea recta. Cada par posee
un color diferente para su mejor visualizacin. Las correspondencias encontradas se utilizan para
detectar los objetos de inters.

Figura 5: Puntos de correspondencia entre dos cuadros de un video de vigilancia unidos por una lnea
recta [21].

Reconocimiento de billetes
Estudiantes de la Universidad Politcnica Salesiana realizaron una aplicacin mvil para que las
personas con discapacidad visual puedan, luego de tomar una foto, conocer la denominacin de un
billete [12]. Contando con una apropiada base de datos que contenga la informacin necesaria, se
pueden identificar tantos objetos como se desee. Esta aplicacin es de gran impacto en personas
con discapacidad visual porque les provee independencia en transacciones comerciales.
Reconocimiento de caras
El reconocimiento de caras es muy utilizado en distintas aplicaciones como identificacin de personas, vigilancia, control de accesos, entre otras. En esta situacin se puede contar con una base

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

de datos con imgenes de las caras de un grupo de personas para poder identificarlas en base a su
similitud con alguna almacenada.
En las Figura 6(a) se muestra un ejemplo de las imgenes presentes en la base de datos para
un sujeto. La Figura 6(b) muestra los puntos caractersticos encontrados en dichas imgenes. Los
mismos son utilizados para decidir si el sujeto a identificar coincide con el almacenado.

(a) Cinco imgenes de muestra para un sujeto

(b) Cinco imgenes con puntos caractersticos marcados como cruces

Figura 6: Ejemplo de identificacin de puntos caractersticos sobre un conjunto de imgenes para el


reconocimiento de caras. [7]

2.2.

Mtodos existentes

En esta seccin se realiza una descripcin de algunos de los mtodos ms importantes existentes en
la bibliografa.
2.2.1.

SIFT: Scale Invariant Feature Transform

Desde hace ms de una dcada, el keypoint detector and descriptor de SIFT ha resultado exitoso en
diversas aplicaciones, incluyendo el reconocimiento de objetos y mosaico de imgenes, entre otras.
De esta forma, una imagen es transformada en una coleccin de vectores de caractersticas locales,
donde cada uno de stos resulta invariante a escala, traslacin, rotacin y en parte a proyeccin en tres
dimensiones y cambios en la iluminacin.
Como define David Lowe en el trabajo [18], el mtodo de SIFT tambin prob ser resistente a cambios
menores en ruido, contraste, deformacin de la escena y borroneo.
El algoritmo est compuesto por dos operaciones: la deteccin de puntos de inters (keypoints) y la
extraccin de los descriptores asociados a estos puntos.
Cada punto de inters es utilizado para generar un vector de caractersticas que describa la zona local
de la imagen. Estas caractersticas son las que se utilizan para encontrar las correspondencias entre las
dos imgenes sobre las cuales se aplica el algoritmo.
En las figuras 7(a) y 7(b) se destacan los puntos de inters de cada imagen que luego sern utilizados
para calcular las correspondencias entre las mismas. En la figura 7(c) se puede apreciar los puntos de
correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee un color diferente
para su mejor visualizacin.

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

(a) Puntos de inters de la primer imagen

ITBA

(b) Puntos de inters de la segunda imagen

(c) Correspondencia de los puntos de inters de las imgenes 7(a) y 7(b)

Figura 7: Ejemplo de aplicacin del mtodo SIFT a dos imgenes.


El mtodo ms utilizado en los ltimos tiempos para el reconocimiento de imgenes es SIFT. Sin
embargo, ste presenta un impedimento: su alto costo computacional hace que sea muy difcil utilizarlo
en una implementacin de procesamiento en tiempo real. Adems la tasa de xito disminuye con cambios
en iluminacin y borroneo. Esta situacin ha motivado el desarrollo de mtodos alternativos.
2.2.2.

SURF: Speeded Up Robust Features

El mayor inters en SURF reside en la utilizacin del mismo para procesamientos en tiempo real
porque hace posible su utilizacin en aplicaciones destinadas al seguimiento de objetos en secuencia de
imgenes.
Este mtodo fue desarrollado en el artculo [20], donde los autores tambin lo comparan con el mtodo
SIFT, el cual es ms estable pero ms lento. En cambio, SURF posee una tasa de xito similar y es ms
rpido. Esto ltimo ocurre porque a diferencia de SIFT, SURF mantiene el tamao de la imagen original
y slo vara el tamao del filtro utilizado en la etapa de deteccin de puntos de inters [15]. De esta
manera el clculo computacional de aplicar el filtro resulta cercano a tiempo constante [14].
En las figuras 8(a) y 8(b) se destacan los puntos de inters de cada imagen que luego sern utilizados
para calcular las correspondencias entre las mismas. En la figura 8(c) se puede apreciar los puntos de
correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee un color diferente
para su mejor visualizacin.

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

(a) Puntos de inters de la primer imagen

ITBA

(b) Puntos de inters de la segunda imagen

(c) Correspondencia de los puntos de inters de las imgenes 8(a) y 8(b)

Figura 8: Ejemplo de aplicacin del mtodo SURF a dos imgenes.


2.2.3.

ORB: Oriented FAST and Rotated BRIEF

Los mtodos hasta ahora mencionados se basan en descriptores para la deteccin y correspondencia
de caractersticas. En el artculo [22], se propone un descriptor binario veloz llamado ORB, de dos rdenes
de magnitud ms rpido que el mencionado SIFT, y que mantiene en varias situaciones la misma tasa
de xito de deteccin en reconocimiento de objetos.
El descriptor de ORB se desenvuelve tan bien como SIFT en estas tareas (y mejor que SURF) y al
mismo tiempo resulta dos rdenes de magnitud ms rpido, permitiendo ahora el uso de estas tecnologas
en el procesamiento en tiempo real.
En las figuras 9(a) y 9(b) se destacan los puntos de inters de cada imagen que luego sern utilizados
para calcular las correspondencias entre las mismas. En la figura 9(c) se puede apreciar los puntos de
correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee un color diferente
para su mejor visualizacin.

10

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

(a) Puntos de inters de la primer imagen

ITBA

(b) Puntos de inters de la segunda imagen

(c) Correspondencia de los puntos de inters de las imgenes 9(a) y 9(b)

Figura 9: Ejemplo de aplicacin del mtodo ORB a dos imgenes.


2.2.4.

BRISK: Binary Robust Invariant Scalable Keypoints

El artculo [16] detalla un mtodo que resulta hasta un orden de magnitud ms rpido que SURF,
permitiendo su uso en aplicaciones que requieren procesamiento en tiempo real o un uso de recursos
limitado, manteniendo la tasa de xito. La razn de esta afirmacin radica en la utilizacin de un
descriptor binario que acelera el proceso de bsqueda de correspondencias.
Su implementacin modular permite la utilizacin de su detector en combinacin con cualquier otro
descriptor, y viceversa.
2.2.5.

KAZE

Estudiantes de la Universidad de Auvergne de Francia explican en el artculo [6] un algoritmo para


encontrar puntos de inters y correspondencias en imgenes. El mismo recibe el nombre en tributo a
Iijima, el padre del anlisis espacio escala. KAZE se diferencia de los anteriores en que lo realiza en un
espacio de escala no lineal, utilizando un filtro de difusin no lineal.
En funcin a su costo computacional, si bien KAZE supera a SURF, presenta requerimientos similares
a SIFT.

2.3.

Conclusiones

El reconocimiento automtico de objetos dentro de una escena es considerado un problema difcil por
el error que se comete al tratar de identificarlos. El mtodo SIFT fue el primero diseado para realizar
esta tarea pero tiene diversos problemas, lo que motiv la investigacin y desarrollo de nuevos mtodos
de reconocimiento.
Con la oferta de mtodos existentes, donde ninguno resulta mejor que otro para todas las situaciones,
la eleccin de uno en particular est determinada principalmente por: la precisin buscada, el costo
computacional disponible y las transformaciones de las imgenes involucradas.

11

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

En lo que sigue de este trabajo realizamos una comparacin exhaustiva en el que se contemplan
los mtodos SIFT, SURF y ORB en una amplia variedad de situaciones. Los tipos de transformaciones analizadas son borroneo, cambios en la iluminacin, rotaciones en dos y tres dimensiones, escala y
transformaciones afines.

12

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

3.

ITBA

Los mtodos SIFT, SURF y ORB

En la presente seccin se detalla el funcionamiento de tres mtodos de reconocimiento automtico


de objetos en imgenes que son objeto de estudio y anlisis en este trabajo: SIFT, SURF y ORB. Se
explican los pasos que componen cada uno de los mtodos, adems de las similitudes y diferencias entre
los mismos.

3.1.

SIFT

El objetivo de este mtodo es reconocer un objeto o imagen dentro de otra imagen diferente. El
algoritmo SIFT est compuesto por seis pasos sucesivos y ordenados, con la finalidad de obtener descriptores que permitan hallar las correspondencias entre imgenes. Los descriptores son puntos invariantes a
escala, traslaciones, rotaciones y cambios en la iluminacin que caracterizan la imagen. SIFT transforma
la imagen en un conjunto de descriptores para luego hacer una correspondencia entre ellos. Se compone
de los siguientes pasos:
1. Espacio Escala Gaussiano: Consiste en la aplicacin de sucesivos filtros Gaussianos de diferente
valor de escala . As se construye un conjunto de imgenes con diferentes niveles de borroneo,
donde cada uno de estos conjuntos se denominan octavas. En el algoritmo original de Lowe [18],
la resolucin de la imagen decrece por un factor de 2, por eso a cada conjunto de imgenes con
la misma dimensin se las llama octava, en asociacin con la msica, donde cada octava posee el
doble de frecuencia de la anterior.
Por ltimo, y luego de construir una octava aplicando sucesivos filtros Gaussianos, se baja la
resolucin de la imagen resultante y es sta la imagen de entrada para construir otra octava, como
se puede ver en la Figura 10.

Figura 10: Espacio escala de una imagen con tres octavas (cada octava es una columna) [5].

2. Diferencias Gaussianas (DoG): En este paso se calculan las diferencias Gaussianas entre dos
imgenes de escalas consecutivas de la misma octava, como se muestra en la Figura 11.

13

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 11: Esquema de la operacin Diferencias de Gaussianas para las dos primeras octavas [17].

En la Figura 12 se muestra un pixel dentro de una octava (marcado con una cruz) y los 26 pixels
vecinos con los cuales se realiza la comparacin. De esta forma cada elemento se compara con todos
sus vecinos en las tres dimensiones.

Figura 12: Pxel dentro de una octava (marcado con una cruz) y los 26 pixels vecinos con los cuales se
realiza la comparacin (de color verde) [17].

3. Puntos de inters: Con la operacin anterior encontramos los potenciales puntos de inters de una
imagen, los cuales estn localizados en los mximos y mnimos de la funcin diferencia gaussiana.
Un ejemplo de esto se muestra en la Figura 13(b).

14

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

(b) Imagen con los extremos de DoG.

(a) Imagen original.

Figura 13: Puntos de inters detectados en una imagen usando el mtodo de los extremos de las diferencias
de gaussianas. El radio de los crculos ilustra la escala. El color rojo indica que fueron mnimos, los azules
que fueron mximos [9].

Sin embargo, el mtodo utilizado para encontrar los extremos es poco confiable ya que pueden
aparecer muchos extremos falsos. Por lo tanto es necesario un refinamiento que permita rechazar
los puntos de bajo contraste o aquellos que se encuentran sobre un borde. Las Figuras 14(a) y
14(b) muestran el resultado de aplicar el refinamiento. Los puntos de borde o de equina no son
resistentes a los cambios de escala, por eso es necesario descartarlos, de manera de quedarnos con
los ms representativos y ms resistentes a todas las transformaciones.

(a) Conjunto original de key- (b) Conjunto refinado de keypoints.


points.

Figura 14: Refinamiento del conjunto de puntos de inters (keypoints) que descarta los puntos de bajo
contraste o aquellos que se encuentren sobre un borde.

4. Asignacin de orientacin a los puntos de inters: Aqu es donde el mtodo adquiere la


capacidad de resistencia a rotacin. SIFT asigna orientaciones a cada keypoint utilizando una
estimacin del gradiente y del ngulo del gradiente, calculados por las diferencias finitas con los
pxeles alrededor de cada keypoint en la imagen Gaussiana. Se define una regin de 16x16 pxeles
alrededor de un punto donde se calcula la orientacin del mismo, y a cada uno de estos pxeles
se les calcula su gradiente. Las Figuras 15(a), 15(b) y 15(c) muestran la imagen sobre la cual se
realiza el histograma de orientaciones, la magnitud del gradiente en cada pxel y la direccin del
gradiente en cada pxel, respectivamente.

15

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

(a) Imagen gaussiana.

(b) Mdulo del gradiente.

ITBA

(c) Orientacin del gradiente.

Figura 15: Asignacin de orientaciones [4].

En este paso se agrupa la informacin en forma de histograma, uno para cada punto de inters,
armando el denominado histograma de orientaciones, como muestra la Figura 16. Cada histograma
posee 36 bins, de forma que cada bin cubra 10 grados de los 360 totales.
Con el objetivo de darle una mayor importancia a las orientaciones de mdulos mayores, se realizan
ponderaciones. As, a medida que se agrega una orientacin al histograma, ste se multiplica por su
mdulo. Los picos ms altos de cada histograma son las direcciones dominantes de los gradientes
y por lo tanto la orientacin que se le asigna al punto de inters en cuestin.

Figura 16: Histograma de orientaciones. La orientacin que se le asigna al keypoint en cuestin


coincide con el pico mximo del histograma.

5. Construccin de descriptores: Hasta este punto, para cada punto de inters se cuenta con la
resistencia a escala y rotacin. Junto con la ubicacin y octava a la que pertenece cada keypoint el
siguiente paso es obtener un descriptor.
Este paso en particular se realiza sobre la imagen donde el punto de inters fue encontrado, en
regiones de 16x16 pxeles alrededor del keypoint.
Como se puede ver en la Figura 17, la ventana de 16x16 pxeles se divide en subregiones de 4x4
pxeles. Luego se construye otro histograma con las orientaciones pero este solo de 8 bins para cada
ventana de 4x4.

16

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 17: Construccin de descriptores [3].

Luego se construye el descriptor conteniendo los valores de todas las orientaciones de los histogramas
anteriores. El descriptor es un vector de 128 posiciones, y la dimensin proviene del producto entre
el tamao de la ventana (de dimensin 16) y las 8 posibles orientaciones.
6. Clculo de correspondencias: Este conjunto de 128 elementos indica las orientaciones ms
importantes alrededor de un punto de inters. Estas caractersticas son las que se utilizan para
encontrar las correspondencias entre las dos imgenes sobre las cuales se aplica el algoritmo de
reconocimiento automtico de objetos en imgenes. As, si dos imgenes contienen descriptores
muy similares, es probable que ambos estn describiendo una misma zona y por lo tanto sean
correspondientes.
Para calcular el grado de similitud entre dos descriptores existen varias alternativas. Una de ellas
es la distancia eucldea, indicada en la ecuacin 1.
v
u 128
uX
t (a b )2
i
i

(1)

i=1

donde ai y bi son los descriptores i de dos imgenes A y B respectivamente. Se considera que las
imgenes son iguales si este valor es menor que un umbral que depende de la imagen.

3.2.

SURF

El mtodo SURF fue propuesto por Bay, Tuytelaars y Van Goold [20] como una alternativa a los
mtodos de reconocimiento de imgenes existentes donde se busca que la velocidad de dicho algoritmo
sea mayor a la de los dems.
A continuacin se listan los seis pasos sucesivos y ordenados del mtodo:
1. Espacio Escala Gaussiano: Esta etapa se realiza de la misma manera que en SIFT pero, en
lugar de variar la escala en un factor de 2, se vara en un factor de 6.
2. Imagen Integral: Para obtener los puntos caractersticos de la imagen se realiza la convolucin de
la misma con la imagen integral. La imagen integral se obtiene mediante la ecuacin 2, donde p(i, j)
representa el valor del pixel en las coordenadas (i, j) de la imagen y I(x, y) representa el valor de la
imagen resultante en las coordenadas (x, y). Dicha convolucin requiere un procesamiento menor
que el clculo de las diferencias gaussianas en cada cambio de escala que se realiza en el mtodo
SIFT.
17

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

I(x, y) =

jy
ix X
X

ITBA

p(i, j)

(2)

i=0 j=0

3. Puntos de Inters: Una vez aplicado el filtro se utiliza la matriz Hessiana, la cual se calcula
utilizando la ecuacin 3

H(x, ) =

Lxx (x, ) Lxy (x, )


Lxy (x, ) Lyy (x, )

!
(3)

x
donde Lxx (x, ) es la convolucin del segundo orden derivativo x
2 g() con la imagen en el pixel
x (de manera similar para Lxy (x, ) y Lyy (x, )). Donde g() es la funcin Filtro Gaussiano en
dos dimensiones. Dicha matriz se evala sobre cada pxel de la imagen obtenida en el paso anterior
y para cada utilizado en el paso 1. Una vez obtenido este valor, se buscan los pixeles donde el
determinante de dicha matriz se hace mximo. En la Figura 18 se puede ver un ejemplo de los
valores obtenidos de la convolucin del segundo orden derivativo con una imagen.

(a) Lyy

(b) Lxy

Figura 18: Resultado de aplicar la convolucin con operadores de segundo orden derivativo, a dos imgenes
diferentes. Aplicacin de Lyy 18(a), Aplicacin de Lxy 18(b)
.
4. Asignacin de orientacin a los puntos de inters: Para que el mtodo sea invariante a la
rotacin, se deben obtener las orientaciones de los puntos de inters. Se aplica el mtodo Wavelet
de Haar definido en la ecuacin 4 a lo largo de las direcciones horizontal y vertical para cada punto
de inters dentro de un crculo de un radio igual a 6s, donde s es la escala que se utiliz en el paso
1.

0 t < 1/2
1
(4)
(t) =
1 1/2 t < 1

0
De otra forma.
La suma de los resultados del mtodo Wavelet de Haar en los vecinos de dicho punto de inters
para cada eje, representa el vector orientacin del punto de inters.
5. Construccin de descriptores: Para obtener el descriptor, se toma una regin cuadrada de
tamao 20s centrado en cada punto de inters y orientado utilizando el vector de orientacin
obtenido anteriormente. Cada regin se divide en 4 subregiones, y para cada una de ellas se aplica
nuevamente el mtodo Wavelet de Haar. Para aumentar la robustez contra deformaciones, ruido
y traslacion se le aplica un filtro Gaussiano a cada subregin. De cada subregin se obtiene un
valor dx y dy los cuales representan el resultado de la operacin anterior sobre los pixeles para las
direcciones horizontal y vertical con respecto a la orientacin del punto de inters. De estos valores
se obtiene un vector definido en la ecuacin 5.
X
X
X
X
v=(
dx,
dy,
|dx|,
|dy|)
18

(5)

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

En la Figura 19 se ilustra un esquema del procedimiento de obtencin de los descriptores a partir


de un punto de inters.

Figura 19: Construccin de descriptores. Regin cuadrada con centro en el punto de inters, alineado
a la orientacin del mismo, representado por la flecha de color negro. La subregin se destaca con un
color verde. De sta se obtienen dx y dy al aplicar el mtodo Wavelet de Haar para obtener las cuatro
componentes del vector descriptor [10].

En la Figura 20 se puede apreciar la variacin de dichos resultados para algunas subregiones.

Figura 20: Elementos del descriptor para distintas subregiones [10].

El vector final que representa el descriptor se obtiene de la unin de los vectores de las 4 subregiones.
6. Clculo de correspondencias: Para realizar la correspondencia entre los descriptores se utiliza,
al igual que en el mtodo SIFT, la distancia eucldea.

3.3.

ORB

ORB utiliza los algoritmos FAST (Features from accelerated segment test) [24] para encontrar los
puntos caractersticos y BRIEF (Binary Robust Independent Elementary Features) [11] para encontrar
los descriptores. La sigla ORB proviene de Oriented FAST and rotated BRIEF.
Una mejora con respecto a SIFT es que al utilizar FAST y BRIEF, el tiempo total de procesamiento
es menor.
En el trabajo [25] se desarrollan paso a paso las etapas del algoritmo y se explican a continuacin:
1. Localizacin de los keypoints utilizando FAST : Para cada pxel de la imagen se trabaja con
el crculo discreto de Bresenham con centro en dicho pxel y de radio tres. ste crculo consiste en
los 16 vecinos del pxel central p, numerados en sentido horario, como se muestra en la Figura 21.

19

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 21: Crculo de Bresenham para el pxel p destacando los 16 vecinos concntricos del mismo [1].

El pxel p se considera un punto de inters si N pxeles consecutivos cumplen la ecuacin 6


| Ix Ip |> t

(6)

donde Ix es el valor de gris para el pxel x del crculo, Ip es el valor de gris para el pxel p y t es un
umbral (que generalmente toma un valor cercano a la quinta parte del valor de gris del pxel p).
La optimizacin que se realiza en este paso es analizar primero los valores de gris I1 , I5 , I9 e I13 .
Si por lo menos tres de ellos no satisfacen la ecuacin 6, entonces el pxel p no puede ser un punto
de inters.
A diferencia de SIFT, FAST en principio no produce puntos de inters resistentes a escala. Para
lograrlo se necesita construir una scale-pyramid de la imagen, y encontrar los puntos de inters en
cada imagen de la pirmide.
2. Seleccin de los mejores keypoints utilizando Harris: El mtodo de deteccin de esquinas
y bordes de Harris [13] se basa en la idea de que una esquina debera reconocerse observando
los puntos en un entorno. As haciendo un corrimiento en cualquier direccin, debera ocurrir un
cambio abrupto en el nivel de gris del pxel de la imagen. Este mtodo otorga un puntaje de acuerdo
al nivel de borde del pxel.
En este paso, los N pxeles que hayan obtenido una puntuacin mayor con el mtodo de Harris son
considerados como keypoints.
A diferencia del mtodo SIFT donde estos pxeles son descartados porque no son invariantes a
escala, aqu son los primeros en ser considerados para el siguiente paso del algoritmo ya que el
mtodo ORB indica en su trabajo que no es tan resistente a escala como SIFT.
3. Asignacin de orientacin a los puntos de inters: Una propiedad de la imagen que se utiliza
en este paso es el momento: es invariante a rotacin y puede ser utilizada como un descriptor simple.
ORB aplica el intensity centroid para determinar la orientacin de los keypoints. Si el momento se
define como en la ecuacin 7
mxy =

xp y q Ix,y

x,y

donde:
x {0, 1, . . . W } con W el ancho en pxeles de la imagen.

20

(7)

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

y {0, 1, . . . H} con H el alto en pxeles de la imagen.


Ix,y es el nivel de gris para el pxel localizado en la fila x y columna y de la imagen.
p y q los rdenes del momento de la imagen.
El intensity centroid (C) se define como la ecuacin 8
C=(

m10 m01
,
)
m00 m00

(8)

De esta manera se calculan las orientaciones para los puntos de inters como el vector que tiene
origen en el punto de esquina y destino en C.
4. Construccin de descriptores utilizando BRIEF :
En este punto se obtienen los descriptores a travs del mtodo de codificacin binaria de los puntos
de inters. Este descriptor es ms sencillo y ms liviano que los utilizados por SIFT y SURF.
ORB utiliza BRIEF para calcular los descriptores. ste consiste en borronear la imagen y seleccionar un conjunto de N pxeles. Luego se compara el nivel de gris de dos pxeles elegidos
aleatoriamente y, en caso de que el nivel de gris del primero sea menor que el del segundo, se
asigna un 1 en el elemento correspondiente del descriptor. De esta manera se obtiene una cadena
N dimensional.
Cabe destacar que ORB utiliza una versin modificada de BRIEF, llamada rBRIEF: RotationAware BRIEF, la cual le otorga una resistencia a transformaciones de rotacin en un plano unidimensional.
5. Clculo de correspondencias: Para calcular el grado de similitud entre dos descriptores existen
varias alternativas. Una de ellas es la distancia Hamming: consiste en contar la cantidad de bits
que hay que modificar en una cadena para que coincida con otra cadena distinta.

21

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

4.

ITBA

Experimentos y resultados

En la presente seccin se detalla la implementacin realizada para este trabajo, mencionando las
libreras utilizadas y las mejoras realizadas. A su vez, se describen los experimentos que se llevaron a
cabo para comparar los distintos mtodos de reconocimiento automtico de objetos: SIFT, SURF y
ORB, y los resultados obtenidos.

4.1.

Librera utilizada: OpenCV

OpenCV es una librera open source para manipulacin de imgenes y video. Originalmente desarrollada por Intel en 1999, se ha utilizado en muchas aplicaciones. Entre ellas se pueden destacar deteccin
de movimiento, reconocimiento facial, visin en robtica y por supuesto, reconocimiento de objetos.
Puede descargarse gratuitamente desde su sitio web oficial (Ver Figura 22).

Figura 22: Sitio web del framework OpenCV http://opencv.org


El proyecto proporciona un entorno de desarrollo fcil de utilizar, realizado en los lenguajes C y C++,
aprovechando las capacidades que proveen los procesadores multincleo. Se encuentra disponible para
mltiples plataformas, entre ellas Windows, Linux, Mac y iOS.
En el desarrollo de este trabajo, se utiliza una portacin de la versin 2.4.9-7 de OpenCV para el lenguaje de programacin orientado a objetos Java. La misma es provista por PatternConsulting y puede descargarse desde el sitio web del repositorio del proyecto (https://github.com/PatternConsulting/opencv).

4.2.

Implementacin

A continuacin se explica para el lector interesado cmo utilizar esta librera para el reconocimiento
automtico de objetos en escena con el mtodo de reconocimiento SIFT.
En primer lugar, se necesita agregar la librera de imgenes al proyecto de prueba. En este caso
se incluye la inclusin de la dependencia Maven correspondiente (Ver Figura 60 en Apndice). Si el
lector no est familiarizado con este mtodo de resolucin de dependencias, puede dirigirse al sitio de
PatternConsulting para ms informacin de las mltiples alternativas disponibles.
Se lista a continuacin (Ver Figura 61 en Apndice) una versin simplificada del cdigo fuente que se
utiliza para la realizacin de las pruebas del presente trabajo. Aqu, a partir de dos imgenes se aplica
el mtodo de reconocimiento automtico SIFT y se obtiene una nueva imagen con las correspondencias
encontradas (como se muestra en la Figura 7(c)).

22

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Como se puede ver en el cdigo, se sigue el orden de los pasos del mtodo SIFT enunciado en la
seccin anterior:
En la seccin 3 del cdigo se encuentran los puntos caractersticos
En la seccin 4 del cdigo se construyen los descriptores
En la seccin 5 del cdigo se encuentran las correspondencias
La seccin 6 del cdigo constituye el aporte original del presente trabajo: el filtrado de correspondencias.
4.2.1.

Filtrado de correspondencias

Con la implementacin provista por OpenCV, encontrar la correspondencia entre los vectores de
caractersticas produce una alta cantidad de falsos positivos, porque realiza las correspondencias entre
dos descriptores cualquiera sin aplicar ningn criterio. En las siguientes figuras se muestran dos ejemplos
de la aplicacin del mtodo SIFT sin el filtrado de correspondencias. En la Figura 23 se cuenta con dos
imgenes similares, por lo que la cantidad de lneas de correspondencias debera ser alta. Otro ejemplo
se muestra en la Figura 24, donde se tienen dos imgenes distintas y aqu la cantidad de lneas se espera
que sea menor.

Figura 23: Puntos de correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee
un color diferente para su mejor visualizacin para el mtodo SIFT sin el filtrado de correspondencias
para dos imgenes similares.

Figura 24: Puntos de correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee
un color diferente para su mejor visualizacin para el mtodo SIFT sin el filtrado de correspondencias
para dos imgenes distintas.
El filtrado de correspondencias consiste en dos partes:

23

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

1. K-Vecinos ms cercanos: Conocido como KN N : K Nearest Neighbours. Dado un conjunto de


vectores, este algoritmo calcula la distancia de cada vector con respecto a los dems y se seleccionan
los k vectores ms cercanos al mismo. Para el proceso de filtrado de correspondencias se aplica este
algoritmo en los vectores descriptores utilizando una distancia k = 2. De esta forma, cada vector
descriptor cuenta con dos vectores descriptores cercanos ordenados por su menor distancia al vector
descriptor.
2. Umbral de distancia: En este paso, se aplica un criterio para cada uno de los vectores descriptores.
Para el vector descriptor v, el criterio a cumplir es la ecuacin 9
n0 < u n1

(9)

donde n0 es el vecino ms cercano, y n1 es el ms lejano y u es un umbral de distancia. Si se cumple


la condicin anterior, se agrega como una correspondencia vlida al par (v, n0 ). Luego de varias
pruebas realizadas, se consiguieron mejores resultados con un valor de u = 0,7.
En las Figuras 25 y 26 se puede apreciar las correspondencias luego del filtrado de correspondencias
para los ejemplos de las Figuras 23 y 24 respectivamente.

Figura 25: Puntos de correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee
un color diferente para su mejor visualizacin para el mtodo SIFT con el filtrado de correspondencias
para dos imgenes similares.

Figura 26: Puntos de correspondencia entre dos imgenes unidos por una lnea recta donde cada par posee
un color diferente para su mejor visualizacin para el mtodo SIFT con el filtrado de correspondencias
para dos imgenes distintas.

4.3.

Experimento

Para poder comparar los tres mtodos de reconocimiento automtico de objetos: SIFT, SURF y
ORB, al momento de realizar los experimentos, se tuvieron en cuenta las siguientes transformaciones:
24

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Escala
Rotacin en dos dimensiones
Blur
Iluminacin
Se realiza un prueba por cada transformacin mencionada para los tres mtodos, de manera de poder
compararlos. A continuacin se detallan paso a paso los experimentos realizados:
1. Seleccin del set de imgenes: Se utilizan 23 imgenes para realizar las pruebas. Las mismas
consisten en imgenes de paisajes, imgenes de caras, entre otras.
2. Modificaciones sintticas del set de imgenes: De acuerdo a la transformacin que se quiere
evaluar, para cada una de las imgenes del set, se generan nuevas imgenes sintticas aplicndoles
dicha transformacin. Las transformaciones realizadas son las mismas para las 23 imgenes. Por
ejemplo, si se quiere evaluar la transformacin de rotacin, para cada una de las imgenes, se genera
una imgen rotada a 45 grados, otra rotada a 90 gardos, y as sucesivamente.
3. Clculo de correspondencias: Una vez que se crearon las imgenes sintticas, se buscan las correspondencias entre la imagen original y sus correspondientes imgenes sintticas. Esto se realiza
para los tres mtodos: SIFT, SURF y ORB. De este paso se obtiene un porcentaje de correspondencia para cada mtodo para cada par de imgenes.
4. Clculo del promedio del porcentaje de correspondencias: Para cada transformacin realizada, se calcula el promedio del porcentaje de correspondencias de las 23 imgenes. Siguiendo con
el ejemplo de la rotacin, se obtiene un promedio para cuando se rota la imagen 45 grados, otro
para cuando se la rota 90 grados, y as sucesivamente. Esto se realiza para los tres mtodos.
5. Comparacin de los mtodos: Con los promedios calculados, se realizan grficos para comparar
el desempeo de los distintos mtodos.

4.4.

Tiempo de procesamiento

Se debe tener en cuenta que el tiempo de procesamiento incluye a las tareas de:
Deteccin de puntos caractersticos
Extraccin de descriptores
Matching de correspondencias
Filtrado del conjunto de correspondencias
La prueba consiste en la aplicacin de un mtodo de reconocimento automtico a un conjunto de diez
imgenes, todas de la misma dimensin. Luego de tomar el tiempo para cada una de las imgenes, se
calcula el promedio, obtenindose el tiempo medio de procesamiento para el mtodo de reconocimiento
elegido para imgenes de una dimensin especfica. As, se repite la prueba para varios conjuntos, todos
de la misma cantidad de imgenes, pero cada uno con dimensiones diferentes. Por ltimo se repite todo
el proceso anterior para cada uno de los tres mtodos de reconocimiento automtico.
El conjunto de imgenes de mayor resolucin es de 5120x3200px, equivalente a 16.384.000 pxeles.
Las pruebas comprenden el intervalo {rmax , 0,95rmax , 0,90rmax . . . 0,05rmax } siendo rmax =16.384.000px
(la mxima resolucin). Al factor por el cual se multiplica a rmax se lo denomina ratio y comprende el
intervalo {0,05, 0,10, . . . 0,95}. De esta forma se calculan los tiempos para veinte conjuntos de dimensiones
distintas.
25

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

A continuacin se muestran en la Tabla 1 los valores ms relevantes de los promedios de los tiempos
de procesamiento (en milisegundos) para distintos conjuntos de imgenes segn la dimensin de las
imgenes del conjunto para los mtodos de reconocimiento automtico SIFT, SURF y ORB.
Dimensiones [px]
12.288.000
8.192.000
4.096.000
819.200

SIFT [ms]
450776
174366
47141
30165

SURF [ms]
171999
96179
29291
16067

ORB [ms]
754
610
519
496

Tabla 1: Tiempo de procesamiento en funcin de las dimensiones (en pxeles) de la imagen para los
mtodos SIFT, SURF y ORB
En la Figura 27 se muestra el tiempo de procesamiento para cada uno de los tres mtodos en funcin
del ratio. Se puede ver que los tres mtodos aumentan el tiempo de procesamiento a medida que las
dimensiones de la imagen aumenta, dado que se requiere procesar una mayor cantidad de datos. Se
puede destacar al mtodo ORB por sobre los otros dos, ya que es el que menos se ve afectado por el
cambio en las dimensiones de la imagen. En cambio, SIFT y SURF aumentan su tiempo de procesamiento
de manera casi lineal en funcin de las dimensiones de la imagen. Sus tiempos con un ratio menor a 0.2
son ms de 10 veces mayores a los de ORB. El mtodo SURF, a pesar de ser ms rpido que SIFT,
aumenta su tiempo de procesamiento a un valor 10 veces mayor cuando el ratio pasa de 0,1 a 0,8. El
mtodo SIFT, siendo el ms lento de los tres mtodos, demora para un ratio de 0.9 ms de 50 veces
lo que demora para uno de 0,1, lo cual representa una degradacin de la velocidad de procesamiento
considerable cuando se utilizan imgenes de grandes dimensiones.
1000000

Tiempo de procesamiento (ms)

100000

SIFT

10000

SURF
ORB

1000

100
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Ra2o

Figura 27: Tiempo de procesamiento en funcin del ratio para los mtodos SIFT, SURF y ORB en escala
logartmica
En conclusin, ORB no slo es el que result ms rpido de los tres mtodos, sino que tambin es el
que menos degrada su velocidad a medida que aumentan las dimensiones de la imagen.

26

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

4.5.

ITBA

Transformaciones de laboratorio

Con el objeto de hacer un estudio estadstico para evaluar la performance de los mtodos de reconocimiento automtico de objetos, realizamos los experimentos con imgenes sintticas. En esta seccin
se muestran los resultados obtenidos para un conjunto de imgenes transformadas artificialmente. Las
transformaciones utilizadas en el presente escrito son:
Escala
Rotacin en dos dimensiones
Blur
Iluminacin
Cada una de estas transformaciones produce una imagen sinttica, la cual se compara con la original
utilizando los tres mtodos de reconocimiento ya mencionados.
De ahora en ms diremos que un mtodo de reconocimiento funciona mejor que otro si se obtiene un
mayor porcentaje de correspondencias.
4.5.1.

Escala

La transformacin de escala de una imagen se realiza cambiando el tamao de la misma, tanto hacerla
mas pequea como mas grande. El parmetro utilizado para realizar dicha transformacin es el ratio,
el cual representa la proporcin de una imagen respecto de la imagen original. Esto quiere decir que un
ratio de 0,5 genera una imagen con la mitad de altura y de ancho que la original, como se puede apreciar
en la Figura 28(b). En cambio, un ratio de 2 genera una imagen con el doble de altura y de ancho.

(a) Imagen de ejemplo.

(b) Imagen de ejemplo escalada con un ratio de 0.5.

Figura 28: Transformacin escala a una imagen de ejemplo.


Para obtener un resultado ptimo con esta transformacin las lneas rectas que aparecen entre los
puntos de correspondencias de las imgenes deben originarse en la original y tender hacia la escalada sin
intersectarse. Un ejemplo de esto se aprecia en la Figura 29 para el mtodo SIFT y en la Figura31 para
ORB. En cambio en la Figura 30 para el mtodo SURF se encuentran algunas intersecciones, las cuales
representan falsos positivos.

27

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 29: Puntos de correspondencia entre las imgenes 28(a) y 28(b) unidos por una lnea recta para
el mtodo SIFT con la imagen de ejemplo.

Figura 30: Puntos de correspondencia entre las imgenes 28(a) y 28(b) unidos por una lnea recta para
el mtodo SURF con la imagen de ejemplo.

28

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 31: Puntos de correspondencia entre las imgenes 28(a) y 28(b) unidos por una lnea recta para
el mtodo ORB con la imagen de ejemplo.
En la tabla 2 se observan los porcentajes de correspondencias obtenidos para los tres mtodos luego
de aplicarlos a las imgenes 28(a) y 28(b).
Ratio
0.5

SIFT
24.05

SURF
27.01

ORB
14.80

Tabla 2: Porcentaje de correspondencias en funcin del ratio de escala para los mtodos SIFT, SURF y
ORB
En la Figura 32 se muestra un grfico con el porcentaje de correspondencias promedio en funcin del
ratio, donde ratio {0,25, 0,30, 0,35 . . . 2}.
Esta transformacin devuelve la imagen original cuando el ratio es 1, mantenindose las dimensiones.
De los tres mtodos, se puede ver que SIFT funciona mejor que los otros dos en todos los casos.
El mtodo SURF result peor que SIFT pero mejor que ORB. En el grfico, se puede ver que los tres
mtodos obtienen la mayor cantidad de correspondencias cuando la imagen tiene un tamao cercano al
original.
Se pueden distinguir dos casos, cuando la imagen se achica y cuando se agranda. En el primer caso,
cuando el ratio se hace mas chico, SIFT crece de manera lineal con una pendiente mayor a 1, lo que resulta
en un crecimiento rpido del porcentaje de correspondencias a medida que se alcanza el tamao original
de la imagen. SURF, en cambio, aumenta de manera exponencial a medida que el ratio se agranda. En
el segundo caso, dichos mtodos presentan una curva similar, donde el porcentaje de correspondencias
oscila.
Tanto para ratios ms chicos como ms grandes, ORB presenta una variacin con respecto a los
otros dos mtodos donde el porcentaje de correspondencias oscila en gran medida. Los porcentajes de
correspondencias encontrados son menores que con SIFT y SURF, pero tienen en comn que alcanza
los mejores resultados cuando la imagen transformada se acerca al tamao de la original. A su vez,
observamos en el experimento que ORB funciona bien para valores de ratio cuyo valor decimal es mltiplo
de 0,25.
En conclusin SIFT es el que obtiene los mejores resultados al aplicar la transformacin de escala
sobre una imagen, lo cual concuerda con el objetivo del artculo que llev al diseo de dicho algoritmo.

29

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

100
90

Porcentaje de Correspondencias

80
70
60
SIFT

50

SURF
40

ORB

30
20
10
0
0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

Ra1o

Figura 32: Porcentaje de correspondencias en funcin del ratio de escala para los mtodos SIFT, SURF
y ORB
4.5.2.

Rotacin 2D

La transformacin de rotacin 2D consiste en definir como eje de rotacin la recta que pasa por el
centro de las imgenes, con el objetivo de que el espacio libre que quede al hacer la rotacin sea mnimo,
ya que todas las imgenes deben ser rectangulares. En la Figura 33(b), donde se aprecia una rotacin
a 45 grados, se puede ver que con el objetivo de que la imagen transformada mantenga las dimensiones
originales, la imagen rotada se plasma sobre un fondo negro.

(a) Imagen de ejemplo

(b) Imagen de ejemplo rotada 45 grados

Figura 33: Transformacin rotacin a una imagen de ejemplo.


Para obtener un resultado ptimo con esta transformacin las lneas rectas que aparecen entre los
puntos de correspondencias de las imgenes deben tambin mostrar una rotacin. En la Figura 34 para
SIFT se observan muy pocos puntos sin lneas de correspondencia. En cambio, en la Figura 35 para SURF,
no sucede lo mismo. Por ltimo, en la Figura 36 para ORB hay muy pocas lneas de correspondencias
pero se utilizaron todos los puntos. Es importante mencionar, que para esta transformacin, resulta ms
difcil encontrar falsos positivos.

30

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 34: Puntos de correspondencia entre las imgenes 33(a) y 33(b) unidos por una lnea recta para
el mtodo SIFT con la imagen de ejemplo.

Figura 35: Puntos de correspondencia entre las imgenes 33(a) y 33(b) unidos por una lnea recta para
el mtodo SURF con la imagen de ejemplo.

Figura 36: Puntos de correspondencia entre las imgenes 33(a) y 33(b) unidos por una lnea recta para
el mtodo ORB con la imagen de ejemplo.
En la tabla 3 se observan los porcentajes de correspondencias obtenidos para los tres mtodos luego
de aplicarlos a las imgenes 33(a) y 33(b).
En la Figura 37 se muestra un grfico con el porcentaje de correspondencias promedio en funcin de
la variable grado correspondiente al grado de rotacin de la imagen, donde grado {0, 1, 2, . . . 180}.
Esta transformacin devuelve la imagen original cuando el grado es 0, mantenindose la orientacin.
31

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

Grados
45

SIFT
58.34

SURF
19.58

ITBA

ORB
23.20

Tabla 3: Porcentaje de correspondencias en funcin del grado de rotacin para los mtodos SIFT, SURF
y ORB

Se realizan las pruebas hasta 180 grados ya que a partir de ese nivel de rotacin la imagen empieza a
presentar resultados similares a los posteriores. Por ejemplo, una rotacin de 270 grados es simtrica a una
de 90. Se puede ver que el mtodo SIFT resulta mejor que los otros dos mtodos. No slo el porcentaje de
correspondencias es mayor, sino que el mismo no decrece a menos del 50 % de correspondencias en todos
los grados de rotacin. El mtodo SURF es aquel cuyo porcentaje de correspondencias se detrimenta
rpidamente a medida que se rota la imagen, a pesar de que para una rotacin baja (entre 1 y 5 grados)
presenta resultados similares a SIFT. El mtodo ORB, en cambio, no vara en ms de 20 su porcentaje
de correspondencias pero presenta resultados peores que el mtodo SIFT y SURF para rotaciones de
pocos grados, y supera a SURF para grandes rotaciones (entre 30 y 50 grados).
En el caso de SURF y ORB, el menor porcentaje de correspondencias se encuentra para una rotacin
de 30 a 50 grados y de 120 a 150. Y cuando se alcanzan los 90 grados los resultados de dichos mtodos
vuelven a ser superiores. SIFT a pesar de no perder tanto porcentaje de correspondencias como los otros
mtodos, tambin mejora cuando se llega a los 90 grados.
La rotacin 2D muestra un mejor porcentaje de correspondencias para el mtodo SIFT para todos
los grados, y una predominancia del mtodo ORB sobre el mtodo SURF para rotaciones grandes y el
caso inverso para rotaciones chicas.
100
90
80

Porcentaje de Correspondencias

70
60
SIFT

50

SURF
40

ORB

30
20
10
0
0

20

40

60

80

100

120

140

160

180

Grados

Figura 37: Porcentaje de correspondencias en funcin del grado de rotacin para los mtodos SIFT,
SURF y ORB
4.5.3.

Blur

La transformacin de blur, conocida como borroneo consiste en aplicar sobre la imagen sucesivos
filtros Gaussianos con media cero y con diferentes valores de desvo estndar . Como se puede ver en
la Figura 38, esto genera una disminucin de la resolucin de la imagen.

32

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

(b) Imagen de ejemplo borroneada con 4

(a) Imagen de ejemplo

Figura 38: Transformacin blur a una imagen de ejemplo.


Para obtener un resultado ptimo con esta transformacin las lneas rectas que aparecen entre los
puntos de correspondencias deben ser todas paralelas al eje dado por el borde horizontal superior o inferior
de la imagen. Esto sucede ya que no ocurren traslaciones de los pxeles de la imagen. En la Figura 39
para SIFT y 40 para SURF, se pueden apreciar algunas rectas que no respetan la regla anterior, las
cuales representan falsos positivos. En cambio, en la Figura 41 para el mtodo ORB puede observarse
un ejemplo de como debera ser las lneas.

Figura 39: Puntos de correspondencia entre las imgenes 38(a) y 38(b) unidos por una lnea recta para
el mtodo SIFT con la imagen de ejemplo.

Figura 40: Puntos de correspondencia entre las imgenes 38(a) y 38(b) unidos por una lnea recta para
el mtodo SURF con la imagen de ejemplo.

33

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 41: Puntos de correspondencia entre las imgenes 38(a) y 38(b) unidos por una lnea recta para
el mtodo ORB con la imagen de ejemplo.
En la tabla 4 se observan los porcentajes de correspondencias obtenidos para los tres mtodos luego
de aplicarlos a las imgenes 38(a) y 38(b) con = 4.

SIFT
4.39

SURF
6.94

ORB
5.80

Tabla 4: Porcentaje de correspondencias en funcin del para los mtodos SIFT, SURF y ORB
En la Figura 42 se muestra un grfico con el porcentaje de correspondencias promedio en funcin del
utilizado para el filtro Gaussiano, donde {0,1, 0,2, 0,3 . . . 7}.
Si bien no se puede aplicar un filtro gaussiano con sigma 0, se agrega al conjunto la imagen original
asignndole artificialmente = 0
Para valores de variando entre 0 y 1 se puede ver que los tres mtodos tienen un porcentaje similar
de correspondencias, por lo que su efectividad es similar. Los mtodos decaen en la misma forma a
medida que el sigma aumenta, presentando una forma hiperblica. Cuando los valores de son cercanos
a 1, el porcentaje de correspondencias decae rpidamente, pero luego, a medida que el sigma aumenta,
el decaimiento se reduce.
En el borroneo, SIFT es el mtodo que se distingue de los otros dos por su menor porcentaje de
correspondencias entre los sigmas 1 a 3. En este intervalo es considerablemente menor a los otros dos
mtodos. A partir de un sigma con valor 3, todos los mtodos presentan una cantidad de correspondencias
bajas (menor a 10 %) el cual contina disminuyendo lentamente a medida que sigma se incrementa.
En conclusin el borroneo perjudica en mayor medida al mtodo SIFT sobre SURF y ORB, y en los
tres casos el rendimiento de los mtodos decae de manera hiperblica.

34

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

100
90
80

Porcentaje de Correspondencias

70
60
SIFT

50

SURF
40

ORB

30
20
10
0
0

Sigma

Figura 42: Porcentaje de correspondencias en funcin del sigma de borroneo para los mtodos SIFT,
SURF y ORB
4.5.4.

Cambios en iluminacin

En este trabajo utilizamos el sistema de color RGB, donde RGB corresponden a los colores red,
green, blue y corresponde a la cantidad de iluminacin o luz blanca que tiene la imagen. Los cambios
de iluminacin consisten en la variacin del parmetro en le sistema de color de una imagen. Dicho
parmetro simula un oscurecimiento de la imagen para valores menores a 1, y un aclaramiento para
valores mayores a 1. En la Figura 43(b) se muestra como se aclara la imagen cuando se le aplica un
igual a 2.

(b) Imagen de ejemplo iluminada con 2

(a) Imagen de ejemplo

Figura 43: Transformacin iluminacin a una imagen de ejemplo.


Para obtener un resultado ptimo con esta transformacin las lneas rectas que aparecen entre los
puntos de correspondencias deben ser todas paralelas al eje dado por el borde horizontal superior o
inferior de la imagen. Esto sucede ya que no ocurren traslaciones de los pxeles de la imagen. Un ejemplo
de esto puede observarse en la Figura 44 para el mtodo SIFT, en la Figura 45 para SURF y en la Figura
46 para ORB. En los tres casos no se observan falsos positivos.

35

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 44: Puntos de correspondencia entre las imgenes 43(a) y 43(b) unidos por una lnea recta para
el mtodo SIFT con la imagen de ejemplo.

Figura 45: Puntos de correspondencia entre las imgenes 43(a) y 43(b) unidos por una lnea recta para
el mtodo SURF con la imagen de ejemplo.

Figura 46: Puntos de correspondencia entre las imgenes 43(a) y 43(b) unidos por una lnea recta para
el mtodo ORB con la imagen de ejemplo.
En la tabla 5 se observan los porcentajes de correspondencias obtenidos para los tres mtodos luego
de aplicarlos a las imgenes 43(a) y 43(b) con = 2.
En la Figura 47 se muestra un grfico con el porcentaje de correspondencias promedio en funcin del
de la imagen, donde {0,1, 0,2, 0,3 . . . 5}.
Esta transformacin devuelve la imagen original cuando el es 1, mantenindose la iluminacin.
36

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

SIFT
43.16

SURF
36.59

ITBA

ORB
6.00

Tabla 5: Porcentaje de correspondencias en funcin del de iluminacin para los mtodos SIFT, SURF
y ORB

El grfico se puede analizar en dos partes: los valores de menores a 1 y los mayores a 1. En el
primer caso, el cual representa imgenes oscurecidas, se puede apreciar que los tres mtodos tienen un
porcentaje de correspondencias similar a medida que el valor de aumenta. La forma en que aumenta
la efectividad en funcin del , se puede asociar a un crecimiento logartmico. En contraposicin, para
los valores de mayores a 1, los mtodos empiezan a comportarse de manera distinta.
El mtodo SIFT result ser el mejor de los tres para esta transformacin, seguido por el mtodo
SURF y por ltimo ORB. Los primeros dos, resultan similares cuando el valor de se hace mayor a 3
y todos decaen en forma de hiprbola. ORB alcanza el valor nulo de porcentaje de correspondencias,
mientras que SIFT y SURF mantienen un bajo porcentaje de correspondencias sin llegar al cero.
En resumen, para esta transformacin, los tres mtodos resultan similares para el oscurecimiento de
imgenes, pero, al aclararlas, SIFT predomina sobre SURF para valores de menores a 3, y ambos
predominan sobre ORB para todo valor de .
100
90
80

Porcentaje de Correspondencias

70
60
SIFT

50

SURF
40

ORB

30
20
10
0
0

0,5

1,5

2,5

3,5

4,5

Alpha

Figura 47: Porcentaje de correspondencias en funcin del de iluminacin para los mtodos SIFT, SURF
y ORB

37

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

5.

ITBA

Transformaciones reales: Galera de Arte

En la seccin anterior, las transformaciones aplicadas a las imgenes son artificiales, lo que significa
que las mismas son sintticas. Si bien dichas imgenes resultan tiles para un anlisis detallado del
rendimiento de los mtodos, se utilizan imgenes reales dnde las transformaciones surgen de manera
natural.
En esta seccin presentamos una aplicacin de los mtodos de reconocimiento, que consiste en sacar
una foto con el telfono celular, de una obra expuesta en el museo y reconocer cul es el cuadro dentro
de una base de datos que provee el museo. De esta forma, a partir de una foto sacada por un usuario, con
un sistema de captura no muy eficiente, podemos acceder a informacin del cuadro que no est expuesta,
como por ejemplo la biografa del autor, el recorrido de la obra, premios, etc.
Las imgenes utilizadas fueron tomadas a partir de cuadros presentados en el Museo Amalia Lacroze
de Fortabat. En la Figura 48 se puede ver la seleccin de cuadros provenientes de la base de datos del
museo.

38

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

(a) El Pintor Caminante, (b) Retrato de la seora (c) Domingo en la chacra o


Carlos Alonso (1991)
Amalia Lacroze de Fortabat, El Almuerzo, Antonio Berni
Andy Warhol (1980)
(C. 1945-71)

(d) El Indeciso, Emilio Pet- (e) La Resistencia, Emilio (f) Flores en un vaso Wantoruti (1950)
Pettoruti (1950)
Li, Jan Brueghel I (C. 160911)

Figura 48: Imgenes de obras de arte sin modificacin utilizadas en los resultados.

39

ITBA

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

(g) Bouquet de Printemps, (h) El Censo de Beln, Pie- (i) Los Capataces, PriliMarc Chagall (C. 1966-67) ter Brueghel II (S.F.)
diano Pueyrredn (S.F.)

(j) Juliet and Her Nurse (Julieta y su Aya), J. M. William Turner (1836)

Figura 48: Imgenes de obras de arte sin modificacin utilizadas en los resultados.
A continuacin, en las Figuras 49-58, se muestran algunas de las pruebas realizadas con los distintos
mtodos de reconocimiento, dnde se compara la imagen del cuadro original con la fotografa del mismo
en el museo.

Figura 49: Puntos de correspondencia entre la imagen 48(a) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

40

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 50: Puntos de correspondencia entre la imagen 48(b) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

Figura 51: Puntos de correspondencia entre la imagen 48(c) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

41

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 52: Puntos de correspondencia entre la imagen 48(d) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

42

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 53: Puntos de correspondencia entre la imagen 48(e) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

43

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 54: Puntos de correspondencia entre la imagen 48(f) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

Figura 55: Puntos de correspondencia entre la imagen 48(g) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

44

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 56: Puntos de correspondencia entre la imagen 48(h) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

Figura 57: Puntos de correspondencia entre la imagen 48(i) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.

45

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 58: Puntos de correspondencia entre la imagen 48(j) y una fotografa de la obra de arte unidos
por una lnea recta para el mtodo SIFT.
Como se puede ver, las fotografas proveen transformaciones reales aplicadas a las imgenes originales
de los cuadros. Dichas transformaciones incluyen cambios de iluminacin, rotacin, escala, perspectiva y
resolucin.
En las Figuras 49-58 anteriores se observan los puntos caractersticos de las imgenes unidos por una
lnea recta entre la imagen original a la izquierda y la fotografa del cuadro a la derecha. Cabe destacar
que la mayora de las correspondencias son correctas. Estas lneas que unen los puntos caractersticos
se originan en la imagen del cuadro original y terminan en el rea dnde se ubica el cuadro dentro
de la fotografa, descartando, por ejemplo, el marco del mismo. A si mismo se observan algunos falsos
positivos, estos son ocasionados por los puntos caractersticos de otros objetos dentro de la misma escena.
De esta forma, se puede comprobar que los mtodos de reconocimiento automtico de objetos en escena
son resistentes a una combinacin de transformaciones.
En la Figura 59 se puede ver un ejemplo de la aplicacin del mtodo SIFT de una imagen de un
cuadro (izquierda) con una fotografa de un cuadro diferente (derecha). Se espera que la cantidad de
correspondencias entre dos imgenes distintas sea baja. Como se puede ver en dicha Figura, las pocas
lneas que ilustran las correspondencias representan falsos positivos.

46

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

Figura 59: Puntos de correspondencia entre la imagen 48(b) y una fotografa de la obra de arte 48(g)
unidos por una lnea recta para el mtodo SIFT.
De esta manera, una vez comparadas las fotografas con las imgenes en la base de datos se obtiene
el porcentaje de correspondencias para cada una de ellas. La imagen con la cual se obtenga un mayor
porcentaje de correspondencias ser la candidata a ser seleccionada como la imagen correspondiente de
ese cuadro.
El mtodo SIFT fue el elegido para realizar dicha comparacin ya que, como vimos en la seccin de los
experimentos es el ms resistente a las distintas transformaciones que sufre la imagen al ser fotografiada.
A su vez, como no se requiere de un procesamiento en tiempo real, el tiempo que lleva aplicar dicho
mtodo no es relevante para esta situacin.

47

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

6.

ITBA

Conclusiones

En esta seccin se presentan las conclusiones obtenidas del anlisis de los resultados del presente
trabajo. Estas incluyen a las transformaciones de laboratorio (Seccin 4) y a las imgenes obtenidas en
una galera de arte. En cuanto al tiempo de procesamiento, ORB no slo es el que result ms rpido
de los tres mtodos, sino que tambin es el que menos degrada su velocidad a medida que aumentan las
dimensiones de la imagen. Con respecto a la escala, SIFT es el que obtiene los mejores resultados sobre
una imagen. La rotacin 2D muestra un mejor porcentaje de correspondencias para el mtodo SIFT, y
una predominancia del mtodo ORB sobre el mtodo SURF para rotaciones grandes y el caso inverso
para rotaciones chicas. En la relacin al borroneo, el mtodo SIFT se perjudica en mayor medida sobre
SURF y ORB. Por ltimo, para los cambios en iluminacin los tres mtodos resultan similares para el
oscurecimiento de las imgenes pero, al aclararlas, SIFT predomina por sobre los dems mtodos.
En la Tabla 6 se muestra el desempeo promedio de cada uno de los mtodos de reconocimiento
automtico de objetos en imgenes para los distintos tipos de pruebas realizadas en el presente trabajo.
Prueba
Tiempo
Escala
Rotacin
Borroneo
Iluminacin

SIFT
Regular
ptimo
ptimo
Regular
Bueno

SURF
Bueno
Bueno
Bueno
Bueno
Bueno

ORB
ptimo
Regular
Regular
Bueno
Regular

Tabla 6: Desempeo promedio para los distintos tipos de pruebas para SIFT, SURF y ORB.
A modo de conclusin, es importante destacar que ninguno de los tres mtodos se desempea mejor
que los dems para todas las situaciones. Es por eso, que resulta indispensable analizar el contexto
de aplicacin para decidir que mtodo de reconocimiento automtico de objetos en imgenes conviene
seleccionar.

48

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

7.
1
2
3
4
5

Apndice
<dependency>
<g r o u p I d>nu . p a t t e r n</ g r o u p I d>
< a r t i f a c t I d>opencv</ a r t i f a c t I d>
<version>2 . 4 . 9 7</ version>
</ dependency>

Figura 60: Dependencia Maven para la portacin de la librera OpenCV para Java

49

ITBA

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

29
30
31
32
33
34
35
36
37
38
39
40
41

42
43
44
45
46
47

ITBA

// 1 . Se c a r g a l a l i b r e r a de imgenes n e c e s a r i a .
OpenCV . l o a d L o c a l l y ( ) ;
// 2 . Se l e e n l o s a r c h i v o s de l a s dos imgenes y s e o b t i e n e n l a s m a t r i c e s
correspondientes .
Mat mat1 = H i g h g u i . imread (new F i l e ( " image1 . png " ) . g e t A b s o l u t e P a t h ( ) , H i g h g u i .
CV_LOAD_IMAGE_GRAYSCALE) ;
Mat mat2 = H i g h g u i . imread (new F i l e ( " image2 . png " ) . g e t A b s o l u t e P a t h ( ) , H i g h g u i .
CV_LOAD_IMAGE_GRAYSCALE) ;
// 3 . Se d e t e c t a n l o s p u n t o s c a r a c t e r s t i c o s de l a s imgenes o b t e n i n d o s e una i n s t a n c i a
de MatOfKeypoint para cada una .
F e a t u r e D e t e c t o r f e a t u r e D e t e c t o r = F e a t u r e D e t e c t o r . c r e a t e ( F e a t u r e D e t e c t o r . SIFT ) ;
MatOfKeyPoint k e y P o i n t s 1 = new MatOfKeyPoint ( ) ;
f e a t u r e D e t e c t o r . d e t e c t ( mat1 , k e y P o i n t s 1 ) ;
MatOfKeyPoint k e y P o i n t s 2 = new MatOfKeyPoint ( ) ;
f e a t u r e D e t e c t o r . d e t e c t ( mat2 , k e y P o i n t s 2 ) ;
// 4 . Se c o n s t r u y e n l o s d e s c r i p t o r e s de l a s imgenes o b t e n i n d o s e una i n s t a n c i a de Mat
para cada una .
D e s c r i p t o r E x t r a c t o r e x t r a c t o r = D e s c r i p t o r E x t r a c t o r . c r e a t e ( D e s c r i p t o r E x t r a c t o r . SIFT ) ;
Mat d e s c r i p t o r s 1 = new Mat ( ) ;
e x t r a c t o r . compute ( mat1 , k e y P o i n t s 1 , d e s c r i p t o r s 1 ) ;
Mat d e s c r i p t o r s 2 = new Mat ( ) ;
e x t r a c t o r . compute ( mat2 , k e y P o i n t s 2 , d e s c r i p t o r s 2 ) ;
// 5 . Se e n c u e n t r a n l a s c o r r e s p o n d e n c i a s e n t r e l o s d e s c r i p t o r e s de l a s imgene
o b t e n i n d o s e una n i c a i n s t a n c i a de MatOfDMatch para l a s dos imgenes .
DescriptorMatcher descriptorMatcher = DescriptorMatcher . create ( DescriptorMatcher .
BRUTEFORCE) ;
MatOfDMatch m a t c h e s 1 t o 2 = new MatOfDMatch ( ) ;
d e s c r i p t o r M a t c h e r . match ( d e s c r i p t o r s 1 , d e s c r i p t o r s 2 , m a t c h e s 1 t o 2 ) ;
L i s t <DMatch> m a t c h e s L i s t = m a t c h e s 1 t o 2 . t o L i s t ( ) ;
// 6 . Se hace un f i l t r a d o para q u e d a r s e s l o con l a s m e j o r e s c o r r e s p o n d e n c i a s u t i l i z a n d o
un c r i t e r i o s o b r e l a d i s t a n c i a de l a s c o r r e s p o n d e n c i a s de l a i n s t a n c i a MatOfDMatch y
s e t e a n d o GOOD_MATCHES_BOUND a c o r d e con l a c a l i d a d de r e s u l t a d o s que s e d e s e a
obtener .
double GOOD_MATCHES_BOUND = 0 . 7 ;
L i s t <MatOfDMatch> l i s t O f M a t s = new A r r a y L i s t <>() ;
d e s c r i p t o r M a t c h e r . knnMatch ( d e s c r i p t o r s 1 , d e s c r i p t o r s 2 , l i s t O f M a t s , 2 ) ;
L i s t <DMatch> g o o d M a t c h e s L i s t = new A r r a y L i s t <>() ;
f o r ( MatOfDMatch mat : l i s t O f M a t s ) {
i f ( mat . t o L i s t ( ) . s i z e ( ) == 2 ) {
i f ( mat . t o L i s t ( ) . g e t ( 0 ) . d i s t a n c e < GOOD_MATCHES_BOUND mat . t o L i s t ( ) . g e t ( 1 ) .
distance ) {
g o o d M a t c h e s L i s t . add ( mat . t o L i s t ( ) . g e t ( 0 ) ) ;
}
}
}
// 7 . Se c a l c u l a e l p o r c e n t a j e de c o r r e s p o n d e n c i a s como l a r e l a c i n e n t r e l a s buenas
c o r r e s p o n d e n c i a s o b t e n i d a s en e l paso 6 y e l t o t a l de c o r r e s p o n d e n c i a s o b t e n i d a s en
e l paso 5 .
double matchPercentage = 100 ( ( double ) g o o d M a t c h e s L i s t . s i z e ( ) / m a t c h e s L i s t . s i z e ( ) ) ;
// 8 . Se d i b u j a n l a s m e j o r e s c o r r e s p o n d e n c i a s s o b r e l a s dos imgenes una a l l a d o de l a
o t r a y s e g r a b a en d i s c o l a imagen r e s u l t a n t e como matchExample . png .
Mat matchMat = new Mat ( ) ;
F e a t u r e s 2 d . drawMatches ( mat1 , k e y P o i n t s 1 , mat2 , k e y P o i n t s 2 , goodMatches , matchMat ) ;
H i g h g u i . i m w r i t e ( " matchExample . png " , matchMat ) ;

Figura 61: Cdigo fuente de ejemplo para la implementacin


del mtodo de reconocimiento automtico
50
SIFT para dos imgenes

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

8.

ITBA

Bibliografa

[1] Fast corner detection - edward rosten. https://www.edwardrosten.com/work/fast.html.


[2] Image
stitching
by
sift
g/13spring/vision/assignment3.html.

features.

http://www.cs.unc.edu/

kewan-

[3] Sift: Generating a feature.


features/.

http://aishack.in/tutorials/sift-scale-invariant-feature-transform-

[4] Sift: Keypoint orientations.


keypoint-orientation/.

http://aishack.in/tutorials/sift-scale-invariant-feature-transform-

[5] Sift: The scale space. http://aishack.in/tutorials/sift-scale-invariant-feature-transform-scale-space/.


[6] Pablo Fernndez Alcantarilla, Adrien Bartoli, and Andrew J Davison. Kaze features. In Computer
VisionECCV 2012, pages 214227. Springer, 2012.
[7] Mohamed Aly. Face recognition using sift features. CNS/Bi/EE report, 186, 2006.
[8] Henrik Andreasson, Andr Treptow, and Tom Duckett. Localization for mobile robots using panoramic vision, local features and particle filter. In Robotics and Automation, 2005. ICRA 2005.
Proceedings of the 2005 IEEE International Conference on, pages 33483353. IEEE, 2005.
[9] SIMONE ANGHILERI. Analisi energetica e ottimizzazione dellalgoritmo brisk. 2013.
[10] Herbert Bay, Tinne Tuytelaars, and Luc Van Gool. Surf: Speeded up robust features. In European
conference on computer vision, pages 404417. Springer, 2006.
[11] Michael Calonder, Vincent Lepetit, Christoph Strecha, and Pascal Fua. Brief: Binary robust independent elementary features. In European conference on computer vision, pages 778792. Springer,
2010.
[12] Andrea Maricela Plaza Cordero, Jorge Luis Zambrano Martnez, and Vladimir Robles Bykbaev.
Estudio y seleccin de las tcnicas sift, surf y asift de reconocimiento de imgenes para el diseo de
un prototipo en dispositivos mviles.
[13] Chris Harris and Mike Stephens. A combined corner and edge detector. In Alvey vision conference,
volume 15, page 50. Citeseer, 1988.
[14] Luo Juan and Oubong Gwun. A comparison of sift, pca-sift and surf. International Journal of
Image Processing (IJIP), 3(4):143152, 2009.
[15] Nabeel Younus Khan, Brendan McCane, and Geoff Wyvill. Sift and surf performance evaluation
against various image deformations on benchmark dataset. In Digital Image Computing Techniques
and Applications (DICTA), 2011 International Conference on, pages 501506. IEEE, 2011.
[16] Stefan Leutenegger, Margarita Chli, and Roland Y Siegwart. Brisk: Binary robust invariant scalable
keypoints. In Computer Vision (ICCV), 2011 IEEE International Conference on, pages 25482555.
IEEE, 2011.
[17] David G Lowe. Distinctive image features from scale-invariant keypoints. International journal of
computer vision, 60(2):91110, 2004.
[18] D.G. Lowe. Object recognition from local scale-invariant features. In Computer Vision, 1999. The
Proceedings of the Seventh IEEE International Conference on, volume 2, pages 11501157 vol.2,
1999.
51

Estudio sobre Reconocimiento Automtico de Objetos en Imgenes

ITBA

[19] Takuma Maruyama, Yoshiyuki Kawano, and Keiji Yanai. Real-time mobile recipe recommendation
system using food ingredient recognition. In Proceedings of the 2Nd ACM International Workshop
on Interactive Multimedia on Mobile and Portable Devices, IMMPD 12, pages 2734, New York,
NY, USA, 2012. ACM.
[20] Edouard Oyallon and Julien Rabin. An Analysis of the SURF Method. Image Processing On Line,
5:176218, 2015.
[21] R Ramya and B Sudhakara. Motion detection in moving background using orb feature matching
and affine transform. IJITR, pages 162164, 2015.
[22] Ethan Rublee, Vincent Rabaud, Kurt Konolige, and Gary Bradski. Orb: An efficient alternative to
sift or surf. In Proceedings of the 2011 International Conference on Computer Vision, ICCV 11,
pages 25642571, Washington, DC, USA, 2011. IEEE Computer Society.
[23] Matthew Toews, William Wells, D Louis Collins, and Tal Arbel. Feature-based morphometry:
Discovering group-related anatomical patterns. NeuroImage, 49(3):23182327, 2010.
[24] Deepak Geetha Viswanathan. Features from accelerated segment test (fast), 2009.
[25] Lei Yu, Zhixin Yu, and Yan Gong. An improved orb algorithm of extracting and matching. 2015.

52