Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009.

Slides:



Advertisements
Similar presentations
Distinctive Image Features from Scale-Invariant Keypoints
Advertisements

OpenCV Introduction Hang Xiao Oct 26, History  1999 Jan : lanched by Intel, real time machine vision library for UI, optimized code for intel 
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Christopher McCabe, Derek Causon and Clive Mingham Centre for Mathematical Modelling & Flow Analysis Manchester Metropolitan University MANCHESTER M1 5GD.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Real-Time Accurate Stereo Matching using Modified Two-Pass Aggregation and Winner- Take-All Guided Dynamic Programming Xuefeng Chang, Zhong Zhou, Yingjie.
ECE 562 Computer Architecture and Design Project: Improving Feature Extraction Using SIFT on GPU Rodrigo Savage, Wo-Tak Wu.
2009/04/07 Yun-Yang Ma.  Overview  What is CUDA ◦ Architecture ◦ Programming Model ◦ Memory Model  H.264 Motion Estimation on CUDA ◦ Method ◦ Experimental.
Optimizing and Auto-Tuning Belief Propagation on the GPU Scott Grauer-Gray and Dr. John Cavazos Computer and Information Sciences, University of Delaware.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Scale Invariant Feature Transform (SIFT)
Introduction to Computer Vision CS / ECE 181B Thursday, April 22, 2004  Edge detection (HO #5)  HW#3 due, next week  No office hours today.
Cliff Rhyne and Jerry Fu June 5, 2007 Parallel Image Segmenter CSE 262 Spring 2007 Project Final Presentation.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
FLANN Fast Library for Approximate Nearest Neighbors
Brain segmentation and Phase unwrapping in MRI data ECE 738 Project JongHoon Lee.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
Filtering Approaches for Real-Time Anti-Aliasing /
Distinctive Image Features from Scale-Invariant Keypoints By David G. Lowe, University of British Columbia Presented by: Tim Havinga, Joël van Neerbos.
Chapter 10: Image Segmentation
JPEG C OMPRESSION A LGORITHM I N CUDA Group Members: Pranit Patel Manisha Tatikonda Jeff Wong Jarek Marczewski Date: April 14, 2009.
1/24 Exploring the Design Space of a Parallel Object Recognition System Bor-Yiing Su, Kurt Keutzer,
KinectFusion : Real-Time Dense Surface Mapping and Tracking IEEE International Symposium on Mixed and Augmented Reality 2011 Science and Technology Proceedings.
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
YOU LI SUPERVISOR: DR. CHU XIAOWEN CO-SUPERVISOR: PROF. LIU JIMING THURSDAY, MARCH 11, 2010 Speeding up k-Means by GPUs 1.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
Intelligent Scissors for Image Composition Anthony Dotterer 01/17/2006.
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.
Molecular Dynamics Simulations on a GPU in OpenCL Alex Cappiello.
EECS 274 Computer Vision Segmentation by Clustering II.
Data Extraction using Image Similarity CIS 601 Image Processing Ajay Kumar Yadav.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
Fitting: The Hough transform
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.
COMP322/S2000/L171 Robot Vision System Major Phases in Robot Vision Systems: A. Data (image) acquisition –Illumination, i.e. lighting consideration –Lenses,
QCAdesigner – CUDA HPPS project
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Image Segmentation in Color Space By Anisa Chaudhary.
Jason Li Jeremy Fowers 1. Speedups and Energy Reductions From Mapping DSP Applications on an Embedded Reconfigurable System Michalis D. Galanis, Gregory.
GPU Accelerated MRI Reconstruction Professor Kevin Skadron Computer Science, School of Engineering and Applied Science University of Virginia, Charlottesville,
Image Segmentation Superpixel methods Speaker: Hsuan-Yi Ko.
CS 641 Term project Level-set based segmentation algorithms Presented by- Karthik Alavala (under the guidance of Dr. Jundong Liu)
ACCELERATING QUERY-BY-HUMMING ON GPU Pascal Ferraro, Pierre Hanna, Laurent Imbert, Thomas Izard ISMIR 2009 Presenter: Chung-Che Wang (Focus on the performance.
By Pushpita Biswas Under the guidance of Prof. S.Mukhopadhyay and Prof. P.K.Biswas.
David Angulo Rubio FAMU CIS GradStudent. Introduction  GPU(Graphics Processing Unit) on video cards has evolved during the last years. They have become.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Instructor: Mircea Nicolescu Lecture 7
SIMD Implementation of Discrete Wavelet Transform Jake Adriaens Diana Palsetia.
Performed by:Liran Sperling Gal Braun Instructor: Evgeny Fiksman המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory.
Color Image Segmentation Mentor : Dr. Rajeev Srivastava Students: Achit Kumar Ojha Aseem Kumar Akshay Tyagi.
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Accelerating K-Means Clustering with Parallel Implementations and GPU Computing Janki Bhimani Miriam Leeser Ningfang Mi
Visual Tracking of Surgical Tools in Retinal Surgery using Particle Filtering Group 14 William Yang and David Li Presenter: William Yang Mentor: Dr. Rogerio.
Electronic Visualization Laboratory University of Illinois at Chicago “Fast And Reliable Space Leaping For Interactive Volume Rendering” by Ming Wan, Aamir.
Parallel Image Processing: Active Contour Algorithm
Range Image Segmentation for Modeling and Object Detection in Urban Scenes Cecilia Chen & Ioannis Stamos Computer Science Department Graduate Center, Hunter.
Timothy J. Purcell Stanford / NVIDIA
Image Processing for Physical Data
Static Image Filtering on Commodity Graphics Processors
Sorting and Searching Tim Purcell NVIDIA.
Extract Object Boundaries in Noisy Images
Optimizing stencil code for FPGA
Research Institute for Future Media Computing
Paper Review Zhiqiang 9/21/12
Presentation transcript:

Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009

Outline 1) Problem/Motivation 2) Goals 3) Overview of Algorithm 4) Implementation 5) Results 6) Future work & Conclusions

