Image matching using the Hausdorff Distance with CUDA

Slides:



Advertisements
Similar presentations
A Multi-Resolution Technique for Comparing Images Using the Hausdorff Distance Daniel P. Huttenlocher and William J. Rucklidge Nov Presented by.
Advertisements

Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
DIMENSIONALITY REDUCTION: FEATURE EXTRACTION & FEATURE SELECTION Principle Component Analysis.
Recognizing Objects in Range Data Using Regional Point Descriptors A. Frome, D. Huber, R. Kolluri, T. Bulow, and J. Malik. Proceedings of the European.
1 EFFICIENT BITMAP RESEMBLENCE UNDER TRANSLATION Klara Kedem & Daniel Cohen This presentation will probably involve audience discussion, which will create.
CSCE 620: Open Problem Voronoi Diagram of Moving Points Asish Ghoshal Problem 2 from The Open Problems Project 1.
ECE 562 Computer Architecture and Design Project: Improving Feature Extraction Using SIFT on GPU Rodrigo Savage, Wo-Tak Wu.
Graph Drawing Zsuzsanna Hollander. Reviewed Papers Effective Graph Visualization via Node Grouping Janet M. Six and Ioannis G. Tollis. Proc InfoVis 2001.
Comparing Images Using the Hausdorff Distance Mark Bouts 6th April 2006.
Announcements Mailing list: –you should have received messages Project 1 out today (due in two weeks)
Pattern Recognition Topic 1: Principle Component Analysis Shapiro chap
Scale Invariant Feature Transform
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Chamfer Matching & Hausdorff Distance Presented by Ankur Datta Slides Courtesy Mark Bouts Arasanathan Thayananthan.
Announcements Take home quiz given out Thursday 10/23 –Due 10/30.
1 Lecture 12 Neighbourhood Operations (2) TK3813 DR MASRI AYOB.
Lecture 11: Stereo and optical flow CS6670: Computer Vision Noah Snavely.
Ashish Uthama EOS 513 Term Paper Presentation Ashish Uthama Biomedical Signal and Image Computing Lab Department of Electrical.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
VEHICLE NUMBER PLATE RECOGNITION SYSTEM. Information and constraints Character recognition using moments. Character recognition using OCR. Signature.
Image Segmentation by Clustering using Moments by, Dhiraj Sakumalla.
Distinctive Image Features from Scale-Invariant Keypoints By David G. Lowe, University of British Columbia Presented by: Tim Havinga, Joël van Neerbos.
FEATURE EXTRACTION FOR JAVA CHARACTER RECOGNITION Rudy Adipranata, Liliana, Meiliana Indrawijaya, Gregorius Satia Budhi Informatics Department, Petra Christian.
Efficient Algorithms for Robust Feature Matching Mount, Netanyahu and Le Moigne November 7, 2000 Presented by Doe-Wan Kim.
CSIE in National Chi-Nan University1 Approximate Matching of Polygonal Shapes Speaker: Chuang-Chieh Lin Advisor: Professor R. C. T. Lee National Chi-Nan.
Implementing a Speech Recognition System on a GPU using CUDA
HOUGH TRANSFORM Presentation by Sumit Tandon
HOUGH TRANSFORM & Line Fitting Introduction  HT performed after Edge Detection  It is a technique to isolate the curves of a given shape / shapes.
Marco Pedersoli, Jordi Gonzàlez, Xu Hu, and Xavier Roca
Yang, Luyu.  Postal service for sorting mails by the postal code written on the envelop  Bank system for processing checks by reading the amount of.
Survey of Algorithms to Query Image Databases COMP :Computational Geometry Benjamin Lok 11/2/98 Image from Kodak’s PhotoQuilt.
Fast search methods Pasi Fränti Clustering methods: Part 5 Speech and Image Processing Unit School of Computing University of Eastern Finland
EECS 274 Computer Vision Segmentation by Clustering II.
Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009.
IEEE Int'l Symposium on Signal Processing and its Applications 1 An Unsupervised Learning Approach to Content-Based Image Retrieval Yixin Chen & James.
Identifying Patterns in Time Series Data Daniel Lewis 04/06/06.
Click to edit Master subtitle style 2/23/10 Time and Space Optimization of Document Content Classifiers Dawei Yin, Henry S. Baird, and Chang An Computer.
Many slides from Steve Seitz and Larry Zitnick
QCAdesigner – CUDA HPPS project
Protein motif extraction with neuro-fuzzy optimization Bill C. H. Chang and Author : Bill C. H. Chang and Saman K. Halgamuge Saman K. Halgamuge Adviser.
A Flexible New Technique for Camera Calibration Zhengyou Zhang Sung Huh CSPS 643 Individual Presentation 1 February 25,
A B C D E F A ABSTRACT A novel, efficient, robust, feature-based algorithm is presented for intramodality and multimodality medical image registration.
Lecture 16: Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Digital Image Processing
CDP Tutorial 3 Basics of Parallel Algorithm Design uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison.
Local features: detection and description
By Pushpita Biswas Under the guidance of Prof. S.Mukhopadhyay and Prof. P.K.Biswas.
Glossary of Technical Terms Correlation filter: a set of carefully designed correlation templates with regard to shift invariance as well as distortion-
Canny Edge Detection Using an NVIDIA GPU and CUDA Alex Wade CAP6938 Final Project.
Dynamic Programming (DP), Shortest Paths (SP)
Robotics Chapter 6 – Machine Vision Dr. Amit Goradia.
SIMD Implementation of Discrete Wavelet Transform Jake Adriaens Diana Palsetia.
Morphological Image Processing
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
Correspondence search using Delaunay triangulation Rishu Gupta
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching Link: singhashwini.mesinghashwini.me.
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Recognition of biological cells – development
CSSE463: Image Recognition Day 21
9-1 Translations.
Mean Shift Segmentation
Investigating the Hausdorff Distance – Project Update
Investigating the Hausdorff Distance
Object Recognition in the Dynamic Link Architecture
Local Feature Extraction Using Scale-Space Decomposition
Hand Recognition using Geometric Classifiers
Kiera Henning, Jiwon Kim,
Comparing Images Using Hausdorff Distance
Fourier Transform of Boundaries
Presentation transcript:

