GPU-accelerated fractal imaging Jeremy Ehrhardt CS 81 - Spring 2009.

Slides:



Advertisements
Similar presentations
Contrast-Aware Halftoning Hua Li and David Mould April 22,
Advertisements

GI 2006, Québec, June 9th 2006 Implementing the Render Cache and the Edge-and-Point Image on Graphics Hardware Edgar Velázquez-Armendáriz Eugene Lee Bruce.
PACE: An Autofocus Algorithm For SAR
Implementing the Probability Matrix Technique for Positron Emission Tomography By: Chris Markson Student Adviser: Dr. Kaufman.
ECE 562 Computer Architecture and Design Project: Improving Feature Extraction Using SIFT on GPU Rodrigo Savage, Wo-Tak Wu.
Learning Convolutional Feature Hierarchies for Visual Recognition
Computer graphics & visualization Jens Schneider Martin Kraus Rüdiger Westermann.
EFFICIENT RENDERING LARGE TERRAINS USING MULTIRESOLUTION MODELLING AND IMAGE PROCESSING TECHNIQUES Ömer Nebil YAVEROĞLU Department of Computer Engineering.
2009/04/07 Yun-Yang Ma.  Overview  What is CUDA ◦ Architecture ◦ Programming Model ◦ Memory Model  H.264 Motion Estimation on CUDA ◦ Method ◦ Experimental.
1 Audio Compression Techniques MUMT 611, January 2005 Assignment 2 Paul Kolesnik.
Low Pass Filtering Spatial frequency is a measure of how rapidly brightness or colour varies as we traverse an image. Figure 7.11a shows that an image.
Fractal Image Compression
The FFT on a GPU Graphics Hardware 2003 July 27, 2003 Kenneth MorelandEdward Angel Sandia National LabsU. of New Mexico Sandia is a multiprogram laboratory.
Image Enhancement.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
Hardware-Based Nonlinear Filtering and Segmentation using High-Level Shading Languages I. Viola, A. Kanitsar, M. E. Gröller Institute of Computer Graphics.
A Performance and Energy Comparison of FPGAs, GPUs, and Multicores for Sliding-Window Applications From J. Fowers, G. Brown, P. Cooke, and G. Stitt, University.
02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.
1 1 © 2011 The MathWorks, Inc. Accelerating Bit Error Rate Simulation in MATLAB using Graphics Processors James Lebak Brian Fanous Nick Moore High-Performance.
Zoltan Szego †*, Yoshihiro Kanamori ‡, Tomoyuki Nishita † † The University of Tokyo, *Google Japan Inc., ‡ University of Tsukuba.
Fractal Image Compression By Cabel Sholdt and Paul Zeman.
Efficient Pseudo-Random Number Generation for Monte-Carlo Simulations Using GPU Siddhant Mohanty, Subho Shankar Banerjee, Dushyant Goyal, Ajit Mohanty.
Motivation “Every three minutes a woman is diagnosed with Breast cancer” (American Cancer Society, “Detailed Guide: Breast Cancer,” 2006) Explore the use.
Floating point variables of different lengths. Trade-off: accuracy vs. memory space Recall that the computer can combine adjacent bytes in the RAM memory.
GmImgProc Alexandra Olteanu SCPD Alexandru Ştefănescu SCPD.
GPU-accelerated Evaluation Platform for High Fidelity Networking Modeling 11 December 2007 Alex Donkers Joost Schutte.
Noise and Procedural Techniques John Spitzer Simon Green NVIDIA Corporation.
Christopher Mitchell CDA 6938, Spring The Discrete Cosine Transform  In the same family as the Fourier Transform  Converts data to frequency domain.
Revisiting Kirchhoff Migration on GPUs Rice Oil & Gas HPC Workshop
IMAGE COMPRESSION USING BTC Presented By: Akash Agrawal Guided By: Prof.R.Welekar.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Accelerating Statistical Static Timing Analysis Using Graphics Processing Units Kanupriya Gulati and Sunil P. Khatri Department of ECE, Texas A&M University,
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on a low power, embedded system School of Information Technology & Mathematical.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on an embedded system School of Information Technology & Mathematical Sciences September.
Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
A Parallel Implementation of MSER detection GPGPU Final Project Lin Cao.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Adam Wagner Kevin Forbes. Motivation  Take advantage of GPU architecture for highly parallel data-intensive application  Enhance image segmentation.
Efficient Local Statistical Analysis via Integral Histograms with Discrete Wavelet Transform Teng-Yok Lee & Han-Wei Shen IEEE SciVis ’13Uncertainty & Multivariate.
A Neural Network Implementation on the GPU By Sean M. O’Connell CSC 7333 Spring 2008.
1)Leverage raw computational power of GPU  Magnitude performance gains possible.
by Arjun Radhakrishnan supervised by Prof. Michael Inggs
CS654: Digital Image Analysis
GPU Accelerated MRI Reconstruction Professor Kevin Skadron Computer Science, School of Engineering and Applied Science University of Virginia, Charlottesville,
GPU Based Sound Simulation and Visualization Torbjorn Loken, Torbjorn Loken, Sergiu M. Dascalu, and Frederick C Harris, Jr. Department of Computer Science.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Igor Jánoš. Goal of This Project Decode and process a full-HD video clip using only software resources Dimension – 1920 x 1080 pixels.
Demosaicking for Multispectral Filter Array (MSFA)
(c) 2002 University of Wisconsin, CS 559
Roland Geraerts and Erik Schager CASA 2010 Stealth-Based Path Planning using Corridor Maps.
Image hole-filling. Agenda Project 2: Will be up tomorrow Due in 2 weeks Fourier – finish up Hole-filling (texture synthesis) Image blending.
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Sobolev(+Node 6, 7) Showcase +K20m GPU Accelerator.
Computer Graphics Graphics Hardware
GPU Architecture and Its Application
Generalized and Hybrid Fast-ICA Implementation using GPU
Analysis of Sparse Convolutional Neural Networks
Image Transformation 4/30/2009
Fractal image compression
Energy Preserving Non-linear Filters
Fractal Image Compression
APPLICATIONS of FRACTALS
Volume 21, Issue 19, Pages (October 2011)
Enhancing the Enlargement of Images
Computer Graphics Graphics Hardware
Filtering Images Work in the spatial domain
Presentation transcript:

