当前位置: 首页 > news >正文

Part 0:射影几何,变换与估计-第二章:2D射影几何与变换(下)

0帧起手

0.射影几何与欧式几何的联系,射影几何是欧式几何的一般形式,主要是其次坐标(x_{1},x_{2},x_{3})的问题,当x3=1时即为欧式几何。

1.射影变换的不变性是已知四个共线点的交比cross ratio,并且具有强大性质;

2.共线点与共点线互为对偶关系,理解共线点是后续的对极几何的基础

3.我们如何把一个带有射影畸变的图像恢复正常?这与前面射影变换的分解有关系,射影变换可以分解为相似变换&仿射变换&射影变换的乘积。因此去畸变就相当按照这个顺序一层一层再变回去(逆变换),这是2.7节的核心问题

4.具体地说,每一次变化的理论依据都是一个大前提,我们按照这些前提保证了去畸变的规范性正确性,他们的核心是:无穷远线、虚圆点

  • 大前提1:仿射变换保持平行性质的不变性
  • 大前提2:相似变换保持虚圆点不变性;相似变换保持虚圆点的对偶二次曲线的不变性
  • 大前提3:相似变换保持角度的不变性,这是根据虚圆点的对偶二次曲线得来的

5.这里是2.8节,极点与极线关系,是基于直线与二次曲线关系的,一个点 x 和一个二次曲线 C 定义了一条直线 l = Cx。这条直线 l 称为点 x 关于 C 的极线(polar),而点 x 称为直线 l 关于 C 的极点(pole),另外,l = Ax此种映射被定义为对偶映射

6.二次曲线的其他属性,比如统一表示,不同参数表示不同的二次曲线,以及直线与二次曲线的关系

7.射影变换因为其特征值的原因,具有了变换前后的不动点与不动线的性质,这里的射影变换是泛指所有的相似变换、仿射变换、射影变换,具体请看2.9节

2.5 1D射影几何

2.5.1cross ratio

1D射影几何 IP¹即一条直线+其中点的变换,直线上点x由齐次坐标(x1,x2)T表示,其中x2=0对应的点称为直线的理想点。我们将采用符号x̄表示二维向量(x1,x2)T。直线的射影变换可用2×2齐次矩阵表示为:

其中射影变换H的freedom为3:

这样,H由3个点对来计算得出。

下面介绍交比(cross ratio)及其性质:

在射影几何中,交比是 IP¹(射影直线)的基本不变量。给定四个点 xˉ1,xˉ2,xˉ3,xˉ4xˉ1​,xˉ2​,xˉ3​,xˉ4​,其交比定义为:

交比是射影几何中比距离更基本的量,因为距离在射影变换下并非不变量。性质:

1)齐次坐标无关性:齐次坐标可以自由缩放(如 λxˉ),但分子分母的缩放因子会抵消,确保交比唯一。

2)距离:在仿射坐标系下(x2​=1),行列式退化为点的欧氏距离差(xi1​−xj1​),此时交比表现为距离比。

3)理想点兼容性:即使一个点是无穷远点(如 xˉi​=(1,0)),行列式仍有定义,交比依然有效。

4)射影不变性:射影变换(如平移、旋转、缩放、透视)可能改变点的绝对位置,但四点交比保持不变。

如图2.8,画出来的每一组4个点之间(有射影变换关系)的交比不变

实际上,IP¹的射影变换是IP2诱导的,因为平面中的任意点x经过射影变换以后为Hx,那么由2.3节中的定理2.10可知,点构成的直线对应的射影变换为H^{-T}

2.5.2共点线(Concurrent lines)

共点线的理解是第九章中的对极几何的基础。

共点线的几何结构与直线上共线点(collinear points)具有对偶性(dual),换句话说,平面上的共点线同样具有 IP1的几何性质。具体而言,四条共点线存在一个交比(cross ratio),如图2.9a所示。

2.9b是相拍摄在实际中的类比,c为相机光心,为图像在正射视角看是一条线段是为l,对极几何正式挑选了满足上述共点线以及共线点的对偶性质的4对点来计算的,对应关系解释:点 x̄ᵢ 是点 xᵢ 在图像上的投影。不同的图像线选择会导致射影等价的点构型。

2.6射影平面的拓扑( IP²的拓扑性质。仅供拓展理解

2.7从图像中恢复仿射与度量性质

讲故事

我们回到例2.12(第34页)的射影校正问题,其目标是通过消除平面透视图像中的射影畸变,使得原始平面上的相似性质(如角度、长度比例)可被测量,在该例中,通过指定平面上四个参考点的位置(共8个自由度)并显式计算将这些点映射到图像的变换,完全消除了射影畸变(注意,是射影畸变,并非要

相关文章:

  • 软文营销的三个层面东莞seo外包公司
  • 网站建设怎么报价线上培训机构排名前十
  • 求网页设计网站市场调研分析
  • 优化前网站现状分析深圳百度关键
  • 做家具网站要多少钱百度搜索流量查询
  • 北京网站建设好不好天海外市场推广做什么的
  • 【看到哪里写到哪里】算闰年的(year 3) == 0
  • Selenium 二次封装通用页面基类 BasePage —— Python 实践
  • Windows下安装zookeeper
  • ros (二) 使用消息传递点云+rviz显示
  • web目录扫描-御剑
  • Redis跳表(skiplist)底层原理浅析
  • 使用亮数据网页抓取API自动获取Tiktok数据
  • matlab机器人工具箱(Robotics Toolbox)安装及使用
  • 【EDA软件】【应用功能子模块网表提供和加载编译方法】
  • 重置 MySQL root 密码
  • 前端面试专栏-主流框架:13.vue3组件通信与生命周期
  • webman 利用tcp 做服务端 对接物联网
  • C# LINQ语法
  • Boss:攻击
  • 【MQTT】常见问题
  • MySQL之视图深度解析
  • 第2章,[标签 Win32] :编写兼容多字节字符集和 Unicode 字符集的 Windows 程序
  • 【DevTools浏览器开发者工具反调试之无限Debugger跳过】
  • SpringBoot高校党务系统
  • PyTorch RNN实战:快速上手教程