Static image filtering on commodity graphics processors
Download
1 / 15

Static Image Filtering on Commodity Graphics Processors - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

Static Image Filtering on Commodity Graphics Processors. Peter Djeu May 1, 2003. Filters from Computer Vision. Mean (a.k.a. average) filter each element in a neighborhood is given equal weight; a simple image smoother Gaussian

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Static Image Filtering on Commodity Graphics Processors' - gypsy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Filters from computer vision
Filters from Computer Vision

  • Mean (a.k.a. average) filter

    • each element in a neighborhood is given equal weight; a simple image smoother

  • Gaussian

    • a neighborhood is weighted by a 2-D Gaussian, with the peak at the center; a better image smoother

  • Laplacian of Gaussian

    • The Gaussian filter is applied, and then the Laplacian (spatial derivative is applied); good for edge detection


The convolution kernel
The Convolution Kernel

  • We want to transmit pixel information from neighbors to a central pixel

  • Use the convolution kernel as a window to frame the work that needs to be done

1

161


Filtering on a cpu vs a gpu
Filtering on a CPU vs. a GPU

  • CPU

    • sequential and straightforward

  • GPU

    • not so straightforward if the goal is to exploit parallelism and maintain good locality

    • a pixel’s output value depends on the weighted value of it’s neighbors, so there is dependency across various elements


Pixel buffers in gpus
Pixel Buffers in GPUS

  • GPU’s do not have indirect addressing to memory, so results have to be stored in pixel buffers. The card is really rendering to an off-screen frame (writing).

  • The GPU can then treat the Pixel Buffer as a texture for rendering (reading).


Proposal for the gpu algorithm
Proposal for the GPU Algorithm

1. Store original into pb1.

2. For each element ki in the convolution kernel {

3. Copy pb1 into pb2, scaling by ki

in the process (use Cg shader).

4. Based on the location of ki,

render pb2 into pb3 with a

certain offset. The blending is

a single add.

}

5. return pb3


The ups and downs
The Ups and Downs

  • This technique may be fast because…

    • parallelism is completely possible during the scaling stage and the blending

    • since most convolution kernels have symmetry, a little bit of preprocess could mean

  • On the other hand…

    • as image size grows, cache misses may become more prominent, since we manipulate the whole image

    • when translating, coords. are interpolated, not mapped

  • Tiling? Can a good size be determined in exp.?


Current progress
Current Progress

  • P-Buffer’s are frustrating

    • wglReleasePbufferDCARB() returning type PFNWGLRELEASEPBUFFERDCARBPROC

  • Lot’s of low level implementation / debugging, very much on a hardware level

  • (Naïve) CPU implementation is complete and working, and P-Buffers are almost done


Results in real time sec s cpu gaussian filter w rgb 24 bit targa s
Results (in real-time sec’s)CPU, Gaussian Filter, w/ RGB, 24 bit targa’s



Time s versus image size x y using a 31 x 31 kernel
Time(s) versus Image Size (x*y)using a (31 x 31) kernel


Applications
Applications?

  • Super fast filtering techniques on 2-D images may provide tools or insight for traditionally more complex problems involving 2-D images, like categorization / classification