Parallel training and testing methods for complex image processing algorithms on distributed, heterogeneous, unreliable, and non-dedicated resources

Advances in the image processing field have brought new methods which are able to perform complex tasks robustly. However, in order to meet constraints on functionality and reliability, imaging application developers often design complex algorithms with many parameters which must be finely tuned for each particular environment. The best approach for tuning these algorithms is to use an automatic training method, but the computational cost of this kind of training method is prohibitive, making it inviable even in powerful machines. The same problem arises when designing testing procedures. This work presents methods to train and test complex image processing algorithms in parallel execution environments. The approach proposed in this work is to use existing resources in offices or laboratories, rather than expensive clusters. These resources are typically non-dedicated, heterogeneous and unreliable. The proposed methods have been designed to deal with all these issues. Two methods are proposed: intelligent training based on genetic algorithms and PVM, and a full factorial design based on grid computing which can be used for training or testing. These methods are capable of harnessing the available computational power resources, giving more work to more powerful machines, while taking its unreliable nature into account. Both methods have been tested using real applications.

[1]  Hyun Seung Yang,et al.  Robust image segmentation using genetic algorithm with a fuzzy measure , 1996, Pattern Recognit..

[2]  J. Sziveri,et al.  Parallel processing neural networks and genetic algorithms , 1998 .

[3]  David P. Anderson,et al.  Exploiting non-dedicated resources for cloud computing , 2010, 2010 IEEE Network Operations and Management Symposium - NOMS 2010.

[4]  Timothy G. Mattson,et al.  Patterns for parallel programming , 2004 .

[5]  Daniel S. Myers,et al.  Necessity is the mother of invention: a simple grid computing system using commodity tools , 2003, J. Parallel Distributed Comput..

[6]  James L. Crowley,et al.  Autonomic Computer Vision Systems , 2007 .

[7]  Daniel F. García,et al.  Objective comparison of edge detection assessment methods based on genetic optimization , 2009, J. Electronic Imaging.

[8]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[9]  Bir Bhanu,et al.  Adaptive image segmentation using a genetic algorithm , 1989, IEEE Transactions on Systems, Man, and Cybernetics.

[10]  Miron Livny,et al.  Mechanisms for High Throughput Computing , 1997 .

[11]  Enrique Alba,et al.  Analyzing synchronous and asynchronous parallel distributed genetic algorithms , 2001, Future Gener. Comput. Syst..

[12]  Douglas Thain,et al.  Distributed computing in practice: the Condor experience , 2005, Concurr. Pract. Exp..

[13]  Jack J. Dongarra,et al.  The PVM Concurrent Computing System: Evolution, Experiences, and Trends , 1994, Parallel Comput..

[14]  Daniel F. García,et al.  Automatic tuning for the segmentation of infrared images considering uncertain ground truth , 2009, J. Electronic Imaging.

[15]  Robyn A. Owens,et al.  A New Metric for Grey-Scale Image Comparison , 1997, International Journal of Computer Vision.

[16]  David S. Greenberg,et al.  Massively parallel computing using commodity components , 2000, Parallel Comput..

[17]  Michael E. Wall,et al.  Galib: a c++ library of genetic algorithm components , 1996 .

[18]  Ronen Basri,et al.  Image Segmentation by Probabilistic Bottom-Up Aggregation and Cue Integration , 2007, 2007 IEEE Conference on Computer Vision and Pattern Recognition.

[19]  John F. Canny,et al.  A Computational Approach to Edge Detection , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[20]  Hélène Laurent,et al.  Optimization-Based Image Segmentation by Genetic Algorithms , 2008, EURASIP J. Image Video Process..