概述
通常,我们通常会更具已有的测量去估计某些我们需要的状态量。在计算机视觉中,比如;两幅图像上的对应点集去计算一幅图像到另外一幅图像点的2D射影变换;在已知两幅图片中点的对应关系去估计两视图之间的基本矩阵;根据空间中的3D点集和对应的相机图像平面上的2D点去估计3D点到2D点的射影映射关系。
对于2D射影变换,我们研究对应点的集合 xi↔x′i ,求解使得所有的 i 都满足的
- 测量数 我们考虑这样一个问题:计算射影变换
H 最少需要多少的点对 xi↔x′i 。对于射影变换矩阵 H ,这是一个具有9 个元素的矩阵,对于齐次表示,我们可以忽略一个尺度因子,从而这个2D射影变换的自由度为 8 。考虑点到点的对应关系的约束,第一幅图像上的点xi 映射到另外一幅视图上的点 Hx′i ,这些2D点的自由度是 2 ,尽管都是以3×1 齐次坐标表示,不考虑尺度因子他们的自由度仍为 2 。我们可以看到一对点可以提供两个约束方程(分别是x 和 y 坐标各一个方程),所以约束一个自由度为8 的矩阵 H 至少需要4 组点对。- 近似解 如果我们只给出 4 组对应点,那么可以得到
H 的精确解,也称为最小配置解。这种解定义了鲁棒估计(RANSAC)中所需的子集大小。但是点的测量往往会有噪声,如果我们给定多余 4 组解,那么这组数据可能不和任何一个射影变换完全符合,因此我们需要找到最适合这组数据的变换。通常会使用最小化某个代价函数来求得这个变换H 。 - 黄金标准算法 通常会存在一个最优的代价函数,也就是在一定的假设下,使得代价函数的最小值对应的 H 是最好的估计。计算该代价函数最小的算法则称为“黄金标准”算法。
直接线性变换(DLT)
我们首先讨论一个从给定四组对应2D点对
xi↔x′i 确定变换 H 的一种简单的线性算法。这个变换由方程x′i=Hx′i 给出,由于这是一个齐次矢量方程,所以矢量 x′i 和 Hxi 不相等,他们具有相同的方向而差了一个尺度因子。因此在求解这个方程的时候我们可以使用叉乘的形式: x′i×Hxi=0 。将 H 的
j 行记为 hjT ,那么:
Hxi=⎛⎝⎜h1Txih2Txih3Txi⎞⎠⎟
记 x′i=(x′i,y′i,w′i)T ,则叉乘可以显性地表示为:
x′i×Hxi=⎛⎝⎜⎜y′ih3Txi−w′ih2Txiw′ih1Txi−x′ih3Txix′ih2Txi−y′ih1Txi⎞⎠⎟⎟
因为对于 j=1,2,3 , hjTxi=xTihj 皆成立,从而我们可以给出关于 H 的三个方程,比且写成如下形式:
- 近似解 如果我们只给出 4 组对应点,那么可以得到
最后
以上就是花痴皮卡丘为你收集整理的估计问题的全部内容,希望文章能够帮你解决估计问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复