Multiscale, Multigranular Land Cover Classification: Performance Optimization
This research focuses on the optimization of land cover classification using remotely sensed images, particularly aimed at forest management and habitat identification. The study outlines the motivation behind improving algorithm performance specifically for identifying timber land and managing hardwood habitats crucial for endangered species such as the spotted owl. By converting a MATLAB implementation into C and introducing parallelization strategies, significant reductions in execution time were achieved, enhancing the performance of land cover classification across multiple spatial scales.
Multiscale, Multigranular Land Cover Classification: Performance Optimization
E N D
Presentation Transcript
Multiscale, Multigranular Land Cover Classification: Performance Optimization Vijay Gandhi, Abhinaya Sinha 1st May, 2006
Outline • Motivation • Problem Statement • Related Work • Our contributions • Results • Conclusion
Motivation • Forest Management • Identification of Timber land • Habitat Management: Hardwood is an habitat for the endangered spotted owl Courtesy: Junchang Ju (Boston U)
Problem Statement • Given: Remotely sensed image, land cover class label hierarchy • Find: Produce images with land cover classes assigned at multiple spatial scales • Objective: Minimize execution time • Constraints: Algorithm to achieve the output is already present
Problem Statement illustrated Remotely Sensed Image Label Hierarchy C – Conifer H – Hardwood F – Forest
Related Work • Current implementation in MATLAB • GCC Compiler Optimization options • Parallel Computing
Algorithm Divide input image into dyadic segments recursively Calculate the log-likelihood for each segment using Expectation Maximization Decide the label for each segment and generate images
Contribution • Improved performance of the algorithm • conversion of existing MATLAB implementation to C programming language • Identified the need for parallelizing the C implementation
Performance improvement • Converted MATLAB implementation to C • Why C? • Compiled vs. interpreted language • Compiler directives • Passing by reference • MATLAB implementation: 1500 lines of code • Issues: Memory management, Indexing, Matrix operations
Code Profiling * These functions are part of gen_loglike and take 25% of gen_loglike()’s execution time or 20% of overall execution time • gen_loglike calculates the log-likelihood of a general class • It uses Expectation Maximization • # gen_loglike = f ( # general classes, image size, spatial scale) • # mix_product_elementwise = f ( spatial scale)
Parallelizing implementation • mix_product_elementwise – multiplies two vectors element-by-element C = A * B C[n] = A[n] * B[n] • Use Unified Parallel C (UPC) to parallelize
Parallelizing implementation • Matrix level parallelization did not help • Need for parallelizing at the function level • Nice to have directives that parallelize a function rather than an individual matrix operation
Validation Methodology • Tests on real data sets • 128 x 128 pixels • 64 x 64 pixels Plymouth County, Massachusetts (each pixel – 30m x 30m) • Experimental setup: • Candidates: C and MATLAB implementations • Sun Solaris 512 MB RAM, 1.6 GHz
Experimental Validation Execution Time (Seconds)
Experimental Validation Execution Time (Seconds)
Conclusion • Converted from MATLAB to C implementation • Improvement in performance • Identified the need for parallelizing
Future Work • Parallelizing the code
References • Multiscale Multigranular Land Cover Characterization, Kolaczyk E.D. et al, Journal of the American Statistical Association, 2005 • Probability and Statistics, 3rd edition, DeGroot, Schervish • Computer Architecture, 2nd edition, Patterson, Henessey • Introduction to Parallel Computing, 2nd edition, Ananth Grama et al • MATLAB code - http://math.bu.edu/people/kolaczyk/software.html • GCC Optimization - http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Acknowledgements • Dr. Shashi Shekhar • Dr. Eric Kolaczyk • Dr. Sucharita Gopal • Dr. Junchang Ju