Multiple View Geometry in Computer Vision
This post is about the overview of a course that I’ve taken (self study) by following the amazing book - Multiple View Geometry in Computer Vision by Hartley and Zisserman. I will include chapter-wise summaries as I go through the book. I am planning to complete this course during my semester break in December. The following is the tentative timeline.
- Nov 30 to Dec 20 : Complete the course from Cornell University on Computer vision along with following the above book.
- For the last week, the latest work in Neural Rendering:
- Neural 3D Mesh Renderer
- Differentiable Monte Carlo Ray Tracing through Edge Sampling
Note: All the images are courtesy of the book - “Multiple View Geometry in Computer Vision”
Contents
Chapter 02: Projective Geometry and Transformations of 2D
Projective Transformations
Projective Transformation: A planar projective transformation is a linear transformation on homogenous 3-vectors represented by a non-singular \(3 \times 3\) matrix. \(x^\prime = Hx\).
Mapping between planes: Consider two planes and points \(x^\prime\), \(x\) on these two planes. These points are generated by a ray which meets these planes starting from a common point (the centre of projection). Assuming these points are represented using homogenous co-ordinates, these two points can be related by the relation \(x^\prime = Hx\) where \(H\) is a \(3 \times 3\) non-singular matrix.
There are eight independent ratios amongst the nine elements of \(H\) and hence it follows that a projective transformation has eight degrees of freedom. You would require four point correspondances to solve for \(H\). Simple applications is the removal of projective distortion from a perspective image of a plane. Note: You should compute different \(H\) for different planes. Check out the Figure 1. Note about the figure:
- Computation of H does not require knowledge of any of the camera’s parameters or the pose of the plane.
- It’s not always required to know 4 points (Check section: 2.7)