Camera Calibration: Direct Linear Transform
Credits go to the following video. The rest is my note.
Direct Linear transform (DLT) maps world coords to image coords
Given or more pairs of world coord and image coord , figure out intrinsic parameter , Rotation matrix , and projection center . For each pair, can be rewritten as:
We can stack of such equation together and get
Now the problem becomes:
Given , find , such that .
The solution to this is do a SVD of , and set . is the eigenvector corresponds to the smallest singular value (all singular values are non-negative). Try proof this yourself. Hint: decompose into the space defined by .
There are two corner cases that there is no solution: 1. All world coords are on the same plane. 2. all world coords and the projection center are locate on a twisted cubic curve.
After this, we get matrix .
Therefore, . QR decomposition gives a orthogonal matrix times a upper diagonal matrix, while what we need is a upper diagonal matrix times a orthogonal matrix. In order to achieve that, we QT decompose to get and
Some final touchups: times with to make . and need to be positive, so throw the sign to rotation matrix .
Date: 2019-12-24 Tue 00:00