Image matching using the Hausdorff Distance with CUDA Ashish Shah

Hausdorff distance set A = {a1,….,ap} and B = {b1,….,bq} - maximum distance of a set to the nearest point in the other set. - So in effect ranks each point of A based on its distance to the nearest point of B, and then uses the largest ranked such point as the distance - Hausdorff distance measures the amount of mismatch between two sets of points. - computed in O(pq(p+q)log(pq)) time

Minimal Hausdorff distance Considers the mismatch between all possible relative positions of two sets Minimal Hausdorff Distance MG defined as for all transformations(G) In the paper referred and project the focus is on the case where the relative position of the model with respect to the image is the group of translations

How to compute the MT In other words the H(A,B) can be computed by computing d(a) and d’(b) for all and Interested in the graph of d(x) which gives the distance from any point x to the nearest point in a set of source points in B

Voronoi surface It is a distance transform It defines the distance from any point x to the nearest of source points of the set A or B

Calculating Vornoi surfaceArray D [x,y] Algorithm Process each row independently for each row calculate distance to nearest non-zero pixel in that row i.e. for each (x,y) it finds dx such that E[x+dx, y] or E[x-dx,y] is a non-zero pixel where dx is minimum non-negative number Then scan each column up and down using the above computed dx values and using Euclidean norm calculate the nearest non-zero-pixel distance

Calculating Vornoi surfaceArray D [x,y]

Calculating Vornoi surfaceArray D [x,y] // x- KERNEL OVERVIEW for l = 0 to imagewidth if d[l] == infinity { for k = l+1 to imagewidth if d[k] == 0 distance = k - l for k = l-1 to 0 if d[k] == 0 && (l-k) < distance distance = l - k } d[l] = distance

