CV9-特征匹配3
运动估计忽略外点,假设特征点匹配都基本正确。如何实现以下过程?参数化运动模型齐次坐标:用 N + 1 个数来表示 N 维坐标二维仿射变换:仿射变换就是线性变换 + 平移二维透视变换:透视变换比仿射变换多了两个参数,导致 www 可能不是 1常见的变换矩阵仿射变换改变物体的位置和形状,但保持平直性至少需要三个点对不共线的三个平面点对决定一个二维仿射变换如果有大于三个点对,我们可以通过优化的方式更精准
运动估计
忽略外点,假设特征点匹配都基本正确。如何实现以下过程?
参数化运动模型
- 齐次坐标:用 N + 1 个数来表示 N 维坐标
- 二维仿射变换:仿射变换就是线性变换 + 平移
- 二维透视变换:透视变换比仿射变换多了两个参数,导致 w w w 可能不是 1
常见的变换矩阵
仿射变换
改变物体的位置和形状,但保持平直性
至少需要三个点对
不共线的三个平面点对决定一个二维仿射变换
如果有大于三个点对,我们可以通过优化的方式更精准得进行估计。
- A A A 是参数矩阵,代表点 p i p_i pi 的运动
- p i ‘ p_i^` pi‘ 代表另一张图像中的点,也就是 ground truth
特殊仿射变换
相似变换
-
只包含平移,旋转和等比缩放
-
保持物体的形状
虽然 s c o s θ scos\theta scosθ 与 s s i n θ ssin\theta ssinθ 之间存在一定的关系,但是他们仍然可以写成 a a a , b b b 的形式,因为 s s s 是可以任意变化的,因此什么值都能取
刚性变换
-
只包含平移和旋转
-
保持物体的形状和尺寸
这里的 c o s θ cos\theta cosθ 和 s i n θ sin\theta sinθ 不能写成 a a a , b b b 的形式,因为他们之间有自身的约束,也有相互之间的约束。
那么如何求解呢?,得到结果之后有什么用呢?
非性最小二乘问题无法构造出来一个矩形线性方程组,没有办法直接求出解析解。那我们可不可以将其转换为线性或者近似线性的呢?:泰勒一阶展开
下面,我们正是运用了这样的思想线性最小二乘和非线性最小二乘 - 简书 (jianshu.com)
最后我们通过求解 A A A 便可以得到一个更新值,之后不断更新知道直到目标
第一步到第二步的推导
- SVD 分解 (没仔细看)
透视变换
透视变化简单来说就是把一个平面上的图拍到另一个平面上,可以彻底改变物体的位置和形状
八个参数,至少需要四个点对
- 平面到平面的保持直线性的映射
- 任意一个个 3 * 3 可逆矩阵都是透视变换
- 任意透视变换都可以表示为 3 * 3 可逆矩阵
透视变换估计
-
非线性最小二乘法(和上面仿射变换求解方法一样)
-
直接线性变换(通过点对之间的公式列方程,之后利用SVD分解求解)
考虑外点
实际上,特征点匹配时都可能包含大量的错误
RANSAC
Random Sample Consensus:随机抽样一致算法。是一种在包含离群点在内的数据集里,通过迭代的方式估计模型的参数的方法。有一定的概率得到一个合理的结果。
优点是它能鲁棒的估计模型参数
方法:规避外点的影响,只使用那些内点
直觉:如果一个离群的点被选择来计算当前的拟合,那么这个结果对剩下的点就不会有很好的拟合效果
流程:
- 随机选择一组种子点(随机选取的点默认是内点)来进行基本的变换估计
- 利用这一组种子点计算变换公式(利用随机选择的局内点拟合一个模型)
- 找到符合这一变换公式的点,并将其标注为内点(用上面得到的模型来测试其他店)
- 如果内点的数量足够大,那么通过所有内点重新计算上面得到的模型的最小二乘估计,来评估拟合出的模型
如果当前模型效果比当前最好模型更好,则选用其为最好模型。否则,抛弃,重新开始迭代
需要多少次取样?
- w w w 是内点的比例,也就是一个点是内点的概率
- n n n 个点能够定义一个模型(直线需要两个)
- 进行了 k k k 次取样,每次取 n n n 个点
一次取样中,选出的 n n n 个点全都是内点的概率为 w n w^n wn , k k k 次取样没有哪一次正好取完 n n n 个样本点的概率为 p = ( 1 − w n ) k p = (1-w^n)^k p=(1−wn)k。因此选择足够大的 k k k 使其低于期望故障率
总结
-
RANSAC将数据分成内点和离群点,并且从内点的最小集合中进行了估计(因为模型是从一开始采样的点中得到的,因此是最小内点的集合)
-
通过对所有的内点进行估计来提升初始估计(eg:通过标准的最小二乘法)
-
但是这可能会改变内点,所以交替拟合与重新分类为内点 / 离群点(迭代)
问题
- 在很多实际情况中,离群点的比例是很大的(90%甚至以上)
- 离群点的比例未知
大尺度图像匹配问题
每个图像块都有一个描述符,该描述符是高维空间中的一个点(eg:SIFT – 128维)
当在特征空间中有接近的点时,他们同样拥有相似的描述符,因为类似的描述符代表着雷瑟的局部特征
更多推荐
所有评论(0)