000077610 001__ 77610 000077610 005__ 20190226114802.0 000077610 037__ $$aTAZ-TFG-2018-2876 000077610 041__ $$aspa 000077610 1001_ $$aLuesia Lahoz, Pablo 000077610 24200 $$aMemory and running time optimization of ORB-SLAM2 000077610 24500 $$aOptimización de memoria y tiempo de ejecución de ORB-SLAM2 000077610 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2018 000077610 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/ 000077610 520__ $$aORB-SLAM2 es una librería software desarrollada por el grupo de robótica y tiempo real de la Universidad de Zaragoza que permite calcular en tiempo real la trayectoria seguida por un agente (un robot, un vehículo autónomo, un dron, etc.), mientras construye un mapa del entorno, a partir de las imágenes obtenidas por una cámara embarcada en el agente. El objetivo de este trabajo es optimizar la librería en uso de memoria y tiempo de ejecución, y extenderla con funciones de almacenamiento de mapas. Se ha realizado un análisis de la ocupación en memoria y se ha comprobado que aumenta a medida que la cámara explora el entorno y el mapa va creciendo. Sin embargo, también se ha observado que, aunque el algoritmo elimine elementos del mapa por considerarlos redundantes, la ocupación en memoria no disminuye. Se ha implementado el uso de punteros inteligentes para los elementos del mapa, sin que la situación mejore. La conclusión es que hay una elevada fragmentación de la memoria, y aunque los datos desechados se eliminen correctamente, el sistema no es capaz de reutilizar la memoria liberada. Sería necesario un rediseño completo de las estructuras de datos del mapa, que queda fuera del alcance de este trabajo. Para el reconocimiento de lugares ORB-SLAM2 utiliza un método de bolsa de palabras, en el que los puntos de interés de cada imagen se pasan por un árbol de vocabulario para convertirlos en palabras visuales. Para optimizar esta parte, se ha implementado el árbol mediante una estructura de datos implícita, asegurando su contigüidad en memoria. Con ello se ha disminuido drásticamente el tiempo de carga del vocabulario desde disco, su ocupación en memoria, y el tiempo de recorrido del árbol, gracias, en parte, al mejor aprovechamiento de la caché del procesador. La librería se ha extendido con funciones de almacenar mapas en disco y cargarlos en otra ejecución, utilizando para ello la librería Boost. Con este cambio se permite compartir mapas entre distintas ejecuciones o incluso entre distintos sistemas. Esta extensión abre nuevas vías de trabajo futuro sobre esta librería, como mapeo de entornos multi-sesión o con varios agentes en paralelo. Como baterías de prueba para comprobar el correcto funcionamiento del sistema, así como para calcular las prestaciones obtenidas, se han utilizado las secuencias de imágenes KITTI y EUROC, proporcionadas por la comunidad robótica. 000077610 521__ $$aGraduado en Ingeniería Informática 000077610 540__ $$aDerechos regulados por licencia Creative Commons 000077610 700__ $$aTardós Solano, Juan Domingo$$edir. 000077610 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$cIngeniería de Sistemas y Automática 000077610 8560_ $$f698387@celes.unizar.es 000077610 8564_ $$s1886674$$uhttps://zaguan.unizar.es/record/77610/files/TAZ-TFG-2018-2876.pdf$$yMemoria (spa) 000077610 909CO $$ooai:zaguan.unizar.es:77610$$pdriver$$ptrabajos-fin-grado 000077610 950__ $$a 000077610 951__ $$adeposita:2019-02-26 000077610 980__ $$aTAZ$$bTFG$$cEINA 000077610 999__ $$a20180828161539.CREATION_DATE