Traducción de texto completo del artículo ORB-SLAM2

escrito en frente

ORB-SLAM2: un sistema SLAM de código abierto de cámaras monoculares, estéreo y RGB-D es un artículo clásico en el campo de SLAM. También hay muchas traducciones al chino en Internet, pero siento que las traducciones no son muy buenas. La traducción de este artículo es la traducción de documentos en idiomas extranjeros para mi título universitario. Lo traduje yo mismo y se siente más fluido. Si hay algún error, puede señalarlo.

Raúl Mur-Artal y Juan D. Tardós. ORB-SLAM2: un sistema SLAM de código abierto para cámaras monoculares, estéreo y RGB-D. Transacciones IEEE sobre robótica, vol. 33, núm. 5, págs. 1255-1262, 2017.  PDF

tema

ORB-SLAM2: un sistema SLAM de código abierto para cámaras monoculares, estéreo y RGB-D

Resumen 

Este artículo propone ORB-SLAM2, que es un sistema SLAM completo basado en cámaras monoculares, binoculares o RGB-D, que incluye funciones de reutilización de mapas, detección de cierre de bucle y relocalización. Este sistema se puede aplicar a una variedad de entornos, ya sea un pequeño dispositivo portátil para interiores o un dron volador en un entorno de fábrica y un vehículo que conduce en una ciudad, puede ejecutarse en tiempo real en una CPU estándar. El backend del sistema utiliza un ajuste de paquete basado en observaciones monoculares y binoculares, lo que le permite estimar con precisión la escala de la trayectoria. El sistema incluye un modo de posicionamiento liviano que usa odometría visual para rastrear áreas no mapeadas y hacer coincidir los puntos del mapa para un posicionamiento de desviación cero. Las evaluaciones experimentales de 29 conjuntos de datos públicos de uso común muestran que nuestro método es la solución SLAM más precisa en la mayoría de los casos. Hemos lanzado el código fuente del sistema para promover el desarrollo del campo SLAM y también proporcionar a los investigadores de otros campos un conjunto de soluciones SLAM listas para usar.

1. Introducción 

El mapeo de localización simultánea (SLAM) ha sido un foco de investigación en los campos de la visión por computadora y la robótica durante las últimas dos décadas, y recientemente también ha atraído la atención de las empresas de alta tecnología. La tecnología SLAM mapea el entorno desconocido y, al mismo tiempo, ubica la posición del sensor en el mapa en tiempo real. Entre los diferentes sensores, las cámaras son relativamente baratas y pueden proporcionar una gran cantidad de información ambiental necesaria para un reconocimiento de posición sólido y preciso. Por lo tanto, la solución SLAM visual con cámaras como sensor principal es actualmente el punto de acceso de investigación más popular. El reconocimiento de posición es un módulo clave en el sistema SLAM para lograr la detección de loopback (cuando se detecta que el sensor regresa al área donde se ha construido el mapa, se corrige el error acumulado en el proceso de exploración). Puede reinicializar el sistema. después de un error de seguimiento debido a una oclusión o un movimiento violento, cambie la posición de la cámara.

El SLAM visual se puede lograr solo con una cámara monocular, que es el dispositivo de sensor más pequeño y económico. Sin embargo, la información de profundidad no se puede observar solo con una cámara monocular, por lo que se desconoce la escala del mapa y la trayectoria estimada. Además, dado que el sistema SLAM de visión monocular no puede triangular solo en función del primer cuadro de la imagen, se requieren múltiples ángulos de visión o técnicas de filtrado para generar un mapa inicial cuando se inicia el sistema. Al mismo tiempo, SLAM monocular provocará una deriva de escala, que puede fallar durante la exploración de rotación pura. Sin embargo, al usar cámaras binoculares o RGB-D, estos problemas se pueden resolver, lo que da como resultado una solución SLAM visual más confiable.

En este documento, sobre la base de nuestro ORB-SLAM monocular propuesto anteriormente, proponemos además ORB-SLAM2, que tiene las siguientes contribuciones:

  • El primer sistema SLAM de código abierto basado en cámaras monoculares, binoculares y RGB-D, que incluye funciones de detección de bucle, relocalización y reutilización de mapas.
  • Nuestros resultados RGB-D muestran que al utilizar el ajuste de paquete (BA), podemos lograr una mayor precisión que los mejores métodos actuales basados ​​en el punto más cercano iterativo (ICP) o la minimización del error de amplitud y profundidad.
  • Mediante el uso de puntos binoculares coincidentes lejanos y cercanos y observaciones monoculares, nuestros resultados binoculares son más precisos que el SLAM binocular directo de última generación actual.
  • Se propone un patrón de reubicación ligero que reutiliza de manera eficiente el mapa cuando no se puede construir.

Figura 1 ORB-SLAM2 procesa entradas binoculares y RGB-D, estima las trayectorias de la cámara y crea un mapa del entorno. El sistema es capaz de cerrar bucles, reubicar y reutilizar mapas en una CPU estándar en tiempo real con alta precisión y robustez.

