Gpu implementation of satellite image filtering
-
Upload
ermiasbet -
Category
Technology
-
view
1.521 -
download
1
description
Transcript of Gpu implementation of satellite image filtering
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
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
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.
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.
Main OpenCL API Commands
• Memory allocation via API – clCreateBuffer
• Accessing device memory via API – clEnqueueWriteBuffer
– clEnqueueReadBuffer
Method • Landsat imageries
– Bands with high contrast, e.g. Band 4
• Image Convolution – 3X3 Filtering Mask convolves over the image
• Sobel Algorithm
• Laplacian Algorithm
• 2-D anisotropic measure of the 1st spatial derivative of an image.
Sobel Filter
Sobel filter • consists of two kernels (Masks) which detect
horizontal and vertical changes in an image • The 3x3 Sobel kernels are:
– Horizontal
– Vertical
Sobel filter
Laplacian filter 2-D isotropic measure of the 2nd spatial derivative of an image.
Sobel Filter Output Image
Sobel Filter Output Image
GPU vs CPU performance Sobel Filter
Laplacian Filter
Open Issue
• Applying Image smoothing and contrast enhancement before/during filtering