Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA

Detalhes bibliográficos
Autor(a) principal: Breda, Vinícius
Data de Publicação: 2015
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/143811
Resumo: A detecção de regiões planares em nuvem de pontos é um problema recorrente em visão computacional com as mais diversas aplicações práticas, como a calibração automática de câmeras, o reconhecimento de estruturas em cenas 3D, engenharia reversa e realidade aumentada. O algoritmo de detecção de regiões planares em nuvem de pontos não-organizadas estudado neste trabalho (LIMBERGER; OLIVEIRA, 2015) é uma forma eficiente de resolver este problema em complexidade O(NlogN). O método consiste em três etapas: (1) Subdivisão da nuvem de pontos em regiões aproximadamente coplanares, utilizando uma octree; (2) Esquema de votação para cada nodo definido nesta octree, acumulando os votos em um acumulador esférico; e (3) Detecção de picos no acumulador esférico, definindo as regiões planares de maior importância. Este trabalho explora o paralelismo de GPUs para tentar melhorar o desempenho do algoritmo definido utilizando a arquitetura CUDA, criada pela NVIDIA, com foco no uso de sua função de Paralelismo Dinâmico. Foram propostas duas abordagens para geração da octree, uma puramente em GPU utilizando o Paralelismo Dinâmico e outra híbrida intercalando processamento entre CPU e GPU, e uma abordagem para a etapa de votação aproveitando o paralelismo nas dimensões do acumulador esférico. Nos resultados das abordagens de octree foram observadas as dificuldades da utilização de paralelismo em GPU quando existe uma necessidade alta de sincronismo e a indispensabilidade de estruturas de dados melhores adaptadas a arquitetura CUDA. Já na abordagem de votação foi observado ganho de desempenho para nuvens de até um milhão de pontos.
id UFRGS-2_b50e3f546c3271e78ba385be634407b2
oai_identifier_str oai:www.lume.ufrgs.br:10183/143811
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Breda, ViníciusOliveira Neto, Manuel Menezes de2016-07-22T02:16:40Z2015http://hdl.handle.net/10183/143811000972305A detecção de regiões planares em nuvem de pontos é um problema recorrente em visão computacional com as mais diversas aplicações práticas, como a calibração automática de câmeras, o reconhecimento de estruturas em cenas 3D, engenharia reversa e realidade aumentada. O algoritmo de detecção de regiões planares em nuvem de pontos não-organizadas estudado neste trabalho (LIMBERGER; OLIVEIRA, 2015) é uma forma eficiente de resolver este problema em complexidade O(NlogN). O método consiste em três etapas: (1) Subdivisão da nuvem de pontos em regiões aproximadamente coplanares, utilizando uma octree; (2) Esquema de votação para cada nodo definido nesta octree, acumulando os votos em um acumulador esférico; e (3) Detecção de picos no acumulador esférico, definindo as regiões planares de maior importância. Este trabalho explora o paralelismo de GPUs para tentar melhorar o desempenho do algoritmo definido utilizando a arquitetura CUDA, criada pela NVIDIA, com foco no uso de sua função de Paralelismo Dinâmico. Foram propostas duas abordagens para geração da octree, uma puramente em GPU utilizando o Paralelismo Dinâmico e outra híbrida intercalando processamento entre CPU e GPU, e uma abordagem para a etapa de votação aproveitando o paralelismo nas dimensões do acumulador esférico. Nos resultados das abordagens de octree foram observadas as dificuldades da utilização de paralelismo em GPU quando existe uma necessidade alta de sincronismo e a indispensabilidade de estruturas de dados melhores adaptadas a arquitetura CUDA. Já na abordagem de votação foi observado ganho de desempenho para nuvens de até um milhão de pontos.Detection of planar regions in point clouds is a recurring problem in computer vision with various practical applications like automatic cameras calibration, structures recognition in 3D scenes, reverse engineering and augmented reality. The algorithm for detection of planar regions in unorganized point clouds studied in this work (LIMBERGER; OLIVEIRA, 2015) presents a very efficient way of solving this problem in complexity of O(NlogN). The method consists in three stages: (1) A point cloud subdivision in approximately planar regions, using an octree; (2) A voting scheme for every node defined in the octree, accumulating the votes in a spherical accumulator; and (3) A peak detection in the spherical accumulator, finding the most important planar regions. This work explores the GPU parallelism with the goal to improve the algorithm performance using the CUDA architecture, created by NVIDIA, with focus in its feature of Dynamic Parallelism. Two approaches for the octree generation are proposed, one exclusively on the GPU using the CUDA’s Dynamic Parallelism and a second hybrid approach, interleaving between CPU and GPU. Also an approach for the voting procedure is presented, taking advantage of the dimensions of the spherical accumulator. In the results of both the octree approaches is observed the difficulties in the use of parallelism in GPU when there is a high need for synchronism and the necessity of structures better adapted to the CUDA architecture. However, in the voting approach is observed a performance gain for clouds up to a million points.application/pdfporComputação em nuvemParalelismoDetection of planar regions in unorganized point cloudsCUDADynamic parallelismDetecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDAAutomatic plane detection in unstructured point clouds using dynamic parallelism in CUDA info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2015Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000972305.pdf000972305.pdfTexto completoapplication/pdf1942507http://www.lume.ufrgs.br/bitstream/10183/143811/1/000972305.pdf66a609d66489330b6d4be78504887487MD51TEXT000972305.pdf.txt000972305.pdf.txtExtracted Texttext/plain56601http://www.lume.ufrgs.br/bitstream/10183/143811/2/000972305.pdf.txtaa44202137c25471b78de5759374c85eMD52THUMBNAIL000972305.pdf.jpg000972305.pdf.jpgGenerated Thumbnailimage/jpeg1109http://www.lume.ufrgs.br/bitstream/10183/143811/3/000972305.pdf.jpgc6c4ace2bd138d4264aee32531dc173eMD5310183/1438112018-10-29 07:38:53.696oai:www.lume.ufrgs.br:10183/143811Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-29T10:38:53Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
dc.title.alternative.en.fl_str_mv Automatic plane detection in unstructured point clouds using dynamic parallelism in CUDA
title Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
spellingShingle Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
Breda, Vinícius
Computação em nuvem
Paralelismo
Detection of planar regions in unorganized point clouds
CUDA
Dynamic parallelism
title_short Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
title_full Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
title_fullStr Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
title_full_unstemmed Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
title_sort Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
author Breda, Vinícius
author_facet Breda, Vinícius
author_role author
dc.contributor.author.fl_str_mv Breda, Vinícius
dc.contributor.advisor1.fl_str_mv Oliveira Neto, Manuel Menezes de
contributor_str_mv Oliveira Neto, Manuel Menezes de
dc.subject.por.fl_str_mv Computação em nuvem
Paralelismo
topic Computação em nuvem
Paralelismo
Detection of planar regions in unorganized point clouds
CUDA
Dynamic parallelism
dc.subject.eng.fl_str_mv Detection of planar regions in unorganized point clouds
CUDA
Dynamic parallelism
description A detecção de regiões planares em nuvem de pontos é um problema recorrente em visão computacional com as mais diversas aplicações práticas, como a calibração automática de câmeras, o reconhecimento de estruturas em cenas 3D, engenharia reversa e realidade aumentada. O algoritmo de detecção de regiões planares em nuvem de pontos não-organizadas estudado neste trabalho (LIMBERGER; OLIVEIRA, 2015) é uma forma eficiente de resolver este problema em complexidade O(NlogN). O método consiste em três etapas: (1) Subdivisão da nuvem de pontos em regiões aproximadamente coplanares, utilizando uma octree; (2) Esquema de votação para cada nodo definido nesta octree, acumulando os votos em um acumulador esférico; e (3) Detecção de picos no acumulador esférico, definindo as regiões planares de maior importância. Este trabalho explora o paralelismo de GPUs para tentar melhorar o desempenho do algoritmo definido utilizando a arquitetura CUDA, criada pela NVIDIA, com foco no uso de sua função de Paralelismo Dinâmico. Foram propostas duas abordagens para geração da octree, uma puramente em GPU utilizando o Paralelismo Dinâmico e outra híbrida intercalando processamento entre CPU e GPU, e uma abordagem para a etapa de votação aproveitando o paralelismo nas dimensões do acumulador esférico. Nos resultados das abordagens de octree foram observadas as dificuldades da utilização de paralelismo em GPU quando existe uma necessidade alta de sincronismo e a indispensabilidade de estruturas de dados melhores adaptadas a arquitetura CUDA. Já na abordagem de votação foi observado ganho de desempenho para nuvens de até um milhão de pontos.
publishDate 2015
dc.date.issued.fl_str_mv 2015
dc.date.accessioned.fl_str_mv 2016-07-22T02:16:40Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/143811
dc.identifier.nrb.pt_BR.fl_str_mv 000972305
url http://hdl.handle.net/10183/143811
identifier_str_mv 000972305
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/143811/1/000972305.pdf
http://www.lume.ufrgs.br/bitstream/10183/143811/2/000972305.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/143811/3/000972305.pdf.jpg
bitstream.checksum.fl_str_mv 66a609d66489330b6d4be78504887487
aa44202137c25471b78de5759374c85e
c6c4ace2bd138d4264aee32531dc173e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224513424195584