Calculating Vornoi surfaceArray D [x,y] // y-KERNEL OVERVIEW for l = 0 to imageheight origdistance = d[l] distance = origdistance if d[l] != 0 { for k = l+1 to imageheight if (d[k] != infinity) && floord[k] == d[k] distance = k -l else geteuclideandistance(k-l, d[k]) for k = l-1 to 0 if d[k] != infinity && floord[k] == d[k] tdistance = 0; if d[k] == 0 tdistance = l - k else tdistance = geteuclideandistance(l-k, d[k]) if tdistance < distance diatnce = tdistance } d[l] = distance

Calculating Vornoi surfaceArray D [x,y]

Vornoi surfaceArray run-time comparison

Vornoi surfaceArray run-time comparison

Vornoi surfaceArray run-time comparison

Vornoi surfaceArray computation (nice to have) Using Shared memory by cell decomposition technique Verifying or comparing results by using Z-buffer for calculations, claims O(P) runtime in paper Author states takes 1 sec to compute distance transform on Sun-4 (SPARC-2 machine) for 256x256 image, no results for bigger images, our results show considerable degradation for higher resolution images

Calculating Hausdorff distance array F [x,y] Algorithm F[x,y] can be viewed as the maximization of distance transform D’[x,y] shifted by each location where model B[k,l] takes a nonzero value Probing the Voronoi surface of the image i.e. locations in the Voronoi surface of the image are probed and then F[x,y] is the maximum of these probe values for each position (x,y) of the model B[k,l].

Calculating Hausdorff distance array F [x,y]

Calculating Hausdorff distance array F [x,y] // hausdorffArrayKernel for k = 0 to modelheight for l = 0 to modelwidth element = M[l][k] * I[lx][ky] if (element > distance) { distance = element } d[o] = distance 17

Calculating Hausdorff distance array F [x,y]

Calculating Hausdorff distance array F [x,y]

Calculating Hausdorff distance array F [x,y]

Calculating Hausdorff distance array F [x,y]

Calculating Hausdorff distance array F [x,y] (nice to have) Using shared memory with cell decomposition technique Verifying technique with Z-buffer calculations, paper hasn’t verified this technique as well, mentions repeated Z-buffer loading could hamper the faster results as well Efficient computation as described for CPU O(pq(p+q)logpq) Ruling out circles Early scan termination Skipping forward Mentions consideration between speedup methods important

Results extracted from paper (efficient computation) Image: 360 x 240 pixels Model: 115 x 199 pixels Sun-4 (SPARCstation 2) Runtime ± 20 seconds 2 matches Image model overlaid

Results from CUDA implementation As per slide 15 - naïve approach - 256x256 image - 256x256 model - 13 seconds Results show that for higher resolution images the timing doesn’t de-grade much wheras on CPU implementation suffers exponential degradation Currently working on taking an actual binary image as input and doing a compare, planning on finishing implementation before end of project Note this should have very little to no effect on our results reported

Comments The method is quite tolerant of small position errors as occur with edge detectors and other feature extraction methods but a single outlier could throw the results off. Partial Hausdorff Distance is the k-th ranked distance between a point and its nearest neighbor in the other set where distances are ranked in increasing order - nicely resistant to noise - need to figure out kth distance value Nice to do also: Comparing multi-resolution image match techniques Comparing images under rigid motion

References References [Huttenlocher et al., 1991] Huttenlocher Daniel P, Kedem K and M. Sharir The Upper Envelope of Voronoi Surfaces and Its Applications, ACM symposium on Computational Geometry,194-292, 1991 Huttenlocher, D. P., Klanderman, G. A., and Rucklidge, W. A. 1993. Comparing Images Using the Hausdorff Distance. IEEE Trans. Pattern Anal. Mach. Intell. 15, 9 (Sep. 1993), 850-863. Rucklidge, W. J. 1994 Efficient Computation of the Minimum Hausdorff Distance for Visual Recognition. Technical Report. UMI Order Number: TR94-1454., Cornell University.

Comments

Comments