5.1 2D射影空间中的基本元素

5.2基本元素的2D射影变换

5.3变换的层次

  • 等距变换:长度角度都不变,只包括旋转与平移,3个参数

  • 相似变换:等距+等比例缩放,4个参数

    • 虚圆点:每个圆与无穷远线的交点,有两个,欧氏几何中两个正交方向(0,i,0)与(0,-i,0)合并到一个复共轭实体中:I=(1,0,0)+i(0,1,0)
    • 与虚圆点对偶的二次曲线:由两个虚圆点构成的退化的线的二次曲线

    • 虚圆点为不动点
  • 仿射变换,6个参数(非各向同性缩放,缩放和旋转各需要2个参数)
    • 平行依旧平行
    • 无穷远点、无穷远线还是无穷远,无穷远点为不动点
  • 射影变换
    • 共线依旧共线
    • 8个未知量
    • 无穷远的线变得有限远,允许观测到消失点、消失线
    • 交比不变

5.4 2D射影变换的应用

仿射矫正

射影->仿射

从射影空间中确定一条线为无穷远直线,就得到仿射空间

从射影空间恢复仿射度量,需要找到无穷远直线的位置

通过平行线的交点计算消失点,连接起来为消失线

  • 在图像中找到无穷远直线
  • 将无穷远直线变换到标准形式(1,1,0)

度量矫正

仿射->相似

需要增加约束:虚圆点确定的正交坐标系

3个点+2个虚圆点确定一个圆,5个点确定一个二次曲线

  • 通过虚圆点确定对偶绝对二次曲线
  • 变换到标准形式

图像拼接

(1) 基于特征点匹配的图像对齐:最近邻匹配

KD树:O(logN),最大方差的维度进行分裂

哈希:局部敏感哈希:用多个哈希函数预处理数据点,使得距离近的点冲突的可能性大。查询时用哈希函数找到桶,再对桶中的点进行检索。

选择方法:特征数目N较小时暴力搜索,空间维度D较小时KD树,否则哈希

(2)2D射影变换参数求解:坐标归一的DLT(目标函数)、RANSAC(抗噪)

  • 单应变换:2D射影变换
  • 单应变换估计:将两幅图像中特征点对的坐标变成齐次坐标,之后找到两幅图像之间特征点对的最佳对应关系H,
  • 直接线性变换DLT:需要4对以上的对应点,给定齐次坐标,计算H,只对线性变换有效
    • 计算矩阵A(A其实就是坐标x、y的组合,Ah=0,h是H中参数的组合,最小化||Ah||^2,约束||h||=1)
    • 计算A的特征值分解
    • 取A最小的特征值对应的特征向量h
    • 将h写成H的形式

  • 单应估计不具有相似不变性,DLT无法抵抗相似变换的干扰,病态:分量幅度差异大,鲁棒性差
  • 特征点坐标归一化的作用:保持齐次坐标的三个分量有相同的幅度,避免病态条件的产生
    • 计算一个平移和缩放的相似变换,使得归一化后的坐标原点在(0,0),所有点到原点的平均距离为√2
    • 在归一化的坐标系中,使用DLT计算H^~
    • 反归一化计算H
  • RANSAC:随机采样一致性,从一组包含异常值的观测数据集中估计其数学模型参数的迭代方法,是一种不确定性算法,以一定的概率得出一个合理的结果,提高这个概率需要增加迭代次数。
    • 选择4个匹配的特征点对
    • 计算单应变换矩阵H
    • 计算内点:
    • 循环选择,记录最大内点的集合(选择内点数目最多的匹配方式)
    • 根据所有内点,采用最小二乘法计算H

(3)warp和拼接:了解即可

warping:变形,包括空间坐标变换与像素值赋值

反向变换更好

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