Está en la página 1de 79

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO

POSGRADO EN CIENCIA E INGENIERA DE LA COMPUTACIN

ADECUACIN DE TCNICAS DE
DESCRIPCIN VISUAL UTILIZANDO
INFORMACIN 3D Y SU APLICACIN EN
ROBTICA

QUE PARA OBTENER EL GRADO DE:

MAESTRO EN INGENIERA
P

A:

ABEL PACHECO ORTEGA

DIRECTOR DE LA TESIS: DR. JESUS SAVAGE CARMONA


DR. WALTERIO W. MAYOL CUEVAS

MXICO, D.F.

2011.

Agradecimientos
Doy gracias:

A mis padres Eva Ortega, Gregorio Pacheco y hermana Magaly Pacheco quienes son
siempre sinnimo de apoyo e inspiracin.

A Luz Yazmn Brito Hernandez quien me ha acompaado, apoyado y aconsejado como


pocos.

A mis tutores Dr. Jesus Savage Carmona y Dr. Walterio W. Mayol Cuevas, que me
ayudaron a darle forma a este trabajo con sus aportaciones, consejos y direccin. As
tambin a los doctores Boris Escalante, Mara Elena Martnez, Pablo Prez y Fernando
Armbula por sus observaciones y comentarios sobre este trabajo.

A CONACyT y PAPIIT-DGAPA

por el nanciamiento otorgado.

A todos lo que intervinieron en la realizacin de esta nueva meta.

1 El nmero de apoyo asignado por PAPIIT-DGAPA fue IN-107609

Resumen
Los datos obtenidos desde cmaras RGB-D (capaces de brindar informacin espacial)
permiten realizar una extraccin de caractersticas ms estables, stas son utilizadas
para determinar relaciones de localizacin entre diferentes posiciones en las que se est
observando una misma escena.

En este desarrollo se ha realizado la construccin de un detector que permite identicar puntos de inters con caractersticas visuales estables, este mtodo es llamado
FAST+3D. La descripcin fue implementada de manera que continuar siendo discriminante a pesar de cambios de perspectiva, iluminacin, rotaciones y escala; todo a partir
de normalizaciones determinadas por la informacin tridimensional obtenida.

Las relaciones visual y de localizacin entre dos imgenes dadas es determinada por
medio de rboles de busqueda y metodologas de fotogrametra tambin a partir de la
informacin 3D.

Se ha planteado el uso de las mtodologas de deteccin, descripcin y localizacin


desarrolladas en conjunto con la construccin de mapas topolgicos para la navegacin
de robots mviles.

ndice general
1. Introduccin

2. Marco terico

14

2.1.

Transformaciones 2D de imgenes . . . . . . . . . . . . . . . . . . . . .

16

2.2.

Extractores de caractersticas

18

2.3.

2.2.1.

Detectores de puntos de inters

. . . . . . . . . . . . . . . . . .

19

2.2.2.

Descriptores . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

Empatado de descriptores

2.3.1.

2.3.2.

. . . . . . . . . . . . . . . . . . . . . . . . .

27

rbol de bsqueda k-d . . . . . . . . . . . . . . . . . . . . . . .

28

2.3.1.1.

. . . . . . . . .

29

. . . . . . . . . . . . . . . . . . . . . . . .

30

Algoritmo de busqueda Best Bin First

Empatados atpicos

2.3.2.1.

2.4.

. . . . . . . . . . . . . . . . . . . . . . .

Random Sample Consensus

(RANSAC)

. . . . . . . .

Bibliotecas libres: OpenCV, Open-Source SIFT Library, OpenNI

. . .

32

34

3. Arquitectura del sistema


3.1.

35

Features from Accelerated Segmented Test


dario en 3D

(FAST) con anlisis de vecin-

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.2.

Cambios de perspectiva en muestras de escena . . . . . . . . . . . . . .

44

3.3.

Descriptor tipo

. . . . . . .

49

3.4.

Resumen de metodologa de descripcin . . . . . . . . . . . . . . . . . .

50

Scale Invariant Feature Transform

(SIFT)

4. Aplicacin en Robtica

52

4.1.

Localizacin bsica de robot por odometra . . . . . . . . . . . . . . . .

53

4.2.

Empatado y Algoritmo de Orientacin Absoluta

. . . . . . . . . . . .

55

4.3.

Rsumen de mtodologa de localizacin visual . . . . . . . . . . . . . .

60

5. Experimentos

62

5.1.

Posicin real vs posicin estimada . . . . . . . . . . . . . . . . . . . . .

63

5.2.

ngulo de vista real vs estimado . . . . . . . . . . . . . . . . . . . . . .

64

5.3.

Robustez ante cambios de ngulo

. . . . . . . . . . . . . . . . . . . . .

66

5.4.

Ambiente con condiciones no controladas . . . . . . . . . . . . . . . . .

66

6. Conclusiones

72

ndice de guras
2.1.

Discretizacin de imgenes . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2.

Homografa.

18

2.3.

Anlisis espacio-escala. (a) Diferencia de gaussianas aplicada a espacio-

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

escala. (b) Deteccin de mximos y mnimos locales.[Low04]. . . . . . .

2.4.

Prueba FAST en el punto

. . . . . . . . . . . . . . . . . . . . . . . .

2.5.

Calculo de orientacin de descriptor. Histograma de gradientes.

2.6.

Generacin del descriptor SIFT. Solo se muestra una divisin de 2x2

. . . .

regiones, pero SIFT utiliza en realidad una divisin de 4x4, [Low04]. . .

2.7.

22

24

25

Ejemplos de algoritmo SIFT, escena observada (izquierda) y descriptores


calculados (derecha)

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.8.

Divisin de regiones en GLOH.

2.9.

Empatado con busqueda

. . . . . . . . . . . . . . . . . . . . . .

Best Bin First

2.10. Empatado depurado con RANSAC

3.1.

21

26

. . . . . . . . . . . . . . . . .

31

. . . . . . . . . . . . . . . . . . . .

33

Tecnologas para obtencin de imgenes con informacin 3D

25

. . . . . .

36

3.2.

Patrn usado por cmara Kinect

. . . . . . . . . . . . . . . . . . . . .

38

3.3.

Proceso de descripcin propuesto

. . . . . . . . . . . . . . . . . . . . .

38

3.4.

Cambio de escala con respecto a profundidad de pixel medida

3.5.

FAST

vs

. . . . .

41

FAST+3D.(a) Deteccin de puntos de inters. (b) Ejemplos de

punto detectado por FAST y FAST+3D, con sus respectivos vecindarios


e informacin tridimensional. (c) Puntos detectados y sus vecindarios
asociados FAST (izquierda) FAST+3D (derecha)

. . . . . . . . . . . .

43

3.6.

Sistema de referencia de la cmara RGB-D . . . . . . . . . . . . . . . .

45

3.7.

Anlisis de vecindario . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

3.8.

Cambios de perspectiva . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

3.9.

Ejemplos de rotaciones con respecto a orientacin dominante . . . . . .

51

4.1.

Parmetros de odometra . . . . . . . . . . . . . . . . . . . . . . . . . .

54

4.2.

Mapa topolgico

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

4.3.

Muestreo en ubicaciones de mapa topolgico . . . . . . . . . . . . . . .

56

4.4.

Orientacin absoluta de un patrn . . . . . . . . . . . . . . . . . . . . .

57

5.1.

Interfaz de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

5.2.

