Download presentation
Presentation is loading. Please wait.
1
Multiscale, Multigranular Land Cover Classification: Performance Optimization Vijay Gandhi, Abhinaya Sinha 1 st May, 2006
2
2 Outline Motivation Problem Statement Related Work Our contributions Results Conclusion
3
3 Motivation Forest Management Identification of Timber land Habitat Management: Hardwood is an habitat for the endangered spotted owl Courtesy: Junchang Ju (Boston U)
4
4 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
5
5 Problem Statement illustrated Remotely Sensed Image Label Hierarchy C – Conifer H – Hardwood F – Forest
6
6 Related Work Current implementation in MATLAB GCC Compiler Optimization options Parallel Computing
7
7 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
8
8 Contribution Improved performance of the algorithm conversion of existing MATLAB implementation to C programming language Identified the need for parallelizing the C implementation
9
9 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
10
10 Code Profiling Input Image: 128 x 128 Function # Calls% Time mix_product_elementwise 2,887,869,000 12.5* mix_divide_by_scalar 2,891,482,719 12.5* gen_loglike 294,915 80 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) * These functions are part of gen_loglike and take 25% of gen_loglike()’s execution time or 20% of overall execution time
11
11 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 Execution Time ( milliseconds ) # CallsWith ParallelWithout Parallel 100,00065.685 25. 366 1,000,00067.443263.179
12
12 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
13
13 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
14
14 Experimental Validation Execution Time (Seconds)
15
15 Experimental Validation Execution Time (Seconds)
16
16 Conclusion Converted from MATLAB to C implementation Improvement in performance Identified the need for parallelizing
17
17 Future Work Parallelizing the code
18
18 References Multiscale Multigranular Land Cover Characterization, Kolaczyk E.D. et al, Journal of the American Statistical Association, 2005 Probability and Statistics, 3 rd edition, DeGroot, Schervish Computer Architecture, 2 nd edition, Patterson, Henessey Introduction to Parallel Computing, 2 nd edition, Ananth Grama et al MATLAB code - http://math.bu.edu/people/kolaczyk/software.htmlhttp://math.bu.edu/people/kolaczyk/software.html GCC Optimization - http://gcc.gnu.org/onlinedocs/gcc/Optimize- Options.htmlhttp://gcc.gnu.org/onlinedocs/gcc/Optimize- Options.html
19
19 Acknowledgements Dr. Shashi Shekhar Dr. Eric Kolaczyk Dr. Sucharita Gopal Dr. Junchang Ju
20
20
21
21 Problem Statement illustrated Courtesy: Junchang Ju (Boston U)
22
22 Profile results
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.