👨🏻‍💻 Projective Geometry: Estimating the homography matrix

Table of Contents 1. Introduction 2. Via geometric features 2.1. From points/lines 2.1.1. Problem formulation 2.1.2. Noise amplification: the horizon line 2.1.3. Solution: least squares estimator 2.2. From conics 2.3. From multiple features 3. Via a pair images 4. Via ML model 5. Summary 6. References 1. Introduction So far, we have figured out how to: Mathematically characterize the transform between the 3D world and a 2D image of it Map different types of objects between the two domains However, one might wonder: how do we actually compute the homography matrix that fully describes that transform in the first place?...

October 15, 2023

📐 Projective Geometry: Projecting between domains

Table of Contents 1. Motivation: sports analytics 2. Points 3. Lines 4. Conics 4.1. Projection 4.2. Distortion: Objects behind the camera plane 5. Images 5.1. Projection via object decomposition 6. References 1. Motivation: sports analytics At this point, we know how to mathematically characterise the mapping between the 3D world and a 2D image capturing it. So it seems natural to wonder: what can we do with it? In this post, I will focus on a use case that I happen to be familiar with, but there are many others you can think of....

July 10, 2023

📽️ Projective Geometry: Building the Homography Matrix from scratch

Table of Contents 1. Pinhole camera model 2. Intrinsic matrix 2.1. Setup 2.2. Homogeneous coordinates 2.3. Accounting for distortions 2.3.1. Digital images 2.3.2. Rephotographing Images 3. Extrinsic matrix 4. Homography matrix 5. References 1. Pinhole camera model When we capture something on camera, there is an interesting phenomenon going on: compression. We are taking a photograph of a 3D world, and capturing it in a 2D image. This 3D→2D space mapping inevitably leads to information loss....

April 5, 2023