《计算机视觉中的多视图几何》笔记(1)

1 Introduction -- a Tour of Multiple View Geometry

本章介绍了本书的主要思想。

1.1 Introduction -- the ubiquitous projective geometry

为了了解为什么我们需要射影几何,我们从熟悉的欧几里得几何开始。 欧几里得几何在二维中认为平行线是不会相交的,解决这个问题的一种常见手段是说平行线"在无穷远"相交。 然而,这并不完全令人信服,并且与另一个格言相冲突,即无穷不存在,而只是一个方便的虚构。 我们可以通过在平行线相交的无穷远处添加这些点来增强欧几里得平面,并通过将它们称为"理想点"来解决无穷远的困难,从而解决这个问题。

通过将这些无穷远点相加,熟悉的欧几里得空间就转变为一种新型的几何对象,即射影空间。 这是一种非常有用的思维方式,因为我们熟悉欧几里得空间的属性,涉及距离、角度、点、线和入射等概念。 射影空间并没有什么非常神秘的地方------它只是欧几里得空间的延伸,其中两条线总是交汇于一点,尽管有时交汇于无穷远的点。

一个简单的2D欧式点(x, y)可以添加一个额外的坐标变为(x, y, 1),也可以表示为(kx, ky, k)。那么,我们可以观察到,虽然 (x, y, 1) 表示与坐标对 (x, y) 相同的点,但没有对应于 (x, y, 0) 的点。 如果我们尝试除以最后一个坐标,我们会得到无穷大的点 (x/0, y/0)。 这就是无穷远点的产生方式。 它们是由齐次坐标表示的点,其中最后一个坐标为零。所以,(x, y, 0)表示无穷远点。

平移和旋转被称为欧式变换,射影变换是相当于在齐次坐标下面乘了一个齐次矩阵,这是机器视觉和图形学、机器人中常见的表示方法。更通用的变换类型是线性变换,然后移动空间原点的欧几里得变换。 我们可以将其视为空间在不同方向上以不同比例移动、旋转并最终线性拉伸,由此产生的变换称为仿射变换。

1.2 Camera projections

摄像机投影的原理可以看成是从射影空间到射影平面的投影,通过一个3x4的矩阵转换一下齐次坐标就可以。

摄像机可以被视作一个点。

关于相机,如果一个相机中能够得到IAC(绝对二次曲线的图像),那么我们说相机已经标定。

1.3 Reconstruction from more than one view

考虑两幅图的重建,重构往往是会产生很多组解的。必须至少有7个不在临界位置的点,来确定重构的结果。

我们的目标是已知两幅图中的对应点,想要获取他们的相机坐标和对应的3D坐标,这种求解一定是带有不确定性的,不确定性可以用投影变换来描述,这种重建叫做投影重建。

重建的基本方法是找基础矩阵,基础矩阵意味着两个图像的对应相同的3D点。

重建的主要流程:找基础矩阵,求相机矩阵,在用三角法求对应的3D点。

1.4 Three-view geometry

对应三幅图的重建,基本原理跟两视角重建差不多,不过计算起来会更复杂。

1.5 Four view geometry and n-view reconstruction

对多视图的重建,针对不同序列有不同的重建方法,一个基本的步骤是bundle adjustment,这一步需要反复迭代式的调整。

1.6 Transfer

我们已经讨论了从一组图像进行 3D 重建。 射影几何的另一个有用的应用是传递:给定一个(或多个)图像中的点的位置,确定它在该组的所有其他图像中出现的位置。 为此,我们必须首先使用(例如)一组辅助点对应关系来建立摄像机之间的关系。

1.7 Euclidean reconstruction

欧式几何的重建,根本任务是要找绝对二次曲线所在的平面和无穷远的平面。只要找到了这两个平面,所有的欧式几何结构都将被知道。

1.8 Auto-calibration

相关推荐
米软科技18 分钟前
数字化转型:多元化集团如何构建高效的AI数字化中台?
大数据·人工智能
幼儿园蛋小黄19 分钟前
从 STM32N647 的 AI 部署入门嵌入式:一条可落地的学习路线
人工智能·stm32·学习
Leo.yuan25 分钟前
Dora企业级Data Agent应用指南:存量BI复用、私有化部署与权限管理
大数据·人工智能
火山引擎开发者社区28 分钟前
从代码执行到任务持续运行:企业级 Agent Sandbox 的云原生实践
人工智能
星恒随风29 分钟前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
Nablai31 分钟前
LX系列多国语言能力技术解析:ESP32双栈架构下的语种策略设计
人工智能·架构
老牛日常随笔44 分钟前
微软开源Flint Chart:AI画图表总是画不对?让编译器来画,AI只写数据就行
人工智能·microsoft
jimmyleeee1 小时前
Agent安全之六:(ASI06)记忆与上下文投毒——当 AI 把“昨天的错误”当成“今天的真理”
网络·人工智能·安全
deepseek231 小时前
Claude Code 2.1.314 新增工作目录写入边界:工具权限、沙箱与安全盲区怎么分层
人工智能·ai agent·claude code
Yolanda_20221 小时前
week3深度学习处理文本(上)
人工智能·深度学习