La Figura 1 muestra la salida del sistema ORB-SLAM2 con entradas binoculares y RGB-D. El ejemplo binocular muestra la trayectoria estimada final y los resultados de reconstrucción dispersos de la secuencia 00 del conjunto de datos KITTI. Esta es una secuencia de datos de escenas urbanas con múltiples cierres de bucle, que fueron detectados con éxito por el sistema ORB-SLAM2. El ejemplo de RGB-D muestra los resultados de estimación de pose de fotograma clave de la secuencia frl-room en el conjunto de datos TUM RGB-D y la nube de puntos densa resultante, donde la nube de puntos densa se basa en la pose de fotograma clave e invierte el mapa de profundidad del sensor obtenido por proyección. Cabe señalar que el sistema ORB-SLAM2 no realiza ninguna fusión como sistemas como KinectFusion, pero puede estimar con precisión la pose del fotograma clave. Más ejemplos se mostrarán en el video adjunto.

En el resto de este documento, analizamos el trabajo relacionado en la Sección 2, presentamos nuestro sistema en la Sección 3, presentamos los resultados de la evaluación experimental en la Sección 4 y concluimos en la Sección 5.

2. Trabajo relacionado

 En esta sección, analizamos trabajos relacionados con binoculares y RGB-D SLAM. La discusión en esta sección y la evaluación en la Sección IV son solo para métodos SLAM.

2.1 SLAM Binocular

Paz y otros crearon un excelente sistema SLAM binocular temprano [5], se basaron en SLAM de filtro de Kalman extendido de partición condicionalmente independiente (EKF-SLAM), de modo que el sistema se puede comparar con otros métodos en esa era. . Lo que es más importante, es el primero en usar puntos característicos cercanos y lejanos (que no pueden estimar la profundidad de manera confiable debido a su pequeño paralaje en las cámaras estéreo), y usa un parámetro de profundidad inversa para el último Estimado [6]. Muestran empíricamente que los puntos característicos se pueden triangular de forma fiable cuando su profundidad es inferior a 40 veces la longitud de referencia de la cámara estéreo. En este trabajo continuamos con esta estrategia de tratar puntos característicos cercanos y lejanos de manera diferente, que se explicará en la Sección 3.1.

La mayoría de los sistemas SLAM estéreo modernos se basan en fotogramas clave [7] y optimización BA local para la escalabilidad. El trabajo de Strasdat y otros [8] emplea la optimización BA dentro de la ventana de fotogramas clave (restricción punto-pose) y la optimización del gráfico de poses fuera de la ventana de fotogramas clave (optimización pose-pose). Al limitar el tamaño de la ventana, este método puede lograr una complejidad de tiempo constante, pero no puede garantizar la consistencia global. Mei et. RSLAM puede lograr el cierre del ciclo, lo que puede expandir el área de activación en ambos extremos del ciclo, pero no puede mejorar la consistencia global. El reciente S-PTAM [10] propuesto por Pire et al., adopta BA local, pero carece de la función de cerrar grandes bucles. De manera similar a estos métodos, también adoptamos BA en la colección local de fotogramas clave, por lo que la complejidad del método no se ve afectada por el tamaño del mapa y podemos implementar el método en escenas grandes. Sin embargo, nuestro objetivo es construir un mapa globalmente consistente. De manera similar a RSLAM, al cerrar un bucle, nuestro sistema primero alineará ambos extremos, de modo que el módulo de seguimiento pueda continuar localizándose usando el mapa anterior, luego use la optimización del gráfico de posición para minimizar la deriva acumulada en el bucle y luego realice BA global.

El LSD-SLAM binocular propuesto recientemente [11] por Engel et al., es un método semidenso que minimiza el error fotométrico en regiones con grandes gradientes de imagen. El método espera lograr una mejor robustez en entornos con desenfoque de movimiento o texturas débiles sin depender de las funciones. Sin embargo, como método directo, el rendimiento de este método se degrada significativamente debido a factores no modelados, como persianas enrollables o reflejos no lambertianos.

2.2 RGB-D SLAM

KinectFusion [4] propuesto por Newcombe y otros es uno de los primeros y más famosos sistemas RGB-D SLAM. El método fusiona todos los datos de profundidad de los sensores en un modelo volumétrico denso y utiliza ICP para rastrear la pose de la cámara. Dado que el sistema utiliza una representación volumétrica y carece de detección de cierre de bucle, solo se puede aplicar a espacios de trabajo de pequeña escala. Kintinuous [12] propuesto por Whelan et al., utiliza un búfer circular rodante e incluye un módulo de cierre de bucle optimizado mediante reconocimiento de posición y gráficos de pose, pudiendo así ejecutarse en escenas a gran escala.

