20.校准相机——直接线性校准不均匀,直接线性校准变换,几何误差_3

目录

直接线性校准不均匀

直接线性校准变换

几何误差


直接线性校准不均匀

另一种方法呢,okay? 我将向你们展示另一种方法。这在某种意义上更容易理解,但实际上没有那么好。这就是为什么我先给你们看另一个,all right? 这里我又用了相同的方程(如图)。

现在使用uv1,在投影上类似于m乘以XYZ1。但是记住,如果m可以被一个缩放值改变而不影响任何东西,那么我可以把所有的值除以m右下角的任何值,得到的结果就是这里的1(如图)。

所以我可以把1放在这个矩阵的右下角。我这样做的原因是Ui和Vi的方程变成了这样(如图)。all right?

你们会注意到(如图),当我展开时,我得到了项。这个,1s和分母乘以Ui和Vi,记住 I,这些是已知的,因为这些是图像中点的位置。

现在我有了没有变量的项。这就是为什么它被称为非齐次(inhomogeneous)解。这样做的原因之一是假设原来的m23比其他值要小得多,比其他值要小得多,接近于零。你刚刚设定了一个数值它应该非常接近0到1,这对于数值稳定性来说是危险的。所以一般来说,对于整体的最小化,做奇异值分解或者做特征向量在a转置a上的发现,是首选的方法。顺便说一下,这是MATLAB中的一行,所以你也可以这样做。 

直接线性校准变换

我刚才说的就是直接线性校准或者变换或者变换法。它有几个优点。

一个是,它很容易表述和求解。就像我说的,从字面上来说,你只要取你的点,然后把它变成一个矩阵。然后执行SVD。把这一列提出来。砰,现在是你的m。

二,这些方法被称为最小化一个代数错误,因为基本上我们设定一个m。我们固定m是一个单位向量,然后用代数方法迫使发现给我们小的代数m m级。

该方法也有一些缺点。

一、首先,它不能直接告诉你相机的参数。但是我们会得到,我们会在一分钟内解决一些问题。

二、它也是近似的,因为m是基于一个特定的矩阵基于纯的外在和内在的投影。如果我们有一些像径向畸变的东西我们可以建模,但是我们不能在射影变换方程中建模。我们怎么做呢?

假设我知道焦距,right? 我出去买了一个非常昂贵的镜头,焦距3.746586毫米,非常精确。

三、我可不想让我的m搞砸了。它需要保持这个值。我想用这个精确值求出最小值。

四、最后,我写下了另一个问题,我认为这只是另一个问题。它并不是我想要的最小值。它最小化了这种代数技巧。

那么,我真正想要最小化的是什么呢? 很明显,每个假期我的体重都会增加。除此之外,还有什么? okay,这甚至不是一个有趣的笑话,但它,它太长时间没有任何笑话。

几何误差

那么正确的误差函数是什么?我们把这个误差函数称为几何误差,它的工作原理是这样的。假设世界的Xi有一些点,这里用黄色表示(如图1)。更进一步,假设我有一个图像我知道这些点在图像中的位置。这些是,红色的Xi在这里这些是这些红色的小点(如图2)。

1 2

现在,当我指定一个摄像机投影,某种m,right? 我想说的是,我知道这些大写Xi的实点,应该投影到像平面上(如图1)。我要做的是求出M,它给出了X的预测值和实际值之间最小的距离M,它给出了X的预测值和实际值之间最小的距离。这就是这个方程的含义(如图2)。

1 2

它说的是我们有一个误差函数它是观测点之间距离的和,这些是红色的Xi。预测的图像位置,白色的Xi在这里,在这里,特定的M预测世界上的点会落在图像中。我要做的是找出使这个值最小化的M(如图)。

现在很酷的是,我可能有一个更复杂的映射从世界上的点到我的二维点包括,建模径向畸变,但是为我固定焦距。我的想法是,我有一个很大的非线性函数来做完整的投影。我想做的是,通过操纵那个大的非线性函数的参数,使这个误差函数最小化。你可以用你最喜欢的Levenberg-Marquardt或者其他方法来做非线性最小化。如果你在书中读到这个,它说,金本位。这类作品的黄金标准是哈特利和齐塞尔曼的《多视图几何》一书。他们所说的校准黄金标准是,给定一定数量的点,大于,大于或等于,但应该大于6,如果你有3D到2D的点对应。找到的方法,他们称之为最大似然估计(Maximum Likelihood Estimate)。

 

我们稍后再讨论为什么会这样,我现在就告诉你。假设图像中点的位置受到了一点高斯噪声的干扰假设图像中点的位置受到了一点高斯噪声的干扰。所以你通过使它尽可能小来最大化可能性,你想要最小化平方误差,如果它是高斯误差的话。你可以这样做。首先计算一个线性解。现在哈特利和齐塞尔曼谈了一点,这是给你们中的一些人的你们将会更多地参与其中。你可能想做的是,你知道,如果你用米来测量这些点,你可能会得到一些大数或者小数取决于你的坐标系。你的图像的大小,你可能有不同的像素值。他们做了一个归一化,所以所有的东西都在0和1之间以得到数值的稳定性。当他们这样做的时候,他们创造了新的绿色,新的外部世界点和新的形象点。你可以这样做,也可以不这样做。然后你要做的就是解出我之前给你们看过的。直接的线性变换,通常用特征向量的方法。

这给了你一个M矩阵的起点(如图1),也给了你一个非线性函数的起点。然后你能做的是,尝试,用M,投影这些点。然后你可以最小化总距离这就是下面写的,就像我说的,你最喜欢的非线性方法。做完所有这些之后,如果你做了标准化,你必须去标准化,或者,或者,从标准化的方法中转换回来(如图2)。这就是得到m的方法,这就是他们所说的校准的黄金标准。我们只用青铜,这就是为什么在你们的作业中,你们要用直接线性方法。,你会看到,即使没有我,我就告诉你,我们第一次做这个归一化,原来归一化一些,但不是很多。当我们这样做,您可以使用规范化。

1 2


编程是一种美德,是促使一个人不断向上发展的一种原动力。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值