The basic description of the DLT algorithm is as follows:
dlt+ Newton method
Basic ideas:
The initial value is obtained by the DLT method, and then the iterative solution is solved by Newton method.
The thinking of the DLT method:
The camera matrix p is a matrix of 3*4, a total of 12 parameters. If you do not consider the relationship between the 12 parameters and think that they are independent of each other, then
SPX = X
is a linear equation ( x and x must be normalized so that the center of the point coordinate is at the origin and the distance to the origin is sqrt (2)). where S is the scale factor. The equation is eliminated by S to get the shape as
Ap = 0
Linear equation of form, where p is a matrix of 12*1, containing 12 parameters of P. The solution of the equation can be decomposed by SVD. Since the internal reference is known, the initial value of RT can be Rt0 by using the left side of the internal reference matrix.
Rt0 is generally not satisfied with the orthogonal conditions, it needs to be converted to an orthogonal matrix. The method is to decompose Rt0 by SVD to obtain and
Rt0 = Uwv '
Because Rt0 is a phalanx, so u=v. W is a diagonal array of 3*3, and the diagonal element is the eigenvalues of Rt0. If the orthogonal condition of the Rt0 is to be satisfied, the w=i,i is the unit array of the 3*3 (forcing the eigenvalue to 1). At this time
Rt0 = UV '
satisfies the orthogonal condition while satisfying the determinant of 1.
The Rt0 at this time is the initial value of the request.
Newton's method of thinking:
For the equation of the following form
(1)
The Newton method in matrix form has the following form:
(2)
(3)
This is the error column vector that will be taken into the (1) formula. Repeat the above process until the required accuracy is achieved.
======================================================================================
The above is the basic idea of the DLT algorithm, the following emphasis on the bold part: why should be normalized. What the benefits of normalization are. 、
"Multi-view geometry in computer vision" This book has been discussed, if a picture of coordinates x is XX = T1*x, while the other map coordinates xx ' = T2*x ' instead, wherein T1 and T2 are 3*3 matrix, representing a similar transformation. When we ask for a single-matrix X ' = HX, it becomes
T2 * x ' = H ' * T1 * x
The h ' and H here are obviously different, and if a method of calculating homography is a similar transformation , the relationship should be
H = (T2.INV ()) * h ' * T1
So, in the actual operation of the DLT algorithm, the two are not equal. Because the DLT algorithm is not the same as the same transformation.
Why.
The key is that the matrix H we obtain has an indeterminate scale factor in all cases, and the scale factor is different for different feature points. To be able to get the value of H, we must be bound to the norm (or determinant value) of H. In general, we use SVD decomposition to solve the problem, and the SVD decomposition of the H implied by a constraint is
|| h| | =1.
When H is written in the form of a column vector, its Euclidean length is 1. And the upper constraint is transformed after a similar transformation.
|| (T2.INV ()) * H * t1| | =1
These two formulas are not equivalent . When the first formula is satisfied, the second one is not necessarily satisfied. Rather, they are not associated in any simple form. In other words, we change the constraint on H by essentially a similar transformation of the coordinate of the feature point. The resulting result must be not equivalent.
So we need to be normalized.
Normalized with the DLT, there are two benefits:
1. Improve accuracy
Clearly, normalization ensures that the constraints are correct and the accuracy increases naturally.
2. Bring similar transformation invariance
As a result of normalization, we convert the coordinates to the standard coordinate space, so any similarity transformation of the feature points (that is, the similarity transformation of the original image) will not affect the results of the DLT, making the DLT obtain the actual similarity transformation invariance.
==========================================================
Repeat the normalization process again:
First, by panning, the center of the feature point is at the origin point.
After scaling, the distance from the feature point to the origin is sqrt (2).