RGB-D SLAM [13] propuesto por Endres et al., es probablemente el primer sistema popular de código abierto. Es un sistema basado en características. Su front-end calcula el movimiento entre fotogramas a través de la coincidencia de características e ICP. Su back-end utiliza la optimización de gráficos de poses, y sus restricciones de detección de cierre de bucle se obtienen mediante búsqueda heurística. De manera similar, el backend de DVO-SLAM [14] propuesto por Kerl y otros también emplea la optimización de gráficos de pose, donde las restricciones entre los fotogramas clave se calculan mediante una odometría visual que minimiza los errores fotométricos y de profundidad. Mientras tanto, DVO-SLAM busca heurísticamente candidatos para el cierre de bucle en todos los fotogramas anteriores sin depender del reconocimiento de posición.

Recientemente, ElasticFusion [15] propuesto por Whelan et al. estableció un mapa surfel del entorno. Este es un método que ignora la pose y toma el mapa como el núcleo. En su lugar, utiliza una deformación no rígida del mapa para lograr el cierre del bucle. de Se adopta el método de optimización de gráfico de pose. La reconstrucción detallada del sistema y la precisión de posicionamiento son excelentes, pero debido a la complejidad que trae la cantidad de surfels en el mapa, actualmente se limita a construir un mapa del tamaño de una habitación.

Nuestro sistema ORB-SLAM2 utiliza un método propuesto por Strasdat y otros [8] que utiliza información de profundidad para sintetizar coordenadas estereoscópicas para características extraídas en imágenes. De esta forma, nuestro sistema puede manejar entrada desde estéreo o RGB-D. A diferencia de todos los métodos anteriores, el backend de nuestro método se basa en BA y puede obtener una reconstrucción dispersa globalmente consistente. Por lo tanto, nuestro método es liviano y puede ejecutarse en CPU estándar. Nuestro objetivo es lograr una localización a largo plazo y globalmente consistente en lugar de una reconstrucción densa con más detalles. Sin embargo, nuestro método también puede reconstruir con precisión el entorno local en tiempo real al realizar una fusión de mapas de profundidad con poses de fotogramas clave de alta precisión, o procesar los mapas de profundidad de todos los fotogramas clave después de BA global para obtener la escena completa.Modelos 3D precisos.

3 ORB-SLAM2

ORB-SLAM2 basado en cámaras binoculares y RGB-D se basa en nuestro ORB-SLAM monocular basado en funciones [1]. Para comodidad del lector, resumimos aquí los componentes básicos del monocular ORB-SLAM. Una descripción general del sistema ORB-SLAM2 basado en cámaras binoculares y RGB-D se basa en nuestro ORB-SLAM monocular basado en funciones. Para comodidad del lector, resumimos aquí los componentes básicos del monocular ORB-SLAM. Figura 2 ORB-SLAM2 consta de tres subprocesos paralelos principales: seguimiento, mapeo local y detección de bucles. Después de la detección de bucle invertido, se ejecutará el cuarto subproceso para realizar BA global. El hilo de seguimiento preprocesa las entradas binoculares y RGB-D, lo que permite que el resto del sistema funcione independientemente de los sensores de entrada. Aunque no se muestra en esta figura, ORB-SLAM2 también puede funcionar con entrada monocular. La figura 2 proporciona una descripción general del sistema. El sistema tiene tres subprocesos paralelos principales: 1) el subproceso de seguimiento se usa para localizar la posición de la cámara en cada cuadro, haciendo coincidir las características y los mapas locales y realizando BA de solo movimiento (BA de solo movimiento) para minimizar el error de reproyección; 2) ) El subproceso de mapeo local se usa para administrar y optimizar el mapa local; 3) El subproceso de detección de bucles se usa para detectar bucles grandes y corregir el error acumulativo mediante la optimización del gráfico de pose. Después de optimizar el gráfico de pose, este subproceso iniciará el cuarto subproceso para ejecutar el BA global para calcular la estructura óptima y los resultados de movimiento.

 Figura 2 ORB-SLAM2 consta de tres subprocesos paralelos principales: seguimiento, mapeo local y detección de bucles. Después de la detección de bucle invertido, se ejecutará el cuarto subproceso para realizar BA global. El hilo de seguimiento preprocesa las entradas binoculares y RGB-D, lo que permite que el resto del sistema funcione independientemente de los sensores de entrada. Aunque no se muestra en esta figura, ORB-SLAM2 también puede funcionar con entradas monoculares [1]. (a) Subprocesos y módulos del sistema (b) Preprocesamiento de entrada

El sistema incorpora un módulo de reconocimiento de posición basado en DBoW2 [16], que se utiliza para la relocalización en caso de falla de seguimiento (p. ej., colisión) o reinicialización en la escena mapeada, y para la detección de cierre de bucle. El sistema mantiene un mapa visible [8], que conecta cada dos fotogramas clave que observan el mismo punto del mapa; al mismo tiempo, el sistema también mantiene un árbol de expansión mínimo, que conecta todos los fotogramas clave. Esta estructura de mapa realiza la recuperación de la ventana local del cuadro clave, por lo que el subproceso de seguimiento y el subproceso de mapeo local pueden ejecutarse localmente, de modo que pueda funcionar en una escena grande; al mismo tiempo, la estructura también se puede usar para Optimización del gráfico de poses durante el cierre del bucle Se puede utilizar como una estructura gráfica optimizada.

