![Page 1: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/1.jpg)
GPU Implementation of Satellite Image Filtering using OpenCL
Institute for Geoinformatics Advanced processing of geospatial data- GPU, Grid and
Cloud computing
Ermias Beyene Tesfamariam 15 July 2010
![Page 2: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/2.jpg)
Objective • Efficient edge detection method for remote
sensing imageries.
• implementation of image filtering on programmable GPU using the openCL language
• Comparison of different algorithms (Sobel vs. Laplacian) for their efficiency and quality
![Page 3: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/3.jpg)
Application
• The HOST executes the code written as usual, using C++.
• The DEVICES execute OpenCL code. • Use specific OpenCL compiler for the CPU & for
the GPU (ATI Stream).
• The OpenCL API has functions to identify devices, compile programs, send and receive information and run OpenCL program on the chosen device.
![Page 4: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/4.jpg)
Application
OpenCL Code: 1 - Create the OpenCL code using OpenCL language;
Host Code: 2 - Create program using C++; 3 - Import the data to be processed; 4 - Use the OpenCL API to transfer data to the devices; 5 - Use the OpenCL API to call executions; 6 - Retrieve processed data.
![Page 5: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/5.jpg)
Main OpenCL API Commands
• Memory allocation via API – clCreateBuffer
• Accessing device memory via API – clEnqueueWriteBuffer
– clEnqueueReadBuffer
![Page 6: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/6.jpg)
Method • Landsat imageries
– Bands with high contrast, e.g. Band 4
• Image Convolution – 3X3 Filtering Mask convolves over the image
• Sobel Algorithm
• Laplacian Algorithm
![Page 7: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/7.jpg)
• 2-D anisotropic measure of the 1st spatial derivative of an image.
Sobel Filter
![Page 8: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/8.jpg)
Sobel filter • consists of two kernels (Masks) which detect
horizontal and vertical changes in an image • The 3x3 Sobel kernels are:
– Horizontal
– Vertical
![Page 9: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/9.jpg)
Sobel filter
![Page 10: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/10.jpg)
Laplacian filter 2-D isotropic measure of the 2nd spatial derivative of an image.
![Page 11: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/11.jpg)
![Page 12: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/12.jpg)
Sobel Filter Output Image
![Page 13: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/13.jpg)
Sobel Filter Output Image
![Page 14: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/14.jpg)
GPU vs CPU performance Sobel Filter
Laplacian Filter
![Page 15: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/15.jpg)
Open Issue
• Applying Image smoothing and contrast enhancement before/during filtering
![Page 16: Gpu implementation of satellite image filtering](https://reader034.vdocuments.mx/reader034/viewer/2022051513/5472c082b4af9fb90a8b50a8/html5/thumbnails/16.jpg)