CV9-图像匹配3

图像匹配

应用流程是:

image-20211130164553939

假设

image-20211130164628584

参数化运动模型

image-20211130164716041

齐次坐标homogeneous coordinates:

所谓齐次坐标,简而言之,就是用N+1维来代表N维坐标。我们可以在一个2D笛卡尔坐标末尾加上一个额外的变量w来形成2D齐次坐标,因此,一个点(X,Y)在齐次坐标里面变成了(x,y,w),并且有
X = x/w
Y = y/w
例如,笛卡尔坐标系下(1,2)的齐次坐标可以表示为(1,2,1),如果点(1,2)移动到无限远处,在笛卡尔坐标下它变为(∞,∞),然后它的齐次坐标表示为(1,2,0),因为(1/0, 2/0) = (∞,∞),这样我们可以不用”∞"来表示一个无穷远处的点了。此外,我们把齐次坐标转化为笛卡尔坐标的方法是前面n-1个坐标分量分别除以最后一个分量即可。

所有的齐次坐标对应笛卡尔坐标是同一个点是一个,那么这些齐次坐标就都相同。类似于将一个点,对应成一个向量,向量可以在空间中移动。

Transform Matrix 两种变换

2D Affine Transform:(2维仿射变换)&2D Perspective Transform:(2维透视变换)

image-20211130165225176

仿射变换

define:把平行直线映射为平行直线

线性变换

满足性质:

image-20211130165336670

仿射变换是线性变换+平移:image-20211130165401679

变换矩阵

Translation (平移):image-20211130165559847

Scale (缩放):image-20211130165611166

Rotation (旋转):image-20211130165620143

X切变(Shear):image-20211130165634999

Y切变image-20211130165645335

image-20211130165648623

参数估计

仿射变换三种参数估计方法

  • 最优平移参数 (dx, dy):image-20211130165744568

问题:多个对应点求出多个dx,如何得到最终的dx解:求平均;数学原理:最小二乘的原理:
a r g m i n ( Δ x − d x ) 2 argmin(\Delta_x-d_x)^2 argmin(Δxdx)2
假设真正的偏移是 d x d_x dx,二次函数导数等于0求解;最小二乘法

  • 估计变换参数 (a,b,c,d,e,f)

image-20211130170344677

image-20211130170354728

三个点对求解:

image-20211130170417536

多余三个点对使用最小二乘法

image-20211130170447503

  • 特殊仿射变换

    • 相似变换(Similar):只包含平移、旋转和等比缩放
      保持物体的形状;转化成最小二乘法线性的

    image-20211130170602680

    转化成和上面一样的问题;

    • 刚性变换(Rigid)
      只包含平移和旋转
      保持物体的形状和尺寸

      这里不能转化成和上面一样的格式,原因在于上面的a,b有关系,这样求解出来,如果 a、b不满足平方和为1,那么就无解。

    不能转化成线性的,是非线性的:image-20211130170643671

求解最小二乘

超越三角函数转化约束拉格朗日求解

参数是超越函数三角函数,不是线性问题

image-20211130170651704

见书上雅克比推导,用到一阶泰勒展开;

image-20211130170731769

透视变换

定义:平面到平面保持直线性的映射;

任意的3x3可逆矩阵都是透视变换;任意透视变换都是3x3可逆矩阵。

image-20211130170809345

  • 类型

中心投影对应的平面到平面的映射是透视变换,具体有三种类型:

1.场景中任意平面到图像平面映射

2.场景同一个平面在不同视点图像之间的对应点映射。

3旋转相机在不同角度图像之间的映射

image-20211130170914648

  • 参数估计

仿射变换只需要三个点对,透视变化要四个点对;

为什么只有8个参数,因为齐次坐标具有齐次不变性,可以将w转化,将右下值化成1;

image-20211130170933152

透视变换参数估计

p242雅克比矩阵求导;

image-20211130170941488

image-20211130170948736

直接线性变换求解:

image-20211130170956529

齐次矩阵,没有常数项。通过上面的形式转换,可以写成矩阵相乘形式;

对应0空间向量,对应最小特征向量,通过特征分解

image-20211130171005553

通过推导,这里的h就是SVD分解后,V的最后一个向量,为了使||h||=1,取一个分母。保证最小化最小二乘的损失?image-20211225110139536

考虑外点实际匹配出现大错误,在拟合直线时,假设直线已知,那么落在直线周围的是内点,其余的为外点,我们想在拟合直线过程中排除外点,只用内点,直观来看就是如果外点被用于计算直线,那么真正内点就与直线拟合度没有那么高。

RANSC

目的

避免外点的影响,寻找内点,最后只使用内点计算参数;

算法流程

RANSAC是通过反复选择数据集去估计出模型,一直迭代到估计出认为比较好的模型。
具体的实现步骤可以分为以下几步:

  1. 选择出可以估计出模型的最小数据集;(对于直线拟合来说就是两个点,对于计算Homography矩阵就是4个点)
  2. 使用这个数据集来计算出数据模型;
  3. 将所有数据带入这个模型,计算出“内点”的数目;(累加在一定误差范围内的适合当前迭代推出模型的数据)
  4. 比较当前模型和之前推出的最好的模型的“内点“的数量,记录最大“内点”数的模型参数和“内点”数;
  5. 重复1-4步,直到迭代结束或者当前模型已经足够好了(“内点数目大于一定数量”)。

特征匹配中包含大量错误,而将两个图像做变换就是通过特征匹配出的点求解单应性矩阵然后进行变换的,所以为了筛选出正确匹配的特征点,我们使用rnasc方法,每次求出一个矩阵,看有多少匹配的点能满足,提前设定一个终止次数或者阈值(内点数量达到多少)停止,找到满足条件的H:

image-20211130171300945

决定ransac的超参数:

设w为内点比例,每次确定拟合直线需要的点的数量(直线是2),进行k次采样,那么k次全部采样到外点的概率为p,这种就一定不会计算出正确拟合内点的参数;通过p查找参数,确定进行多少次采样。image-20211130171338353

image-20211130171400705

也不知道外点个数;

  • ransac缺点

image-20211130171429968

  • 实际情况中外点数量大
  • 外点比例不知道

ransac之后:

ransac将数据分成内点和外点,并得出最小的内点的集合。

通过最小二乘法在最小内点上计算出更准确的参数;

计算出参数可能会改变内外点分类,重新分类内外点。

image-20211225111659451

基于变换矩阵对齐图像

f为变换矩阵,计算逆可以对齐:image-20211225112329430

基于匹配的识别

为了更高效的识别与匹配,图像块有一个特征描述对应到高维空间,当在特征空间距离近时,表示有相似的特征描述,意味着相似的物体内容(local content):

image-20211225112719405image-20211225112725909

应用:图像识别;

Video Google System

视频帧搜索:

1.搜索查询区域所有相关单词

2.通过倒排记录表查找所有相关帧

3.比较单词符合的数量

4.对筛选出来的帧进行空间验证,通过sift特征计算是否匹配

image-20211225113201500

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值