{"id":{"repo_id":"tdl","oai_identifier":"oai:tdl-ir.tdl.org:10657/18370"},"canonical_url":"https://search.dev.ndltd.org/etd/tdl/oai:tdl-ir.tdl.org:10657/18370","repository":{"repo_id":"tdl","name":"Texas Digital Library","base_url":"https://tdl-ir.tdl.org/server/oai/request"},"display":{"title":"GPU Accelerated Refined Tensor Voting","abstract":"Gathering and extracting meaningful and reliable information from visual data can be challenging, especially when dealing with noisy or incomplete data. Edge detection algorithms such as the Canny edge detector or the Sobel operator attempt to solve this issue by detecting and isolating image edges. However, they often fail in the presence of noise or extracting higher-level structures. Noise removal techniques such as Gaussian blur exist. Still, they usually come at the cost of losing essential details in the image, leading to a smoothing effect that can obscure critical features such as edges, corners, or textures. This trade-off between noise reduction and feature retention limits their effectiveness in applications where clarity and accuracy are crucial. The Tensor Voting algorithm offers a robust perceptual organization and feature extraction solution by leveraging geometric and contextual information. However, its high computational complexity has limited its adoption in many cases. Tensors do not always fall within what the original framework describes as the &quot;osculating circle.&quot; There is no way to refine the width of the vote field to prevent votes from being cast out into regions where no votes should be cast. Finally, iterative voting increases the overall energy in the image causing the structure to distort. The research presented in this paper aims to explain the Tensor Voting algorithm, outline the math involved, provide a way to allow tensor voting to vote orthogonal to the tensor as well as laterally, add method in which the user can control the width of the vote field, normalize tensor voting for use in iterative voting, and address the algorithm&apos;s computational complexity by parallelizing the 2D Tensor Voting algorithm using CUDA on NVIDIA GPUs. We discuss the challenges of parallelizing the algorithm, including a discussion between the scatter and gather versions. Experimental results show that parallelizing the Tensor Voting algorithm with CUDA can achieve up to three orders of magnitude over the CPU implementation.","abstract_html":"Gathering and extracting meaningful and reliable information from visual data can be challenging, especially when dealing with noisy or incomplete data. Edge detection algorithms such as the Canny edge detector or the Sobel operator attempt to solve this issue by detecting and isolating image edges. However, they often fail in the presence of noise or extracting higher-level structures. Noise removal techniques such as Gaussian blur exist. Still, they usually come at the cost of losing essential details in the image, leading to a smoothing effect that can obscure critical features such as edges, corners, or textures. This trade-off between noise reduction and feature retention limits their effectiveness in applications where clarity and accuracy are crucial. The Tensor Voting algorithm offers a robust perceptual organization and feature extraction solution by leveraging geometric and contextual information. However, its high computational complexity has limited its adoption in many cases. Tensors do not always fall within what the original framework describes as the &amp;quot;osculating circle.&amp;quot; There is no way to refine the width of the vote field to prevent votes from being cast out into regions where no votes should be cast. Finally, iterative voting increases the overall energy in the image causing the structure to distort. The research presented in this paper aims to explain the Tensor Voting algorithm, outline the math involved, provide a way to allow tensor voting to vote orthogonal to the tensor as well as laterally, add method in which the user can control the width of the vote field, normalize tensor voting for use in iterative voting, and address the algorithm&amp;apos;s computational complexity by parallelizing the 2D Tensor Voting algorithm using CUDA on NVIDIA GPUs. We discuss the challenges of parallelizing the algorithm, including a discussion between the scatter and gather versions. Experimental results show that parallelizing the Tensor Voting algorithm with CUDA can achieve up to three orders of magnitude over the CPU implementation.","abstract_has_math":false,"creators":["Baig, Omar Ahmed 1998-"],"institution":null,"degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":["Mayerich, David","Chen, Guoning","Roysam, Badrinath","Fu, Xin"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2024,"date_issued":"2024-12","date_published":"2024-12","updated_at":"2026-07-27T21:19:24Z","subjects":["Image Processing","Parallel Computing"],"languages":["English"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/10657/18370","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Mayerich, David","Chen, Guoning","Roysam, Badrinath","Fu, Xin"]},{"key":"dc:creator","label":"Author","values":["Baig, Omar Ahmed 1998-"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2026-03-24T15:51:37Z"]},{"key":"dc:date.issued","label":"Date","values":["2024-12"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Image Processing","Parallel Computing"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["English"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/10657/18370"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/10657/18370"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Gathering and extracting meaningful and reliable information from visual data can be challenging, especially when dealing with noisy or incomplete data. Edge detection algorithms such as the Canny edge detector or the Sobel operator attempt to solve this issue by detecting and isolating image edges. However, they often fail in the presence of noise or extracting higher-level structures. Noise removal techniques such as Gaussian blur exist. Still, they usually come at the cost of losing essential details in the image, leading to a smoothing effect that can obscure critical features such as edges, corners, or textures. This trade-off between noise reduction and feature retention limits their effectiveness in applications where clarity and accuracy are crucial. The Tensor Voting algorithm offers a robust perceptual organization and feature extraction solution by leveraging geometric and contextual information. However, its high computational complexity has limited its adoption in many cases. Tensors do not always fall within what the original framework describes as the &quot;osculating circle.&quot; There is no way to refine the width of the vote field to prevent votes from being cast out into regions where no votes should be cast. Finally, iterative voting increases the overall energy in the image causing the structure to distort. The research presented in this paper aims to explain the Tensor Voting algorithm, outline the math involved, provide a way to allow tensor voting to vote orthogonal to the tensor as well as laterally, add method in which the user can control the width of the vote field, normalize tensor voting for use in iterative voting, and address the algorithm&apos;s computational complexity by parallelizing the 2D Tensor Voting algorithm using CUDA on NVIDIA GPUs. We discuss the challenges of parallelizing the algorithm, including a discussion between the scatter and gather versions. Experimental results show that parallelizing the Tensor Voting algorithm with CUDA can achieve up to three orders of magnitude over the CPU implementation."]},{"key":"dc:title","label":"Title","values":["GPU Accelerated Refined Tensor Voting"]}]}],"canonical_facts":{"dc:contributor":["Mayerich, David","Chen, Guoning","Roysam, Badrinath","Fu, Xin"],"dc:creator":["Baig, Omar Ahmed 1998-"],"dc:date.accessioned":["2026-03-24T15:51:37Z"],"dc:date.issued":["2024-12"],"dc:description.abstract":["Gathering and extracting meaningful and reliable information from visual data can be challenging, especially when dealing with noisy or incomplete data. Edge detection algorithms such as the Canny edge detector or the Sobel operator attempt to solve this issue by detecting and isolating image edges. However, they often fail in the presence of noise or extracting higher-level structures. Noise removal techniques such as Gaussian blur exist. Still, they usually come at the cost of losing essential details in the image, leading to a smoothing effect that can obscure critical features such as edges, corners, or textures. This trade-off between noise reduction and feature retention limits their effectiveness in applications where clarity and accuracy are crucial. The Tensor Voting algorithm offers a robust perceptual organization and feature extraction solution by leveraging geometric and contextual information. However, its high computational complexity has limited its adoption in many cases. Tensors do not always fall within what the original framework describes as the &quot;osculating circle.&quot; There is no way to refine the width of the vote field to prevent votes from being cast out into regions where no votes should be cast. Finally, iterative voting increases the overall energy in the image causing the structure to distort. The research presented in this paper aims to explain the Tensor Voting algorithm, outline the math involved, provide a way to allow tensor voting to vote orthogonal to the tensor as well as laterally, add method in which the user can control the width of the vote field, normalize tensor voting for use in iterative voting, and address the algorithm&apos;s computational complexity by parallelizing the 2D Tensor Voting algorithm using CUDA on NVIDIA GPUs. We discuss the challenges of parallelizing the algorithm, including a discussion between the scatter and gather versions. Experimental results show that parallelizing the Tensor Voting algorithm with CUDA can achieve up to three orders of magnitude over the CPU implementation."],"dc:identifier":["https://hdl.handle.net/10657/18370"],"dc:identifier.uri":["https://hdl.handle.net/10657/18370"],"dc:language":["English"],"dc:subject":["Image Processing","Parallel Computing"],"dc:title":["GPU Accelerated Refined Tensor Voting"],"dc:type":["Thesis"]},"updated_at":"2026-07-27T21:19:24Z"}