一、本质矩阵或者基础矩阵算法来自于对极约束:
$$x_{2}^{T}t^{\wedge}Rx_{1}=0$$
也可以写成
$$p_{2}^{T}K^{-T}t^{\wedge}RK^{-1}p_{1}=0$$
其中间部分记为本质矩阵E和基础矩阵F:
$$E=t^{\wedge}R$$或者:$$F=K^{-T}t^{\wedge}RK^{-1}$$
本质矩阵E具有平移和旋转六个自由度,但是由于对极约束是等式为0的约束,所以具有尺度等价性。故具有5个自由度,理论上可以通过5组匹配点进行计算,但是过于复杂,实际上往往通过8点法进行求解。SVD分解往往会得到四个解,通过深度检验可以确定正确的解。
注意:对于约束由于t的存在,如果发生纯旋转,会导致无解。但是单应矩阵(homography)可以解决这个问题。纯旋转也会导致初始化问题。
二、单应矩阵来自于平面约束:
$$n^{T}P+d = 0$$
可得:
$$ -\frac{n^{T}P}{d}=