El sistema utiliza las mismas características de ORB [17] para tareas de seguimiento, mapeo y reconocimiento de lugares. Estas características son resistentes a los cambios de rotación y escala, así como invariables a la ganancia automática de la cámara, la exposición automática y los cambios de iluminación. Además, la velocidad de extracción y combinación de características de ORB es rápida, lo que permite ejecutar en tiempo real, y muestra una buena precisión/recuperación en la tarea de reconocimiento de posición del modelo de bolsa de palabras [18].

En el resto de esta sección, mostramos cómo usar la información de profundidad/estéreo y qué partes del sistema se verán afectadas. Para obtener una descripción más detallada de cada parte del sistema, consulte nuestro documento monocular ORB-SLAM [1].

3.1 Puntos clave de monocular, estéreo cercano y estéreo lejano

Como método basado en características, ORB-SLAM2 preprocesa la entrada y extrae características en puntos clave destacados, como se muestra en la Figura 2b. A continuación, la imagen de entrada se descartará y todos los cálculos del sistema se basarán en estas características, por lo que el sistema puede funcionar independientemente de la entrada binocular o RGB-D. Nuestro sistema maneja puntos clave monoculares y estéreo, que se dividen en puntos cercanos y lejanos.

x_s=(u_L,v_L,u_R )Los puntos clave estéreo (binoculares) se definen mediante coordenadas tridimensionales , (u_L,v_L ) que son las coordenadas del punto clave en la imagen de la izquierda y u_Rlas coordenadas horizontales del punto clave en la imagen de la derecha. Para cámaras binoculares, extraemos características ORB simultáneamente en las imágenes izquierda y derecha. Para cada función de ORB en la imagen de la izquierda, buscamos una coincidencia correspondiente en la imagen de la derecha. Para imágenes binoculares rectificadas, las líneas epipolares son horizontales, por lo que las tareas anteriores se pueden realizar de manera muy eficiente. Luego, generamos puntos clave estéreo de acuerdo con las coordenadas de la función ORB en la imagen de la izquierda y las coordenadas horizontales de la función coincidentes en la imagen de la derecha. Para las cámaras RGB-D, como afirman Strasdat et al.[8], extraemos las características ORB de las imágenes RGB. Para cada  (u_L,v_L ) característica con coordenadas, calculamos una coordenada de imagen derecha virtual de acuerdo con su valor de profundidad d:

u_R=u_L-(f_x b)/d

donde  f_xes la distancia focal horizontal; bes la longitud de referencia entre el proyector de luz resultante y la cámara IR, que configuramos en aproximadamente 8 cm en las cámaras Kinect y Asus Xtion. La incertidumbre del sensor de profundidad está representada por la coordenada derecha virtual. De esta forma, el resto del sistema puede procesar las características de la entrada estéreo o RGB-D de la misma manera.

Como se describe en [5], si el valor de profundidad de un punto clave estéreo es inferior a 40 veces la longitud de la línea base de binocular/RGB-D, se considera un punto cercano; de lo contrario, se considera un punto lejano. Los puntos clave cercanos se pueden triangular de forma segura, ya que su profundidad se puede estimar con precisión y se proporciona información de escala, traslación y rotación. Por otro lado, los puntos clave distantes, si bien brindan información de rotación precisa, no pueden brindar información precisa de escala y traducción. Por lo tanto, solo triangulamos puntos clave distantes cuando existen en múltiples vistas.

x_m=(u_L,v_L)Los puntos clave monoculares están definidos por las coordenadas bidimensionales en la imagen de la izquierda  Si la coincidencia binocular de la función ORB falla o la cámara RGB-D no puede obtener su valor de profundidad efectivo, se utiliza este método. Estos puntos solo se triangulan en vista múltiple y no brindan información de escala, pero se pueden usar para la estimación de rotación y traslación.

3.2 Arranque del sistema

Uno de los principales beneficios de usar una cámara binocular o RGB-D es que podemos obtener directamente la información de profundidad de una imagen de un solo cuadro, sin la necesidad de usar una inicialización SFM (estructura a partir del movimiento) específica como en SLAM monocular. Al iniciar el sistema, creamos un fotograma clave en el primer fotograma, establecemos su pose como la pose inicial y construimos un mapa inicial a partir de todos los puntos clave estéreo.

3.3 Método de optimización del haz (BA) bajo restricciones monoculares y binoculares

Nuestro sistema utiliza BA en el subproceso de seguimiento para optimizar la pose de la cámara (BA de movimiento puro), en el subproceso de mapeo local para optimizar las ventanas locales de fotogramas clave y puntos (BA local), y para optimizar todos los fotogramas clave y puntos después del cierre del bucle (BA global). ). Usamos el método Levenberg-Marquardt implementado en g2o [19] para la optimización.

