Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vision Robotica
Vision Robotica
ADECUACIN DE TCNICAS DE
DESCRIPCIN VISUAL UTILIZANDO
INFORMACIN 3D Y SU APLICACIN EN
ROBTICA
MAESTRO EN INGENIERA
P
A:
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 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
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.
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.
. . . . . . . . . . . . . . . . . .
19
2.2.2.
Descriptores . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
Empatado de descriptores
2.3.1.
2.3.2.
. . . . . . . . . . . . . . . . . . . . . . . . .
27
28
2.3.1.1.
. . . . . . . . .
29
. . . . . . . . . . . . . . . . . . . . . . . .
30
Empatados atpicos
2.3.2.1.
2.4.
. . . . . . . . . . . . . . . . . . . . . . .
(RANSAC)
. . . . . . . .
. . .
32
34
35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.2.
44
3.3.
Descriptor tipo
. . . . . . .
49
3.4.
50
(SIFT)
4. Aplicacin en Robtica
52
4.1.
53
4.2.
. . . . . . . . . . . .
55
4.3.
60
5. Experimentos
62
5.1.
63
5.2.
64
5.3.
. . . . . . . . . . . . . . . . . . . . .
66
5.4.
66
6. Conclusiones
72
ndice de guras
2.1.
Discretizacin de imgenes . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.2.
Homografa.
18
2.3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.
. . . . . . . . . . . . . . . . . . . . . . . .
2.5.
2.6.
. . . .
2.7.
22
24
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.
2.9.
. . . . . . . . . . . . . . . . . . . . . .
3.1.
21
26
. . . . . . . . . . . . . . . . .
31
. . . . . . . . . . . . . . . . . . . .
33
25
. . . . . .
36
3.2.
. . . . . . . . . . . . . . . . . . . . .
38
3.3.
. . . . . . . . . . . . . . . . . . . . .
38
3.4.
3.5.
FAST
vs
. . . . .
41
. . . . . . . . . . . .
43
3.6.
45
3.7.
Anlisis de vecindario . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.8.
Cambios de perspectiva . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
3.9.
51
4.1.
Parmetros de odometra . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.2.
Mapa topolgico
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
4.3.
56
4.4.
57
5.1.
Interfaz de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
5.2.
5.3.
63
5.4.
. . . . . . . . . . . . . . . . . . .
67
5.5.
68
5.6.
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 .
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.
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.
a priori
de manera dinmica por los mismos mientras realizan una exploracin del ambiente
(tambin llamada
11
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
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:
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.
13
Captulo 2
Marco terico
En [GW01] denen
imagen
f (x, y),
donde
x, y
son
(x, y)
f
son
cala de grises.
monocromtica
en es-
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.
proyeccin central
centro de proyeccin
plano de la imagen,
en l se
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 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
k 6= 0,
, donde
ax + by + c = 0
son la misma lnea, por lo que a estos vectores se les llama vectores
homogneos.
Un punto
p = (x, y)T
l = (a, b, c)T
nicamente si
entonces, un punto en
R2
representan
(r/t, s/t)
pertenecen al conjunto
Teorema 1.
en
R2 .
(r, s, t)
P 2.
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
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
x0 = Hx
x01
(2.1)
x0 = h
2 21 h22 h23
0
x3
h31 h32 h33
17
x1
x
2
x3
h33 en 1. Por
ejemplo, las guras 2.2(a)
.
y 2.2(b) se encuentran relacionadas por la homografa H = 0.4584
0.9493
0
0.0009
0
1
(a)
(b)
2.2.
Extractores de caractersticas
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.
2.2.1.
Harris:
de la matriz
M = P
Ix
Iy
Ix2
Iy Ix
Ix Iy
P 2
Iy
(2.2)
(x, y).
spectivamente
posicin
donde
(x, y)
donde
se calculan como
i(u, v)
R = 1 2 k(1 + 2 )
Ix =
, el punto
19
Iy =
(u, v)
(x, y)
Shi-Tomasi:
es positivo y localmente
(x, y)
R = min(1 , 2 ).
Detector SIFT:
El algoritmo
(SIFT), realiza la
Laplaciano de Gaussiana
(LoG), que en [Lin94] y [MS02] demostr ser un buen detector de puntos invariantes
a escala, mediante la
g(x, y; ) =
x2 +y 2
1
exp 2
2t
donde
20
(2.3)
(2.4)
es el parametro
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 ,
(1 + 2 )2
(r + 1)2
<
1 2
r
siendo
(2.5)
Detector FAST:
21
dentro de una
imagen esta basado en el anlisis de 16 pixeles (circulo de radio 3) alrededor del punto.
Siendo
Ip
un conjunto de
Ip + t
o inferior a
Ip t
, donde
es
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].
nxn
alrededor del
Descriptor SIFT:
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)
23
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
25
GLOH:
el
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.
PCA-SIFT:
26
2.3.
Empatado de descriptores
El conjunto de descriptores
FO
FI
de una
v
u n
uX
d(fO,i , fI,j ) = t (fO,i.k fI,j,k )2
(2.7)
k=1
donde:
n:
fO,i.k ,fI,j,k
fO,i
fI,j
en la posicin
fO,i ,
se encuentra en la imagen
si el descriptor
fI,j
con descriptor
fO,i
M = {m1 , m2 , ..., mN }
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
FI ,
27
2.3.1.
L.
Algoritmo 2.1
1.
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
LD
con valores
d++
LI
LD
O(log n),
n es el nmero de vectores en la estructura, pues cada nivel del rbol realiza una
LI
LD
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.
28
por ello se tiene una construccin alternativa que habilita uso de la busqueda
First
2.3.1.1.
Best Bin
rbol BBF.
El algoritmo 2.2 muestra el mtodo de construccin del rbol BBF a partir de un
conjunto de vectores
Algoritmo 2.2
1. Si el conjunto
a)
b)
c)
L.
tiene 2 o ms componentes.
Encontrar la dimensin
Determinar la media
de la dimensin
d)
e)
LD
en la dimensin
en los conjuntos
LI
LI
LD
2. Si no, nalizar
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
1.
2.
n++
3. Si
n > Nmax
4. Determinar el subconjunto
dmin
buscado
c
umulo (vector ordenado por distancias)
6. Acceder a la rama de
a)
8. Si no
a)
b)
d < dmin
1)
dmin = d
c
umulo
y ejecutar desde 1.
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
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.
31
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.
donde
n #(P )
1. Repetir
a)
b)
c)
veces:
de
elementos de
d)
Si
#(S )
S.
S.
r,
e)
El nmero de repeticiones
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
El margen de error
r,
de estimaciones a realizar
y la probabilidad de xito
escogidas.
33
2.4.
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
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.
(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
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.
time of ight
y las
Cmaras estereoscpicas:
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
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
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.
Mesa
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
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
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.
3.1.
38
y = 0.001716x + 0.2735
donde
(3.1)
(mm).
Por lo tanto, determinar el factor de escala de una imagen referencia a una determinada
39
escala =
donde
depth0
es la profundida referencia;
depthi
(3.2)
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
(3.3)
(3.4)
40
0 si diag(pi )
gneig(pi ) =
1 otros
r
diag(pi ) =
2wi + 1
(3.5)
donde:
PF AST
r
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
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)
vs
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.
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
A, B
44
Siendo
n = (nx , ny , nz )
mente, un puntor
r0 = (x0 , y0 , z0 )
= (x, y, z)
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
A = nx
(3.7)
B = ny
C = nz
D = (nx x0 + ny y0 + nz z0 )
= n r0
donde
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.
46
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
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
48
3.3.
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.
Las metodologa de descripcin planteada queda con los siguientes pasos bien denidos
50
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,
localizacin,
el robot
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.
4.1.
encoders ),
dichas lecturas
encoders
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
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.
4.2.
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).
55
Una vez que se ha establecido el empate visual entre la escena observada y alguna
56
y rotacin
Siendo
{p1,i }
{p2,i }
va de
p2,i = R(p1.i ) + T
donde
es un factor de escala
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
Pn
i=1
R, T
(4.2)
kei k2 .
p1
1X
p1,i
=
n i=1
(4.3)
p2 =
el
vector de translacin
1X
p2,i
n i=1
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
w = (wx , wy , wz )T
cuaternin unitario 1
q = [q0 qx qy qz ]
q = [cos
(4.6)
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
Pn
i=1
y as sucesivamente.
R=
q02
qx2
qy2
qz2
2(qx qy q0 qZ )
2(qx qz + q0 qy )
2(qy qx + q0 qz )
2(qy qz q0 qx )
2(qz qx q0 qy )
2(qz qy + q0 qx )
(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
59
q = [q0 qx qy qz ]
en el plano XZ (segn
si
2(qx qz + q0 qy ) > 0
4.3.
(4.9)
2. Buscar descriptores obtenidos en los rboles k-d con uso del algoritmo BBF (empatado puntual).
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.
62
5.1.
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
5.2.
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)
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.
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.
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).
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.
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
gura 5.5.
67
68
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
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
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.
La informacin generada es alamacenada con arboles k-d y las busquedas son realizadas
72
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.
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
74
Bibliografa
[Aca01]
22 ed., Es-
pasa, 2001.
[Ben75]
Proceedings of the
1997 Conference on Computer Vision and Pattern, CVPR '97, IEEE Computer Society, 1997.
[CK97]
[CPMC07]
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,
descriptors,
pp. 276285.
[DRMS07]
[EMM01]
29
(2007), 10521067.
Introduction to
paradigm for model tting with applications to image analysis and automated cartography, Commun. ACM 24 (1981), 381395.
[GMBR10]
A compar-
ative evaluation of interest point detectors and local descriptors for visual
slam, Machine Vision and Applications 21 (2010), 905920.
[GW01]
[Hes10]
Rob Hess,
An open-source siftlibrary,
+
[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,
(1987),
pp. 629642.
[HS88]
[HZ03]
puter vision,
2003.
[Jol02]
I. T. Jollie,
[Kra00]
Karl Kraus,
[KS04]
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,
David G. Lowe,
[LSKE11]
Adalberto
Ramrez,
Llarena,
60
Jesus
Savage,
Angel
Kuri,
and
Boris
Escalante-
and laser range nders for mobile robots, Journal of Intelligent & Robotic
Systems (2011), pp. 135.
77
[Mar82]
David Marr,
[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]
ner detectors using consistency and accuracy measures, Comput. Vis. Image Underst.
[MS02]
102
[MS05]
A performance evaluation of
local descriptors, IEEE Trans. Pattern Anal. Mach. Intell. 27 (2005), 1615
1630.
[PW00]
Elements of photogrammetry,
McGraw-Hill, 2000.
78
[RD05]
formance tracking,
[RD06]
ner detection,
443.
[Rea06]
2 ed., San-
tillana, 2006.
[SLL05]
[SMB00]
Evaluation of
Introduction to autonomous
[TBF05]
Probabilistic robotics
79