Problem

Applications Computer vision (object recognition, intelligent segmentation,...) Apply Algorithm X to a grid of superpixels vs. a grid of pixels Image compression

Goals Run at interactive framerates Fast enough for interactive use (video) Segment a 640x480 image in 200ms or less (5+ FPS)

The Algorithm 0) Preprocess image (to grayscale, smooth) 1) Calculate speed map 2) Place N seed points throughout the image 3) Initialize a distance function to these seeds 4) Evolve distance function one timestep 5) Superpixel boundaries: pixels where distance func == 0

0) Preprocess

1) Calculate Speed - Function of image gradient magnitude (edge strength)

2) Place seeds

3) Init Distance Function Pixel value = distance to closest seed

4) Evolve the function - Superpixels grow over time - Evolution done by partial differential equation - d(pixel)/dt function of spatial derivatives, speed, and proximity to other superpixels

5) Extract boundary Zero-crossings of distance function define boundary

Result

GPU Implementation Original implementation of TurboPixels done in MATLAB, parts accelerated with C GPU Implementation is C++ accelerated with CUDA Not all parts of original algorithm mappable to GPU (algorithms not parallel!)

GPU Implementation Example: Distance Transform Foreach pixel, get distance to nearest pixel-of- importance Used in initializing distance function Used during evolution to get nearest superpixel boundary point Original algorithm used Fast Marching Method to calculate (uses global data structure, not parallel) Replace with a GPU-friendly substitute

GPU Implementation Assignment map Array of superpixel IDs Keeps track of superpixel coverage, ownership Prevents merging of superpixels

Performance Optimizations Use CUDA arrays,textures when kernel performs random or neighbor accesses Little use of shared memory Kernels either read once+write once, or have complex access patterns not easily done with shmem Loop unrolling, aligning image array sizes,...

Results

Sample Result Platform: NVIDIA GTX280 Image size: 640x480 Time: 443ms (2.25FPS) Timesteps: 122 Superpixels: 1000 Software implementation: 30 sec on 481x321 image

Conclusions Implemented a TurboPixels-like image oversegmentation algorithm on a GPU Performance goal of 5fps on 640x480 not quite attained Achieved significant speedup over software implementation (although one written mostly in MATLAB...)

Future Work Algorithmic optimizations: Evolve area around the expanding boundary, instead of evolving everything Use variable-length timesteps to reduce number of timesteps and amount of work Application to video: Once it runs fast enough, then what? Modify algorithm to take advantage of inter-frame coherence