# Improved Direct Linear Transformation for Parameter Decoupling in Camera Calibration
## 3 Improved Direct Linear Transformation
### Improved Direct Linear Transformation  
Owing to the linear relationship that exists between the intrinsic and extrinsic parameter errors, all of these errors are unknown, and the specific error value cannot be directly solved. We assume that the 3D template only moves along the \(z\) axis. \({a^{\prime}}_{x}\), \({a^{\prime}}_{y}\), \({u^{\prime}}_{0}\), \({v^{\prime}}_{0}\), \({t^{\prime}}_{x}\), \({t^{\prime}}_{y}\) and \({t^{\prime}}_{z1}\) are calibration values of the DLT algorithm before the \(z\) axis translation. \({a^{\prime\prime}}_{x}\), \({a^{\prime\prime}}_{y}\), \({u^{\prime\prime}}_{0}\), \({v^{\prime\prime}}_{0}\), \({t^{\prime\prime}}_{x}\), \({t^{\prime\prime}}_{y}\) and \({t^{\prime}}_{z2}\) are calibration values of the DLT algorithm after the \(z\) axis translation. From Equations (23) and (24), we have:  
\[ \begin{array}{l}\Delta{t^{\prime}}_{x}={t^{\prime}}_{x}-t_{x}=-t_{z1}({u^{ \prime}}_{0}-u_{0})/a_{x}\\ \Delta{t^{\prime\prime}}_{x}={t^{\prime\prime}}_{x}-t_{x}=-t_{z2}({u^{\prime \prime}}_{0}-u_{0})/a_{x}\\ \end{array}  \tag{31}\]  
\[ \begin{array}{l}\Delta{t^{\prime}}_{y}={t^{\prime}}_{y}-t_{y}=-t_{z1}({v^{ \prime}}_{0}-v_{0})/a_{y}\\ \Delta{t^{\prime\prime}}_{y}={t^{\prime\prime}}_{y}-t_{y}=-t_{z2}({v^{\prime \prime}}_{0}-v_{0})/a_{y}\\ \end{array}  \tag{32}\]  
where \(a_{x}\), \(a_{y}\), \(u_{0}\), \(v_{0}\), \(t_{x}\), \(t_{y}\), \(t_{z1}\) and \(t_{z2}\) are true values. Because the translation occurs only along the \(z\) axis, we set \(t_{z2}=nt_{z1}\). From Equations (31) and (32), we have:  
\[\frac{{t^{\prime}}_{x}-{t^{\prime\prime}}_{x}}{n-1}=\frac{t_{z1}}{a_{x}}(\frac {{n^{\prime\prime}}_{0}-{u^{\prime}}_{0}}{n-1}-u_{0}) \tag{33}\]  
\[\frac{{t^{\prime}}_{y}-{t^{\prime\prime}}_{y}}{n-1}=\frac{t_{z1}}{a_{x}}(\frac {{n^{\prime\prime}}_{0}-{v^{\prime}}_{0}}{n-1}-v_{0}) \tag{34}\]  
From Equation (33), a linear relationship exists between \(({n^{\prime\prime}}_{0}-{u^{\prime}}_{0})/({n-1})\) and \(({t^{\prime}}_{x}-{t^{\prime\prime}}_{x})/({n-1})\). By repeatedly moving the 3D template, \(u_{0}\) can be solved with a linear least-squares fit. Similarly, \(v_{0}\) can be solved by Equation (34). From Equations (31) and (32), we have:  
\[\frac{{nt^{\prime}}_{x}-{t^{\prime\prime}}_{x}}{n-1}=t_{x}-\frac{t_{z}}{a_{x}} \frac{n({u^{\prime\prime}}_{0}-{u^{\prime}}_{0})}{n-1} \tag{35}\]  
\[\frac{{nt^{\prime}}_{y}-{t^{\prime\prime}}_{y}}{n-1}=t_{y}-\frac{t_{z}}{a_{y}} \frac{n({v^{\prime\prime}}_{0}-{v^{\prime}}_{0})}{n-1} \tag{36}\]  
A linear relationship exists between \(n({u^{\prime\prime}}_{0}-{u^{\prime}}_{0})/({n-1})\) and \(({nt^{\prime}}_{x}-{t^{\prime\prime}}_{x})/{n-1}\), \(n({v^{\prime\prime}}_{0}-{v^{\prime}}_{0})/({n-1})\) and \(({nt^{\prime}}_{y}-{t^{\prime\prime}}_{y})/({n-1})\). Thus, \(t_{x}\), \(t_{y}\) can be solved by Equations (35) and (36). From Equation (30), we have:  
\[ \begin{array}{l}{a^{\prime}}_{x}-a_{x}=(r_{11}a_{x}+r_{31}u_{0})({t^{\prime }}_{z1}-t_{z1})/t_{z1}\\ {a^{\prime\prime}}_{x}-a_{x}=(r_{11}a_{x}+r_{31}u_{0})({t^{\prime}}_{z2}-t_{z2 })/t_{z2}\\ \end{array}  \tag{37}\]  
Figure 5: Error approximate analysis: (**a**) \(a_{x}\) error comparison; (**b**) \(a_{y}\) error comparison. From Equation (37), we have:  
\[(r_{11}a_{x}+r_{31}u_{0})((t^{\prime}{}_{z2}-t^{\prime}{}_{z1})-(t_{z2}-t_{z1}))-( t_{z2}a^{\prime\prime}{}_{x}-t_{z1}a^{\prime}{}_{x}-a_{x}(t_{z2}-t_{z1}))=0 \tag{38}\]  
We set \(dz_{1}=t_{z2}-t_{z1}\). We then obtain:  
\[(r_{11}a_{x}+r_{31}u_{0})\frac{t^{\prime}{}_{z2}-t^{\prime}{}_{z1}-dz_{1}}{dz_{ 1}}-t_{z1}\frac{a^{\prime\prime}{}_{x}-a^{\prime}{}_{x}}{dz_{1}}-a^{\prime \prime}{}_{x}+a_{x}=0 \tag{39}\]  
Because \((a^{\prime\prime}{}_{x}-a^{\prime}{}_{x})/dz_{1}\) is small, we use \(t^{\prime}{}_{z1}\) to replace \(t_{z1}\).