Detecção automática de planos em nuvens de pontos não-estruturados usando paralelismo dinâmico em CUDA
Autor(a) principal: | |
---|---|
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 |