Determinar la posición y orientación de un robot mediante el análisis de imágenes de cámara asociadas
En robótica y visión artificial , la odometría visual es el proceso de determinar la posición y orientación de un robot mediante el análisis de las imágenes de la cámara asociada. Se ha utilizado en una amplia variedad de aplicaciones robóticas, como en los vehículos de exploración de Marte . [1]
Descripción general
En navegación , la odometría es el uso de datos del movimiento de actuadores para estimar el cambio de posición a lo largo del tiempo a través de dispositivos como codificadores rotatorios para medir las rotaciones de las ruedas. Si bien son útiles para muchos vehículos con ruedas u orugas, las técnicas de odometría tradicionales no se pueden aplicar a robots móviles con métodos de locomoción no estándar, como los robots con patas . Además, la odometría sufre universalmente problemas de precisión, ya que las ruedas tienden a resbalar y deslizarse sobre el suelo creando una distancia recorrida no uniforme en comparación con las rotaciones de las ruedas. El error se agrava cuando el vehículo opera en superficies no lisas. Las lecturas de odometría se vuelven cada vez menos confiables a medida que estos errores se acumulan y agravan con el tiempo.
La odometría visual es el proceso de determinar información odométrica equivalente utilizando imágenes secuenciales de la cámara para estimar la distancia recorrida. La odometría visual permite una mayor precisión de navegación en robots o vehículos que utilizan cualquier tipo de locomoción en cualquier superficie [ cita requerida ] .
Tipos
Existen varios tipos de VO.
Monocular y estéreo
Dependiendo de la configuración de la cámara, la VO se puede clasificar como VO monocular (cámara única), VO estéreo (dos cámaras en configuración estéreo).
Método directo y basado en características
La información visual de la VO tradicional se obtiene mediante el método basado en características, que extrae los puntos característicos de la imagen y los rastrea en la secuencia de imágenes. Los avances recientes en la investigación de la VO proporcionaron una alternativa, llamada método directo, que utiliza la intensidad de los píxeles en la secuencia de imágenes directamente como entrada visual. También existen métodos híbridos.
Odometría inercial visual
Si se utiliza una unidad de medición inercial (IMU) dentro del sistema VO, comúnmente se denomina odometría inercial visual (VIO).
Algoritmo
La mayoría de los enfoques existentes para la odometría visual se basan en las siguientes etapas.
Verifique los vectores del campo de flujo para detectar posibles errores de seguimiento y elimine los valores atípicos. [7]
Estimación del movimiento de la cámara a partir del flujo óptico. [8] [9] [10] [11]
Opción 1: Filtro Kalman para el mantenimiento de la distribución de estimaciones de estado.
Opción 2: encontrar las propiedades geométricas y 3D de las características que minimizan una función de costo en función del error de reproyección entre dos imágenes adyacentes. Esto se puede hacer mediante minimización matemática o muestreo aleatorio .
Repoblación periódica de puntos de seguimiento para mantener la cobertura en toda la imagen.
Una alternativa a los métodos basados en características es la técnica de odometría visual "directa" o basada en la apariencia, que minimiza un error directamente en el espacio del sensor y, posteriormente, evita la coincidencia y extracción de características. [4] [12] [13]
Otro método, denominado "visiodometría", estima las roto-traducciones planares entre imágenes utilizando la correlación de fase en lugar de extraer características. [14] [15]
Egomoción
El egomotion se define como el movimiento 3D de una cámara dentro de un entorno. [16] En el campo de la visión artificial , el egomotion se refiere a la estimación del movimiento de una cámara en relación con una escena rígida. [17] Un ejemplo de estimación del egomotion sería la estimación de la posición de movimiento de un automóvil en relación con las líneas de la carretera o las señales de la calle que se observan desde el propio automóvil. La estimación del egomotion es importante en las aplicaciones de navegación de robots autónomos . [18]
Descripción general
El objetivo de estimar el movimiento propio de una cámara es determinar el movimiento 3D de esa cámara dentro del entorno utilizando una secuencia de imágenes tomadas por la cámara. [19] El proceso de estimar el movimiento de una cámara dentro de un entorno implica el uso de técnicas de odometría visual en una secuencia de imágenes capturadas por la cámara en movimiento. [20] Esto se hace típicamente utilizando la detección de características para construir un flujo óptico a partir de dos cuadros de imagen en una secuencia [16] generada a partir de cámaras individuales o cámaras estéreo. [20] El uso de pares de imágenes estéreo para cada cuadro ayuda a reducir el error y proporciona información adicional de profundidad y escala. [21] [22]
Las características se detectan en el primer fotograma y luego se combinan en el segundo fotograma. Esta información se utiliza para crear el campo de flujo óptico para las características detectadas en esas dos imágenes. El campo de flujo óptico ilustra cómo las características divergen desde un único punto, el foco de expansión . El foco de expansión se puede detectar a partir del campo de flujo óptico, lo que indica la dirección del movimiento de la cámara y, por lo tanto, proporciona una estimación del movimiento de la cámara.
También existen otros métodos para extraer información de ego-movimiento de las imágenes, incluido un método que evita la detección de características y los campos de flujo óptico y utiliza directamente las intensidades de la imagen. [16]
^ Maimone, M.; Cheng, Y.; Matthies, L. (2007). "Dos años de odometría visual en los vehículos exploradores de Marte" (PDF) . Journal of Field Robotics . 24 (3): 169–186. CiteSeerX 10.1.1.104.3110 . doi :10.1002/rob.20184. S2CID 17544166 . Consultado el 10 de julio de 2008 .
^ Chhaniyara, Savan; KASPAR ALTHOEFER; LAKMAL D. SENEVIRATNE (2008). "Técnica de odometría visual mediante identificación de marcadores circulares para la estimación de parámetros de movimiento". Avances en robótica móvil: Actas de la undécima conferencia internacional sobre robots trepadores y caminantes y tecnologías de soporte para máquinas móviles, Coimbra, Portugal . La undécima conferencia internacional sobre robots trepadores y caminantes y tecnologías de soporte para máquinas móviles. Vol. 11. World Scientific, 2008. Archivado desde el original el 24 de febrero de 2012. Consultado el 22 de enero de 2010 .
^ ab Nister, D; Naroditsky, O.; Bergen, J (enero de 2004). Odometría visual . Visión por computadora y reconocimiento de patrones, 2004. CVPR 2004. Vol. 1. págs. I–652 – I–659 Vol.1. doi :10.1109/CVPR.2004.1315094.
^ ab Comport, AI; Malis, E.; Rives, P. (2010). F. Chaumette; P. Corke; P. Newman (eds.). "Odometría visual cuadrifocal en tiempo real". Revista internacional de investigación en robótica . 29 (2–3): 245–266. CiteSeerX 10.1.1.720.3113 . doi :10.1177/0278364909356601. S2CID 15139693.
^ Scaramuzza, D.; Siegwart, R. (octubre de 2008). "Odometría visual omnidireccional monocular guiada por apariencia para vehículos terrestres al aire libre". IEEE Transactions on Robotics . 24 (5): 1015–1026. doi :10.1109/TRO.2008.2004490. hdl : 20.500.11850/14362 . S2CID 13894940.
^ Corke, P.; Strelow, D.; Singh, S. "Odometría visual omnidireccional para un explorador planetario". Robots y sistemas inteligentes, 2004. (IROS 2004). Actas. Conferencia internacional IEEE/RSJ de 2004 sobre . Vol. 4. doi :10.1109/IROS.2004.1390041.
^ Campbell, J.; Sukthankar, R.; Nourbakhsh, I.; Pittsburgh, IR "Técnicas para evaluar el flujo óptico para la odometría visual en terrenos extremos". Robots y sistemas inteligentes, 2004. (IROS 2004). Actas. Conferencia internacional IEEE/RSJ de 2004 sobre . Vol. 4. doi :10.1109/IROS.2004.1389991.
^ Sunderhauf, N.; Konolige, K.; Lacroix, S.; Protzel, P. (2005). "Odometría visual mediante ajuste de haz disperso en un vehículo autónomo para exteriores". En Leví; Schanz; Lafrenz; Avrutin (eds.). Tagungsband Autonome Mobile Systeme 2005 (PDF) . Reihe Informatik aktuell. Springer Verlag. págs. 157-163. Archivado desde el original (PDF) el 11 de febrero de 2009 . Consultado el 10 de julio de 2008 .
^ Konolige, K.; Agrawal, M.; Bolles, RC; Cowan, C.; Fischler, M.; Gerkey, BP (2008). "Mapeo y navegación al aire libre mediante visión estereoscópica". Experimental Robotics . Springer Tracts in Advanced Robotics. Vol. 39. págs. 179–190. doi :10.1007/978-3-540-77457-0_17. ISBN978-3-540-77456-3.
^ Olson, CF; Matthies, L.; Schoppers, M.; Maimone, MW (2002). "Navegación de rover usando ego-movimiento estéreo" (PDF) . Robótica y sistemas autónomos . 43 (4): 215–229. doi :10.1016/s0921-8890(03)00004-6 . Consultado el 6 de junio de 2010 .
^ Cheng, Y.; Maimone, MW; Matthies, L. (2006). "Odometría visual en los vehículos exploradores de Marte". Revista IEEE Robotics and Automation . 13 (2): 54–62. CiteSeerX 10.1.1.297.4693 . doi :10.1109/MRA.2006.1638016. S2CID 15149330.
^ Engel, Jakob; Schöps, Thomas; Cremers, Daniel (2014). "LSD-SLAM: SLAM monocular directo a gran escala" (PDF) . En Fleet D.; Pajdla T.; Schiele B.; Tuytelaars T. (eds.). Visión artificial . Conferencia Europea sobre Visión Artificial 2014. Apuntes de conferencias en Ciencias de la Computación. Vol. 8690. doi :10.1007/978-3-319-10605-2_54.
^ Engel, Jakob; Sturm, Jürgen; Cremers, Daniel (2013). "Odometría visual semidensa para una cámara monocular" (PDF) . IEEE International Conference on Computer Vision (ICCV) . CiteSeerX 10.1.1.402.6918 . doi :10.1109/ICCV.2013.183.
^ Zaman, M. (2007). "Localización relativa de alta precisión utilizando una sola cámara". Robótica y automatización, 2007. (ICRA 2007). Actas. Conferencia internacional IEEE 2007 sobre . doi :10.1109/ROBOT.2007.364078.
^ Zaman, M. (2007). "Localización relativa de alta resolución utilizando dos cámaras". Revista de Robótica y Sistemas Autónomos . 55 (9): 685–692. doi :10.1016/j.robot.2007.05.008.
^ abc Irani, M.; Rousso, B.; Peleg S. (junio de 1994). "Recuperación del movimiento del ego mediante estabilización de imagen" (PDF) . Conferencia de la IEEE Computer Society sobre visión artificial y reconocimiento de patrones : 21–23 . Consultado el 7 de junio de 2010 .
^ Burger, W.; Bhanu, B. (noviembre de 1990). "Estimación de egomotion 3D a partir de una secuencia de imágenes en perspectiva". IEEE Transactions on Pattern Analysis and Machine Intelligence . 12 (11): 1040–1058. doi :10.1109/34.61704. S2CID 206418830.
^ Shakernia, O.; Vidal, R.; Shankar, S. (2003). "Estimación omnidireccional de egomociones a partir de flujo de retroproyección" (PDF) . Taller de la Conferencia sobre visión artificial y reconocimiento de patrones . 7 : 82. CiteSeerX 10.1.1.5.8127 . doi :10.1109/CVPRW.2003.10074. S2CID 5494756 . Consultado el 7 de junio de 2010 .
^ Tian, T.; Tomasi, C.; Heeger, D. (1996). "Comparación de enfoques para la computación egomotriz" (PDF) . Conferencia de la IEEE Computer Society sobre visión artificial y reconocimiento de patrones : 315. Archivado desde el original (PDF) el 8 de agosto de 2008. Consultado el 7 de junio de 2010 .
^ ab Milella, A.; Siegwart, R. (enero de 2006). "Estimación de movimiento ego basada en estéreo mediante seguimiento de píxeles y punto más cercano iterativo" (PDF) . IEEE International Conference on Computer Vision Systems : 21. Archivado desde el original (PDF) el 17 de septiembre de 2010. Consultado el 7 de junio de 2010 .
^ Olson, CF; Matthies, L.; Schoppers, M.; Maimoneb MW (junio de 2003). "Navegación de rover usando ego-movimiento estéreo" (PDF) . Robótica y sistemas autónomos . 43 (9): 215–229. doi :10.1016/s0921-8890(03)00004-6 . Consultado el 7 de junio de 2010 .
^ Sudin Dinesh, Koteswara Rao, K.; Unnikrishnan, M.; Brinda, V.; Lalithambika, VR; Dhekane, MV "Mejoras en el algoritmo de odometría visual para vehículos de exploración planetaria". Conferencia internacional IEEE sobre tendencias emergentes en comunicaciones, control, procesamiento de señales y aplicaciones informáticas (C2SPCA), 2013