Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10316/86498 |
Resumo: | Dissertação de Mestrado Integrado em Engenharia Electrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia |
id |
RCAP_451f7ca6b6dd045f1687d6ce659e7b5b |
---|---|
oai_identifier_str |
oai:estudogeral.uc.pt:10316/86498 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time PerformanceParalelização de um Algoritmo SLAM de Odometria Direta Esparsa com Desempenho em tempo-realSimultaneous Localization And Mapping (SLAM)Open Multi-Processing (OpenMP)MultiprocessamentoComputação paralelaSimultaneous Localization And Mapping (SLAM)Open Multi-Processing (OpenMP)MultiprocessingParallel ComputingDissertação de Mestrado Integrado em Engenharia Electrotécnica e de Computadores apresentada à Faculdade de Ciências e TecnologiaReconstrução 3D monocular é uma tarefa desafiadora em Visão por Computador, ainda mais quando o objetivo é executar em tempo real. Uma forma de obter mapas de reconstrução 3D é através de SLAM (Simultaneous Localization And Mapping), um problema de engenharia cada vez mais recorrente, principalmente na área de robótica. Consiste em construir, ou atualizar, computacionalmente, um mapa consistente de um ambiente desconhecido ao mesmo tempo que é guardada informação da posição do robô, ou da câmara. Variados algoritmos já foram implementados para solucionar este problema por outros autores, como LSD-SLAM [1], ORB-SLAM [2], DSO [3] ou PTAM [4], entre muitos outros. No entanto, apesar de todos estes algoritmos apresentarem bons resultados no que toca ao principal problema, estes são computacionalmente muito pesados. Assim, nesta dissertação é proposto uma versão modificada do algoritmo DSO SLAM, implementando técnicas de paralelização de código usando OpenMP, uma Interface de Programação de Aplicações (API) para paralelismo em programas C, C++ ou Fortran, que suporta programação de multiprocessamento de memória partilhada multiplataforma. Mais acerca do OpenMP irá ser discutido no capítulo 3. Com esta abordagem propomos múltiplas modificações ao código, de forma a tornar o tempo de execução do algoritmo de SLAM consideravelmente mais baixo. A solução implementada apresenta uma melhoria significativa na performance do algoritmo, em termos de tempo de execução, quando comparada com o código original. Foi também avaliada a performance da solução proposta nos datasets padrãoMonocular 3D reconstruction is a challenging Computer Vision task, even more when we aim at real-time performance. One way to obtain 3D reconstruction maps is through SLAM (Simultaneous Localization And Mapping), a recurrent engineering problem, mainly in the area of robotics. It consists in computationally build, or update, a consistent map of the unknown environment and to, simultaneously, save the pose of the robot, or the camera, at every given time. Numerous algorithms have already been implemented to solve this problem by other authors, for instance LSD-SLAM [1], ORB-SLAM [2], DSO [3] or PTAM[4], among many others. However, despite the fact that all these algorithms presents good results to the main problem, they are extremely computationally heavy. Hence, in this dissertation, we propose a modified version of DSO SLAM, which implements code parallelization techniques using Open Multi-Processing (OpenMP), an Application Program Interface (API) for parallelism in C, C++ and Fortran programs, that supports multi-plataform shared memory multiprocessing programming. More about OpenMP will be discussed on chapter 3. With this approach we propose multiple code modifications, in order to make the SLAM algorithm’s execution time considerably smaller. The implemented solution shows a significant improvement on the algorithm’s performance, in terms of execution time, when compared with the original code. The performance of the proposed solution was evaluated on the standard datasets.2018-09-242024-09-22T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/86498http://hdl.handle.net/10316/86498TID:202219135engPereira, César Augusto Andradeinfo:eu-repo/semantics/embargoedAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-10-27T10:53:00Zoai:estudogeral.uc.pt:10316/86498Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:07:38.116490Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance Paralelização de um Algoritmo SLAM de Odometria Direta Esparsa com Desempenho em tempo-real |
title |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance |
spellingShingle |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance Pereira, César Augusto Andrade Simultaneous Localization And Mapping (SLAM) Open Multi-Processing (OpenMP) Multiprocessamento Computação paralela Simultaneous Localization And Mapping (SLAM) Open Multi-Processing (OpenMP) Multiprocessing Parallel Computing |
title_short |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance |
title_full |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance |
title_fullStr |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance |
title_full_unstemmed |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance |
title_sort |
Parallelization of Direct Sparse Odometry SLAM Algorithm for Real-time Performance |
author |
Pereira, César Augusto Andrade |
author_facet |
Pereira, César Augusto Andrade |
author_role |
author |
dc.contributor.author.fl_str_mv |
Pereira, César Augusto Andrade |
dc.subject.por.fl_str_mv |
Simultaneous Localization And Mapping (SLAM) Open Multi-Processing (OpenMP) Multiprocessamento Computação paralela Simultaneous Localization And Mapping (SLAM) Open Multi-Processing (OpenMP) Multiprocessing Parallel Computing |
topic |
Simultaneous Localization And Mapping (SLAM) Open Multi-Processing (OpenMP) Multiprocessamento Computação paralela Simultaneous Localization And Mapping (SLAM) Open Multi-Processing (OpenMP) Multiprocessing Parallel Computing |
description |
Dissertação de Mestrado Integrado em Engenharia Electrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia |
publishDate |
2018 |
dc.date.none.fl_str_mv |
2018-09-24 2024-09-22T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10316/86498 http://hdl.handle.net/10316/86498 TID:202219135 |
url |
http://hdl.handle.net/10316/86498 |
identifier_str_mv |
TID:202219135 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/embargoedAccess |
eu_rights_str_mv |
embargoedAccess |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799133967686828032 |