多视图几何总结——等距变换、相似变换、仿射变换和射影变换
多视图几何再2.4节中介绍好几种变换,有时候容易绕懵,这里花点时间简单总结下
首先只管感受下这几种变换
其中图a是相似变换,其效果是圆仍然是圆,正方形仍然是正方形;图b是仿射变换,其效果是圆变成椭圆,垂线不再垂直;图c是射影变换,其效果是平行线变成汇聚线,下面分别从数学层面介绍这几种变换。
等距变换
等距变换也就是我们在机器人中所学的刚体变换,其分块形式为
其中为旋转矩阵(为正交阵),为平移矢量,在平面等距变换中矩阵一共有三个*度,旋转一个,平移两个
其变换不变量是:长度、角度和面积
相似变化
相似变换是等距变换与均匀缩放的复合,其分块形式为:
观察矩阵形式,其实就是在旋转矩阵上加了一个缩放因子s,其一共有四个*度,因为比等距变换多了一个*度
其不变量为:长度的比率、角度和面积的比率
仿射变换
其分块形式为
其中A是一个的非奇异矩阵,因此仿射变换一共六个*度,其中比较有意思的是对矩阵的理解,可以对进行SVD分解因此仿射矩阵可以看成一个旋转,加上在已旋转的和方向分别进行比例因子和(分解出来的特征值或者说矩阵的对角线元素)分别进行按比例缩放,再加上一个回转和最后一个旋转的符合类型,这在我学矩阵论是遇到SVD分解时就思考过的问题,这里解释得很好,可以参考下图理解
其不变量为:平行线段的长度比,平行线和面积比(所有面积都缩放倍)
射影变换
其分块形式为
仿射变换是非齐次坐标的一般非奇异线性变换和一个平移的符合,其一共具有八个*度
其不变量为:共点,共线,接触的阶还有长度的比率的比率
总结
这里可以注意下仿射变换和射影变换的区别如下:
仿射变换
射影变换
其中是无穷远点(无穷远点的表示方法就是其次坐标最后一位为0),可以发现通过仿射变换无穷远点还是无穷远点,但是通过射影变换可以将无穷远点变换为有限点,正因为如此,射影变换可以完成消除透视失真操作:
最后铺上一张多视图几何中关于几种变换的总结表:
有问题欢迎交流指正~