Michael Stewart, Proprietor of Polymorphic Technologies, presents the “Implementing Image Pyramids Efficiently in Software,” tutorial at the May 2018 Embedded Vision Summit.
An image pyramid is a series of images, derived from a single original image, wherein each successive image is at a lower resolution than its predecessors. Image pyramids are widely used in computer vision, for example to enable detection of features at different scales.
After a brief introduction to image pyramids and their uses in vision applications, Stewart explores techniques for efficiently implementing image pyramids on various processor architectures, including CPUs and GPUs. He illustrates the use of fixed- and floating-point arithmetic, vectorization and parallelization to speed up image pyramid implementations. He also examines how memory caching approaches impact the performance of image pyramid code and discusses considerations for applications requiring real-time response or minimum latency.