【计算机视觉】Lecture 20:八点法

提醒

在这里插入图片描述

本质/基础矩阵

本质矩阵和基础矩阵都是 3x3 的矩阵,用于“编码”两个视图的对极几何。
动机:给定一张图像中的一个点,乘以本质/基础矩阵将告诉我们在第二个视图中沿着哪个极线搜索。

本质/基础矩阵总结

Longuet-Higgins方程

在这里插入图片描述

极线:

在这里插入图片描述

极点:

在这里插入图片描述

本质矩阵 vs 基础矩阵:
本质矩阵E在成像坐标上作用(内参校准相机)
基础矩阵F在像素坐标上作用(未内参校准相机)

从匹配点计算基础矩阵F

假设有 m 组匹配点

每组匹配点满足:

在这里插入图片描述

F是一个 3×3 的矩阵(9个元素)
建立具有9个未知数的齐次线性系统

计算F

在这里插入图片描述在这里插入图片描述在这里插入图片描述

多少个点?

与单应性变换不同,在单应性变换中每组匹配点贡献两个约束(线性方程组中的行);但是在估计本质/基础矩阵时,每组匹配点只贡献一个约束(行)。[因为Longuet-Higgins/极线约束是一个标量方程。]

因此至少需要八组匹配点

所以称为八点法

解齐次系统

假设我们需要求解以下方程的非平凡解

在这里插入图片描述

其中,有 m 个方程和 n 个未知数,m >= n-1,rank(A) = n-1

由于 x 的范数是任意的,我们将寻找范数 | | x | | = 1 的解

最小二乘法

我们希望 Ax 尽可能接近0,并且 | | x | | = 1

在这里插入图片描述

有约束的优化问题

定义以下的代价函数:

在这里插入图片描述

这个代价称为拉格朗日代价LAGRANGIAN cost,而 λ 称为拉格朗日乘数LAGRANGIAN multiplier

拉格朗日通过引入额外变量将约束条件纳入代价函数中。

在这里插入图片描述

对 x 和 λ 分别求导:

在这里插入图片描述

第一个方程是特征向量问题

第二个方程是原始约束

在这里插入图片描述

x 是矩阵ATA的特征向量,关联特征值λ 的,表示为eλ

在这里插入图片描述

我们希望得到最小特征值所关联的特征向量

我们可以通过矩阵 A 的SVD分解得到 ATA 的特征向量和特征值

奇异值分解(SVD)

任何 m×n 的矩阵 A 可以被转换为三个矩阵的乘积:

在这里插入图片描述

其中:

  1. U 是 m x m 矩阵,其列向量是正交向量

  2. V 是 n x n 矩阵,其列向量是正交向量

  3. D 是 m x n 对角矩阵,其对角线元素被称为A的奇异值(singular values),并且是这样的:

在这里插入图片描述

SVD性质

在这里插入图片描述

U 的列向量是矩阵 AAT 的特征向量

V 的列向量是矩阵 ATA 的特征向量

矩阵 D 的对角线元素的平方是矩阵 AAT 和矩阵 ATA 的特征值

计算基础矩阵F:八点法

在这里插入图片描述在这里插入图片描述

rank(A) = 8

找到与矩阵 ATA 中最小特征值相关联的特征向量

八点法

输入由 m 组对应点构成,m>=8

  1. 构造 m×9 的矩阵 A

  2. 求解 A 的SVD分解: 在这里插入图片描述

  3. 基础矩阵 F 的元素是矩阵 V 中与最小奇异值相对应的列向量的元素。

八点法

基础矩阵 F 必须是奇异的(请记住,它的秩rank为2,因为对它来说,有一个左右的零空间(即极点)是很重要的)。加入rank为2的约束:

  1. 求解矩阵 F 的SVD分解:在这里插入图片描述

  2. 将矩阵 F 中最小的奇异值设为0,从而构造在这里插入图片描述

  3. 重新计算矩阵 F :在这里插入图片描述

数值细节

对应点的坐标范围大导致数值不稳定。

最好先将它们归一化,这样它们的平均值为0,方差为1,最后将 F 逆归一化:

在这里插入图片描述

哈特利预处理算法(Lecture 16)

实际例子

如何“矫正”图像,以便任何适用于简单立体视觉的扫描线(scan-line)立体视觉算法都可用于查找稠密匹配(也就是为每个像素都计算一个视差图像)
在这里插入图片描述

立体矫正

在这里插入图片描述

图像重投影

将图像平面重新投影到一个公共平面上,这个公共平面平行于两个相机光学中心之间的连线

注意,只有相机的焦点才是最重要的

一般思想

在这里插入图片描述

应用一个单应性变换,这个变换是一个虚拟旋转,以使图像平面与基线平行(极点将会去往无穷远处)

应用射影变换使得极线对应于水平扫描线

在这里插入图片描述

将极点 e 映射到(1, 0, 0)
尝试最小化图像畸变
注意:矫正的图像通常不是长方形的

图像矫正

假设外参 R&T 已知,则计算一个3D旋转,这个旋转使得共轭极线共线并平行于水平图像轴

记住:围绕相机焦点的旋转只是图像中的一个 2D 单应性变换!

注意:本书中的这种方法假定摄像机经过校准(我们可以从本质矩阵 E 中恢复 R,T)。 稍后,我们将看到使用基础矩阵 F 的更通用方法。

• 矫正涉及到两个旋转:

  1. 第一次旋转将极点发送到无穷远处
  2. 第二次旋转使极线平行

• 使用第一个矩阵 R1 旋转左右相机(由平移 T 构成)
• 使用 R 矩阵旋转右相机
• 调整两个相机参考坐标系中的尺度

建立旋转: 在这里插入图片描述

其中在这里插入图片描述

其中 T 表示左图像中的极点,是一个单位向量。上节课中我们知道如何从矩阵 E 计算这个T。

在这里插入图片描述

矫正算法

•建立矩阵Rrect

•设置R1=Rrect,Rr=R Rrect

•对于每个左点pl=(x,y,f)T

–计算R1 pl=(x’,y’,z’)T

–计算p’1=f/z’(x’,y’,z’)T

•对右相机使用Rr重复上述步骤

例子

在这里插入图片描述在这里插入图片描述

一个更好的方法

当极点在图像中时,传统方法不起作用(例如,相机向前平移)

总体思路:在极点周围进行极性矫正(polar rectification)。
论文:“Simple andefficient rectification methodsfor general motion”, MarcPollefeys, R.Koch, L.VanGool, ICCV99.

在这里插入图片描述

极性矫正(polar rectification)

极点周围的极重新参数化

仅需要(方向上的)对极几何

保留极线长度

选择Δθ,这样就不会压缩像素

在这里插入图片描述

适用于所有相对运动

保证最小图像大小

极性矫正(polar rectification):例子

在这里插入图片描述在这里插入图片描述

例子

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值