ECE 562 Computer Architecture and Design Project: Improving Feature Extraction Using SIFT on GPU Rodrigo Savage, Wo-Tak Wu.

Slides:



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

Distinctive Image Features from Scale-Invariant Keypoints David Lowe.
BRISK (Presented by Josh Gleason)
Outline Feature Extraction and Matching (for Larger Motion)
Distinctive Image Features from Scale- Invariant Keypoints Mohammad-Amin Ahantab Technische Universität München, Germany.
Foreground-Background Separation on GPU using order based approaches Raj Gupta, Sailaja Reddy M., Swagatika Panda, Sushant Sharma and Anurag Mittal Indian.
Multiple People Detection and Tracking with Occlusion Presenter: Feifei Huo Supervisor: Dr. Emile A. Hendriks Dr. A. H. J. Stijn Oomes Information and.
Empowering visual categorization with the GPU Present by 陳群元 我是強壯 !
SURF: Speeded-Up Robust Features
CMPT-884 Jan 18, 2010 Video Copy Detection using Hadoop Presented by: Cameron Harvey Naghmeh Khodabakhshi CMPT 820 December 2, 2010.
2009/04/07 Yun-Yang Ma.  Overview  What is CUDA ◦ Architecture ◦ Programming Model ◦ Memory Model  H.264 Motion Estimation on CUDA ◦ Method ◦ Experimental.
A Study of Approaches for Object Recognition
SIFT on GPU ( the slides are not updated for newer versions of SiftGPU ) Changchang Wu 5/8/2007.
Motivation Where is my W-2 Form?. Video-based Tracking Camera view of the desk Camera Overhead video camera.
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer Vision, 60, 2 (2004), pp Presented by: Shalomi.
Object Recognition Using Distinctive Image Feature From Scale-Invariant Key point D. Lowe, IJCV 2004 Presenting – Anat Kaspi.
Scale Invariant Feature Transform (SIFT)
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
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.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Communication-Minimizing 2D Convolution in GPU Registers Forrest N. Iandola David Sheffield Michael Anderson P. Mangpo Phothilimthana Kurt Keutzer University.
Computing Platform Benchmark By Boonyarit Changaival King Mongkut’s University of Technology Thonburi (KMUTT)
Adnan Ozsoy & Martin Swany DAMSL - Distributed and MetaSystems Lab Department of Computer Information and Science University of Delaware September 2011.
Distinctive Image Features from Scale-Invariant Keypoints By David G. Lowe, University of British Columbia Presented by: Tim Havinga, Joël van Neerbos.
Motivation “Every three minutes a woman is diagnosed with Breast cancer” (American Cancer Society, “Detailed Guide: Breast Cancer,” 2006) Explore the use.
Computer vision.
Internet-scale Imagery for Graphics and Vision James Hays cs195g Computational Photography Brown University, Spring 2010.
Overview Harris interest points Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points Evaluation and comparison of different.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Lecture 4: Feature matching CS4670 / 5670: Computer Vision Noah Snavely.
Applying GPU and POSIX Thread Technologies in Massive Remote Sensing Image Data Processing By: Group 17 King Mongkut's Institute of Technology Ladkrabang.
CS179: GPU Programming Lecture 16: Final Project Discussion.
Tracking with CACTuS on Jetson Running a Bayesian multi object tracker on a low power, embedded system School of Information Technology & Mathematical.
GPU Architecture and Programming
Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
IIIT Hyderabad Scalable Clustering using Multiple GPUs K Wasif Mohiuddin P J Narayanan Center for Visual Information Technology International Institute.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Implementing GIST on the GPU. Refrence Original Work  Aude Oliva, Antonio Torralba  Modeling the shape of the scene: a holistic representation of the.
Puzzle Solver Sravan Bhagavatula EE 638 Project Stanford ECE.
Adam Wagner Kevin Forbes. Motivation  Take advantage of GPU architecture for highly parallel data-intensive application  Enhance image segmentation.
Developing the Demosaicing Algorithm in GPGPU Ping Xiang Electrical engineering and computer science.
Jack Pinches INFO410 & INFO350 S INFORMATION SCIENCE Computer Vision I.
CDVS on mobile GPUs MPEG 112 Warsaw, July Our Challenge CDVS on mobile GPUs  Compute CDVS descriptor from a stream video continuously  Make.
GPU Programming Shirley Moore CPS 5401 Fall 2013
A Tutorial on using SIFT Presented by Jimmy Huff (Slightly modified by Josiah Yoder for Winter )
Distinctive Image Features from Scale-Invariant Keypoints
Implementation and Optimization of SIFT on a OpenCL GPU Final Project 5/5/2010 Guy-Richard Kayombya.
Scale Invariant Feature Transform (SIFT)
SIFT DESCRIPTOR K Wasif Mrityunjay
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Fast and parallel implementation of Image Processing Algorithm using CUDA Technology On GPU Hardware Neha Patil Badrinath Roysam Department of Electrical.
Finding Clusters within a Class to Improve Classification Accuracy Literature Survey Yong Jae Lee 3/6/08.
1 Shape Descriptors for Maximally Stable Extremal Regions Per-Erik Forss´en and David G. Lowe Department of Computer Science University of British Columbia.
Distinctive Image Features from Scale-Invariant Keypoints Presenter :JIA-HONG,DONG Advisor : Yen- Ting, Chen 1 David G. Lowe International Journal of Computer.
Blob detection.
Accelerating K-Means Clustering with Parallel Implementations and GPU Computing Janki Bhimani Miriam Leeser Ningfang Mi
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching Link: singhashwini.mesinghashwini.me.
General Purpose computing on Graphics Processing Units
GPU Architecture and Its Application
GPU-based iterative CT reconstruction
Lecture 07 13/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Image Transformation 4/30/2009
Learning Mid-Level Features For Recognition
SIFT on GPU Changchang Wu 5/8/2007.
Car Recognition Through SIFT Keypoint Matching
Adaboost for faces. Material
ECE734 Project-Scale Invariant Feature Transform Algorithm
Presentation transcript:

