Computer vision systems employ a sequence of algorithms that exhibit different computational characteristics. These algorithms require different data decomposition and load balancing techniques for efficient parallel implementations. This paper presents several techniques to perform static and dynamic data decomposition for common computer vision algorithms. They exploit the distribution of features as a measure of load for data decomposition. In these techniques, the distribution of features computed during the parallel execution of the current algorithm allows an informed partitioning for the next algorithm in the pipeline, keeping overhead involved in estimating the load small. Performance results obtained from a shared memory multiprocessor implementation using these techniques are presented. Furthermore, a classification of common vision algorithms based on their suitability for one or more data decomposition techniques is given. Improvements of up to four times over the performance of uniform block-oriented partitioning were obtained.
ASJC Scopus subject areas
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence