gpu implementation of satellite image filtering

16
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

Upload: ermiasbet

Post on 22-Nov-2014

1.519 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 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

Page 2: Gpu implementation of satellite image filtering

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

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.
Page 4: Gpu implementation of satellite image filtering

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

Main OpenCL API Commands

• Memory allocation via API – clCreateBuffer

• Accessing device memory via API – clEnqueueWriteBuffer

– clEnqueueReadBuffer

Page 6: Gpu implementation of satellite image filtering

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

• 2-D anisotropic measure of the 1st spatial derivative of an image.

Sobel Filter

Page 8: Gpu implementation of satellite image filtering

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

Sobel filter

Page 10: Gpu implementation of satellite image filtering

Laplacian filter 2-D isotropic measure of the 2nd spatial derivative of an image.

Page 11: Gpu implementation of satellite image filtering
Page 12: Gpu implementation of satellite image filtering

Sobel Filter Output Image

Page 13: Gpu implementation of satellite image filtering

Sobel Filter Output Image

Page 14: Gpu implementation of satellite image filtering

GPU vs CPU performance Sobel Filter

Laplacian Filter

Page 15: Gpu implementation of satellite image filtering

Open Issue

• Applying Image smoothing and contrast enhancement before/during filtering

Page 16: Gpu implementation of satellite image filtering