ECE 562 Computer Architecture and Design Project: Improving Feature Extraction Using SIFT on GPU Rodrigo Savage, Wo-Tak Wu

Overview Application: Object tracking in real time Challenges: Static Scene Moving objects Occluding Collision Disappearing Rotation Scaling Divide and Conquer: Feature Extraction and Tracking Focus on: Feature Extraction, used SIFT Improve an existing implementation with GPU

Scale Invariant Feature Transform (SIFT) Input: image Output: keypoints

GPU Implementation Selected the GPU implementation by Sinha et al. at UNC at Chapel Hill Open-source SiftGPU available (latest V4.00, Sept. 2012) SIFT well suited to be implemented on GPU Tens of thousands of threads handle subsets of data without communication with each other

Attempts to Speed Up Tackled the 2 most time consuming processing steps Blurring images with Gaussian low-pass filter Changed pixel data access pattern Used different schemes of data partitioning Keypoint descriptor (128-element vector) calculations Optimize code in the kernel Used usual optimization techniques Changed GPU memory usage Threads management Experimented with kernel parameters Maximized usage of available threads Result: Reduced descriptor compute time from 73 to 22 ms (70%)

Conclusion Existing implementation is already pretty good Hard to take full advantage of the architecture. Need to have good understanding of Memory architecture Thread usage CUDA C/C++ compiler (nvcc) optimizes code in different ways. Need to experiment to gain performance Hard to debug code running on GPU Visual Profiler can provide valuable insights on code behaviors

Backup Slides

References SiftGPU available at D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, November Sudipta N. Sinha et al., “GPU-based Video Feature Tracking And Matching,” Technical Report TR , Department of Computer Science, UNC Chapel Hill, May NVIDIA GeForce GT 640M LE CUDA Cores: 384 Total available graphics memory: 4095 MB

Test image with keypoints

Algorithm