Pure motion BA (motion-only BA) optimiza la matriz de rotación  \mathbf{R} \in SO(3)y la posición  de la cámara, minimizando el error de reproyección entre el punto 3D y el punto clave \mathbf{t}\en \mathbb{R}^{3}en el sistema de coordenadas del mundo coincidente   (punto monocular   o punto binocular  , para todas las coincidencias correctas ):\mathbf{X}^{i}\en \mathbb{R}^{3}\mathbf{x}_{(\cdot)}^{i}\mathbf{x}_{\mathrm{m}}^{i}\mathbb{R}^{2}\mathbf{x}_{\mathrm{s}}^{i}\mathbb{R}^{3}yo \en \mathcal{X}

\{\mathbf{R}, \mathbf{t}\}=\interpret{\mathbf{R}, \mathbf{t}}{\operatorname{argmin}} \sum_{i\in \mathcal{X}} \rho\left(\left\|\mathbf{x}_{(\cdot)}^{i}-\pi_{(\cdot)}\left(\mathbf{R}\mathbf{X}^{i }+\mathbf{t}\derecho)\derecho\|_{\Sigma}^{2}\derecho)

 donde \rhoes la función de costo robusta de Huber y \sumaes la matriz de covarianza de la escala de puntos clave. Entre ellas, la función de proyección \pi_{(\cdot)}, la función de proyección monocular \pi_my la función de proyección binocular corregida \pi_sse definen de la siguiente manera:

\pi_{\mathrm{m}}\left(\left[\begin{arreglo}{l} X \\ Y \\ Z \end{arreglo}\right]\right)=\left[\begin{arreglo} {l} f_{x} \frac{X}{Z}+c_{x} \\ f_{y} \frac{Y}{Z}+c_{y} \end{matriz}\right], \pi_ {\mathrm{s}}\left(\left[\begin{array}{l} X \\ Y \\ Z \end{array}\right]\right)=\left[\begin{array}{c } f_{x} \frac{X}{Z}+c_{x} \\ f_{y} \frac{Y}{Z}+c_{y} \\ f_{x} \frac{Xb}{Z }+c_{x} \end{matriz}\right]

Donde (f_x,f_y)es la distancia focal, (c_x, c_y)es el punto del centro óptico by es la longitud de la línea de base, y estos valores se obtienen a través de la calibración.

BA global es un caso especial de BA local, en el que se optimizan todos los fotogramas clave y los puntos del mapa excepto el fotograma clave inicial, que se fija para eliminar los grados de libertad computacionales.

BA local asocia un conjunto de fotogramas clave visibles \mathcal{K}_Lcon todos los puntos visibles en esos fotogramas clave \mathcal{P}_L. Todos los demás fotogramas clave que no están \mathcal{K}_Len , pero que también observan los puntos en , también participarán en el cálculo de la función de costo, pero no se optimizarán. Definimos el conjunto de pares coincidentes entre puntos en y puntos clave en el fotograma clave k como , y definimos el problema de optimización de la siguiente manera:\mathcal{P}_L\mathcal{K}_F\mathcal{P}_L\mathcal{X}_k

\begin{array}{c}\left\{\mathbf{X}^{i}, \mathbf{R}_{l}, \mathbf{t}_{l} |  yo \en \mathcal{P}_{L}, l \en \mathcal{K}_{L}\right\}=\mathbf{X}^{i}, \mathbf{R}_{ l}, \mathbf{t}_{l}}{\operatorname{argmin}} \sum_{k \in \mathcal{K}_{L}\cup \mathcal{K}_{F}} \sum_{ j \in \mathcal{X}_{k}}\rho\left(E_{kj}\right) \\E_{kj}=\left\|\mathbf{x}_{(\cdot)}^{ j}- \pi_{(\cdot)}\left(\mathbf{R}_{k} \mathbf{X}^{j}+\mathbf{t}_{k}\right)\right\|_ {\Sigma }^{2}\end{matriz}

BA global es un caso especial de BA local, en el que se optimizan todos los fotogramas clave y los puntos del mapa excepto el fotograma clave inicial, que se fija para eliminar los grados de libertad computacionales.

3.4 Detección de bucles y BA global

La detección de cierre de bucle se realiza en dos pasos: el primer paso es detectar y confirmar el cierre de bucle, y el segundo paso es corregir el cierre de bucle optimizando el gráfico de pose. En comparación con ORB-SLAM monocular, que puede tener desviación de escala [20], la información binocular/de profundidad hará que la escala sea observable, por lo que la verificación geométrica y la optimización de gráficos de poses ya no necesitan lidiar con la desviación de escala; al mismo tiempo, se basa sobre cuerpos rígidos Transformación en vez de basada en la semejanza.

