Geometric Hashing: Efficient Algorithms for Image Recognition and Matching
By Fouad Sabry
()
About this ebook
What is Geometric Hashing
In computer science, geometric hashing is a method for efficiently finding two-dimensional objects represented by discrete points that have undergone an affine transformation, though extensions exist to other object representations and transformations. In an off-line step, the objects are encoded by treating each pair of points as a geometric basis. The remaining points can be represented in an invariant fashion with respect to this basis using two parameters. For each point, its quantized transformed coordinates are stored in the hash table as a key, and indices of the basis points as a value. Then a new pair of basis points is selected, and the process is repeated. In the on-line (recognition) step, randomly selected pairs of data points are considered as candidate bases. For each candidate basis, the remaining data points are encoded according to the basis and possible correspondences from the object are found in the previously constructed table. The candidate basis is accepted if a sufficiently large number of the data points index a consistent object basis.
How you will benefit
(I) Insights, and validations about the following topics:
Chapter 1: Geometric hashing
Chapter 2: Analytic geometry
Chapter 3: Cartesian coordinate system
Chapter 4: 2D computer graphics
Chapter 5: Coordinate system
Chapter 6: Translation (geometry)
Chapter 7: Hough transform
Chapter 8: Scale-invariant feature transform
Chapter 9: Homography
Chapter 10: Geometric feature learning
(II) Answering the public top questions about geometric hashing.
(III) Real world examples for the usage of geometric hashing in many fields.
Who this book is for
Professionals, undergraduate and graduate students, enthusiasts, hobbyists, and those who want to go beyond basic knowledge or information for any kind of Geometric Hashing.
Read more from Fouad Sabry
Related to Geometric Hashing
Titles in the series (100)
Underwater Computer Vision: Exploring the Depths of Computer Vision Beneath the Waves Rating: 0 out of 5 stars0 ratingsColor Model: Understanding the Spectrum of Computer Vision: Exploring Color Models Rating: 0 out of 5 stars0 ratingsComputer Vision: Exploring the Depths of Computer Vision Rating: 0 out of 5 stars0 ratingsAffine Transformation: Unlocking Visual Perspectives: Exploring Affine Transformation in Computer Vision Rating: 0 out of 5 stars0 ratingsComputer Stereo Vision: Exploring Depth Perception in Computer Vision Rating: 0 out of 5 stars0 ratingsInpainting: Bridging Gaps in Computer Vision Rating: 0 out of 5 stars0 ratingsFilter Bank: Insights into Computer Vision's Filter Bank Techniques Rating: 0 out of 5 stars0 ratingsRadon Transform: Unveiling Hidden Patterns in Visual Data Rating: 0 out of 5 stars0 ratingsRetinex: Unveiling the Secrets of Computational Vision with Retinex Rating: 0 out of 5 stars0 ratingsNoise Reduction: Enhancing Clarity, Advanced Techniques for Noise Reduction in Computer Vision Rating: 0 out of 5 stars0 ratingsHistogram Equalization: Enhancing Image Contrast for Enhanced Visual Perception Rating: 0 out of 5 stars0 ratingsGamma Correction: Enhancing Visual Clarity in Computer Vision: The Gamma Correction Technique Rating: 0 out of 5 stars0 ratingsImage Compression: Efficient Techniques for Visual Data Optimization Rating: 0 out of 5 stars0 ratingsTone Mapping: Tone Mapping: Illuminating Perspectives in Computer Vision Rating: 0 out of 5 stars0 ratingsAnisotropic Diffusion: Enhancing Image Analysis Through Anisotropic Diffusion Rating: 0 out of 5 stars0 ratingsHomography: Homography: Transformations in Computer Vision Rating: 0 out of 5 stars0 ratingsHough Transform: Unveiling the Magic of Hough Transform in Computer Vision Rating: 0 out of 5 stars0 ratingsHadamard Transform: Unveiling the Power of Hadamard Transform in Computer Vision Rating: 0 out of 5 stars0 ratingsImage Histogram: Unveiling Visual Insights, Exploring the Depths of Image Histograms in Computer Vision Rating: 0 out of 5 stars0 ratingsDirect Linear Transformation: Practical Applications and Techniques in Computer Vision Rating: 0 out of 5 stars0 ratingsAdaptive Filter: Enhancing Computer Vision Through Adaptive Filtering Rating: 0 out of 5 stars0 ratingsColor Management System: Optimizing Visual Perception in Digital Environments Rating: 0 out of 5 stars0 ratingsRandom Sample Consensus: Robust Estimation in Computer Vision Rating: 0 out of 5 stars0 ratingsJoint Photographic Experts Group: Unlocking the Power of Visual Data with the JPEG Standard Rating: 0 out of 5 stars0 ratingsColor Space: Exploring the Spectrum of Computer Vision Rating: 0 out of 5 stars0 ratingsComputer Vision Graph Cuts: Exploring Graph Cuts in Computer Vision Rating: 0 out of 5 stars0 ratingsContour Detection: Unveiling the Art of Visual Perception in Computer Vision Rating: 0 out of 5 stars0 ratingsVisual Perception: Insights into Computational Visual Processing Rating: 0 out of 5 stars0 ratingsMedial Axis: Exploring the Core of Computer Vision: Unveiling the Medial Axis Rating: 0 out of 5 stars0 ratingsBlob Detection: Unveiling Patterns in Visual Data Rating: 0 out of 5 stars0 ratings
Related ebooks
Bresenham Line Algorithm: Efficient Pixel-Perfect Line Rendering for Computer Vision Rating: 0 out of 5 stars0 ratingsHough Transform: Unveiling the Magic of Hough Transform in Computer Vision Rating: 0 out of 5 stars0 ratingsScale Invariant Feature Transform: Unveiling the Power of Scale Invariant Feature Transform in Computer Vision Rating: 0 out of 5 stars0 ratingsTwo Dimensional Computer Graphics: Exploring the Visual Realm: Two Dimensional Computer Graphics in Computer Vision Rating: 0 out of 5 stars0 ratingsGeometric Feature Learning: Unlocking Visual Insights through Geometric Feature Learning Rating: 0 out of 5 stars0 ratingsDirect Linear Transformation: Practical Applications and Techniques in Computer Vision Rating: 0 out of 5 stars0 ratingsBilinear Interpolation: Enhancing Image Resolution and Clarity through Bilinear Interpolation Rating: 0 out of 5 stars0 ratingsLine Drawing Algorithm: Mastering Techniques for Precision Image Rendering Rating: 0 out of 5 stars0 ratingsSupport Vector Machine: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsPinhole Camera Model: Understanding Perspective through Computational Optics Rating: 0 out of 5 stars0 ratingsGeometric Primitive: Exploring Foundations and Applications in Computer Vision Rating: 0 out of 5 stars0 ratingsImage Based Modeling and Rendering: Exploring Visual Realism: Techniques in Computer Vision Rating: 0 out of 5 stars0 ratingsComputational Geometry: Exploring Geometric Insights for Computer Vision Rating: 0 out of 5 stars0 ratingsCalculus Rating: 0 out of 5 stars0 ratingsMesh Generation: Advances and Applications in Computer Vision Mesh Generation Rating: 0 out of 5 stars0 ratingsVisualizing Data Structures Rating: 0 out of 5 stars0 ratingsMastering Data Structures and Algorithms in C and C++ Rating: 0 out of 5 stars0 ratingsDescriptive Geometry: Unlocking the Visual Realm: Exploring Descriptive Geometry in Computer Vision Rating: 0 out of 5 stars0 ratingsHarris Corner Detector: Unveiling the Magic of Image Feature Detection Rating: 0 out of 5 stars0 ratingsScale Space: Exploring Dimensions in Computer Vision Rating: 0 out of 5 stars0 ratingsString Algorithms in C: Efficient Text Representation and Search Rating: 0 out of 5 stars0 ratingsDocument Mosaicing: Unlocking Visual Insights through Document Mosaicing Rating: 0 out of 5 stars0 ratingsKernel Methods: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsComputer Algebra: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsContextual Image Classification: Understanding Visual Data for Effective Classification Rating: 0 out of 5 stars0 ratingsRandom Sample Consensus: Robust Estimation in Computer Vision Rating: 0 out of 5 stars0 ratingsSets, Numbers and Flowcharts Rating: 0 out of 5 stars0 ratingsTop Numerical Methods With Matlab For Beginners! Rating: 0 out of 5 stars0 ratingsVehicle Dynamics: Modeling and Simulation Rating: 0 out of 5 stars0 ratings
Intelligence (AI) & Semantics For You
2084: Artificial Intelligence and the Future of Humanity Rating: 4 out of 5 stars4/5101 Midjourney Prompt Secrets Rating: 3 out of 5 stars3/5Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5ChatGPT For Dummies Rating: 0 out of 5 stars0 ratingsDark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5Artificial Intelligence: A Guide for Thinking Humans Rating: 4 out of 5 stars4/5ChatGPT For Fiction Writing: AI for Authors Rating: 5 out of 5 stars5/5ChatGPT Ultimate User Guide - How to Make Money Online Faster and More Precise Using AI Technology Rating: 0 out of 5 stars0 ratingsSummary of Super-Intelligence From Nick Bostrom Rating: 5 out of 5 stars5/5The Algorithm of the Universe (A New Perspective to Cognitive AI) Rating: 5 out of 5 stars5/5Impromptu: Amplifying Our Humanity Through AI Rating: 5 out of 5 stars5/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Chat-GPT Income Ideas: Pioneering Monetization Concepts Utilizing Conversational AI for Profitable Ventures Rating: 4 out of 5 stars4/5What Makes Us Human: An Artificial Intelligence Answers Life's Biggest Questions Rating: 5 out of 5 stars5/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5A Quickstart Guide To Becoming A ChatGPT Millionaire: The ChatGPT Book For Beginners (Lazy Money Series®) Rating: 4 out of 5 stars4/5The Secrets of ChatGPT Prompt Engineering for Non-Developers Rating: 5 out of 5 stars5/510 Great Ways to Earn Money Through Artificial Intelligence(AI) Rating: 5 out of 5 stars5/5The Age of AI: Artificial Intelligence and the Future of Humanity Rating: 0 out of 5 stars0 ratingsAI for Educators: AI for Educators Rating: 5 out of 5 stars5/5Artificial Intelligence For Dummies Rating: 3 out of 5 stars3/5Midjourney Mastery - The Ultimate Handbook of Prompts Rating: 5 out of 5 stars5/5
Reviews for Geometric Hashing
0 ratings0 reviews
Book preview
Geometric Hashing - Fouad Sabry
Chapter 1: Geometric hashing
There are expansions to various object representations and transformations, but in computer science, geometric hashing is used to efficiently locate objects in two dimensions represented by discrete points that have undergone an affine transformation. Offline, each pair of points is used as a geometric basis for encoding the objects. Two parameters allow for a basis-invariant representation of the remaining points. The hash table maintains a pair of values: the indices of the basis points for each key, and the quantized converted coordinates for each value. The procedure is then repeated, this time using a different set of basis points. In the online (recognition) phase, arbitrary pairings of data points are evaluated as potential foundations. In order to find feasible correspondences between the object and each candidate basis, the remaining data points are encoded in accordance with the basis. If a big enough fraction of the data points point to a constant object basis, then the candidate basis is accepted.
In computer vision, geometric hashing was first proposed for 2D and 3D object recognition, Object recognition using geometric hashing.
Let’s say that we want to check if a model image can be seen in an input image.
Geometric hashing is a method that can be used to achieve this.
The technique could be used to identify a single object among many in a database, In this scenario, the hash table needs to keep track of both the pose data and the base index of the object model.
In order to keep the example straightforward, we'll simply be using a few point characteristics and will assume that their descriptions come solely from their coordinates (in practice local descriptors such as SIFT could be used for indexing).
Learn the model's defining characteristics.
Assume that 5 feature points are found in the model image with the coordinates (12,17); (45,13); (40,46); (20,35); (35,25) , view the photograph.
Provide a foundation for describing the feature points' coordinates.
The two points that provide the basis for a similarity transformation in two-dimensional space.
The starting point is located halfway along the line that joins the two points (P1, P2), Our case study's P4, the x' axis is directed towards one of them, the y' is orthogonal and goes through the origin.
The scale is selected such that absolute value of x' for both basis points is 1.
Explain where things are in relation to that foundation, i.e.
calculate the transformations to the new axes.
To make recognition more resilient to noise, the coordinates should be discretized, A 0.25-unit bin is used.
We thus get the coordinates (-0.75,-1.25); (1.00,0.00); (-0.50,1.25); (-1.00,0.00); (0.00,0.25)
Use a hash table with the features as the index to store the foundation (only transformed coordinates in this case). The number of items to store with the basis pair if there are more than two to be matched with.
Switch to a new basis pair and carry on from there (Step 2). To deal with occlusions, this is essential. All the pairs that aren't linear should ideally be listed. After two iterations, in which the pair (P1, P3) is chosen, we present the hash table.
Hash Table:
Most hash tables do not allow for duplicate keys to be associated with separate values.
So in real life one won’t encode basis keys (1.0, 0.0) and (-1.0, (Hash table, value of 0).
Locate points of visual appeal in the given image.
Pick a random starting point. The input image probably does not contain the target item if there is no adequate arbitrary foundation for determining whether or not it is present.
Detail the new coordinate system's feature point locations. Perform the traditional quantization of the resulting coordinates.
Verify the input image's converted point features against the hash table. In the event that the point features are the same or very similar, then the count for the relevant basis should be raised (and the type of object, if any).
If the count of a certain basis is greater than some threshold, then it is likely that this basis corresponds to an image basis selected in Step 2. To do this, we first convert the image's coordinate system to the model's (for the fictitious object). If it works, the item is located. If not, return to the previous step.
It appears that the only transformations this approach can handle are those of size, position, and orientation. However, the item may already exist in the supplied image in a mirror image format. Consequently, the object must to be discoverable by geometric hashing as well. Mirrored objects can be identified in two different ways.
Make the left side of the vector graph positive and the right side negative. To get the same result when multiplying by x, just add -1.
Use a triad as your starting point. This enables the identification of reflections (or objects). Another method of geometric hashing uses a set of three points as its foundation.
Hashing works similarly for higher-dimensional data, as shown above. Three points are required for the basis of three-dimensional data. The x-axis is defined by the first two points, and the y-axis by the third (with the first point). Using the right-hand rule, an axis may be constructed, and the z-axis will be perpendicular to it. The resulting basis is sensitive to the sequence in which the points are entered.
{End Chapter 1}
Chapter 2: Analytic geometry
Analytic geometry, often called coordinate geometry or Cartesian geometry, is a branch of mathematics concerned with the study of geometry from a Cartesian perspective. Synthetic geometry is the opposite of this.
Physics, engineering, aviation, rocketry, space science, and space travel all make use of analytic geometry. It is the basis for several branches of contemporary geometry, such as algebraic, differential, discrete, and computational geometry.
When working with equations involving planes, straight lines, and circles, the Cartesian coordinate system is typically used. In geometry, the two-dimensional Euclidean plane and the three-dimensional Euclidean space are studied. Analytic geometry, as it is typically defined and taught in textbooks, is concerned with creating and representing geometric shapes in a numerical sense, and extracting numerical information from these representations. The Cantor-Dedekind axiom guarantees that calculations in the geometry of the linear continuum can be performed using just the algebra of the real numbers.
It has been argued that the Greek mathematician Menaechmus developed analytic geometry because of his use of a technique that resembled the use of coordinates in solving problems and proving theorems.
The 11th-century Persian mathematician Omar Khayyam saw a strong relationship between geometry and algebra and was moving in the right direction when he helped close the gap between numerical and geometric algebra: 248
Analytic geometry was independently invented by René Descartes and Pierre de Fermat, Cartesian geometry, synonymous with analytic geometry, bears Descartes's name.
Descartes made significant progress with the methods in an essay titled La Géométrie (Geometry), an appendix to his Discourse on the Method for Rightly Directing One's Reason and Searching for Truth in the Sciences, published in 1637, Discourse on Method is a popular name for this work.
La Geometrie, composed entirely in his first language, French, its theoretical foundations, etc, laid the groundwork for the development of calculus in Europe.
The work was met with skepticism at first, due, in part, due to the numerous holes in the argument and the tangled math.
Descartes' masterpiece wasn't recognized for what it was until after van Schooten translated it into Latin and added commentary in 1649 (and after he continued working on it).
As a result of taking this tack, Descartes was tasked with solving more intricate equations, necessitating the refinement of techniques for handling polynomial equations of greater degree.
Leonhard Euler was the first to systematically investigate curves and surfaces in space using the coordinate method.
In analytic geometry, a coordinate system is introduced for the plane, and each point is assigned two real numbers. Each point in Euclidean space is also assigned three coordinates. The significance of the coordinates is determined by the chosen reference point. Many different coordinate systems exist, but the following are the most common::
Cartesian coordinates, in which each point has an x-coordinate representing its horizontal position and a y-coordinate representing its vertical position, are the most widely used coordinate system. These are usually presented as a paired expression (x, y). Every point in three-dimensional Euclidean space can be represented by an ordered triple of coordinates using this method (x, y, z).
In polar notation,