Gpu implementation of satellite image filtering

Post on 22-Nov-2014

1,520 views 1 download

description

 

transcript

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.

Presenter
Presentation Notes
This is the program itself, which is running on the processor, being managed by the operating system and all that stuff.

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