En ORB-SLAM2, utilizamos la optimización BA global para obtener la solución óptima después de la optimización del gráfico de pose. Este proceso de optimización puede ser costoso, por lo que lo colocamos en un hilo separado, para que el sistema pueda continuar creando mapas y detectando bucles invertidos. Pero en este caso, será difícil fusionar la salida BA con el estado actual del mapa. Si se encuentra un nuevo ciclo mientras se ejecuta la optimización, detenemos la optimización y, en su lugar, cerramos el ciclo, lo que inicia nuevamente la optimización BA global. Cuando se completa el BA global, es necesario fusionar el conjunto de fotogramas clave y puntos actualizados por la optimización BA global con los fotogramas clave y puntos no actualizados insertados durante el proceso de optimización. Esto se hace pasando la corrección de los fotogramas clave actualizados (transformación de la pose no optimizada a la pose optimizada) por el árbol de expansión a los fotogramas clave no actualizados. Los puntos que no se actualizan se transforman según la revisión de su marco de referencia.

3.5 Inserción de fotogramas clave

ORB-SLAM2 sigue la estrategia introducida en ORB-SLAM monocular: inserta fotogramas clave con frecuencia y luego elimina fotogramas clave redundantes. La diferencia entre el punto estéreo cercano y el punto estéreo lejano nos permite introducir una nueva condición al insertar fotogramas clave, que es muy importante cuando hay una gran parte de la escena en el entorno lejos del sensor binocular, como se muestra en Se muestra la figura 3. En tal entorno, necesitamos tener suficientes puntos cercanos para estimar con precisión la traducción, por lo que cuando el número de puntos cercanos rastreados es menor y \tenso}este cuadro puede crear al menos \tau_{s}nuevos puntos cercanos estéreo, el sistema Insertar insertará este cuadro como un nuevo fotograma clave. Según la experiencia, en nuestros experimentos, \tau_{t} = 100, \tau_{s} = 70el efecto de .

Figura 3 Puntos de seguimiento en KITTI 01. Los puntos verdes representan puntos con valores de profundidad inferiores a 40 veces la longitud de la línea de base binocular y los puntos azules representan puntos más lejanos. En este tipo de secuencia de video, es necesario insertar cuadros clave con frecuencia para que el número total de puntos cercanos cumpla con el requisito de estimar con precisión la cantidad de traducción. Los puntos distantes son útiles para estimar la rotación, pero no tanto para estimar la traslación y la escala.

3.6 Modo de posicionamiento

Nuestro sistema incluye un modo de localización que es eficiente para la localización ligera a largo plazo en regiones bien mapeadas, siempre que el entorno no cambie significativamente. En este modo, el subproceso de mapeo local y el subproceso de detección de bucle están desactivados, y la cámara se reposiciona continuamente mediante la función de reposicionamiento del subproceso de seguimiento si es necesario. En este modo, el hilo de seguimiento usa pares coincidentes de la odometría visual y los empareja con los puntos del mapa. Un par coincidente en odometría visual se refiere a un par coincidente entre las características del ORB en el cuadro actual y los puntos 3D creados a partir de la información binocular/de profundidad en el cuadro anterior. Estos pares coincidentes hacen que la función de localización sea más sólida en regiones no mapeadas, pero sufren una deriva acumulativa. La coincidencia con los puntos del mapa garantiza un posicionamiento sin desviación en el área del mapa. Este modo se demuestra y explica en el video adjunto.

4 comentarios

Evaluamos el rendimiento de ORB-SLAM2 en tres conjuntos de datos de uso común y lo comparamos con otros sistemas SLAM de última generación. Los resultados de la evaluación de otros sistemas SLAM que utilizamos provienen de las métricas de evaluación estándar del artículo del autor original. Ejecutamos ORB-SLAM2 en una computadora de escritorio con un Intel Core i7-4790 y 16 GB de RAM. Para evitar que la incertidumbre del sistema de subprocesos múltiples afecte los resultados de la evaluación, ejecutamos cada secuencia de datos 5 veces y finalmente mostramos el valor medio de los resultados de precisión de estimación de trayectoria. Nuestra implementación de código abierto incluye la calibración de la cámara e instrucciones sobre cómo ejecutar el sistema ORB-SLAM2 en estos conjuntos de datos.

4.1 Conjunto de datos KITTI

