scieee AI-readable full text Open interactive document viewer

Detección de Lugares con Camaras RGB-D. Aplicación a Cierre de Bucles en SLAM

Zúñiga-Noël, David,Ruiz-Sarmiento, José Raúl,González-Jiménez, Antonio Javier

Abstract

En este trabajo se propone un método que combina descriptores de imágenes de intensidad y de profundidad para detectar de manera robusta el problema de cierre de bucle en SLAM. La robustez del método, proporcionada por el empleo conjunto de información de diversa naturaleza, permite detectar lugares revisitados en situaciones donde m´etodos basados solo en intensidad o en profundidad presentan dificultades (p.e. condiciones de iluminación deficientes, o falta de geometría). Además, se ha diseñado el métod cuenta su eficiencia, recurriendo para ello al detector FAST para extraer las características de las observaciones y al descriptor binario BRIEF. La detección de bucle se completa con una Bolsa de Palabras binarias. El rendimiento del método propuesto se ha evaluado en condiciones reales, obteniéndose resultados muy satisfactorios.

Full text

Detecci´on de Lugares con C´amaras RGB-D. Aplicaci´on a Cierre de Bucles en SLAM David Z´u˜niga-No¨el, Jos´e-Ra´ul Ruiz-Sarmiento, Javier Gonzalez-Jimenez Machine Perception and Intelligent Robotics Group, Departamento de Ingenier´ıa de Sistemas y Autom´atica, Universidad de M´alaga, Campus de Teatinos, 29071, M´alaga {dzuniga,jotaraul,javiergonzalez}@uma.es Resumen En este trabajo se propone un m´etodo que combina descriptores de im´agenes de intensidad y de profundidad para detectar de manera robusta el problema de cierre de bucle en SLAM. La robustez del m´etodo, proporcionada por el empleo conjunto de informaci´on de diversa naturaleza, permite detectar lugares revisitados en situaciones donde m´etodos basados solo en intensidad o en profundidad presentan dificultades (e.g. condiciones de iluminaci´on deficientes, o falta de geometr´ıa). Adem´as, se ha dise˜nado el m´etodo teniendo en cuenta su eficiencia, recurriendo para ello al detector FAST para extraer las caracter´ısticas de las observaciones y al descriptor binario BRIEF. La detecci´on de bucle se completa con una Bolsa de Palabras binarias. El rendimiento del m´etodo propuesto se ha evaluado en condiciones reales, obteni´endose resultados muy satisfactorios. Palabras clave: Detecci´on de lugares, C´amaras RGB-D, SLAM, Cierre de bucle. 1. INTRODUCCI ´ ON La construcci´on de mapas m´etricos es una tarea clave para agentes que deseen localizarse o navegar en su entorno, como es el caso de los robots m´oviles [23, 8, 9]. Durante la construcci´on de dichos mapas se realizan estimaciones en las que influyen el ruido, aliasing, y otras distorsiones producidas por el sensor utilizado para percibir el entorno, dando lugar a imprecisiones que se acumulan conforme el proceso de reconstrucci´on avanza. Un modo de mitigar estos errores es detectar cu´ando el agente ha regresado a una regi´on del entorno previamente visitada, para lo que es necesario que este cuente con la habilidad de reconocer dichos lugares. Cuando el reconocimiento es aplicado al problema de SLAM (Simultaneous Localization and Mapping) se le denomina detecci´on de cierre de bucle [3, 23], y es una cuesti´on ampliamente estudiada por su relevancia para la construcci´on de mapas m´etricos consistentes. En la actualidad, el uso de sensores que proveen informaci´on visual de intensidad (c´amaras) es el m´as extendido para implementar esta capacidad, dado su bajo coste y la riqueza de la informaci´on que proporcionan. Para reconocer una zona previamente visitada, la informaci´on obtenida se describe y compara en base a una serie de caracter´ısticas distintivas. T´ıpicamente, la t´ecnica de Bolsa de Palabras [20] es la elegida para abordar problemas de reconocimiento de lugares u objetos, dado que permite representar las caracter´ısticas de cada imagen con un vector num´erico que puede compararse eficientemente con otros vectores [5]. En dicho vector se codifica informaci´on sobre una serie de palabras extra´ıdas de un vocabulario previamente definido. Si bien este enfoque es aplicable a una multitud de escenarios y escalable a grandes cantidades de datos [13], su rendimiento y robustez decaen en entornos con informaci´on visual insuficiente (como por ejemplo: falta de texturas o condiciones de iluminaci´on muy cambiantes o deficientes). En un intento por paliar esta limitaci´on se pueden sustituir las c´amaras convencionales por c´amaras RGB-D que, adem´as de la tradicional informaci´on de intensidad, tambi´en proporcionan informaci´on de profundidad [16, 18, 17, 11]. Esto permitir´ıa aprovechar, adem´as de informaci´on visual, informaci´on geom´etrica, que no depende de la iluminaci´on externa [24]. No obstante, disponer de sendas fuentes de informaci´on independientes conlleva dos problemas fundamentales. De un lado, un mayor coste computacional, lo que puede comprometer su utilizaci´on en aplicaciones donde el mapeado deba realizarse en tiempo real. Por otro, se hace necesario adaptar los m´etodos de reconocimiento a la combinaci´on de caracter´ısticas de muy distinta naturaleza. En este art´ıculo se propone un m´etodo de reconocimiento robusto de lugares previamente visitados, que combina informaci´on tanto de intensidad como de profundidad, obtenida por medio de un sensor RGB-D. Para ello, y teniendo la eficiencia como requisito en el dise˜no del m´etodo, en una primera etapa se extrae de ambas fuentes de informaci´on una serie caracter´ısticas emplean- do el conocido detector FAST [15]. Nuestra contribuci´on se basa en la posterior utilizaci´on de BRIEF [4] para obtener descripciones binarias de dichas caracter´ısticas y aprovecharlas para crear una representaci´on unificada de una observaci´on RGB-D mediante una Bolsa de Palabras binarias [7]. La utilizaci´on de estas descripciones binarias conlleva, a la hora de su generaci´on y comparaci´on, un bajo coste tanto de almacenamiento como computacional. Finalmente, se buscan similitudes entre la representaci´on de la observaci´on actual y las de observaciones anteriores almacenadas en una base de datos. Esto permite a un agente detectar si se encuentra en una regi´on previamente visitada, y actuar en consecuencia. En los experimentos de validaci´on llevados a cabo se han utilizado secuencias de observaciones RGB-D p´ublicamente disponibles. Por un lado, para la creaci´on del vocabulario de la Bolsa de Palabras se han utilizado secuencias del conjunto de datos RGB-D SLAM Dataset [22], de la Universidad T´ecnica de M´unich. Por otro lado, para la evaluaci´on del m´etodo se han grabado secuencias exigentes con el fin de mostrar las virtudes del m´etodo propuesto, obteni´endose resultados muy satisfactorios. 2. TRABAJOS RELACIONADOS En la literatura se pueden encontrar trabajos empleando la combinaci´on informaci´on de intensidad - Bolsa de Palabras para el reconocimiento de lugares. Un ejemplo es el sistema FAB-MAP, propuesto por Cummins y Newman [5], que emplea informaci´on de intensidad obtenida mediante c´amaras omnidireccionales y descrita empleando SURF [2], y una Bolsa de Palabras para detectar bucles en recorridos de varios kil´ometros de distancia en exteriores. Otro enfoque, que ha servido de inspiraci´on para este art´ıculo, es el uso de descriptores binarios en lugar de SURF, propuesto por G´alvez y Tard´os [7]. Sin embargo, aunque estos m´etodos de detecci´on consiguen un rendimiento destacable, su eficacia puede verse comprometida en entornos en los que la informaci´on visual capturada sea insuficiente, e.g. pocas texturas, condiciones de iluminaci´on adversas, etc. Una alternativa consiste en utilizar informaci´on de profundidad, puesto que, entre otras cosas, no depende de fuentes externas de iluminaci´on. Por ejemplo, Steder et. al. [21] utilizan informaci´on obtenida mediante un esc´aner l´aser 3D para formar im´agenes de rango de 360o, con el fin de detectar lugares previamente visitados en exteriores. Por otro lado, Scherer et. al. [18] eval´uan el rendimiento de las Bolsas de Palabras para distintos descriptores, entre ellos BRIEF [4], sobre im´agenes de profundidad en interiores. En general, estas alternativas suelen ser menos eficaces, puesto que es m´as dif´ıcil distinguir lugares utilizando ´unicamente informaci´on de esta naturaleza, pero son una opci´on v´alida si la informaci´on de apariencia en el entorno es pobre. Tambi´en existen descriptores capaces de combinar informaci´on de intensidad y profundidad, tratando de potenciar las virtudes de ambas y mitigar sus limitaciones. Concretamente, BRAND [12] es un descriptor binario capaz de combinar eficientemente estas dos fuentes de informaci´on, y ha sido utilizado en el reconocimiento de lugares por Zhang et. al. [24]. En dicho trabajo se emplea una t´ecnica alternativa a la Bolsa de Palabras, Locality Sensitive Hashing, la cual ha obtenido una menor eficiencia en estudios como los realizados por Shahbazi y Zhang [19]. El m´etodo aqu´ı propuesto combina informaci´on de intensidad y profundidad en una ´unica Bolsa de Palabras binarias [7], buscando ser eficiente a la hora de crear representaciones de las im´agenes empleando dicha bolsa, y que permitan detectar si se ha cerrado un bucle. As´ı mismo, el empleo del extractor de caracter´ısticas FAST [15], y el descriptor binario BRIEF, permiten reducir el tiempo de ejecuci´on y el espacio de almacenamiento requerido. 3. M´ ETODO PROPUESTO La Fig. 1 muestra el flujo de trabajo del m´etodo propuesto. Brevemente, con la llegada de nuevas observaciones de intensidad y profundidad, y tras un pre-procesamiento inicial (Sec. 3.1), se detectan y describen una serie de puntos de inter´es (Sec. 3.2, Sec. 3.3). Estas descripciones, junto con un vocabulario de palabras binarias previamente creado, se emplean para construir una representaci´on conjunta de ambas im´agenes mediante la Bolsa de Palabras (Sec. 3.4). Finalmente, dicha representaci´on es cotejada con una base de datos (Sec. 3.5) que contiene representaciones anteriores para detectar si se ha completado un bucle (Sec. 3.6). Las siguientes secciones describen en m´as detalle los componentes principales del m´etodo. 3.1. PRE-PROCESAMIENTO Para crear una ´unica Bolsa de Palabras a partir de dos fuentes de informaci´on, se ha optado por trabajar con la imagen de rango de la informaci´on de profundidad, y aplicar sobre ella las t´ecnicas tradicionales de Visi´on por Computador (detectores de puntos de inter´es y descriptores de los mismos) [18]. Esta imagen de rango puede considerarse una imagen en escala de grises, donde un Figura 1: Flujo de informaci´on y procesos empleados por el m´etodo propuesto. Las formas rectangulares representan procesos, mientras que las ovaladas informaci´on consumida o producida por dichos procesos. Figura 2: Ejemplo de comprobaci´on de punto de inter´es por medio de FAST. Las celdas blancas representan los p´ıxeles cuya intensidad se va a comparar con la del punto p, extendi´endose el c´ırculo punteado sobre los p´ıxeles con menor intensidad que este. p´ıxel toma un valor bajo cuando representa una medici´on cercana, y va aumentando con la distancia. Es bien sabido que las mediciones de profundidad de un sensor RGB-D son m´as propensas a error conforme m´as lejanas son [16], por lo que en este trabajo se han considerado no v´alidas mediciones superiores a 5 metros. Por otro lado, la imagen de intensidad tambi´en es transformada a escala de grises aplicando la f´ormula: I(p) = 0,299R(p) + 0,587G(p) + 0,114B(p) (1) para cada p´ıxel p, a partir de sus componentes R, GyB, de acuerdo con la Recomendaci´on 601 [10]. 3.2. DETECCI ´ ON DE PUNTOS DE INTER´ ES Para seleccionar los puntos de inter´es se utiliza el detector de esquinas Features from Accelerated Segment Test (FAST) [15]. Este detector busca cambios de intensidad en un c´ırculo de Bresenham de 16 p´ıxeles de longitud, centrado en un punto pcon intensidad I(p) del cual se quiere determinar si es un punto de inter´es o no. Para que p sea considerado esquina, tendr´a que haber en dicho c´ırculo un n´umero nde p´ıxeles consecutivos (t´ıpicamente n= 12) tal que todos ellos tengan una intensidad bien mayor o bien menor que I(p) (Fig. 2). Para realizar la detecci´on de manera eficiente, primero se compara la intensidad de ciertos p´ıxeles estrat´egicos, de tal manera que el punto p se pueda descartar r´apidamente. 3.3. DESCRIPCI ´ ON DE PUNTOS DE INTER´ ES Con el objetivo de mantener al m´ınimo el tiempo de ejecuci´on en la fase de descripci´on de caracter´ısticas (y las posteriores comparaciones) se ha utilizado el descriptor BRIEF [4]. Este m´etodo, dado un punto de inter´es p, genera una secuencia B(p) de Lbits para describir la regi´on cuadrada de lado Sal rededor de dicho punto. En concreto, se tiene que: Bi(p) = 1 si I(ai)< I(bi) 0 en otro caso (2) para i∈[1..L]. Los pares de puntos aiybipara los que se realizan las comparaciones se generan previamente de manera aleatoria. Para seleccionarlos, se ha seguido el proceso descrito en [6]. El tama˜no del descriptor se ha fijado en L= 256, y el lado de la regi´on cuadrada a S= 48, por haber mostrado una buena relaci´on entre distinci´on y coste computacional [4]. 3.4. DESCRIPCI ´ ON MEDIANTE BOLSAS DE PALABRAS El proceso de descripci´on mediante Bolsas de Palabras requiere la creaci´on de un vocabulario previo. Para definirlo, se establece una jerarqu´ıa o ´arbol a partir de las descripciones BRIEF extra´ıdas de un conjunto de observaciones dado, discretizando de este modo el espacio de descripciones en W=kdpalabras o nodos hoja. Para ello, las descripciones se dividen en kgrupos, mediante la t´ecnica de las k-medias [1], formando as´ı el primer nivel. Esta t´ecnica, adem´as de agrupar las descripciones, provee una descripci´on representativa de cada grupo, que es asociada a un nodo. De forma recursiva, se repite el proceso para cada grupo, hasta un m´aximo de dveces. De esta manera, para representar una imagen mediante una Bolsa de Palabras a partir de sus descripciones binarias, se recorre el ´arbol desde la ra´ız hasta las hojas para cada punto descrito, seleccion´andose en cada nivel el nodo que minimice la distancia de Hamming. Como resultado de este proceso se obtiene un vector v∈RW, al que llamaremos representaci´on BoW (o simplemente representaci´on), que se corresponde con un histograma pesado conforme a la frecuencia con la que aparecen las palabras tanto en la imagen como en el propio vocabulario [20]. En este trabajo, los descriptores extra´ıdos de las im´agenes de intensidad y de profundidad son considerados provenientes de una misma fuente de informaci´on, y como tal son utilizadas para generar el vocabulario y realizar las siguientes comparaciones a partir de una observaci´on RGB-D. 3.5. BASE DE DATOS La base de datos est´a compuesta por las representaciones BoW. Su fin es servir de repositorio para determinar si una nueva observaci´on est´a ya incluida en esta base de datos. Para ello, es necesario obtener una medida de similitud entre dos representaciones. Dadas las representaciones v1yv2, su similitud se calcula utilizando la f´ormula: s(v1,v2) = 1 −1 2 v1 |v1|1 −v2 |v2|11 (3) Para acelerar el proceso de b´usqueda en la base de datos se mantiene un ´ındice inverso, es decir, a partir de una palabra dada, se pueden recuperar las representaciones que la contienen. Esto permite comparar ´unicamente observaciones que tengan alguna palabra en com´un, dotando de eficiencia al proceso, tal y como se muestra en la secci´on de evaluaci´on. 3.6. DETECCI ´ ON DE BUCLES A la hora de comparar la representaci´on BoW de una observaci´on entrante con las ya existentes en la base de datos, se genera una serie de mediciones de similitud. En primer lugar, de entre ellas, se descartan las que se correspondan con observaciones demasiado pr´oximas temporalmente a la observaci´on consultada, puesto que, a´un siendo muy similares, obviamente no constituyen un bucle real1. 1T´ıpicamente los m´etodos de reconocimiento de lugares realizan una serie de comprobaciones de conDado que es dif´ıcil establecer un umbral fijo a partir del cual se considere que una medici´on de similitud es suficiente para corresponderse con la detecci´on de un bucle, esta medida se normaliza dividiendo por una aproximaci´on de la mejor medici´on o puntuaci´on que se espera obtener. Dicha aproximaci´on se calcula como la similitud entre la observaci´on actual y la anterior. De esta manera, la puntuaci´on final entre dos vectores vtyvsse obtiene como: η(vt,vs) = s(vt,vs) s(vt,vt−1)(4) donde vtrepresenta la descripci´on BoW de la observaci´on actual, vt−1la de la anterior, y vsla de otra observaci´on pasada. Si esta similitud normalizada es mayor que un cierto umbral α, se considera que se ha detectado un bucle. Por ´ultimo, con el fin de que sea objetivo de futuras detecciones de bucle, la representaci´on vtse a˜nade a la base de datos, actualiz´andose tambi´en el ´ındice inverso de la misma. 4. EVALUACI ´ ON Con el objetivo de comprobar la eficacia y eficiencia del m´etodo propuesto se han conducido una serie de experimentos, present´andose aqu´ı su metodolog´ıa (Sec. 4.1) y resultados obtenidos (Sec. 4.2). 4.1. METODOLOG´ IA Dadas las particularidades de las fases de creaci´on de vocabulario, entrenamiento del m´etodo, y evaluaci´on del mismo, se han utilizado secuencias independiente en cada una de ellas. Adem´as, todos los conjuntos de datos empleados est´an disponibles al p´ublico2. Concretamente: Vocabulario: Para crear el vocabulario, se han utilizado observaciones de un conjunto de datos ofrecido p´ublicamente por la Universidad T´ecnica de M´unich [22], concretamente las secuencias llamadas fr1/room,fr2/desk yfr3/long office household. Entrenamiento: Con el objetivo de ajustar los distintos par´ametros del m´etodo para el vocabulario creado, se han dise˜nado y recogido sistencia adicionales para descartar falsas detecciones, e.g. verifican si la localizaci´on de las caracter´ısticas en las imagen de intensidad es similar. Aqu´ı omitimos estas comprobaciones para poder obtener el rendimiento del m´etodo de reconocimiento por si mismo. 2http://mapir.isa.uma.es/mapirwebsite/ index.php/mapir-downloads/papers/235 Tabla 1: Evaluaci´on del rendimiento del m´etodo propuesto para detectar cierre de bucles (Combinado), junto con dos variantes (Intensidad yProfundidad). Resaltados los mejores resultados para cada secuencia. M´etodo lab home test Acierto Precisi´on Acierto Precisi´on Acierto Precisi´on Intensidad 77.08 % 90.24 % 74.67 % 81.3 % 32.10 % 25.81 % Profundidad 85.42 % 77.36 % 68.09 % 73.36 % 36.39 % 33.96 % Combinado 87.5 % 80.76 % 75.10 % 78.99 % 43.55 %34.08 % dos secuencias (llamadas lab yhome, contando con 238 y 1292 observaciones respectivamente), que contienen una distribuci´on equilibrada de informaci´on de intensidad y profundidad. Evaluaci´on: Se ha grabado una secuencia adicional (denominada test, compuesta por 1478 observaciones), que contiene bucles en regiones con pobre iluminaci´on, con solo textura, y largos recorridos sin bucles, dise˜nada para evaluar el m´etodo propuesto. El m´etodo presentado (Combinado) se compara con dos variantes (Intensidad yProfundidad), en las que se utiliza solamente una fuente de informaci´on de las dos disponibles durante todo el proceso (incluida la creaci´on del vocabulario). Para poder evaluar la eficacia del m´etodo, se emplean los valores de acierto y precisi´on, tal y como se describen en [7]. El acierto se calcula como la raz´on entre el n´umero de detecciones correctas y el n´umero total de bucles existentes en la secuencia. La precisi´on se calcula como la raz´on entre el n´umero detecciones correctas y el n´umero de bucles detectados. Para que el proceso de evaluaci´on pueda llevarse a cabo de manera autom´atica, y dado que no se cuenta con informaci´on sobre la localizaci´on del sensor a lo largo de la secuencia, se ha definido manualmente para cada observaci´on un conjunto de observaciones anteriores a ella con las que cierra un bucle real, pudi´endose calcular de esta manera las medidas cuantitativas antes definidas. 4.2. RESULTADOS Durante el ajuste de los par´ametros del m´etodo se concluy´o que el tama˜no de vocabulario ´optimo para los datos manejados es de k= 10 y d= 5 para la variante de Intensidad,k= 5 y d= 5 para la de Profundidad, y k= 10 y d= 4 para el m´etodo Combinado. Adem´as, el valor del umbral α escogido para cada m´etodo es α= 0,5; α= 0,8; y α= 0,7 respectivamente. Con estos par´ametros, se muestran a continuaci´on sus resultados en cuanto a eficacia y eficiencia. 4.2.1. Eficacia La Tab. 1 muestra los resultados en cuanto a acierto y precisi´on obtenidos en tres secuencias: lab, home ytest. Como se puede comprobar, no hay un m´etodo ganador en los tres casos, lo cual se debe a las peculiaridades de cada secuencia. Por un lado, lab es una secuencia grabada en un entorno de oficinas, rico en informaci´on tanto de apariencia como geom´etrica, por lo que el m´etodo propuesto no marca una diferencia: aunque se obtienen resultados ligeramente mejores que la variante de Profundidad, la de Intensidad consigue una precisi´on mayor en un ∼10 %, si bien a costa de un acierto menor en el mismo porcentaje. La secuencia home se obtuvo en un entorno dom´estico con condiciones de iluminaci´on favorables, donde la informaci´on visual es m´as notoria y discriminativa. Esto se ve reflejado en los resultados de la variante Intensidad, que obtiene un acierto del ∼74 % y una precisi´on del ∼81 %. El m´etodo Combinado alcanza unos resultados similares, pero el basado en Profundidad ve mermado su rendimiento. Por ´ultimo, la secuencia test es la m´as desafiante y realista de todas, conteniendo un mayor n´umero de observaciones y bucles de distinta naturaleza. Esta secuencia simula el recorrido de un agente en un entorno dom´estico, desplaz´andose por regiones con distintas condiciones de iluminaci´on y configuraciones geom´etricas. Es en estos casos donde el rendimiento de las variantes Intensidad yProfundidad puede verse comprometido, tal y como se refleja en los resultados obtenidos. Aqu´ı, el m´etodo propuesto es m´as robusto frente a la detecci´on de bucles en condiciones adversas, obteniendo mejores resultados que las dos variantes. A modo de ejemplo, la Fig. 3 muestra a la izquierda una regi´on donde la informaci´on de intensidad es pobre, debido principalmente a las condiciones de iluminaci´on, mientras que la informaci´on geom´etrica es distintiva. El m´etodo Combinado ha sido capaz de detectar un cierre de bucle en esa regi´on, mientras que la variante de Intensidad falla. A la derecha en la Fig. 3 se muestra una regi´on en la que se Figura 3: Ejemplos de detecciones de cierre de bucle obtenidas por el m´etodo propuesto. En la primera fila se presentan observaciones en las que se ha detectado un bucle con las mostradas en la segunda fila. A la izquierda se expone una regi´on con pobre iluminaci´on pero rica en geometr´ıa, mientras que a la derecha se puede apreciar una zona plana pero que presenta caracter´ısticas visuales. Tabla 2: Media y desviaci´on t´ıpica del tiempo de ejecuci´on de cada uno de los procesos del m´etodo. Componente Tiempo de ejecuci´on Media Desviaci´on Puntos de inter´es 2.01 ms 1.02 ms Descripci´on binaria 12.53 ms 6.96 ms Descripci´on BoW 15.12 ms 10.18 ms Detecci´on de bucle 21.54 ms 21.11 ms da el caso opuesto: geometr´ıa pr´acticamente nula pero informaci´on visual distintiva. En esta ´ultima regi´on, la variante de Profundidad es incapaz de detectar un bucle, mientras que el m´etodo propuesto s´ı lo hace. 4.2.2. Eficiencia Para la medici´on de los tiempos de ejecuci´on del m´etodo se ha empleado un ordenador port´atil con una configuraci´on modesta: CPU Intel(R) Core(TM) i3-2328M a 2,20GHz, y una memoria RAM compartida de 4GB SO-DIMM DDR3 a 1.333MHz. Como se puede ver en la Tab. 2, se han obtenido mediciones de tiempo de ejecuci´on medio y desviaci´on est´andar de cada uno de los procesos del m´etodo al trabajar con una observaci´on (menos para el de pre-procesamiento, cuyo tiempo de ejecuci´on es despreciable). De esta manera, el tiempo medio de ejecuci´on del m´etodo completo es de 51,2ms, lo que permitir´ıa ejecutar lo con una frecuencia de 19,53Hz. Los tiempos de ejecuci´on y frecuencia obtenidos son prometedores ya que, si bien no alcanzan la frecuencia de funcionamiento del sensor (∼30Hz), los sistemas de detecci´on de cierre de bucle suelen lanzarse en un hilo de ejecuci´on a parte del resto de procesos dentro de un sistema de SLAM, y se activan cuando este sistema detecta un keyframe, lo cual suele ocurrir con una frecuencia inferior a la conseguida por el m´etodo propuesto. El ´unico proceso cuyo tiempo de ejecuci´on se incrementa conforme se van procesando nuevas observaciones es el de la detecci´on de bucle. Para estudiar su escalabilidad, se ha analizado c´omo var´ıa su tiempo de ejecuci´on medio, obteni´endose los resultados de la Fig. 4. Aqu´ı vemos como el ´ındice inverso consigue que el m´etodo escale bien con respecto al n´umero de representaciones almacenadas, estando el incremento de tiempo medio por debajo de un aumento lineal. En cuanto a los tiempos de ejecuci´on de las dos variantes, Intensidad yProfundidad, y como era de esperar, son ligeramente inferiores a los del m´etodo Combinado. Esto se debe a que el n´umero de caracter´ısticas con el que trabajan es inferior, aproximadamente la mitad, por lo que los procesos de extracci´on de las mismas, descripci´on, y generaci´on de la representaci´on BoW son m´as livianos. 5. CONCLUSIONES En este trabajo se han descrito los primeros pasos hacia un m´etodo de reconocimiento de lugares que permita detectar de forma robusta y eficiente cu´ando se ha cerrado un bucle en SLAM. Para conseguir robustez, el m´etodo combina informaci´on de distinta naturaleza, i.e. apariencia y geometr´ıa, proveniente de c´amaras RGB-D. Es- 100 200 300 400 500 600 700 800 900 0 5 10 15 20 25 30 #representaciones Milisegundos Figura 4: Evoluci´on del tiempo empleado en detectar si se ha cerrado el bucle con respecto al n´umero de representaciones almacenadas en la base de datos. Puntos en azul: tiempo empleado en la detecci´on para una cierta representaci´on, raya punteada en rojo: tiempo medio, raya verde: tiempo esperado si el incremento fuera lineal. to permite detectar bucles en lugares con condiciones de iluminaci´on pobres, falta de texturas, etc., donde un m´etodo basado en intensidad tendr´ıa dificultades, as´ı como en lugares con insuficiente informaci´on geom´etrica, donde aquellos empleando informaci´on de profundidad no operar´ıan correctamente. Por otro lado, para que la detecci´on sea eficiente, las caracter´ısticas de las observaciones son extra´ıdas empleando FAST y descritas mediante BRIEF. Finalmente, la detecci´on de cierre de bucle se realiza empleando una representaci´on mediante Bolsas de Palabras binarias. Estos procesos son eficientes tanto en lo referente a tiempo de ejecuci´on como a espacio de almacenamiento. Para evaluar el rendimiento del m´etodo propuesto se han empleado secuencias de observaciones RGB-D p´ublicamente disponibles: el vocabulario binario se ha generado utilizando secuencias del conjunto de datos RGB-D SLAM Dataset de la Universidad T´ecnica de M´unich; el ajuste de par´ametros se ha realizado con secuencias grabadas en interiores; el m´etodo se evalu´o con otra secuencia independiente grabada en un entorno dom´estico, conteniendo m´ultiples observaciones en condiciones adversas que dificultan la detecci´on de lugares. Los resultados de eficacia son muy satisfactorios, super´andose en ∼10 % al rendimiento alcanzado por un m´etodo que emplea solo informaci´on de intensidad. En cuanto a la eficiencia, se ha conseguido combinar ambas fuentes de informaci´on y detectar bucles a una frecuencia de ∼20Hz, suficiente para ser empleado en un sistema de SLAM. En un futuro, se pretende evaluar el rendimiento del m´etodo al considerar dos representaciones mediante Bolsas de Palabras distintas: una para la informaci´on de intensidad y otra para la de profundidad. Esto permitir´ıa, por ejemplo, decidir con mayor criterio cu´ando aceptar una detecci´on de bucle. Adem´as se podr´ıan aplicar t´ecnicas de paralelizaci´on para procesar ambos tipos de informaci´on en dos hilos distintos, empleando por ejemplo OpenMP [14], disminuy´endose as´ı el tiempo de ejecuci´on del m´etodo. Tambi´en se evaluar´a la utilizaci´on de descriptores como BRAND, que permiten una descripci´on conjunta de estas dos fuentes de informaci´on. Por ´ultimo, se planea que el m´etodo desarrollado forme parte de un sistema de SLAM completo. Agradecimientos Este trabajo se ha desarrollado en el marco de los proyectos TEP2012-530 y DPI2014-55826-R, financiados por la Junta de Andaluc´ıa y el Ministerio de Ciencia e Innovaci´on respectivamente, ambos contando con fondos del Fondo Europeo de Desarrollo Regional (FEDER). Referencias [1] D. Arthur and S. Vassilvitskii. k-means++: The advantages of careful seeding. In Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’07, pages 1027–1035, Philadelphia, USA, 2007. Society for Industrial and Applied Mathematics. [2] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool. Speeded-up robust features (surf). Comput. Vis. Image Underst., 110(3):346–359, June 2008. [3] J.-L. Blanco, J.-A. Fern´andez-Madrigal, and J. Gonz´alez-Jim´enez. Towards a unified bayesian approach to hybrid metrictopological slam. IEEE Transactions on Robotics, 24(2):259–270, 2008. [4] M. Calonder, V. Lepetit, C. Strecha, and P. Fua. Brief: Binary robust independent elementary features. In Proceedings of the 11th European Conference on Computer Vision: Part IV, ECCV’10, pages 778–792, Berlin, Heidelberg, 2010. Springer-Verlag. [5] M. Cummins and P. Newman. Appearanceonly slam at large scale with fab-map 2.0. Int. J. Rob. Res., 30(9):1100–1123, Aug. 2011. [6] D. Galvez-Lopez and J. D. Tardos. Realtime loop detection with bags of binary words. In Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ International Conference on, pages 51 –58, sept. 2011. [7] D. Galvez-L´opez and J. D. Tardos. Bags of binary words for fast place recognition in image sequences. IEEE Transactions on Robotics, 28(5):1188–1197, Oct 2012. [8] J. Gonz´alez-Jim´enez, C. Galindo, F. Melendez-Fernandez, and J. R. RuizSarmiento. Building and exploiting maps in a telepresence robotic application. In 10th International Conference on Informatics in Control, Automation and Robotics (ICINCO), 2013. [9] J. Gonz´alez-Jim´enez, A. Mu˜noz, C. Galindo, J.-A. Fern´andez-Madrigal, and J.-L. Blanco. A description of the sena robotic wheelchair. In 13th IEEE Mediterranean Electrotechnical Conference (MELECON), May 2006. [10] International Telecomunication Union. Studio encoding parameters of digital television for standard 4:3 and wide screen 16:9 aspect ratios. https://www.itu.int/rec/ R-REC-BT.601/. [Online; accessed 07-July2016]. [11] M. Jaimez and J. Gonz´alez-Jim´enez. Fast visual odometry for 3-d range sensors. IEEE Transactions on Robotics, 31(4):809– 822, 2015. [12] E. R. Nascimento, G. L. Oliveira, M. F. M. Campos, A. W. Vieira, and W. R. Schwartz. Brand: A robust appearance and depth descriptor for rgb-d images. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1720– 1726, Oct 2012. [13] D. Nister and H. Stewenius. Scalable recognition with a vocabulary tree. In Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition - Volume 2, CVPR ’06, pages 2161–2168, Washington, DC, USA, 2006. IEEE Computer Society. [14] OpenMP Architecture Review Board. OpenMP API Specification for Parallel Programming. http://openmp.org/wp/. [Online; accessed 07-July-2016]. [15] E. Rosten and T. Drummond. Machine learning for high-speed corner detection. In Proceedings of the 9th European Conference on Computer Vision - Volume Part I, ECCV’06, pages 430–443, Berlin, Heidelberg, 2006. Springer-Verlag. [16] J. R. Ruiz-Sarmiento, C. Galindo, and J. Gonz´alez-Jim´enez. Experimental study of the performance of the kinect range camera for mobile robotics. Technical report, University of Malaga, 2013. [17] J. R. Ruiz-Sarmiento, C. Galindo, and J. Gonz´alez-Jim´enez. OLT: A Toolkit for Object Labeling Applied to Robotic RGB-D Datasets. In European Conference on Mobile Robots, 2015. [18] S. A. Scherer, A. Kloss, and A. Zell. Loop closure detection using depth images. In Mobile Robots (ECMR), 2013 European Conference on, pages 100–106, 2013. [19] H. Shahbazi and H. Zhang. Application of locality sensitive hashing to realtime loop closure detection. In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1228–1233, Sept 2011. [20] J. Sivic and A. Zisserman. Video google: A text retrieval approach to object matching in videos. In Proceedings of the Ninth IEEE International Conference on Computer Vision - Volume 2, ICCV ’03, pages 1470–1477, Washington, DC, USA, 2003. IEEE Computer Society. [21] B. Steder, G. Grisetti, and W. Burgard. Robust place recognition for 3d range data based on point features. In Robotics and Automation (ICRA), 2010 IEEE International Conference on, pages 1400–1405, May 2010. [22] J. Sturm, N. Engelhard, F. Endres, W. Burgard, and D. Cremers. A benchmark for the evaluation of rgb-d slam systems. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 573–580, Oct 2012. [23] S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics (Intelligent Robotics and Autonomous Agents). The MIT Press, 2005. [24] H. Zhang, Y. Liu, and J. Tan. Loop closing detection in rgb-d slam combining appearance and geometric constraints. Sensors, 15(6):14639–14660, 2015.