Comparacin entre posicin estimada (circulos rojos) y real (cuadros


azules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.3.

63

Comparacin entre ngulo estimado(circulos rojos) y real (cuadros azules) 65

5.4.

Respuesta ante variaciones de ngulo

. . . . . . . . . . . . . . . . . . .

67

5.5.

Mapa, ubicaciones y vecindarios descritos de prueba . . . . . . . . . . .

68

5.6.

Porcentajes de localizaciones exitosas por ubicacin

70

. . . . . . . . . . .

Captulo 1
Introduccin
El neurocientico y psiclogo britnico David Marr estableci que existen tres niveles
en los cuales un dispositivo de percepcin debe ser conceptualizado. El primer nivel es
aquel en el que se encuentra la teora computacional del mismo, donde se establece el desempeo en la conversin de un tipo de informacin a otro y las propiedades abstractas
del mapeo se denen de manera precisa. El segundo nivel determina la representacin
de la entrada, la salida y el algoritmo a ser usado en la transformacin de una a otra.
En el tercer nivel Marr ubica los detalles de cmo son realizadas las representaciones
fsicamente.

De manera particular, respecto a la visin Marr dene en [Mar82] que  la visin humana
es una tarea de procesamiento de informacin, que describe con las imgenes lo que est
presente en el mundo real y dnde se encuentra .

La visin por computadora es una disciplina cuyo objetivo es realizar decisiones a


partir de caractersticas del mundo real extradas a travs de imgenes digitales del
mismo. Dicho con otras palabras, la visin por computadora construye descriptores de

una escena basndose en las caractersticas relevantes de una imagen o una secuencia de
ellas, de tal manera que la caracterizacin est libre de informacin irrelevante. Estudiar
la visin no slo implica la extraccin de informacin, sino tambin el almacenamiento
de la misma para tenerla disponible como base de conocimiento para futuras tomas de
decisiones.

Otro de los desarrollos importantes en la ltimas 5 dcadas, es la construccin de robots.


Segn la Real Acadmica Espaola un robot es una  mquina o ingenio electrnico
programable, capaz de manipular objetos y realizar operaciones antes reservadas slo a
las personas [Aca01]. Las personas con capacidad visual, saben que de los mecanismos
de percepcin que el ser humano tiene, el sistema de visin es el ms utilizado para
las actividades diarias. As que no es de sorprenderse que los desarrollos en visin
computacional tengan un campo de aplicacin muy signicativo en la robtica.

El uso de robots en la generacin de productos comenz a realizarse de manera incierta


en los aos 60, pero, poco a poco fue ganando popularidad y ha tenido un incremento
considerable en los ltimos aos. El ejemplo ms claro est en la industria automotriz,
donde el uso de robots se ha hecho menester para la produccin en serie de los mismos. Los robots en la industria permiten que costos y tiempos de produccin se vean
reducidos en una proporcin importante, permitiendo con ello que productos de buena
calidad son accesibles a una mayor cantidad de personas; por lo tanto, el desarrollo de
tecnologas que puedan ser aplicadas a diferentes gamas de procesos implica un benecio
considerable, ms si sto se hace en pases que buscan un impulso en su desarrollo.

Dicho xito industrial ha sido en gran medida gracias a que los entornos de trabajo son
construdos de tal manera que el robot no tenga dicultades al realizar sus actividades;
las cuales son repetitivas y ejecutadas en tiempos precisos y coordinados con las dems
etapas de produccin.

10

Hoy en da los robots han sido aplicados en una gran cantidad de actividades no relacionadas con la generacin de productos (robots industriales), sino en la ejecucin de
actividades fuera de ella como en medicina, agricultura, limpieza, espacio, construccin,
domestico, etc., este tipo de robots son llamados de servicio.

Realizar las actividades antes mencionadas, implica que el robot se desplace en entornos
que no fueron construidos especialmente para la ejecucin de las mismas. Esto ha llevado
a que uno de los puntos hito en robtica de servicios sea el desarrollo de tcnicas con
las que el robot extrae informacin del entorno y la utiliza para ubicarse en l, con lo
cual se logra lo que se conoce como

Mapeo

Localizacin.

Saber la localizacin de un agente en un ambiente determinado es de suma importancia


para el desempeo del mismo. Con este propsito primero se necesita realizar un mapeo
del ambiente con el cual se pueda realizar la localizacin.

Los mapas pueden ser dados como conocimiento

a priori

a los agentes o generados

de manera dinmica por los mismos mientras realizan una exploracin del ambiente
(tambin llamada

Simultaneous Localization and Mapping, SLAM). Las construcciones

de modelo del ambiente pueden ser clasicadas en modelos mtricos y topolgicos. En


los modelos topolgicos la informacin acerca del ambiente es representada por medio de
posiciones referencia y las relaciones que existen entre ellas, el agente por tanto tiene
tantos sistemas de referencia como posiciones tenga el mapa . En los modelos mtricos
se tiene informacin detallada y precisa sobre el ambiente, con ellos la posicin del
agente es determinada con respecto a un sistema de referencia absoluto.

La decisin entre el uso de modelos topolgicos o mtricos en la construccin de mapas


depende de la tarea que el agente realizar, si sta requiere de una localizacin exacta
dentro del ambiente es mejor utilizar modelos mtricos; si la tarea requiere nicamente

11

del reconocimiento de lugares especcos y no una precisa ubicacin en cada instante


de la ejecucin, entonces es mejor optar por la utilizacin de modelos topolgicos.

Existen dos tipos de localizacin, local y global. Las tcnicas de localizacin local se
encarga de trabajar y corregir los clculos hechos sobre la posicin del agente, por lo
tanto requiere saber la ubicacin inicial del mismo. Las tcnicas de localizacin global
son ms robustas, pueden localizar el robot sin ninguna informacin previa acerca de su
posicin, este tipo de tcnicas de localizacin pueden resolver el  problema del secuestro
de robot , en donde el robot es colocado en una posicin desconocida.

A lo largo del desarrollo de esta lnea de investigacin se han creado y modicado algoritmos y elementos de percepcin para la construccin de mapas y la localizacin de los
agentes. En los primero trabajos se han utilizado lsers y sonares como sensor primario
(vase [LSKE11] para detallar al respecto), posteriormente fueron introducidos elementos de percepcin visual como cmaras monoculares ([DRMS07, CPMC07, CPMcC06,

+
MCC10]) , estreo ([ML00, SLL05]) y ltimamente cmaras RGB-D ([HKH 10]).

Cuando se usan elementos de percepcin visual los inconvenientes presentes en la construccin del mapa y la localizacin son principalmente: movimientos rpidos, ruido,
cambio de intensidades de luz y oclusiones.

En el mbito acadmico se estn realizando una gran cantidad de desarrollos en robtica, en los cuales participan personas especializadas en diferentes disciplinas, un ejemplo
de ello es el Laboratorio de Biorrobtica de la Facultad de Ingeniera (UNAM). Ah se
desarrollan, entre otros, robots de servicios domsticos; algunas de las tareas que realizan dichos robots son: deteccin de objetos, navegacin, reconocimiento de personas,
interaccin auditiva con seres humanos, etc.

El objetivo de esta tesis es generar una aplicacin que realice la extraccin de caracters-

12

ticas visuales robustas ante cambios de orientacin, iluminacin, perspectiva y escala,


con una buena relacin

tiempo de ejecucin-resultados, dicha metodologa ser utilizada

para proponer un sistema que realice el mapeo y localizacin visual del entorno en el
cual se desplaza la cmara.

Para dicho propsito se realiz una divisin del trabajo de la siguiente manera:

Captulo 2. Marco terico.

En este captulo estarn las bases tericas y los trabajos

relacionados con este desarrollo.

Captulo 3. Arquitectura del sistema.

Aqu se presentar la metodologa de extraccin

de caractersticas visuales desarrollada.

Capitulo 4. Aplicacin en Robtica.

En el se mostrar que el uso de las informacin

obtenida con el mtodo de planteado puede ser utilizado para complementar o sustituir
el mtodo de localizacin bsica de robots.

Captulo 5. Pruebas. En este captulos se presentarn los resultados obtenidos con las
metodologas de descripcin y localizacin visual.

Captulo 6. Conclusiones. Aqu se desarrollarn las conclusiones obtenidas de la pruebas,


junto con las debilidades y fortalezas de la aplicacin.

13

Captulo 2
Marco terico
En [GW01] denen

imagen

como una funcin bidimensional,

coordenadas espaciales (plano) y la amplitud de

f (x, y),

donde

en cualquier par coordenado

es llamada la intensidad o nivel de gris de la imagen en ese punto. Cuando


discretas y nitas, entonces se habla de una

x, y

son

(x, y)
f

son

imagen digital. Las imgenes digitales en-

tonces se encuentran constitudas de un nmero nito de elementos con una localizacin

y un valor denido. Cada uno de estos elementos es llamado pixel .

El tipo de imagen denida anteriormente es referida como

cala de grises.

monocromtica

en es-

Las imgenes digitales a color son generadas a partir de la unin de

imgenes monocromticas individuales. Estas componentes son tambin llamadas

das,

ban-

por ejemplo, una imagen a color en un sistema RGB consiste de tres imgenes

1 Debido al origen ingls de la palabra se tienen discusiones sobre su correcta escritura en espaol,
al respecto la Real Acedema Espaola en [Rea06] indica:

pxel o pixel. La voz inglesa pixel (`elemento ms pequeo de los que componen una imagen digital')
se ha incorporado al espaol con dos acentuaciones, ambas vlidas. La forma llana pxel reeja la
pronunciacin etimolgica mayoritaria en el conjunto del mbito hispnico y debe escribirse con
tilde por acabar en consonante distinta de -n o -s. Su plural es pxeles: El monitor brinda mayor
resolucin debido a que la pantalla presenta ms puntos o pxeles. En algunos pases como Mxico se
usa exclusivamente la forma aguda pixel (pron. [piksl]), cuyo plural es pixeles.

14

monocromticas del mismo tamao, donde cada una de ellas representa una componente del sistema de color (rojo, verde y azul). En este tipo de imgenes, el pixel puede
ser visto como un vector cuya dimensin es igual al nmero de bandas que conforman
la imagen.

Las camaras digitales convencionales realizan una discretizacin de las intensidades de


luz reejadas sobre una escena, dicho en otra palabras, generan una representacin
bidimensional discretizada de un mundo tridimensional analgico. La manera usual de
representar este proceso es llamado

proyeccin central

(vase gura 2.1) donde un rayo

va desde un punto en el mundo tridimensional hacia un punto en el espacio llamado

centro de proyeccin

y continua hasta intersecarse con el

plano de la imagen,

en l se

hace el promedio de intensidades de acuerdo a un arreglo bidimensional, generndose


una imagen digital.

Figura 2.1: Discretizacin de imgenes

La visin por computadora extrae caractersticas de una imagen digital o una secuencia
de ellas, estas caractersticas son analizadas para formular conclusiones y realizar una
toma de decisiones. Muchas han sido las tcnicas desarrolladas para la extraccin y
descripcin de caractersticas en imgenes digitales, el nmero de disciplinas aplicadas

15

en el rea es bastante grande, abarcando desde la biologa hasta la geometra y el lgebra


lineal.

En este trabajo se presenta una breve introduccin de los conceptos, algoritmos y bibliotecas de funciones utilizadas. De manera particular se realiz una revisin sobre las
transformaciones 2D en imgenes digitales, los detectores de caractersticas, la manera
en que dichos caractersticas son descritas, se abordarn las tcnicas utilizadas para el
empatado de descriptores de dos imgenes diferentes y las implicaciones reportadas que
conlleva el uso de alguno de los detectores antes mencionados. Tambin se hablar sobre
cmaras RGB-D, la forma en que trabajan y las posibilidades que ellas han abierto en el
desarrollo del campo. Al nal del captulo har mencin de las bibliotecas de funciones
que sern utilizadas y/o modicadas en el desarrollo de la tesis.

2.1.

Transformaciones 2D de imgenes

Las lneas en el plano se representan matemticamente como


diferentes valores de

k 6= 0,

, donde

a, b y c representan lneas diferentes. Las lneas en un plano pueden

ser representadas entonces con el vector


cualquier

ax + by + c = 0

(a, b, c)T . Ntese que (a, b, c)T

k(a, b, c)T , para

son la misma lnea, por lo que a estos vectores se les llama vectores

homogneos.

Un punto

p = (x, y)T

en un plano se encuentra en una lnea

cumple con la ecuacin


se escribe como

l = (a, b, c)T

nicamente si

ax + by + c = 0, que en trminos de producto interno de vectores

(x, y, 1)(a, b, c)T ;

entonces, un punto en

R2

puede ser representado co-

mo un vector de tres elementos agregndole un 1 ms. Esta representacin tambin


es llamada

punto en coordenadas homogneas. As, (x, y, 1)T


16

(kx, ky, k)T

representan

el mismo punto y un vector homogneo


dad mapea el punto

(r/t, s/t)

pertenecen al conjunto

Teorema 1.

en

R2 .

(r, s, t)

representativo de un punto, en reali-

Los puntos presentados como vectores homogneos

P 2.

Un mapeo h : P 2 P 2 es una proyeccin si, y solo si, existe una matriz

singular de 3x3, H , tal que para cualquier punto dado en P 2 , representado por un vector
x, es cierto que h(x) = H(x).
En muchas de las aplicaciones de visin por computadora se pretende encontrar la
relacin entre dos imgenes en las que est presente la misma escena, pero, tomadas bajo
diferentes condiciones. Estas dos imgenes tienen diferentes aspectos que, en trminos
generales, son provocados por deformaciones, cambios de posicin u orientacin ya
sea de la escena o la cmara. Los cambios de este tipo pueden ser traducidos como
transformaciones de la imagen. Estas transformaciones son llamadas

homografas. Una

homografa, en trminos generales, es una proyeccin de un plano sobre otro plano.

El proceso de estimacin de una homografa es denido por Hartley y Zisserman en


[HZ03] como:

Dado un conjunto de puntos xi en P 2 y un correspondiente conjunto de

puntos x0i tambin en P 2 , calcule la transformacin que relaciona cada xi con x0i . En el
caso que compete este desarrollo, los puntos

xi

xi

son puntos en dos imgenes, que

estn relacionados por la matriz de transformacin presentada en la ecuacin 2.1.

x0 = Hx

x01

(2.1)

h11 h12 h13


x0 = h
2 21 h22 h23


0
x3
h31 h32 h33
17

x1

x
2

x3

Sin prdida de generalidad es posible jar el valor

h33 en 1. Por
ejemplo, las guras 2.2(a)

1.2945 0.2024 225.28

.
y 2.2(b) se encuentran relacionadas por la homografa H = 0.4584
0.9493
0

0.0009
0
1

(a)

(b)

Figura 2.2: Homografa.

2.2.

Extractores de caractersticas

Encontrar similitudes entre dos imgenes diferentes es un problema comn en visin


por computadora, para cumplir este propsito, de las imgenes a comparar, se extraen
caractersticas que en pasos posteriores pueden ser comparadas.

Las caractersticas extradas pueden ser globales o locales. Las globales son una representacin de la imagen completa, mientras que las locales lo son de regiones especcas
de la misma. Las caractersticas locales son mejores si cumplen con ser localizadas, signicativas y robustas; lo que signica que tienen una ubicacin relacionada con reas
especcas y que son detectadas a pesar de cambios en escala, orientacin y/o iluminacin.

18

Una vez se tienen ubicados los puntos de inters de una imagen es importante construir
vectores que los representen para poder realizar comparaciones con otros conjuntos de
puntos extrados desde diferentes imgenes, a estos vectores se les llama descriptores.

En los siguientes puntos mostrar algunos de los detectores y los descriptores ms


importantes que han sido desarrollados.

2.2.1.

Detectores de puntos de inters

El primero de los pasos para la extraccin de caractersticas locales es determinar la


ubicacin de aquellos pixeles que dada su ubicacin y las caractersticas de la zona de
la imagen en que se encuentran son fciles de ubicar y sus caractersticas estn bien
determinadas. Muchos han sido los detectores creados, cada uno de ellos hace uso de
operadores diferentes para determinar la existencia de puntos de inters; la evaluacin
de algunos de ellos puede ser consultada en [SMB00, MGBR08, MM06]. Los mtodos
de deteccin ms utilizados se presentan a continuacin.

Harris:

Detector presentado en [HS88], basado en el calculo de los eigenvalores

de la matriz

M = P

Ix

Iy

Ix2

Iy Ix

Ix Iy
P 2
Iy

(2.2)

(x, y).

y la sumatoria se hace sobre una regin cuadrada alrededor de cada


Dada la funcin de autocorrelacin

2 Los gradientes en el punto

son gradientes de la imagen en las direcciones horizontal y vertical re-

spectivamente
posicin

donde

(i(x, y + 1) i(x, y 1))

(x, y)

donde

se calculan como

i(u, v)

R = 1 2 k(1 + 2 )

Ix =

, el punto

representa la intensidad de la imagen en el punto

19

(i(x + 1, y) i(x 1, y))

Iy =

(u, v)

(x, y)

asociado es seleccionado como esquina si el valor de

mximo; los valores asignados al parametro

Shi-Tomasi:

es positivo y localmente

en la literatura se jan entre 0.04 y 0.15.

Este detector fue presentado en [ST93], est basado en el detector de es-

quinas de Harris. La funcin que determina la presencia de un punto de inters (esquina)


est dada por
punto

(x, y)

R = min(1 , 2 ).

Si R es mayor que una valor predenido, entonces el

asociado es considerado como punto de inters.

Detector SIFT:

El algoritmo

Scale Invariant Feature Transform

(SIFT), realiza la

deteccin y descripcin de puntos de inters en imgenes. Se trata de uno de los mtodos


ms utilizados, su nombre es debido a que transforma una imagen en descriptores
invariantes a escala, rotacin y parcialmente invariante a cambios de iluminacin y
punto de vista. Este algoritmo fue presentado en [Low04].

En la primera de las etapas el algoritmo identica la posicin y escala de puntos


candidatos (puntos mxima). Utiliza una aproximacin a el

Laplaciano de Gaussiana

(LoG), que en [Lin94] y [MS02] demostr ser un buen detector de puntos invariantes
a escala, mediante la

Diferencia de Gaussianas (DoG) aplicada en el espacio-escala de

la imagen. El espacio-escala (ecuacin 2.4) es una familia de imgenes asociadas que se


construye a partir de un suavizado progresivo de la imagen original, el cual se logra a
partir de la convolucin de un ltro gaussiano (ecuacin 2.3) con la imagen.

g(x, y; ) =

x2 +y 2
1
exp 2
2t

L(x, y; ) = g(x, y; ) I(x, y)

donde

es la imagen a partir de la cual se construir el espacio escala y

20

(2.3)

(2.4)

es el parametro

que ser modicado progresivamente, pondera el suavizado de la imagen.

Los puntos candidato son aquellos que se encuentran bien identicados entre DoG
adyacentes, es decir tienen un valor mximo o mnimo con respecto a los 26 puntos
alrededor del mismo en la estructura generada (vase gura. 2.3b).

(a)

(b)

Figura 2.3: Anlisis espacio-escala. (a) Diferencia de gaussianas aplicada a espacioescala. (b) Deteccin de mximos y mnimos locales.[Low04].

Una vez encontrados los puntos candidato en cada escala, se hace un ltrado de los
mismos para eliminar puntos en regiones de bajo contraste y que no sean esquinas,
pues no destacan ante cambios de iluminacin pequeos y presencia de ruido. SIFT
tambin realiza el calculo de la matriz presentada en la ecuacin 2.2 y sus eigenvalores

2 ,

se considera el punto nalmente

(1 + 2 )2
(r + 1)2
<
1 2
r
siendo

(2.5)

un umbral cuyo valor ms comn es 10.

Detector FAST:

Features from Accelerated Segmented Test (FAST) es un detector de

esquinas presentado en [RD05], cuyo criterio de seleccin de un pixel

21

dentro de una

imagen esta basado en el anlisis de 16 pixeles (circulo de radio 3) alrededor del punto.
Siendo

Ip

el valor de intensidad del punto

un conjunto de

p, ste es considerado como esquina si existen

pixeles contiguos en el permetro de un circulo de radio 3 alrededor

del mismo que tengan una intensidad superior a

Ip + t

o inferior a

un umbral determinado (vase gura 2.4). Generalmente

Ip t

, donde

es

tiene valores entre 9 y 12,

para eliminar puntos candidato de manera mucho ms rpida es realizado un chequeo


preliminar en los pixeles 1, 9 , 5 y 13. La rpida eliminacin de puntos candidatos hace
que FAST tenga un gran rendimiento. Anlisis en las relaciones de rendimiento con las
variaciones en los valores

pueden ser encontrados en [RD05] y [RD06].

Figura 2.4: Prueba FAST en el punto

Sin embargo FAST detecta como esquinas a muchos puntos adyacentes, por ello se
necesita de una supresin de no mximos donde la puntuacin de un punto

dado

es la sumatoria de las diferencias de cada pixel contiguo con los que fue superada la
deteccin FAST sin supresin.

22

2.2.2.

Descriptores

Hasta este punto lo que tenemos es la localizacin de los puntos de inters dentro
de una imagen; sin embargo lo que se desea es realizar la asociacin de cada uno de
estos puntos a atributos que tpicamente se encuentran en las variaciones de los pixeles
alrededor de l. Al igual que con los detectores, muchas han sido las metodologas
aplicadas para realizar la descripcin de cada ubicacin en el conjunto

arrojado por

algunos de los detectores antes mencionados. En los siguiente prrafos mencionar las
principales caractersticas de los metodos de descripcin ms utilizados. Evaluaciones
sobre el desempeo de los mismos pueden ser consultadas en [MS05, GMBR10].

Escala de grises de parche:

Este descriptor es el ms simple, para construirlo solo

se toman los valores de intensidad de los pixeles en una regin de

nxn

alrededor del

punto de inters a describir.

Descriptor SIFT:

El descriptor generado por SIFT esta basado en un anlisis de

gradientes y orientacin de la regiones alrededor de los puntos de inters. El tamao de


la regin a analizar alrededor de cada punto depende de la escala a la cual fue detectado
y cuanto mayor sea la escala mayor ser la regin de anlisis. Las magnitudes (m) y
orientaciones ( ) de los descriptores en cada pixel son calculadas como:

q
m(x, y) = (L (x + 1, y) L (x 1, y))2 + (L (x.y + 1) L (x, y 1))2

(x, y) = tan1

(2.6)

L (x.y + 1) L (x, y 1)
L (x + 1, y) L (x 1, y)

Despus de realizar el calculo de magnitud y orientacin en la region alrededor de cada


punto de inters, se genera un histograma con 36 contenedores, aquellas direcciones
que tengan un 80 % de la magnitud mxima sern consideradas tambin orientaciones

23

representativas del punto de inters y con ellas se formarn nuevos descriptores, es


decir, un mismo punto de inters puede tener uno o varios descriptores asociados. Las
orientaciones de los puntos de inters son interpoladas con los contenederos vecinos para
obtener una mejor exactitud.

Figura 2.5: Calculo de orientacin de descriptor. Histograma de gradientes.

Finalmente, para construir el descriptor se analiza la regin que rodea al mximo o


mnimo local detectado. Para dicho descriptor este vecindario es dividido 4 regiones de
4x4 zonas cada uno donde se genera un historial de orientaciones relativas a la del punto
de inters (8 direcciones para cada zona), tenindose en total 4x4x8=128 elementos en
el descriptor (vase gura. 2.6) .

SIFT es un algoritmo que nos brinda caractersticas muy estables, pero el costo computacional es ms signicativo que el que otros algoritmos nos pueden brindar. Ejemplos
de la salida del algoritmo SIFT se encuentra en la gura 2.7.

24

Figura 2.6: Generacin del descriptor SIFT. Solo se muestra una divisin de 2x2 regiones, pero SIFT utiliza en realidad una divisin de 4x4, [Low04].

Entrada

Salida

580 puntos encontrados

524 puntos encontrados

25

3159 puntos encontrados

GLOH:

el

Gradient location-orientation histogram, presentado en [MS05], es una mod-

icacin al descriptor SIFT realizada para incrementar la robustez del mismo. La diferencia radica en que este descriptor es construido a partir de generar una divisin regiones
de tipo log-polar alrededor del punto de inters, tiene tres contenedores en direccin
radial y 8 en direccin angular (vase gura 2.8). Con ello se obtiene un conjunto descriptores de dimensin 272, el cual es interpretado por medio de una tcnica de anlisis

multivariado llamada Anlisis de Componentes Principales (PCA , por sus siglas en ingles) para reducirlo a las 128 dimensiones ms signicativas.

Figura 2.8: Divisin de regiones en GLOH.

PCA-SIFT:

Este detector fue presentado en [KS04], en l despus de determinadar

la posicin, escala y orientacin de un punto de inters, como en SIFT, se realiza un


anlisis de gradiente en una regin de 41x41 adecuada para la escala, se gira la ventana segn la orientacin dominante y se forma un vector que concatena los mapas de
gradientes en direccin horizontal y vertical (se formarn tantos vectores como orientaciones dominantes tenga el punto de inters); la dimensin de los vectores obtenidos
es 2x39x39 = 3042. Dicha dimensin del conjunto de vectores es reducida hasta bajas
dimensiones (16,20,28,36,etc.) por medio de los eigenvectores y eigenvalores arrojados
por un Anlisis de Componentes Principales previamente realizado sobre una base de
21 000 vectores calculados en fase de entrenamiento.

3 Para mayor detalle sobr Anlisis de Componentes Principales vase [Jol02]

26

2.3.

Empatado de descriptores

El conjunto de descriptores

FO

de una imagen patrn

puede ser usado como base de

conocimiento para determinar existencias en otro conjunto de descriptores


imagen

FI

de una

dada. Puesto que los descriptores asociados a las caractersticas de la imagen

son vectores, la forma ms sencilla de realizar comparaciones entre dos descriptores de


imgenes diferentes es la distancia euclidiana.

v
u n
uX
d(fO,i , fI,j ) = t (fO,i.k fI,j,k )2

(2.7)

k=1

donde:

n:

dimensin del vector

fO,i.k ,fI,j,k

son los valores del vector

fO,i

fI,j

en la posicin

Con esta medida de similitud es posible determinar que el punto


de la imagen

fO,i ,

se encuentra en la imagen

si el descriptor

fI,j

con descriptor

fO,i

con menor distancia a

es menor que un umbral establecido. Aquellos descriptores que superen el umbral

son almacenados en el conjunto


forma

M = {m1 , m2 , ..., mN }

donde cada elemento tiene la

mi = {fO,i , fI,j }.

La dimensin de los descriptores que genera SIFT es 128. El problema con el manejo
de alta dimensionalidad es que la busqueda del descriptor con menor distancia implica
que cada uno de los descriptores en

FO

sea comparado con cada descriptor en

FI ,

luego entonces el proceso de empatado bsico necesita una cantidad importante de


operaciones que lo vuelven muy ineciente. Para resolver el inconveniente planteado se
hace uso de rboles de bsqueda.

27

2.3.1.

rbol de bsqueda k-d

Un rbol de bsqueda k-d es una estructura de datos de particin de espacio para


organizar puntos en un espacio de k dimensiones presentada en [Ben75], es muy til
cuando se necesita realizar bsquedas multidimensionales. Un rbol de busqueda k-d
divide y organiza recursivamente un espacio en conjuntos utilizando hiperplanos, lo que
se logra con ello es realizar una divisin del conjunto vectorial en conjuntos cada vez
ms reducidos.

El algoritmo 2.1 muestra el mtodo de construccin del rbol de un conjunto de vectores

L.
Algoritmo 2.1
1.

Construccin de rbol k-d

d=1

2. Determinar el vector

con la mediana

del conjunto

4.

menores y mayores

en la dimensin

v en los conjuntos LI
que m respectivamente

3. Dividir el conjunto con respecto al vector


en la dimensin

LD

con valores

d++

5. Realizar desde el punto 2 si el conjunto

LI

6. Realizar desde el punto 2 si el conjunto

LD

Realizar la bsqueda de un vector


donde

tiene ms de dos componentes


tiene ms de dos componentes

en el rbol es una operacin de orden

O(log n),

n es el nmero de vectores en la estructura, pues cada nivel del rbol realiza una

divisin binaria del conjunto (conjuntos

LI

LD

del algoritmo 2.1), en la busqueda no

se examinan todos los vectores, pues se discriminan aquellos que pertenecen a conjuntos
que se encuentran a una distancia mayor que una supuesta mnima ya encontrada.

Con vectores de muchas dimensiones su desempeo se ve signicativamente reducido,

28

por ello se tiene una construccin alternativa que habilita uso de la busqueda

First

(vase Seccin 2.3.1.1)

2.3.1.1.

Best Bin

Algoritmo de busqueda Best Bin First

Se trata de un algoritmo utilizado para bsquedas en conjuntos de muchas dimensiones


presentado en [BL97]. Para su utilizacin se necesita de una variante del rbol de
busqueda k-d mejorada para conjuntos de altas dimensiones, a sta me referir como

rbol BBF.
El algoritmo 2.2 muestra el mtodo de construccin del rbol BBF a partir de un
conjunto de vectores

Algoritmo 2.2

Construccin de rbol k-d para busqueda

1. Si el conjunto

a)
b)
c)

L.

tiene 2 o ms componentes.

Encontrar la dimensin
Determinar la media

del conjunto de vectores con mayor varianza

de la dimensin

Dividir el conjunto con respecto


con valores menores y

d)
e)

Best Bin First

LD

del conjunto de vectores

en la dimensin

en los conjuntos

LI

con valores mayores

Realizar desde el punto 1 con el conjunto

LI

Realizar desde el punto 1 con el conjunto

LD

2. Si no, nalizar

El algoritmo 2.3 muestra como se realiza la bsqueda

Best Bin First

con un vector

v.

Las bsquedas se realizan por proximidad espacial y es jado lmite de puntos visitados

Nmax .
La gura 2.9 muestra el resultado de realizar un empatado entre dos imgenes con rbol
BBF. Como primer paso fueron obtenidos los descriptores SIFT de ambas imgenes,

29

Algoritmo 2.3

Busqueda

Best Bin First

1.

n = 0 (nmero de puntos visitados) , dmin = (distancia mnima encontrada)

2.

n++

3. Si

n > Nmax

nalizamos la bsqueda y vericamos el vector asociados a

4. Determinar el subconjunto

al cual pertenece el vector

dmin

buscado

5. Memorizar distancia y referencia a la rama que no ser accesada en esta iteracin


en

c
umulo (vector ordenado por distancias)

6. Acceder a la rama de

7. Si se trata de divisor de subconjunto

a)

realizar desde el punto 2.

8. Si no

a)
b)

medir distancias entre vectores


si

d < dmin

1)

dmin = d

y almacenar la referencia del vector asociado

9. Acceder a la primera referencia en

c
umulo

y ejecutar desde 1.

posteriormente, con el conjunto de descriptores de la imagen de la izquierda fue generado


un rbol BBF, nalmente, la bsqueda de cada descriptor de la imagen derecha se realiz
en el rbol construido. Los puntos amarillos marcan las ubicaciones de los descriptores
SIFT de cada imagen; en color cian y rojo se encuentran enlazados aquellos descriptores
empatados.

2.3.2.

Empatados atpicos

Ntese que en la gura 2.9 existen correspondencias equivocadas (lneas rojas). Este
tipo de correspondencias atpicas aparece cuando las regiones de los dos puntos tienen

30

Figura 2.9: Empatado con busqueda

Best Bin First

descriptores muy parecidos a pesar de no tener correspondencia real en la escena observada. La transformacin de homografa es el modelo de la relacin mas simple que
existe entre dos imgenes de la misma escena. Realizar una estimacin de la misma
(ecuacin 2.1) permitira eliminar aquellos empatados atpicos.

En procedimientos clsicos la estimacin se realiza con el ajuste de la descripcin que


mejor represente todos los datos, sin embargo, en ellos no se tienen mecanismos internos
para eliminacin de errores atpicos, adems, estn basados en el supuesto de que la
cantidad de informacin a ajustar es considerablemente grande, de tal manera que la
aparicin de errores graves no perturba en gran medida dicho ajuste.

En el caso de empatado de descriptores estos errores son muy comunes. En el ejemplo


mostrado en la gura 2.9 fueron empatados 135 pares de descriptores y 7 de ellos eran
atpicos, es decir, 5 % de las correspondencias eran datos espurios. Realizar la estimacin
directa de la matriz de homografa acarreara un gran error acumulado al sustituir los
puntos en la ecuacin 2.1. En la siguiente seccin es presentado uno de los mtodos de
estimacin ms utilizados en visin, robusto ante conjuntos con un gran porcentaje de
datos que no pertenecen al modelo a estimar.

31

Random Sample Consensus (RANSAC)

2.3.2.1.

El mtodo RANSAC, presentado en [FB81], usa un conjunto inicial de datos tan pequeo como sea posible, con l realiza la estimacin de parmetros de un modelo dado y
lo hace cada vez ms grande utilizando los datos que son consistentes. La operacin descrita es realizada en varias ocasiones y se determina que la mejor estimacin realizada
es aquella en la que el conjunto de datos consistentes es mayor.

El algoritmo 2.4 muestra los pasos para realizar una estimacin sin tomar en cuenta
datos anmalos por medio de

Algoritmo 2.4

RANSAC.

Random Sample Consensus (RANSAC)

Dado un modelo que puede ser estimado con mnimo

donde

datos y un conjunto de datos

n #(P )

1. Repetir

a)
b)
c)

veces:

Escoger de manera aleatoria un subconjunto

de

elementos de

Determinar los parmetros del modelo que se ajustan a


Generar el subconjunto de datos
patibles con el modelo calculado
consenso de

d)

Si

#(S )

S.

S que contenga todos aquellos datos comcon un margen de error e. S es llamado el

S.

es mayor que un valor

r,

calculado a partir de una estimacin

del nmero datos anomalos esperados. Utilizar

para realizar una nueva

estimacin del modelo y de error de ajuste.

e)

Si no, realizar la siguiente iteracin

2. Seleccionar el modelo con el menor error de ajuste.

El nmero de repeticiones

se calcula a partir de la ecuacin 2.8

N=

log(1 z)
log(1 wn )
32

(2.8)

donde

w
z

proporcin de datos que empatan con el modelo con una tolerancia de error

probabilidad de escoger un conjunto S de n elementos sin datos anomalos

El margen de error

para datos que empatan con el modelo estimado y el nmero

mnimo de ellos que validan el modelo

r,

son parmetros del algoritmo y su valor

depende de la aplicacin que se est realizando; el nmero


depende de la proporcin de datos

de estimaciones a realizar

y la probabilidad de xito

escogidas.

Aplicar este mtodo de estimacin para determinar la transformacin de homografa


entre dos imgenes de una misma escena permite adems obtener el subconjunto de
descriptores empatados que excluye a aquellos atpicos. Obsrvese la gura 2.10, que
muestra el resultado de utilizar RANSAC para eliminar empatados anomalos a partir de
la estimacin de la transformacin de homografa sobre el conjunto de datos mostrados
en la gura 2.9.

Figura 2.10: Empatado depurado con RANSAC

33

2.4.

Bibliotecas libres: OpenCV, Open-Source SIFT


Library, OpenNI

El desarrollo de los ltimos aos en el rea de procesamiento de imgenes y visin


por computadora ha motivado el surgimiento de bibliotecas de desarrollo gratuitas
que permiten tener una base solida a partir de la cual realizar nuevos desarrollos. A
continuacin presento aquellas que utilizar en el desarrollo de esta tesis.

Open Source Computer Vision (OpenCV, http://opencv.willowgarage.com) es una biblioteca de funciones escritas en C++, C y Python, desarrollada originalmente por Intel,
que permite realizar una variedad de operaciones relacionadas con imgenes como captura, anlisis, modicaciones, almacenamiento y manejos matriciales en general.

La

Open-Source SIFT Library

presentada en [Hes10] es una biblioteca desarrollada

en C que permite realizar el clculo de las caractersticas SIFT de una imagen. Esta
biblioteca fue encapsulada en una clase C++ para su uso en este lenguaje.

Open Natural Interaction

(OpenNI, http:\\http://www.openni.org/) es un

framework

multilenguaje disponible para diferentes plataformas que dene una biblioteca de funciones estndar que se encargan de las comunicaciones con sensores de audio y video.
La principal caracterstica de este

framework

es su capacidad para extraer informacin

de cmaras RGB-D, como las desarrolladas por la compaa


Kinect de Microsoft que esta basado en ellas.

34

Primesense

o el sensor

Captulo 3
Arquitectura del sistema
Los desarrollos tecnolgicos tienen un gran impacto en el desarrollo de la visin por
computadora, el aumento en la rapidez con la que las computadoras realizan calculos y
las nuevas metodologas para el anlisis de datos han permitido realizar tareas que en
otros momentos tenan caractersticas cuyo desempeo era muy lento al grado de ser
en ocasiones prohibitivo para su ejecucin.

Uno de los principales avances es la aparicin de cmaras capaces de obtener informacin


visual, ya sea a color o en escala de grises, y la profundidad a la que se encuentran los
pixeles en cada una de las tomas que la cmara realiza. Algunas de las tecnologas con
las que trabajan este tipo de cmaras son: visin estereoscpica,

time of ight

y las

basadas en luz estructurada; detalles y ejemplos de ellas los presento a continuacin


(vase gura 3.1).

Cmaras estereoscpicas:

Tratan de emular la manera en que los seres humanos

percibimos imgenes, ste tipo de cmaras estn compuestas de dos objetivos. Capturando imgenes desde distintas posiciones y con las relaciones que existen entre ambas

35

(a) Cmara estereoscpica

(b) Cmara Time of Flight (ToF)

(c) Cmara 3D a base de luz estructurada infrarroja

Figura 3.1: Tecnologas para obtencin de imgenes con informacin 3D

(matrices obtenidas previa calibracin, texturas de la escena) son capaces de determinar


la profundidad de pixeles que se presentan en ambas imgenes.

La cmara estereoscpica STH-DCSG-VAR de

Videre tiene una sep-

aracin variable entre sus objetivos (de 5 a 20 cm) que le permite una
mayor exibilidad de conguraciones, captura imgenes a color a una
velocidad de 30 cuadros por segundo, con una buena sincronizacin
y baja cantidad de ruido, lo que la hace un dispositivo con alto rendimiento y bajo
consumo de energa. El costo de esta cmara es de 1500 dolares.

36

Cmaras Time-of-Flight (ToF)

: Ests cmaras calculan la distancia a la que se

encuentra cada pixel en la imagen midiendo el tiempo de retardo de una seal de luz
lanzada desde la cmara al objetivo. Este tipo de cmaras aparecieron en el mercado
en el ao 2004 y generalmente tienen una baja resolucin.

La SwissRanger 4000 (SR4000) de

Mesa

es una de las cmaras ToF

ms conocidas. Trabaja en el rango de distancia de 10 centmetros a


5 metros, con una resolucin de 176 x 144 pixels, un campo de visin
horizontal de 43.6 y vertical de 34.6, operando a 54 cuadros por
segundo. El costo de esta cmara es de 9000 dolares.

Cmaras basadas en luz estructurada:

Se basan en la proyeccin de un patrn

lineal sobre la escena a observar, las deformaciones que este patrn tenga en la escena
determinan la profundida de los elementos que componen la imagen. Estn compuestas
por un proyector de luz estructurada, un detector especial para la luz proyectada y una
cmara digital normal.

La Primesensor de

Primesense

proyecta un patrn infrarrojo cono-

cido en la escena (vase gura 3.2), que permite determinar medidas


de profundida de cada pixel en una imagen a color con el anlisis de
la deformacin de dicho patrn (cmara que detecta luz infrarroja).
La resolucin de esta cmara es de 640x480 pixeles a 30 cuadros por segundo, con un
campo de visin de horizontal de 57, vertical de 43 y un rango de distancia de 40
centmetros a 6 metros. Las cmaras Kinect de Microsoft se encuentran basadas en este
dispositivo, el costo es de 150 dolares.

Las cmaras RGB-D brindan informacin de profundidad que puede ser analizada para
determinar no solo la distancia a la que se encuentra los elementos de la imagen, sino
tambin la posicin en coordenadas tridimensionales con referencia a la posicin de

37

(a) Patrn

(b) Deformacin sobre escena

Figura 3.2: Patrn usado por cmara Kinect

la cmara. OpenNI permite realizar la extraccin de esta informacin de manera automtica en cmaras basada en la tecnologa de proyeccin de luz estructurada. Esta
informacin es utilizada en este trabajo para adecuar tcnicas de descripcin visual ya
conocdas en visin computacional de manera que les brinde mayor robustez y/o rapidez
en su ejecucin. La cmara utilizada para el desarrollo de este trabajo es la Kinect.

El proceso de descripcin de imgenes utilizando informacin 3D propuesto puede ser


observado en la gura 3.3. En las siguientes secciones describir cada uno de los pasos
que lo constituyen.

Figura 3.3: Proceso de descripcin propuesto

3.1.

Features from Accelerated Segmented Test (FAST)


con anlisis de vecindario en 3D

Como he descrito en la seccin 2.2.1, FAST es un detector de esquinas que examina 16


pixeles alrededor del punto candidato. El nmero de puntos extrados depende de la

38

resolucin, el umbral de diferencia de intensidades y la escena que est siendo analizada.


Sin embargo debido a que FAST trabaja nicamente con informacin de imgenes 2D
algunos de los puntos detectados se encuentran en regiones inestables, como aquellas
que se encuentran en los contornos de los objetos donde un cambio de posicin desde la
que es muestreada la escena implica un cambio signicativo del descriptor de la regin
donde se ubica el punto de inters (vase gura 3.5b).

El uso de la cmara RGB-D ha permitido agregar una etapa ms de ltrado a FAST


para obtener putos de inters an ms estables, esta versin modicada ser llamada
de aqu en adelante FAST+3D. En los procesos de descripcin visual presentado en el
capitulo anterior, el objetivo de los detectores es determinar los puntos de inters con un
vecindario que cumpla con caractersticas estables. En SIFT el tamao del vecindario
a analizar es determinado por la escala a la que los puntos de inters son ubicados en el
anlisis espacio-escala, es decir, la escala es determinada por las propiedades naturales
de la imagen y no de la escena. En este desarrollo la informacin de profundidad brindada por el sensor RGB-D es utilizada para determinar la escala (en escena) asociada a
la regin alrededor de un determinado pixel en la imagen.

Para establecer la relacin escala-profundidad se hizo uso de de un objeto de dimensiones


conocidas como entrada. El objeto es colocado a diferentes profundidades desde la
cmara e imagenes de este son capturadas. Utilizando esta informacin se ha obtenido
una relacin lineal, que en nuestro caso es:

y = 0.001716x + 0.2735

donde

(mm/pixel) representa la dimensin del objeto a una profundidad

(3.1)

(mm).

Por lo tanto, determinar el factor de escala de una imagen referencia a una determinada

39

profundidad esta dado por:

escala =

donde

depth0

0.001716 depth0 + 0, 2735


0.001716 depthi + 0, 2735

es la profundida referencia;

depthi

(3.2)

es la profundidad a la que se busca el

factor de escala.

Gracias al factor de escala es posible realizar una anlisis 3D sobre regiones proporcionalmente equivalentes, sobre puntos de inters detectados. Se determin experimentalmente que el vecindario patrn a utilizar tiene un tamao (w0 ) de 25 pixeles por
lado a una profundidad de 1700 milmetros. Sustituyendo en la ecuacin 3.2 se tiene
que las escalas estarn determinadas por

escala =

0.0017161700+0,2735
, siendo
0.001716depthi +0,2735

depthi

la

profundidad a la que se encuentra en punto de inters (vase gura 3.4); el tamao del
vecindario est dado por:

Chekhlov

wi = int(w0 scale + 0.5)

(3.3)

wi = int(25 scale + 0.5)

(3.4)

et al. en [CPMcC06] han demostrado que predecir la escala a la que se encon-

trar el punto caracterstico incrementa la eciencia en etapa de empatado (busqueda)


pues se evita el gasto computacional de calcular el espacio-escala en cada imagen de la
escena capturada. Las cmaras RGB-D y el anlisis profundidad-escala descrito permite
determinar el tamao del vecindario a analizar y evita realizar predicciones.

40

Figura 3.4: Cambio de escala con respecto a profundidad de pixel medida

El conjunto de puntos detectados por FAST+3D est denido como

PF AST +3D = {pi PF AST |gneig(pi ) = 1}

0 si diag(pi )
gneig(pi ) =

1 otros
r
diag(pi ) =
2wi + 1

(3.5)

donde:

PF AST
r

es el conjunto de puntos detectados por FAST.

es el nmero de pixeles en las diagonales del vecindariodonde la diferencia de pro-

41

fundidades con el punto de inters (pixel central del vecindario) no es mayor que un
umbral

determinado.

es un umbral por medio del cual se determina cual es el porcentaje mximo de pun-

tos en las diagonales que sern tolerados para determinar que un punto de inters sea
eliminado del conjunto nal.
Para el desarrollo de este trabajo
evaluar en FAST

n=9

= 200

milmetros,

y el umbral FAST

t = 40.

= 5 %,

el nmero de puntos a

La gura 3.5c muestra los puntos

detectados por los algoritmos FAST y FAST+3D en una escena determinada, una gran
proporcin de los puntos detectados por FAST no tienen un vecindario estable, lo que
signica que realizar la descripcin de los mismos no es recomendable; el nmero de
puntos detectados por FAST+3D es menor pero son ms estables.

42

(a)

(b)

(c)

Figura 3.5: FAST

vs

FAST+3D.(a) Deteccin de puntos de inters. (b) Ejemplos de

punto detectado por FAST y FAST+3D, con sus respectivos vecindarios e informacin
tridimensional. (c) Puntos detectados y sus vecindarios asociados FAST (izquierda)
FAST+3D (derecha)

43

3.2.

Cambios de perspectiva en muestras de escena

SIFT ha demostrado ser un algoritmo con un excelente desempeo en trminos de


desempeo de descripcin. Sus descriptores han demostrado ser robustos ante un gran
nmero de condiciones, sin embargo presenta algunos problemas cuando los cambios
de perspectiva son cercanos o mayores a 45 grados. En los siguientes prrafos mostrar
la tcnica usada para normalizar descriptores ante cambios de perspectiva con los que
SIFT no es capaz de lidiar.

Hasta este punto se ha determinado la escala de cada punto de inters y el tamao en


pixeles del vecindario que ha de ser caracterizado. La cmara RGB-D puede brinda informacin sobre la posicin en coordenadas tridimensionales (con respecto a la posicin
de la cmara) de cada uno de los elementos que se encuentran en el vecindario, analizando esta informacin es posible determinar cuales son las caractersticas que dicho
vecindario guarda con respecto a la cmara.

Como se ha descrito FAST+3D tiene una cierta tolerancia

ante elementos que dieren

en profundidad con el pixel central (punto de inters); realizar la estimacin directa del
plano que mejor describa al vecindario de un punto dado arrojara muy probablemente
un resultado erroneo, por ello, se realiz un anlisis con RANSAC para eliminar dichos
elementos atpicos usando como modelo la ecuacin del plano

Ax + By + Cz + D = 0

y el sistema de referencia mostrado en la gura 3.6 .

Se aplica un anlisis de componentes principales al conjunto resultado, el eigenvector


asociado con el eigenvalor de menor valor ser considerado el vector normal de dicho
plano (componentes

A, B

de la ecuacin del plano). Para obtener el parmetro D

nos auxiliamos de la siguiente deduccin.

44

Figura 3.6: Sistema de referencia de la cmara RGB-D

Siendo

n = (nx , ny , nz )

mente, un puntor

r0 = (x0 , y0 , z0 )

= (x, y, z)

la normal y un punto en el plano respectiva-

pertenece al plano s

n(r r0 ) = 0

(3.6)

nx (x x0 ) + ny (y y0 ) + nz (z z0 ) = 0
nx x nx x0 + ny y ny y0 + nz z nz z0 = 0
nx x + ny y + nz z (nx x0 + ny y0 + nz z0 ) = 0

de la ecuacin del plano entonces

A = nx

(3.7)

B = ny
C = nz
D = (nx x0 + ny y0 + nz z0 )
= n r0

donde

r0 es la coordenada tridimensional del punto de inters en el cual se este realizando

el anlisis de vecindario.

Una vez obtenida la ecuacin del plano que mejor represente al vecindario, los ngulos

45

son calculados con respecto al eje Z del sistema de referencia de la cmara (vase

gura 3.7), los valores obtenidos pueden tener las siguientes variaciones.

Figura 3.7: Anlisis de vecindario

46

giro sobre el eje X

giro sobre el eje Y

caso 1:

caso 2:

caso 3:

caso 4:

resumen

giro

giro

negativo

positivo

positivo

negativo

positivo

negativo

negativo

positivo

Los ngulos calculados de cada vecindario son utilizados para realizar la transformacin
de perspectiva necesaria para colocar el vector normal del vecindario paralelo al vector

47

del eje Z del sistema de referencia de la cmara. La transformacin es realizada con:

Ryx = Ry Rx

cos

Ryx =
0

sen

cos

Ryx =
0

sen

(3.8)

0 sen 1
0
0

0 cos sen
1
0

0 cos
0 sen cos

sensen sencos

cos
sen

cossen coscos

Luego es calculada la ubicacin en la imagen de cada elemento del vecindario transformado. OpenNI tiene implementado un mtodo que se encarga de manera automtica de
esta transformacin cuyo nombre es

ConvertRealWorldToProjective. En seguida calculo

la matriz de transformacin (ecuacin 2.1) que mapee de las ubicaciones en la imagen


del vecindario original a las localizaciones del vecindario despus de la transformaciones.
Ejemplos de cambios de perspectiva realizados por este mtodo se ilustran en la gura
3.8.

48

Figura 3.8: Cambios de perspectiva

3.3.

Descriptor tipo Scale Invariant Feature Trans-

form (SIFT)
Cada uno de los elementos del conjunto de vecindarios deformados es redimensionado
a 25x25 pixeles y pasan por un proceso de descripcin como como en SIFT [Low04]
(vase seccin 2.2.2). Las regiones de descripcin tienen en conjunto un tamao de
17x17 pixeles, de tal manera que ante la alineacin con orientaciones dominantes de
45 (peor caso), stas se mantengan dentro de los limites del vecindario. Algunos de los
ejemplos de estas zonas de descripcin pueden ser observados en la gura 3.9.

Cada vector generado en los puntos de inters est comprendido nalmente de 133
elementos: 2 que indican las coordenadas de ubicacin en imagen, 3 que almacenan las
coordenadas de ubicacin espacial con respecto a la cmara y 128 del descriptor tipo
SIFT realizado para describir el vecindario.

49

3.4.

Resumen de metodologa de descripcin

Las metodologa de descripcin planteada queda con los siguientes pasos bien denidos

1. Detectar puntos de inters con FAST.

2. Asociar un tamao de vecindario (en pixeles) a cada punto de inters detectado


a partir de una anlisis profundidad-escala.

3. Depurar puntos detectados eliminando aquellos con vecindarios inestables.

4. Normalizacin ante cambios de perspectiva por medio del anlisis de informacin


3D del vecindario de cada punto

5. Describir los puntos de inters detectados y sus vecindario normalizado como en


SIFT.

50

Figura 3.9: Ejemplos de rotaciones con respecto a orientacin dominante

51

Captulo 4
Aplicacin en Robtica
La navegacin es una de las tareas ms complejas y necesarias en el desempeo de
un robot. Implica 4 etapas bien denidas:

percepcin,

donde el robot debe generar

informacin de datos provenientes los elementos de percepcin,

localizacin,

el robot

debe responder la(s) pregunta(s) donde me encuentro? cuales es mi posicin con


respecto al sistema de referencia usado
los siguientes movimientos y

(x, y, )?, toma de decisiones, el robot determina

control de movimientos, el robot realiza el control de sus

actuadores para seguir la trayectoria determinada.

El uso de modelos topolgicos para la descripcin del entorno donde se desplazar un


agente se percibe como la manera natural en la que los seres vivos se desplazan. Es
decir, cuando nosotros llegamos a un lugar desconocido tratamos de encontrar puntos
de referencia y las relaciones que existen entre ellos, a partir de las cuales podremos
localizarnos en posteriores incursiones, adems, no es natural pensar: estoy en la posicin 17,3 y necesito llegar a la 9,12; sino ms bien: estoy en sala y necesito ir a la
cocina que se encuentra a la izquierda.

52

As tambin, es natural pensar que el sistema de navegacin por excelencia en los seres
humanos es el sistema visual, ste se basa en la percepcin y aprendizaje de elementos
hito del ambiente que posteriormente pueden ser utilizados para establecer relaciones e
inferir localizaciones.

Hasta ahora se ha descrito una metodologa de descripcin y almacenaje de elementos


visuales que puede ser utilizada para realizar empatados entre muestras de una escena
dada, con esta informacin adems, es posible determinar las relaciones que guardan las
posiciones desde las cuales fueron realizadas dichas muestras. En las siguientes secciones
se hablar un poco sobre un mtodo de localizacin bsica de robots y la manera en
que un sistema de localizacin visual puede ser aplicado sustituir o complementar las
inferencias arrojadas por dicho mtodo.

4.1.

Localizacin bsica de robot por odometra

La odometra son aquellas tcnicas que utilizan informacin proveniente de elementos


de percepcin (lser, sonar, cmara, etc.) para estimar la posicin actual de un robot
mvil en un instante determinado. El tipo ms bsico de odometra es aquel basado en

encoders ),

las lecturas de elementos ubicados en las ruedas del robot (

dichas lecturas

determinan el nmero de giros o fracciones de l, que ha realizado las ruedas desde un


momento determinado.

La odometra esta basada en que las lecturas de los

encoders

tiene una relacin lineal

con el desplazamiento real, lo cual es incorrecto pues existen una gran cantidad de
elementos que llevan a la acumulacin de diferencias en la relacin lecturas-distancia,
algunos de ellos incluso impredecibles. Algunas de las caractersticas que producen errores en la estimacin y que pueden ser predichos son: los dimetros de las ruedas no

53

Figura 4.1: Parmetros de odometra

son iguales, no se encuentran bien alineadas, la resolucin de los encoders, entre otras.
Lamentablemente existen algunos factores de estimacin que no pueden ser predecidos, algunos de los que destacan son: patinaje de las ruedas, fuerzas externas, suelos
irregulares, etc.

Aquellos errores predecibles se les denominan sistemticos y pueden ser modelados por
medio de una anlisis de comportamiento del robot ante desplazamientos, estos anlisis
arrojan que la posicin calculada est rodeada por una elipse de error caracterstica
que crece mientras el robot continu desplazndose debido a que este tipo de errores se
acumulan constantemente (para mayor detalle al respecto puede consultarse en [TBF05,
SN04, CK97]).

El problema con los errores no sistemticos (no predecibles) es que agregan un gran
error en la estimacin de posicin del robot. Estos errores al igual que las incertidumbres
acumuladas por los errores sistemticos pueden ser corregidos con la ayuda de sistemas
de posicionamiento alternativos. Por ejemplo, dado el mapa topolgico de gura 4.2,
donde el objetivo del robot es desplazarse de la posicin marcada con el circulo verde al
circulo morado, los cuadrados azules son las posiciones referencia previamente registrada

54

en el mapa y los crculos azules son aquellas posiciones que el planeador de movimientos
determin como metas parciales antes del destino nal, es posible realizar una correccin
de los errores si el robot es capaz de determinar la posicin relativa con respecto al
siguiente destino parcial por medio de la metodologa de localizacin que ser mostrado
en la siguiente seccin.

Figura 4.2: Mapa topolgico

4.2.

Empatado y Algoritmo de Orientacin Absoluta

La metodologa propuesta para realizar localizacin a base de empatado visual presupone una etapa de entrenamiento en la que se construye un mapa topolgico donde
cada ubicacin establecida es muestreada en diferentes direcciones, obteniendo las caractersticas visuales y las relaciones entre ellas (vase gura 4.3).

Los descriptores de la imagen y su informacin tridimensional son generados utilizando

55

Figura 4.3: Muestreo en ubicaciones de mapa topolgico

la metodologa mostrada en la gura 3.3 y desarrollada completamente en el Captulo


3, las caractersticas de cada imagen muestra son almacenadas con un rbol k-d, se
tienen tantos arboles k-d como direcciones en las que se haya realizado el muestreo en
cada ubicacin.

En el esquema planteado, durante la ejecucin de movimientos el sistema de localizacin


visual recibe informacin sobre la posicin a la que se esta dirigiendo el robot, con ello
se comienza a comparar lo que el robot visualiza y lo que se encuentra almacenado en
la base de conocimiento. El empatado de imgenes es realizado por medio de comparacin de descriptores con distancia euclidiana, la eciencia de este proceso es mejorada
con el uso del algoritmo de busqueda BBF, posteriormente el conjunto de descriptores
empatados es depurado por medio de RANSAC; si el nmero de elementos del conjunto
depurado es menor a 4 se considera que el empatado no existe.

Una vez que se ha establecido el empate visual entre la escena observada y alguna

56

Figura 4.4: Orientacin absoluta de un patrn

de las direcciones muestreadas de una ubicacin dada en etapa de entrenamiento, se


tienen dos conjuntos de puntos con localizacin espacial en dos sistemas coordenados
diferentes; el encontrar las relaciones de translacin

y rotacin

R entre estos sistemas

es un problema clsico de fotogrametra llamado orientacin absoluta. .

Siendo

{p1,i }

{p2,i }

los conjuntos de coordenadas tridimensionales de los puntos cor-

rectamente empatados en el sistema coordenado 1 y 2 respectivamente, donde


hasta

va de

(nmero de puntos empatados), ahora se busca la transformacin que mejor

describa dicha relacin en trminos de coordenadas espaciales. Dicha transformacin


debe satisfacer para par de coordenadas la siguiente estructura:

p2,i = R(p1.i ) + T

donde

es un factor de escala

R y T son las matrices de rotacin y translacin que relacionan los sistemas

57

(4.1)

Debido a que las medidas de las coordenadas tridimensionales no son exactas la ecuacin
4.1 no satisface en todos los pares de puntos, por ello se tendr un valor residual dado
por:

ei = p2,i R(p2,i ) T

El objetivo es encontrar los valores de


cuadrados

Pn

i=1

R, T

(4.2)

que minimicen la suma de los errores

kei k2 .

Encontrar el mejor conjunto de parametros (6, de la matriz de rotacin, 3 del vector


de translacin y el factor de escala) no es una tarea fcil de realizar y muchos mtodos
han sido planteados para encontrarlos, la mayora de ellos iterativos; ejemplos de estas
metodologas pueden ser encontrados en [Kra00, EMM01, PW00]. Horn en [Hor87]
plantea una metodologa de forma cerrada (no basada en iteraciones) para la estimacin
de los parametros. A continuacin los resultados de su anlisis matemtico.

Siendo los centroides de cada conjunto de puntos calculados como

p1

1X
p1,i
=
n i=1

(4.3)

p2 =

el

vector de translacin

1X
p2,i
n i=1

que minimiza la suma de errores cuadrados es

T = p2 R(
p1 )

el

factor de escala

(4.4)

correspondiente es

sP

k
p2 k 2
p1 k 2
i=1 k

Pi=1
n
58

(4.5)

para el calculo de la

matriz de rotacin

sobre un eje denido por el vector

primero se dene que una rotacin de ngulo

w = (wx , wy , wz )T

puede ser representada por el

cuaternin unitario 1
q = [q0 qx qy qz ]
q = [cos

(4.6)

sin wx sin wy sin wz ]


2
2
2
2

el cuaternin que minimiza la suma de errores cuadrados es el eigenvector cuyo eigenvalor correspondiente sea el mayor de la matriz N

Syz Szy
Szx Sxz
Sxy Syx
(Sxx + Syy + Szz )

Syz Szy
(Sxx Syy Szz )
Sxy + Syx
Syz + Szy

N =

Szx Sxz
Sxy + Syx
(Sxx + Syy Szz )
Syz + Szy

Sxy Syx
Syz + Szy
Syz + Szy
(Sxx Syy + Szz )
(4.7)

donde

Sxx =

Pn

i=1

p1,i (x) p2,i (x) , Sxy =

Pn

i=1

p1,i (x) p2,i (y)

y as sucesivamente.

la matriz de rotacin estar dada entonces por

R=

q02

qx2

qy2

qz2

2(qx qy q0 qZ )

2(qx qz + q0 qy )

2(qy qx + q0 qz )

q02 qx2 + qy2 qz2

2(qy qz q0 qx )

2(qz qx q0 qy )

2(qz qy + q0 qx )

q02 qx2 qy2 + qz2

(4.8)

Para los propsitos de este trabajo nicamente es necesario determinar la rotacin que
ha sido realizada en el eje y, es decir, solo nos interesa el giro

1 vector

de cuatro elementos con norma igual a 1,

59

q = [q0 qx qy qz ]

en el plano XZ (segn

el sistema coordenado de la gura 3.6).

XZ = acos (R[0 0 1]T ) [0 0 1]T

si

2(qx qz + q0 qy ) > 0

4.3.

(4.9)

el giro es positivo, sino el giro es negativo.

Rsumen de mtodologa de localizacin visual

La metodologa de localizacin visual planteada consta de dos etapas, en la primera se


realizar la caracterizacin del entorno. Los pasos asociados son:

1. Describir cada ubicacin en el mapa topolgico con la metodologa planteada en


el capitulo 3. La descripcin es realizada en tantas direcciones como convenga en
la ubicacin a describir.

2. Construir de rboles k-d para almacenar los descriptores obtenido y la informacin


3D asociada a ellos.

En la segunda etapa se realiza el empatado y el clculo de posiciones relativas a partir


de los siguientes pasos:

1. Extraer caractersticas desde el punto de vista actual del agente.

2. Buscar descriptores obtenidos en los rboles k-d con uso del algoritmo BBF (empatado puntual).

3. Eliminar puntos empatados anmalos con RANSAC y el modelo de cambio de


perspectiva en imgenes 2D (empatado de imgenes).

60

4. Estimar posicin relativa entre patrn almacenado y escena observada con Algoritmo de Orientacin Absoluta.

61

Captulo 5
Experimentos
El mtodo de descripcin visual y su aplicacin en robots mviles descritos en los
captulos anteriores son evaluados usando un sensor MS Kinect como cmara RGBD en resolucin de 640x480 pixeles. Todas las pruebas estn compuestas de fase de
entrenamiento y fase de prueba, efectuando en la primera la extracin y almacenamiento
de caractersticas visuales de una escena dada y en la segunda fase se intenta realizar el
empatado visual (busqueda de coincidencia) y la generacin de conclusiones pertinentes.

La presentacin visual del software generado se observa en la gura 5.1.

Figura 5.1: Interfaz de software

62

5.1.

Posicin real vs posicin estimada

En la etapa de entrenamiento, un patrn visual es colocado a una distancia de 1 metro


de la cmara y los descriptores del mismo son calculados y almacenados como he descrito
anteriormente.

En la fase de prueba, la cmara RGB-D es colocada en distintas posiciones cada 33


centmetros, la cmara siempre es colocada de manera que el plano de la imagen y el
patrn observado sean paralelos en toda ejecucin de la prueba. Estas posiciones estn
marcadas con pequeos rombos azules en la gura 5.2. Una vez colocada la cmara en
una de las posiciones determinadas, los metodos de descripcin, busqueda y localizacin
son ejecutados en 200 ocasiones. El umbral de deteccin usado en FAST+3D (t) en esta
fase de entrenamiento es colocado en 50 y en prueba es 60, con lo que el nmero de
puntos descritos en la primera etapa siempre es mayor.

Figura 5.2: Comparacin entre posicin estimada (circulos rojos) y real (cuadros azules)

Las posiciones calculadas por el mtodo de localizacin estn marcadas como crculos
rojos en la gura 5.2. De manera general, el rendimiento de la metodologa brindo
localizaciones adecuadas, donde los errores tienden a incrementarse proporcionalmente

63

con la distancia de la cmara a la localizacin donde fue realizada la muestra patrn.


El tiempo promedio que la metodologa utiliz para nalizar cada ejecucin es 574(ms),
con 449 descriptores del patrn almacenados en el rbol k-d respectivo y un promedio
de 157 descriptores en promedio generados en cada ejecucin en etapa de prueba. El
error promedio en trminos del eje coordenado horizontal es 3.75 (mm) y el vertical con
0.39 (mm).

El peor caso se present en la posicin (67,-33) con un error promedio de 17 (mm),


probablemente porque el nmero de pares de puntos empatados es poco signicativo
(solo 6) y su localizacin en la imagen est concentrada en una zona pequea de la
imagen. Existen algunas ubicaciones donde el porcentaje de localizaciones positivas fue
mnimo (1 % de las ejecuciones en dicha posicin) o nulo, ambas debido a que la distancia
hacia el patrn era grande y la informacin devuelta por la cmara es insuciente o por
que la cmara se encuentra demasiado cerca del patrn, en la zona donde la cmara no
es capaz de devolver informacin espacial (distancias menores a 40 cm).

5.2.

ngulo de vista real vs estimado

La etapa de entrenamiento en este experimento es la misma que en la prueba anterior.

En la etapa de prueba, el patrn observado fue colocado a una distancia de 1.5 metros,
a diferentes ngulos con respecto al eje Y del sistema coordenado de la cmara. El
conjunto de ngulos en los que se realiz la prueba es {-60, -45, -30, 0, 30, 60}. El
algoritmo estndar SIFT fue ejecutado de manera paralela para visualizar y comparar
su robustez bajo cambios de perspectiva y compararlo con el mtodo propuesto (vase
gura 5.3). La tabla 5.1 muestra los resultados obtenidos en la comparacin.

64

Figura 5.3: Comparacin entre ngulo estimado(circulos rojos) y real (cuadros azules)

Cuadro 5.1: Comparacin entre SIFT y la descripcin con cambio de perspectiva

La tabla 5.1 muestra que SIFT trabaja bien con cambios de perspectiva menores a 45
(porcentaje de empatado es 100 %), pero pierde precisin cuando el ngulo es incrementado, mientras que la metodologa de descripcin propuesta se mantiene realizando
empatados positivos en la mayor parte de las ejecuciones (94 %). El tiempo de ejecucin
necesario para realizar SIFT es muy superior debido a que el anlisis espacio-escala es
computacionalmente caro. En la metodologa propuesta, sin embargo, su clculo no es
necesario ya que se hace uso de la informacin devuelta por la cmara RGB-D, para
determinar el tamao de las zonas a describir.

La media del error de la metodologa propuesta en la medida del ngulo es de 1.71. La

65

peor estimacin se dio en una ejecucin en el punto marcado con -60, donde el error
de estimacin es de 4, sin embargo la precisin del ngulo continua considerndose
buena.

5.3.

Robustez ante cambios de ngulo

La etapa de entrenamiento en este experimento es la misma que en las prueba anteriores.

En la etapa de prueba, el patrn fue puesto a una distancia de 1.5 metros y el ngulo fue
variado de manera continua con objeto de evaluar los ngulos en los cuales el empatado
es realizado correctamente (vase 5.4a).

La metodologa propuesta es capaz de realizar empatados correctos con cambios de


perspectiva de hasta 72. El hecho de que sea posible realizar empatados con ngulos
mayores de 60 es sin duda uno de los puntos fuertes de la metodologa, mostrando
que la normalizacin implementada para cambios de perspectiva est arrojando los
resultados esperados.

Como resultado adicional, la gura 5.4b muestra como los cambios de perspectiva causan una reduccin en el porcentaje de puntos coincidentes entre la imagen patrn y la
observada en en la prueba, hasta el momento en que el nmero de puntos es insuciente
para realizar los calculos necesarios en la metodologa.

5.4.

Ambiente con condiciones no controladas

La metodologa de localizacin fue ejecutada en un corredor de ocina donde las condiciones ambientales no fueron controladas, el mapa del mismo puede observarse en la

66

(a) ngulos de empatado

(b) Porcentaje de puntos empatado

Figura 5.4: Respuesta ante variaciones de ngulo

gura 5.5.

En la etapa de entrenamiento, un conjunto de patrones fue extrado de determinadas


posiciones. Las ubicaciones desde las cuales fue muestreado el entorno y los patrones
estn marcados en color azul y rojo, respectivamente, en la gura 5.5. Las condiciones
de luz y el nmero de puntos descritos en cada escena patrn analizada tienen una gran
cantidad de variaciones, lo que permiti observar el comportamiento de la metodologa
ante condiciones muy diferentes.

67

Figura 5.5: Mapa, ubicaciones y vecindarios descritos de prueba

68

Figura 5.5: Mapa, ubicaciones y vecindarios descritos de prueba (continuacin)

En la fase de prueba, la metodologa es ejecutada en promedio 168 veces por cada localizacin, realizando movimientos de manera manual con la cmara, dirigindola siempre
hacia el patrn analizado y de manera continua. Siempre que se diera un empatado

69

de imgenes correcto, la localizacin relativa a la ubicacin patrn es calculada. Los


porcentajes de localizacin pueden ser observados en la gura 5.6.

Figura 5.6: Porcentajes de localizaciones exitosas por ubicacin

En alguna ubicaciones, donde las condiciones de luz eran pobres, el porcentaje de empatado visual fue muy bajo, debido a que con esas condiciones el nmero de puntos
detectados por FAST+3D es insuciente. Algunas imgenes no son lo sucientemente
estables, pues la cmara siempre estuvo en movimiento y los puntos de inters no
estaban bien marcados; adems, por las caractersticas del ambiente de trabajo, las
imgenes presentaban una gran cantidad de reejos, lo cual tambin tuvo inuencia en
el desempeo. La tabla 5.2 presenta un resumen del desempeo.

70

Cuadro 5.2: Detalle de resultados

71

Captulo 6
Conclusiones
La metodologa de descripcin desarrollada presenta dos etapas bien denidas, la primera
realiza la deteccin de puntos de inters y la segunda realiza la descripcin de la informacin generada y la almacena. En el desarrollo de este trabajo fue utilizada informacin
tridimensional generada por una cmara RGB-D.

En la etapa de deteccin se agreg un anlisis extra de puntos candidato devueltos por


el detector FAST para eliminar aquellos que tienen un vecindario con altas variaciones
de profundidad (inestables). Esta modicacin es llamada FAST+3D. El tamao del
vecindario analizado se determina a partir del anlisis profundidad-escala.

En la etapa de descripcin se realiz un anlisis de vecindario ms extenso utilizando


la informacin espacial que la cmara RGB-D brinda, lo cual permiti realizar una
normalizacin ante cambios de perspectiva. Los vecindarios normalizados son descritos
por medio de descriptores tipo SIFT, obtenindose invarianza a cambios de iluminacin,
orientacin y escala.

La informacin generada es alamacenada con arboles k-d y las busquedas son realizadas

72

con el algoritmo Best Bin First. La metodologa de descripcin propuesta ha demostrado


tener una buena robustez ante cambios de perspectiva, el empatado de escenas continua
realizndose con cambios de hasta 70.

Tambin fue generada una metodologa de localizacin por medio de la cual es posible
determinar la ubicacin relativa entre las posiciones desde las cuales fueron capturadas
la imgenes empatadas.

Los tiempos de ejecucin de los procesos de descripcin, busqueda y localizacin dependen de la cantidad de puntos detectados por FAST+3D y el tamao del vecindario
que corresponde a cada uno. Las pruebas realizadas muestran que stos van desde las
cuatro ejecuciones por segundo. La metodologa de localizacin ha mostrado tener una
precisin adecuada, la cual depende del acercamiento que se tenga a la posicin patrn.

Este trabajo adems plantea el uso de la metodologa de localizacin en el campo de la


robtica, la construccin de mapas topolgicos visuales se adecua a la metodologa de
navegacin de robots como el construido en el laboratorio de Biorrobtica de la UNAM.
Aunque las pruebas no fueron realizadas directamente en un robot, fueron emuladas las
condiciones que podra tener la ejecucin en el mismo, incluso la manera en que fueron
ejecutadas plantea un grado de dicultad ms complejo.

En trminos generales las metodologas han mostrado tener un buen desempeo, sin
embargo an es posible incrementarlo por medio de las paralelizacin de los algoritmos.
As tambin, como trabajo futuro, podran probarse algunas tcnicas de deteccin y
descripcin diferentes a las que se plantearon. En el caso de la deteccin podran ser
evaluadas tcnicas que a pesar de ser ms lentas que FAST tienen una mayor repitibilidad (vase [MS05, SMB00, MGBR08]) o construir un nuevo detector que haga un uso
ms extensivo de la informacin tridimensional. Una versin del descriptor SIFT que
haga uso de una anlisis de componente principales (como en PCA-SIFT) para reducir

73

la dimensin de los descriptores, cambiar la forma de las regiones de descripcin (como


en GLOH) son alternativas que se vislumbran viables para la mejora del desempeo y
robustez.

74

Bibliografa
[Aca01]

Real Acadmia Espaola,

Diccionario de la lengua espaola,

22 ed., Es-

pasa, 2001.

[Ben75]

Jon Louis Bentley,

Multidimensional binary search trees used for associa-

tive searching, Commun. ACM 18 (1975), pp. 509517.


[BL97]

Jerey S. Beis and David G. Lowe,

Shape indexing using approximate

nearest-neighbour search in high-dimensional spaces,

Proceedings of the

1997 Conference on Computer Vision and Pattern, CVPR '97, IEEE Computer Society, 1997.

[CK97]

Kok Seng Chong and Chong Lindsay Kleeman,

error modelling for a mobile robot,

Accurate odometry and

IEEE International Conference on

Robotics & Automation, 1997, pp. 27832788.

[CPMC07]

Denis Chekhlov, Mark Pupilli, Walterio Mayol, and Andrew Calway,

Ro-

bust real-time visual slam using scale prediction and exemplar based feature
description, Proc. Int Conf on Computer Vision and Pattern Recognition,
2007, pp. 17.

[CPMcC06] Denis Chekhlov, Mark Pupilli, Walterio Mayol-cuevas, and Andrew Calway,

Real-time and robust monocular slam using predictive multi-resolution


75

descriptors,

2nd International Symposium on Visual Computing, 2006,

pp. 276285.

[DRMS07]

Andrew J. Davison, Ian D. Reid, Nicholas D. Molton, and Olivier Stasse,

Monoslam: Real-time single camera slam,


Mach. Intell.

[EMM01]

29

IEEE Trans. Pattern Anal.

(2007), 10521067.

J. Chris McGlone Edward M. Mikhail, James S. Bethel,

Introduction to

modern photogrammetry, John Wiley & Sons, Inc, 2001.


[FB81]

Martin A. Fischler and Robert C. Bolles,

Random sample consensus: a

paradigm for model tting with applications to image analysis and automated cartography, Commun. ACM 24 (1981), 381395.
[GMBR10]

Arturo Gil, Oscar Mozos, Monica Ballesta, and Oscar Reinoso,

A compar-

ative evaluation of interest point detectors and local descriptors for visual
slam, Machine Vision and Applications 21 (2010), 905920.
[GW01]

Rafael C. Gonzalez and Richard E. Woods,

Digital image processing, 2nd

ed., Addison-Wesley Longman Publishing Co., Inc., 2001.

[Hes10]

Rob Hess,

An open-source siftlibrary,

Proceedings of the international

conference on Multimedia (New York, NY, USA), MM '10, ACM, 2010,


pp. 14931496.

+
[HKH 10]

Peter Henry, Michael Krainin, Evan Herbst, Xiaofeng Ren, and Dieter Fox,

Rgbd mapping: Using depth cameras for dense 3d modeling of indoor environments, Proc. of International Symposium on Experimental Robotics,
2010.

76

[Hor87]

Berthold K. P. Horn,

unit quaternions,

Closed-form solution of absolute orientation using

Journal of the Optical Society of America A

(1987),

pp. 629642.

[HS88]

C. Harris and M. Stephens,

A combined corner and edge detector, Proceed-

ings of the 4th Alvey Vision Conference, 1988, pp. 147151.

[HZ03]

Richard Hartley and Andrew Zisserman,

puter vision,

Multiple view geometry in com-

2 ed., Cambridge University Press, New York, NY, USA,

2003.

[Jol02]

I. T. Jollie,

[Kra00]

Karl Kraus,

Principal Component Analysis, second ed., Springer, 2002.

Photogrammetry: Geometry from images and laser scans, sec-

ond ed., Walter de Gruyter, 2000.

[KS04]

Yan Ke and Rahul Sukthankar,

Pca-sift: a more distinctive representation

for local image descriptors, Proceedings of the 2004 IEEE computer society
conference on Computer vision and pattern recognition, CVPR'04, IEEE
Computer Society, 2004, pp. 506513.

[Lin94]

Tony Lindeberg,

Scale-space theory: A basic tool for analysing structures

at dierent scales, Journal of Applied Statistics 21 (1994), pp. 224270.


[Low04]

David G. Lowe,

Distinctive image features from scale-invariant keypoints,

Int. J. Comput. Vision

[LSKE11]

Adalberto
Ramrez,

Llarena,

60

Jesus

(2004), pp. 91110.

Savage,

Angel

Kuri,

and

Boris

Escalante-

Odometry-based viterbi localization with articial neural networks

and laser range nders for mobile robots, Journal of Intelligent & Robotic
Systems (2011), pp. 135.

77

[Mar82]

David Marr,

A computacional investigation into the human representation

and processing of visual information, W. H. Freeman and Company, 1982.


[MCC10]

Jose Martinez-Carranza and Andrew Calway,

mapping in monocular slam,

Unifying planar and point

Proceedings of the British Machine Vision

Conference, BMVA Press, 2010.

[MGBR08]

Oscar Martinez Mozos, Arturo Gil, Monica Ballesta, and Oscar Reinoso,

Interest point detectors for visual SLAM, 12th Conference of the Spanish
Association for Articial Intelligence, CAEPIA 2007 (Daniel Borrajo, Luis
Castillo, and Juan Manuel Corchado, eds.), Lecture Notes in Articial
Intelligence, vol. 4788, Springer, Germany, 2008, pp. 170179.

[ML00]

Don Murray and Jim Little,

Using real-time stereo vision for mobile robot

navigation, Autonomous Robots, vol. 8, 2000, pp. 161171.


[MM06]

Farzin Mokhtarian and Farahnaz Mohanna,

Performance evaluation of cor-

ner detectors using consistency and accuracy measures, Comput. Vis. Image Underst.

[MS02]

102

(2006), pp. 8194.

K. Mikolajczyk and C. Schmid,

An ane invariant interest point detector,

Proceedings of the 7th European Conference on Computer Vision-Part I


(London, UK, UK), ECCV '02, Springer-Verlag, 2002, pp. 128142.

[MS05]

Krystian Mikolajczyk and Cordelia Schmid,

A performance evaluation of

local descriptors, IEEE Trans. Pattern Anal. Mach. Intell. 27 (2005), 1615
1630.

[PW00]

Bon DeWitt Paul Wolf,

Elements of photogrammetry,

McGraw-Hill, 2000.

78

third edition ed.,

[RD05]

Edward Rosten and Tom Drummond,

formance tracking,

Fusing points and lines for high per-

Proceedings of the Tenth IEEE International Confer-

ence on Computer Vision - Volume 2, ICCV '05, IEEE Computer Society,


2005, pp. 15081515.

[RD06]

Edward Rosten and Tom Drummond,

ner detection,

Machine learning for high-speed cor-

European Conference on Computer Vision, 2006, pp. 430

443.

[Rea06]

Real Acadmia Espaola,

Diccionario panhispanico de dudas,

2 ed., San-

tillana, 2006.

[SLL05]

Stephen Se, David G. Lowe, and James J. Little,

Vision-based global local-

ization and mapping for mobile robots, IEEE Transactions on Robotics 21


(2005), pp. 364375.

[SMB00]

Cordelia Schmid, Roger Mohr, and Christian Bauckhage,

Evaluation of

interest point detectors, Int. J. Comput. Vision 37 (2000), pp. 151172.


[SN04]

Roland Siegwart and Illah R. Nourbakhsh,

Introduction to autonomous

mobile robots, Bradford Company, Scituate, MA, USAv, 2004.


[ST93]

Jianbo Shi and Carlo Tomasi,

Good features to track, Tech. report, Ithaca,

NY, USA, 1993.

[TBF05]

Sebastian Thrun, Wolfram Burgard, and Dieter Fox,

Probabilistic robotics

(intelligent robotics and autonomous agents), The MIT Press, 2005.

79

También podría gustarte