El conjunto de datos KITTI [2] incluye secuencias de video binoculares capturadas por vehículos en entornos urbanos y de carretera. La longitud de referencia del sensor binocular es de 54 cm, la frecuencia de trabajo es de 10 Hz y la resolución corregida es de 1240×376 píxeles. Donde las secuencias de video 00, 02, 05, 06, 07 y 09 incluyen loopbacks. Nuestro sistema ORB-SLAM2 puede detectar todos los cierres de bucle y puede reutilizar el mapa posteriormente (excepto para la secuencia de video 09, ya que los cierres de bucle solo ocurren en unos pocos fotogramas hacia el final de la secuencia). La Tabla 1 presenta los resultados de la evaluación de 11 secuencias de video de entrenamiento con las verdades de campo correspondientes disponibles públicamente. Hasta donde sabemos, solo los algoritmos SLAM binoculares pueden obtener resultados matizados en todas las secuencias de video mencionadas anteriormente, por lo que comparamos nuestro método con el actual LSD-SLAM binocular de última generación [11]. Usamos dos métricas diferentes, traducción absoluta RMSE t_abs [3], error medio de traducción relativo t_rel, error medio de rotación relativa r_rel [2]. Nuestro sistema supera al LSD-SLAM binocular en la mayoría de las secuencias de video, generalmente con un error relativo de menos del 1 %. La secuencia de video que se muestra en la Figura 3 es la única secuencia de video en la carretera en el conjunto de entrenamiento y su error de traducción es ligeramente peor. En esta secuencia, la cantidad de traducción es más difícil de estimar debido a que la alta velocidad y la baja velocidad de fotogramas dan como resultado que se rastreen muy pocos puntos. Sin embargo, la rotación estimada es muy precisa, con un error de solo 0,21 grados por cada 100 metros, porque hay muchos puntos distantes que se pueden rastrear durante mucho tiempo. La figura 4 muestra algunos ejemplos de trayectorias estimadas.

Tabla 1 Comparación de la precisión de cada sistema SLAM en el conjunto de datos KITTI

 

 Figura 4 Trayectorias estimadas (negro) y realidad del terreno (rojo) en KITTI 00, 01, 05, 07: en comparación con los resultados monoculares de ORB-SLAM en [1], la versión binocular propuesta en este documento puede manejar el procesamiento del sistema monocular No hay video secuencia 01. En la Figura 3 se puede ver que en esta secuencia de carreteras, los puntos cercanos solo pueden seguir apareciendo en unos pocos fotogramas. La versión binocular puede crear puntos de mapa basados ​​en un fotograma clave estéreo, sin la necesidad de una versión estéreo que solo necesita un fotograma clave estéreo para crear puntos de mapa, en lugar de usar una inicialización diferida como monocular (en dos fotogramas clave buscando pares coincidentes), lo que hace es menos probable que se pierda en esta secuencia. Además, los sistemas estéreo pueden estimar la escala de mapas y trayectorias sin deriva de escala.

Figura 5. Trayectorias estimadas (negro) y realidad del terreno (rojo) en KITTI 08. Izquierda: ORB-SLAM monocular [1]; Derecha: ORB-SLAM2 (binocular). ORBSLAM monocular produce una deriva de escala severa en esta secuencia, especialmente en los giros. En comparación, la versión binocular propuesta en este artículo puede estimar la escala exacta de trayectorias y mapas sin desviación de escala.

4.2 Conjunto de datos EuroC

El conjunto de datos reciente de EuRoc [21] contiene 11 secuencias de video binoculares capturadas por un microvehículo aéreo no tripulado (MAV) en dos casas diferentes y un gran entorno industrial. El sensor binocular tiene una longitud de línea base de 11 cm y genera imágenes WVGA a 20 Hz. Estas secuencias de video se clasifican en fácil, medio y difícil según la velocidad del microdron, las condiciones de iluminación y la textura de la escena. En todas las secuencias de video, los microdrones regresan a lugares en los que han estado antes, lo que permite que el sistema ORB-SLAM2 reutilice mapas o cierre bucles cuando sea necesario. La Tabla 2 muestra el error cuadrático medio de la cantidad de traducción absoluta de ORB-SLAM2 y LSD-SLAM binocular [11] en todas las secuencias de video de este conjunto de datos. La precisión de posicionamiento de ORB-SLAM2 alcanza el nivel de centímetro, que es más alto que el de LSD-SLAM binocular. Nuestro módulo de seguimiento pierde algunas partes de la secuencia V2_03_difícil debido a un grave desenfoque de movimiento. Como se describe en [22], esta secuencia se puede procesar agregando información de la unidad de medida inercial (IMU). La figura 6 muestra la comparación entre algunas estimaciones de trayectoria calculadas y la realidad del terreno.

Tabla 2 Conjunto de datos EuRoC: Comparación de los resultados del error cuadrático medio de la raíz de traducción (RMSE)

Fig. 6 Trayectorias estimadas (negro) y valores verdaderos (rojo) en secuencias EuRoC V1 02 medio, V2 02 medio, MH 03 medio y MH 05 difícil.

4.3 Conjunto de datos TUM RGB-D

El conjunto de datos TUM RGB-D [3] consiste en secuencias de video de interiores capturadas por sensores RGB-D agrupados en varias categorías para evaluar métodos de reconstrucción de objetos y SLAM/odometría bajo diferentes texturas, iluminación y condiciones estructurales. Mostramos los resultados de la evaluación en varias secuencias de video que se usan más comúnmente para evaluar los métodos RGB-D. En la Tabla 3 comparamos la precisión de nuestro método con los mejores métodos actuales (ElasticFusion [15], Kintinuous [12], DVO-SLAM [14], RGB-D SLAM [13]), nuestro método es el único BA- basado en el método, y su efecto es mejor que otros métodos en la mayoría de las secuencias. Hemos observado que el RGB-D SLAM en [1] tiene una desviación de escala del 4 % en el mapa de profundidad de la secuencia Freiburg 2, que puede deberse a una calibración incorrecta, por lo que compensamos esto sobre la marcha. Esto explica en parte nuestros buenos resultados. La Figura 7 muestra los resultados de la nube de puntos obtenidos al proyectar hacia atrás el mapa de profundidad del sensor de acuerdo con las poses de fotogramas clave calculadas en cuatro secuencias de video. Los resultados experimentales muestran que nuestro método reconstruye bien los contornos de tablas y carteles, lo que demuestra que nuestro método tiene una alta precisión de localización.

