Parallel and Distributed Computing for Processing Big Image and Video Data

This chapter presents two approaches for addressing the challenges of processing and analysis for Big image or video data. The first approach exploits the intrinsic data-parallel nature of common image processing techniques for processing large images or dataset of images in a distributed manner on a multi-node cluster. The implementation is done using Apache Hadoop’s MapReduce framework and Hadoop Image Processing Interface (HIPI) which facilitates efficient and high-throughput image processing. It also includes a description of a Parallel Image Processing Library (ParIPL) developed by the authors on this framework which is aimed to significantly simplify image processing using Hadoop. The library exploits parallelism at various levels—frame level and intra-frame level. The second approach uses high-end GPUs for efficient parallel implementation of specialized applications with high performance and real-time processing requirements. Parallel implementation of video object detection algorithm, which is the fundamental step in any surveillance-related analysis, is presented on GPU architecture along with fine-grain optimization techniques and algorithm innovation. Experimental results show significant speedups of the algorithms resulting in real-time processing of HD and panoramic resolution videos.

[1]  Christophe Fiorio,et al.  Two Linear Time Union-Find Strategies for Image Processing , 1996, Theor. Comput. Sci..

[2]  Kevin Skadron,et al.  Accelerating leukocyte tracking using CUDA: A case study in leveraging manycore coprocessors , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[3]  Z. Zivkovic Improved adaptive Gaussian mixture model for background subtraction , 2004, ICPR 2004.

[4]  Kentaro Toyama,et al.  Wallflower: principles and practice of background maintenance , 1999, Proceedings of the Seventh IEEE International Conference on Computer Vision.

[5]  Chun-Jen Chen,et al.  A linear-time component-labeling algorithm using contour tracing technique , 2004, Comput. Vis. Image Underst..

[6]  Arie Shoshani,et al.  Optimizing connected component labeling algorithms , 2005, SPIE Medical Imaging.

[7]  Guna Seetharaman,et al.  Parallel Blob Extraction Using the Multi-core Cell Processor , 2009, ACIVS.

[8]  Leonel Sousa,et al.  A Parallel Algorithm for Advanced Video Motion Estimation on Multicore Architectures , 2008, 2008 International Conference on Complex, Intelligent and Software Intensive Systems.

[9]  Ankush Mittal,et al.  Real-time moving object detection algorithm on high-resolution videos using GPUs , 2012, Journal of Real-Time Image Processing.

[10]  R. Miyamoto,et al.  Parallel implementation of morphological processing on Cell/BE with OpenCV interface , 2008, 2008 3rd International Symposium on Communications, Control and Signal Processing.

[11]  Ryusuke Miyamoto,et al.  Parallel implementation of morphological processing by arbitrary kernels on Cell/BE with OpenCV interface , 2008, APCCAS 2008 - 2008 IEEE Asia Pacific Conference on Circuits and Systems.

[12]  Ian D. Reid,et al.  Robust Real-Time Visual Tracking Using Pixel-Wise Posteriors , 2008, ECCV.

[13]  Rama Chellappa,et al.  Object Detection, Tracking and Recognition for Multiple Smart Cameras , 2008, Proceedings of the IEEE.

[14]  Carl G. Looney,et al.  Fast connected component labeling algorithm using a divide and conquer technique , 2000, CATA.

[15]  Trista Pei-chun Chen,et al.  Computer Vision Workload Analysis: Case Study of Video Surveillance Systems , 2005 .

[16]  M. MANOHAR,et al.  Connected component labeling of binary images on a mesh connected massively parallel processor , 1989, Comput. Vis. Graph. Image Process..

[17]  W. Eric L. Grimson,et al.  Adaptive background mixture models for real-time tracking , 1999, Proceedings. 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Cat. No PR00149).