Abstract

Connected Components Labeling (CCL) is a crucial step of several image processing and computer vision pipelines. Many efficient sequential strategies exist, among which one of the most effective is the use of a block-based mask to drastically cut the number of memory accesses. In the last decade, aided by the fast development of Graphics Processing Units (GPUs), a lot of data parallel CCL algorithms have been proposed along with sequential ones. Applications that entirely run in GPU can benefit from parallel implementations of CCL that allow to avoid expensive memory transfers between host and device. In this paper, two new eight-connectivity CCL algorithms are proposed, namely Block-based Union Find (BUF) and Block-based Komura Equivalence (BKE). These algorithms optimize existing GPU solutions introducing a block-based approach. Extensions for three-dimensional datasets are also discussed. In order to produce a fair comparison with previously proposed alternatives, YACCLAB, a public CCL benchmarking framework, has been extended and made suitable for evaluating also GPU algorithms. Moreover, three-dimensional datasets have been added to its collection. Experimental results on real cases and synthetically generated datasets demonstrate the superiority of the new proposals with respect to state-of-the-art, both on 2D and 3D scenarios.

Highlights

  • C ONNECTED Components Labeling (CCL) is a fundamental image processing algorithm that extracts connected components (CC) from an input binary image

  • Our contribution includes the extension of YACCLAB [30], [31] (Yet Another Connected Components LAbeling Benchmark), a public benchmark to evaluate the performance of sequential CCL algorithms

  • This section defines the problem of connected components labeling, introducing the basic notations used throughout the paper

Read more

Summary

INTRODUCTION

C ONNECTED Components Labeling (CCL) is a fundamental image processing algorithm that extracts connected components (CC) from an input binary image. CCL is not as easy to parallelize as many other image processing tasks Being it essentially a graph theory problem, algorithms need to perform graph traversal at a certain degree, which is an inherently sequential operation. We propose two new 8-connectivity GPUbased connected components labeling methods that improve previously proposed algorithms by taking advantage of the 2×2 block-based approach originally presented in [26] for sequential algorithms This allows to drastically reduce the amount of memory accesses, improving overall performance. Our contribution includes the extension of YACCLAB [30], [31] (Yet Another Connected Components LAbeling Benchmark), a public benchmark to evaluate the performance of sequential CCL algorithms This extension introduces support for GPU and 3D CCL algorithms, alongside new 3D tests and datasets.

CONNECTED COMPONENTS LABELING
The Union-Find data structure
RELATED WORK
Iterative algorithms
Direct algorithms
The Union Find algorithm
The Komura Equivalence algorithm
The Block-Based approach
PROPOSED ALGORITHMS
Block-Based Union Find
YACCLAB
Datasets
Assessment Strategies
Random Synthetic Images
COMPARATIVE EVALUATION
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call