Tabla 3 Conjunto de datos TUM RGB-D: Comparación de los resultados del error cuadrático medio de la raíz de traducción

Figura 7 Reconstrucción de nube de puntos densa de secuencias TUM RGB-D fr3_office, fr1_room, fr2_desk, fr3_nst en función de la pose estimada de fotogramas clave y el mapa de profundidad del sensor.

4.4 Resultados de cronometraje

Para evaluar nuestro sistema propuesto de manera más completa, mostramos el consumo de tiempo computacional bajo diferentes resoluciones de imagen y condiciones de sensor en tres secuencias de video en la Tabla 4. Mostramos el tiempo promedio transcurrido por hilo y su rango de dos desviaciones estándar. Debido a que estas secuencias consisten en un solo bucle, algunas tareas del BA global y los subprocesos de detección de bucle solo deben realizarse una vez, por lo que solo mostramos una única medida de tiempo. El tiempo promedio de seguimiento por cuadro en cada secuencia es menor que el inverso de la velocidad de cuadro de la cámara, lo que significa que nuestro sistema puede ejecutarse en tiempo real. Debido a que la extracción de características ORB en las imágenes binoculares izquierda y derecha es paralela, se puede ver que la velocidad de extracción de 1000 características ORB en la imagen WVGA binocular de la secuencia V2_02 es la misma que en el canal de imagen VGA único de fr3_office Cuantitativo Las características toman aproximadamente la misma cantidad de tiempo.

Tabla 4 Tiempo de cálculo por hilo/ms (media ± 2 desviaciones estándar)

Mostramos el número de fotogramas clave en el cierre del bucle, que se utiliza como referencia para el consumo de tiempo de detección del cierre del bucle. Aunque la secuencia KITTI 07 contiene más fotogramas clave, el gráfico de convisibilidad de la secuencia interior fr3_office es más denso, por lo que la sobrecarga de la fusión de cierre de bucle, la optimización del gráfico de poses y el BA global es mayor. Cuanto más denso sea el gráfico de convisibilidad, más marcos y puntos fuera de lugar contiene el mapa local, por lo que la sobrecarga del seguimiento del mapa local y BA local será mayor.

5. Conclusión

Proponemos un sistema SLAM completo basado en sensores monoculares, binoculares o RGB-D, que pueden realizar la relocalización en tiempo real, el cierre de bucles y la reutilización de mapas en una CPU estándar. Nuestro enfoque es construir mapas globalmente consistentes para la localización a largo plazo en los entornos a gran escala presentados en nuestros experimentos. Nuestro esquema de localización propuesto, que incluye la relocalización, es un método de localización robusto, ligero y sin desviación en entornos conocidos. Este modo se puede adaptar para aplicaciones específicas, como el seguimiento del punto de vista del usuario en realidad virtual donde el entorno está bien mapeado.

En comparación con los mejores sistemas SLAM actuales, ORB logra la mayor precisión en la mayoría de los casos. En el benchmark de odometría visual KITTI, ORB-SLAM2 es actualmente la mejor solución SLAM binocular. Es importante destacar que, en comparación con el método de odometría visual binocular recientemente popular, ORB-SLAM2 logra una localización de desviación cero en el área mapeada.

Sorprendentemente, nuestros resultados RGB-D muestran que BA funciona mejor que los métodos directos o ICP si se requiere la localización de cámara de mayor precisión, además es menos intensivo en computación y se puede hacer en tiempo real sin depender de la ejecución de GPU.

Publicamos el código fuente del sistema, ejemplos e instrucciones, para que otros investigadores puedan usar el sistema fácilmente. Hasta donde sabemos, ORB-SLAM2 es el primer sistema SLAM visual de código abierto que funciona con entradas monoculares, binoculares o RGB-D. Además, nuestro código fuente incluye un ejemplo de aplicación de realidad aumentada utilizando una cámara monocular para demostrar las posibilidades de nuestra solución.

Las direcciones de investigación futuras pueden incluir: múltiples cámaras que no se superponen, cámaras de ojo de pez, soporte de cámara panorámica, fusión densa a gran escala, mapeo colaborativo y robustez mejorada para el desenfoque de movimiento.

Reimpreso en: https://www.cnblogs.com/MingruiYu/p/12991119.html

Supongo que te gusta

Origin blog.csdn.net/weixin_58045467/article/details/130887883
Recomendado
Clasificación