The Experts below are selected from a list of 41406 Experts worldwide ranked by ideXlab platform
Donald G Bailey - One of the best experts on this subject based on the ideXlab platform.
-
Comparative Study and Proof of Single-Pass Connected Components Algorithms
Journal of Mathematical Imaging and Vision, 2019Co-Authors: Michael J. Klaiber, Donald G Bailey, Sven SimonAbstract:Union-find algorithms form the basis of managing sets of equivalent labels within most Connected Components labelling algorithms. The new class of single-pass Connected Components analysis (CCA) algorithms (where a feature vector of each component is extracted during processing) are analysed and compared within this context. Such algorithms have been developed for stream processing, using customised hardware architectures. Many of these use an improved union-find algorithm requiring only a single lookup for its find operation. This paper analyses this optimisation and formally proves that the resulting single lookup Connected Components algorithm associates each pixel with its correct component when extracting the Components’ feature vectors. Analysis of the algorithm led to a new double lookup algorithm that reduces the total number of memory accesses and is a step towards unifying pixel-based methods and run-based methods. State-of-the-art CCA algorithms are compared in terms of the number of memory accesses, which is a limiting factor for hardware-based acceleration, with key implementation trade-offs identified between hardware resources and worst-case processing speed.
-
Zig-Zag Based Single-Pass Connected Components Analysis
MDPI AG, 2019Co-Authors: Donald G Bailey, Michael J. KlaiberAbstract:Single-pass Connected Components analysis (CCA) algorithms suffer from a time overhead to resolve labels at the end of each image row. This work demonstrates how this overhead can be eliminated by replacing the conventional raster scan by a zig-zag scan. This enables chains of labels to be correctly resolved while processing the next image row. The effect is faster processing in the worst case with no end of row overheads. CCA hardware architectures using the novel algorithm proposed in this paper are, therefore, able to process images at higher throughput than other state-of-the-art methods while reducing the hardware requirements. The latency introduced by the conversion from raster scan to zig-zag scan is compensated for by a new method of detecting object completion, which enables the feature vector for completed Connected Components to be output at the earliest possible opportunity
-
Connected Components analysis of streamed images
Field-Programmable Logic and Applications, 2008Co-Authors: Donald G Bailey, Christopher T. JohnstonAbstract:Classical Connected Components labelling algorithms are unsuitable for real-time processing of streamed images on an FPGA because they require two passes through the image. The basic requirements of Connected Components analysis are investigated, and this led to a novel single-pass approach that avoids the need to buffer an intermediate image. This is further analysed to give an algorithm that is both memory efficient and has the minimum latency. The final algorithm reduces the memory by over 300 times, and reduces the latency by more than a factor of 2.
-
FPGA implementation of a Single Pass Connected Components Algorithm
4th IEEE International Symposium on Electronic Design Test and Applications (delta 2008), 2008Co-Authors: Christopher T. Johnston, Donald G BaileyAbstract:The classic Connected Components labelling algorithm requires two passes through an image. This paper presents an algorithm that allows the Connected Components to be analysed in a single pass by gathering data on the regions as they are built. This avoids the need for buffering the image, making it ideally suited for processing streamed images on an FPGA or other embedded system with limited memory. An FPGA-based implementation is described, emphasising the modifications made to the algorithm to enable it to satisfy timing constraints.
-
FPL - Connected Components analysis of streamed images
2008 International Conference on Field Programmable Logic and Applications, 2008Co-Authors: Donald G Bailey, Christopher T. JohnstonAbstract:Classical Connected Components labelling algorithms are unsuitable for real-time processing of streamed images on an FPGA because they require two passes through the image. The basic requirements of Connected Components analysis are investigated, and this led to a novel single-pass approach that avoids the need to buffer an intermediate image. This is further analysed to give an algorithm that is both memory efficient and has the minimum latency. The final algorithm reduces the memory by over 300 times, and reduces the latency by more than a factor of 2.
Christopher T. Johnston - One of the best experts on this subject based on the ideXlab platform.
-
Connected Components analysis of streamed images
Field-Programmable Logic and Applications, 2008Co-Authors: Donald G Bailey, Christopher T. JohnstonAbstract:Classical Connected Components labelling algorithms are unsuitable for real-time processing of streamed images on an FPGA because they require two passes through the image. The basic requirements of Connected Components analysis are investigated, and this led to a novel single-pass approach that avoids the need to buffer an intermediate image. This is further analysed to give an algorithm that is both memory efficient and has the minimum latency. The final algorithm reduces the memory by over 300 times, and reduces the latency by more than a factor of 2.
-
FPGA implementation of a Single Pass Connected Components Algorithm
4th IEEE International Symposium on Electronic Design Test and Applications (delta 2008), 2008Co-Authors: Christopher T. Johnston, Donald G BaileyAbstract:The classic Connected Components labelling algorithm requires two passes through an image. This paper presents an algorithm that allows the Connected Components to be analysed in a single pass by gathering data on the regions as they are built. This avoids the need for buffering the image, making it ideally suited for processing streamed images on an FPGA or other embedded system with limited memory. An FPGA-based implementation is described, emphasising the modifications made to the algorithm to enable it to satisfy timing constraints.
-
FPL - Connected Components analysis of streamed images
2008 International Conference on Field Programmable Logic and Applications, 2008Co-Authors: Donald G Bailey, Christopher T. JohnstonAbstract:Classical Connected Components labelling algorithms are unsuitable for real-time processing of streamed images on an FPGA because they require two passes through the image. The basic requirements of Connected Components analysis are investigated, and this led to a novel single-pass approach that avoids the need to buffer an intermediate image. This is further analysed to give an algorithm that is both memory efficient and has the minimum latency. The final algorithm reduces the memory by over 300 times, and reduces the latency by more than a factor of 2.
-
Single Pass Connected Components Analysis
2007Co-Authors: Donald G Bailey, Christopher T. JohnstonAbstract:The classic Connected Components labelling algorithm requires a minimum of 2 passes through an image. This paper presents a modification of this algorithm that allows the resolution of merged labels to be deferred. This enables the subsequent data analysis step to be combined with the labelling procedure, with the result that Connected Components can be analysed in a single pass by gathering data on the regions as they are built. This avoids the need for buffering the image, making the algorithm ideally suited for processing streamed images on an FPGA or other embedded system with limited memory. It is shown that an FPGA-based design could use 1 clock cycle per pixel with a small overhead to manage merging of “U” shaped Components. It is demonstrated that the worst case overhead is 20% of the image, although for typical images the overhead is less than 1%.
Veronika Loitzenbauer - One of the best experts on this subject based on the ideXlab platform.
-
finding 2 edge and 2 vertex strongly Connected Components in quadratic time
International Colloquium on Automata Languages and Programming, 2015Co-Authors: Monika Henzinger, Sebastian Krinninger, Veronika LoitzenbauerAbstract:We present faster algorithms for computing the 2-edge and 2-vertex strongly Connected Components of a directed graph. While in undirected graphs the 2-edge and 2-vertex Connected Components can be found in linear time, in directed graphs with m edges and n vertices only rather simple O(m n)-time algorithms were known. We use a hierarchical sparsification technique to obtain algorithms that run in time \(O(n^2)\). For 2-edge strongly Connected Components our algorithm gives the first running time improvement in 20 years. Additionally we present an \(O(m^2 /\log n)\)-time algorithm for 2-edge strongly Connected Components, and thus improve over the O(m n) running time also when \(m = O(n)\). Our approach extends to k-edge and k-vertex strongly Connected Components for any constant k with a running time of \(O(n^2 \log n)\) for k-edge-connectivity and \(O(n^3)\) for k-vertex-connectivity.
-
ICALP (1) - Finding 2-edge and 2-vertex strongly Connected Components in quadratic time
Automata Languages and Programming, 2015Co-Authors: Monika Henzinger, Sebastian Krinninger, Veronika LoitzenbauerAbstract:We present faster algorithms for computing the 2-edge and 2-vertex strongly Connected Components of a directed graph. While in undirected graphs the 2-edge and 2-vertex Connected Components can be found in linear time, in directed graphs with m edges and n vertices only rather simple O(m n)-time algorithms were known. We use a hierarchical sparsification technique to obtain algorithms that run in time \(O(n^2)\). For 2-edge strongly Connected Components our algorithm gives the first running time improvement in 20 years. Additionally we present an \(O(m^2 /\log n)\)-time algorithm for 2-edge strongly Connected Components, and thus improve over the O(m n) running time also when \(m = O(n)\). Our approach extends to k-edge and k-vertex strongly Connected Components for any constant k with a running time of \(O(n^2 \log n)\) for k-edge-connectivity and \(O(n^3)\) for k-vertex-connectivity.
Monika Henzinger - One of the best experts on this subject based on the ideXlab platform.
-
finding 2 edge and 2 vertex strongly Connected Components in quadratic time
International Colloquium on Automata Languages and Programming, 2015Co-Authors: Monika Henzinger, Sebastian Krinninger, Veronika LoitzenbauerAbstract:We present faster algorithms for computing the 2-edge and 2-vertex strongly Connected Components of a directed graph. While in undirected graphs the 2-edge and 2-vertex Connected Components can be found in linear time, in directed graphs with m edges and n vertices only rather simple O(m n)-time algorithms were known. We use a hierarchical sparsification technique to obtain algorithms that run in time \(O(n^2)\). For 2-edge strongly Connected Components our algorithm gives the first running time improvement in 20 years. Additionally we present an \(O(m^2 /\log n)\)-time algorithm for 2-edge strongly Connected Components, and thus improve over the O(m n) running time also when \(m = O(n)\). Our approach extends to k-edge and k-vertex strongly Connected Components for any constant k with a running time of \(O(n^2 \log n)\) for k-edge-connectivity and \(O(n^3)\) for k-vertex-connectivity.
-
ICALP (1) - Finding 2-edge and 2-vertex strongly Connected Components in quadratic time
Automata Languages and Programming, 2015Co-Authors: Monika Henzinger, Sebastian Krinninger, Veronika LoitzenbauerAbstract:We present faster algorithms for computing the 2-edge and 2-vertex strongly Connected Components of a directed graph. While in undirected graphs the 2-edge and 2-vertex Connected Components can be found in linear time, in directed graphs with m edges and n vertices only rather simple O(m n)-time algorithms were known. We use a hierarchical sparsification technique to obtain algorithms that run in time \(O(n^2)\). For 2-edge strongly Connected Components our algorithm gives the first running time improvement in 20 years. Additionally we present an \(O(m^2 /\log n)\)-time algorithm for 2-edge strongly Connected Components, and thus improve over the O(m n) running time also when \(m = O(n)\). Our approach extends to k-edge and k-vertex strongly Connected Components for any constant k with a running time of \(O(n^2 \log n)\) for k-edge-connectivity and \(O(n^3)\) for k-vertex-connectivity.
Michael J. Klaiber - One of the best experts on this subject based on the ideXlab platform.
-
Comparative Study and Proof of Single-Pass Connected Components Algorithms
Journal of Mathematical Imaging and Vision, 2019Co-Authors: Michael J. Klaiber, Donald G Bailey, Sven SimonAbstract:Union-find algorithms form the basis of managing sets of equivalent labels within most Connected Components labelling algorithms. The new class of single-pass Connected Components analysis (CCA) algorithms (where a feature vector of each component is extracted during processing) are analysed and compared within this context. Such algorithms have been developed for stream processing, using customised hardware architectures. Many of these use an improved union-find algorithm requiring only a single lookup for its find operation. This paper analyses this optimisation and formally proves that the resulting single lookup Connected Components algorithm associates each pixel with its correct component when extracting the Components’ feature vectors. Analysis of the algorithm led to a new double lookup algorithm that reduces the total number of memory accesses and is a step towards unifying pixel-based methods and run-based methods. State-of-the-art CCA algorithms are compared in terms of the number of memory accesses, which is a limiting factor for hardware-based acceleration, with key implementation trade-offs identified between hardware resources and worst-case processing speed.
-
Zig-Zag Based Single-Pass Connected Components Analysis
MDPI AG, 2019Co-Authors: Donald G Bailey, Michael J. KlaiberAbstract:Single-pass Connected Components analysis (CCA) algorithms suffer from a time overhead to resolve labels at the end of each image row. This work demonstrates how this overhead can be eliminated by replacing the conventional raster scan by a zig-zag scan. This enables chains of labels to be correctly resolved while processing the next image row. The effect is faster processing in the worst case with no end of row overheads. CCA hardware architectures using the novel algorithm proposed in this paper are, therefore, able to process images at higher throughput than other state-of-the-art methods while reducing the hardware requirements. The latency introduced by the conversion from raster scan to zig-zag scan is compensated for by a new method of detecting object completion, which enables the feature vector for completed Connected Components to be output at the earliest possible opportunity