Normalization in DLT triangulation methods (3).
04 Nov 2021In the DLT triangulation methods Hartley et al. (Page 1, Page 2 ), a normalization method is suggested. Essentially, this normalization serves as a sort of preconditioning, but the procedure is different from preconditioning, so I will use ‘normalization’ to refer to the Hartley et al. version of centering and scaling the input points. Discussions on normalization are from H1997 and MVG2004.
As before, let
- \(\mathbf{P}\): \(3 \times 4\) camera calibration matrix.
- \(\mathbf{X}\) (world point): column vector, size \(4\).
- \(\mathbf{x}\) (image point): column vector, size \(3\).
The main idea is that given the relationship
\[\mathbf{x} = \mathbf{PX}\]If both sides are multiplied by a transformation, \(\mathbf{T}\), it will not change the relationship.
\[\mathbf{T}\mathbf{x} = (\mathbf{T}\mathbf{P})\mathbf{X}\]In H1997 and MVG2004, normalization is specified per set of image points for fundamental matrix and homography estimation. In that context, the normalization procedure is:
- 1: centering: translation such that the mean of the set of image points is zero.
- 2: scaling: scale such that the average distance to the origin for a image point coordinate is \(\sqrt{2}\).
There does not seem to be a direct analogue from normalization of sets of points in homography or fundamental matrix estimation, to normalization of one point in the triangulation problem. But, in MVG2004 normalization for DLT triangulation is encouraged but not specified. The code for a DLT function from the MVG2004 book has the following normalization matrix, computed for each image point / camera matrix pair:
\[\mathbf{T} = \begin{bmatrix} 2/cols & 0 & -1\\ 0 & 2/rows & -1\\ 0 & 0 & 1\end{bmatrix}\]And then the normallized versions of the data (\(\mathbf{T}\mathbf{x}\), \(\mathbf{T}\mathbf{P}\)) are used for solving via DLT methods (Page 1, Page 2 ).
Listing of N-view Triangulation posts.
References
[H1997] Richard Hartley. “In Defense of the Eight-Point Algorithm.” IEEE Transactions on Pattern Analysis and Machine Intelligence 19, no. 6 (June 1997): 580–93. 10.1109/34.601246. link
[MVG2004] Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, 2nd edition. link