GPU-accelerated fractal imaging Jeremy Ehrhardt CS 81 - Spring 2009

Motivation Typical reconstruction filters blur edges, detail Reduced 4x, then enlarged 4x with Mitchell filter Original

Motivation Fractal encoding – A scale-independent model of image – Find self-similar regions of image Contractive transformations

Motivation Decoding fractal representation – Any scale Larger than original image – Preserves appearance of high-frequency detail – Improved visual quality

Motivation Basic encoding algorithm – Divide image into small range blocks – Generate domain blocks from image somehow – For each range block For each domain block – Find scale and offset for pixel luminance – R = t(D) = s * D + o Pick domain with lowest mean squared error

Using the GPU Encoding highly parallelizable – Range selections don’t depend on other ranges – Process multiple ranges at a time – Process multiple domains for a range at a time – Process multiple pixels in range, domain, or product at a time

Using the GPU Decoding also parallelizable – Short number of iterations (~10) – Take transform list from encoding – Decide on output size – For each pixel in output Source, scale, offset don’t change across iterations Value depends only on image at previous iteration Maps naturally to pixel shader

What I Did Software encoder and decoder – Python, using NumPy fast array extension GPU-assisted encoder – Most work done in GLSL pixel shaders Implementations similar – Easy debugging – All images were decoded in software

Encoding times EncoderDomain sizeRange sizeImage dimensionsTime (seconds) Software84256 x OpenGL84256 x Software42256 x OpenGL42256 x Domain and range sizes are pixels along edge of a square CPU: Intel Core GHz 2 GB GHz GPU: nVidia GeForce GHz 256 MB 0.7 GHz

Results (no enlargement) Tradeoff between speckles and blocking Fractal encoder (GPU, 8:4)Fractal encoder (GPU, 4:2)

Results (no enlargement) Fractal encoder (GPU, 8:4)Fractal encoder (GPU, 4:2)

Results (no enlargement) Fractal encoder (GPU, 8:4)Fractal encoder (GPU, 4:2)

Results (2x enlargement) Reduced 2x, then enlarged 2x with fractal scaler (GPU, 8:4) Reduced 2x, then enlarged 2x with fractal scaler (GPU, 4:2)

Results (4x enlargement) Reduced 4x, then enlarged 4x with fractal scaler (GPU, 8:4) Reduced 4x, then enlarged 4x with fractal scaler (GPU, 4:2)

Side by Side Reduced 2x, then enlarged 2x with fractal scaler (GPU, 8:4) Reduced 2x, then enlarged 2x with Mitchell filtering

GPU vs CPU GPU has speckle noise – Probably due to lower accuracy CPU, 8:4GPU, 8:4

GPU vs CPU CPU, 4:2GPU, 4:2 GPU has speckle noise – Probably due to lower accuracy

Accuracy issues Iterative nature of decoding process would tend to magnify errors – Testing on double-precision GPU needed

Wish list GPU-accelerated decoder CUDA or OpenCL port

Conclusions CPU encoder quality getting higher – Extremely slow GPU encoder is fast but has accuracy issues – Where are they? – Can they be fixed or compensated for? – CUDA or OpenCL port would help here