理解图像配准中的LMeds、M-estimators与RANSAC算法

图像配准对于运动平台(无人机,移动机器人)上的视觉处理有着极其重要的作用。配准算法的第一步通常是找到两幅图像中一一对应的匹配点对(特征点提取、描述、点对匹配),然后通过匹配点对求取变换矩阵。在图像特征点匹配之KD-Tree一文中讲了配准中第一步中的点对匹配方法,本文将集中讨论配准第二步。在获得匹配点对后,我们需要从中选取一定的匹配正确的点对计算变换矩阵,对于透射变换,需要选取4组点对,对于仿射变换,需要选取3组。但现在的问题是,我们获得的匹配点对中不能保证所有的匹配都是正确的,如何从中选取正确的匹配点对来计算变换矩阵,这就需要利用下面要讲到的匹配对提纯的问题。匹配对提纯算法可分为两类:比值提纯法与一致提纯法。比值提纯法就是在图像特征点匹配之KD-Tree一文中进行最近邻查询的时候,也对次近邻的距离进行查询,最后保留最近邻>=次近邻*THR(一般取THR=0.49)的匹配点对来进行提纯,不予细述。。下面将对一致提纯法进行详述,主要介绍常用的最小中值法(LMedS)、M估计(M-estimators)与随机采样一致算法(RANSAC)。

最小中值法(LMedS)



LMedS的做法很简单,就是从样本中随机抽出N个样本子集,使用最大似然(通常是最小二乘)对每个子集计算模型参数和该模型的偏差,记录该模型参数及子集中所有样本中偏差居中的那个样本的偏差(即Med偏差),最后选取N个样本子集中Med偏差最小的所对应的模型参数作为我们要估计的模型参数。

最小中值法可用数学表达简练的表达为:

θ=argθminmedi∈Nri(xi,θ)θ=argθminmedi∈Nri(xi,θ)

θθ为拟合模型参数,ri(xi,θ)ri(xi,θ)是模型第i个点的残留误差,N是我们随机抽出的样本子集,medmed为中值操作。

M估计(M-estimators)



对于含有外点的数据,如果对所有样本点使用一样的权重,在拟合模型时外点对模型会有较大的干扰,由此为出发点想到,如果降低外点的权重,则可以降低外点对模型的影响,这也就是M估计的一个思想。但问题是我们怎么知道哪些是外点呢,M估计中将与所估计模型偏差大的点视为外点,降低与模型偏差越大的点的权重。

一个M估计通过最小化下面的表达式来估计参数:

θ=argθ∑iρ(ri(xi,θ);σ)θ=argθ∑iρ(ri(xi,θ);σ)

一般的为了降低偏差大的点的影响,ρ(μ,σ)ρ(μ,σ)函数随着μμ的增加变平。常用的选择是:

ρ(μ,σ)=μ2σ2+μ2ρ(μ,σ)=μ2σ2+μ2

σσ参数是控制函数变平点的变量,下图是当σ2=0.1,1,10σ2=0.1,1,10时画的rho(x,σ)=x2σ2+x2rho(x,σ)=x2σ2+x2

通过引入ρρ,M估计可以保证外点作用被衰减的程度要比它们产生平方误差的程度要高。

从M估计的数学表达可以看出,问题是非线性的,必须迭代求解,下面是具体求解算法:

算法1 用M估计拟合概率模型参数

对于ss从1到kk

均匀随机抽取rr个不同点组成样本子集

用最大似然(通常是最小二乘)对抽取的点集进行拟合获得θ0sθs0

用θn?1sθsn?1估计σn?1sσsn?1,一个流行的估计式是:σn?1=1.4826mediani|rn?1i;θn?1|σn?1=1.4826mediani|rin?1;θn?1|

直到收敛(|θns?θn?1s||θsn?θsn?1|非常小)

用最小化方法通过θn?1s,σn?1sθsn?1,σsn?1得到θnsθsn

计算σnsσsn

End

End

使用残差的中值作为准则获得这个集合的最好拟合,用最好拟合的参数作为模型的参数

随机采样一致算法(RANSAC)



M估计计算复杂性较高。另外一种最常用的方法是随机采样一致算法(RANSAC,Random Sample Consensus)。它的基本思路是随机选择一个小的数据点子集,然后对其进行拟合,查看有多少其他点匹配到拟合的模型上,迭代这个过程直至有较大的概率找到我们想要拟合的模型。

我们先看下RANSAC的算法流程,然后对其中的步骤进行详细阐述。

算法2 用随机采样一致(RANSAC)拟合概率模型参数

确定:

nn——所需要的最少点数

kk——需要的迭代次数

dd——判断一个点是否拟合的很好的阈值,也称内外点距离阈值

tt——判断一个模型是否拟合的很好所需要的邻近点数目,也称一致性集合大小阈值

直到kk次迭代完成

从数据中均匀的采样nn个点

对这nn个点进行模型拟合

对于采样外的每个点

用dd比较点到拟合模型的距离,如果距离小于dd,则认为点是靠近的

End

如果有tt个或者更多的点靠近模型,则认为该拟合是个好的拟合,重新用这些点和靠近的点拟合模型。

End

使用拟合误差最小的所对应的参数作为该模型的估计参数。

RANSAC的难点是n,k,d,tn,k,d,t这几个参数的确定,下面就怎么确定参数做简单的讨论。

一、最少点数nn的确定

相对比较容易,根据要拟合的模型确定。例,如果拟合一天直线,最少需要两个点;对于图片配准,拟合透射变换矩阵最少需要4组点对,拟合仿射变换,最少需要3组点对。

二、迭代次数kk的确定

令ww为数据是真实数学模型内点的概率,则一次估计中所有nn个点(确定模型参数的最小点数)都为内点的概率为wnwn。我们需要保证kk次迭代中至少一次估计中所有数据点都是内点的概率pp较大,则kk需要满足:

1?p=(1?wn)k?k=log(1?p)log(1?wn)1?p=(1?wn)k?k=log(1?p)log(1?wn)

其中pp取一个较大的值。

三、内外点距离阈值dd的确定

这个阈值用来判断数据点是内点或是外点,没有一个统一的方法,只能通过实验得到。

四、一致性集合大小阈值tt的确定

令数据点集中外点的概率为yy,我们需要选择tt个点使得ytyt很小(比如小于0.05)。yy通常是无法精确的估计,如果真实模型中内点占优势,经过随机采样后yy一般比(1?w)(1?w)要小,即可由y≤(1?w)y≤(1?w)。

确定这些参数后就可以用RANSAC算法估计模型参数了。

时间: 2024-10-12 05:48:19

理解图像配准中的LMeds、M-estimators与RANSAC算法的相关文章

openCV中的findHomography函数分析以及RANSAC算法的详解

本文将openCV中的RANSAC代码全部挑选出来,进行分析和讲解,以便大家更好的理解RANSAC算法.代码我都试过,可以直接运行. 在计算机视觉和图像处理等很多领域,都需要用到RANSAC算法.openCV中也有封装好的RANSAC算法,以便于人们使用.关于RANSAC算法的一些应用,可以看我的另一篇博客: 利用SIFT和RANSAC算法(openCV框架)实现物体的检测与定位,并求出变换矩阵(findFundamentalMat和findHomography的比较) 但是前几天师弟在使用op

[翻译]鲁棒的尺度不变特征匹配在遥感图像配准中应用(Robust Scale-Invariant Feature Matching for Remote Sensing Image Registration)

李乔亮,汪国有,刘建国,会员,IEEE,和陈少波 2008年8月7日接收;2008年10月22日和2008年11月27日修改.2009年2月2日首版:当前版本出版于2009年4月17日.本项工作由中国国家基础研究项目60672060资助. 中国湖北省武汉市华中科技大学模式识别与人工智能国家重点实验室,邮编430074(邮箱:[email protected];   [email protected];  [email protected];  [email protected]) 数字对象识别编

图像配准中的变换操作

对所有图像配准技术最根本的问题是找到适当的图像转换或者映射类型以正确匹配两幅图像.常见的配准转换包括:刚体变化.仿射变换.投影变换.非线性变化.

图像配准简介

图像配准在目标检测.模型重建.运动估计.特征匹配,肿瘤检测.病变定位.血管造影.地质勘探.航空侦察等领域都有广泛的应用. 每一种配准方法通常都针对某个具体问题而设计的,众多方法中,唯一的共性就是每个配准问题最终都要在变换空间中寻找一种最有的变换,这种变换能够使两幅图像之间在某种意义上达到匹配,但对于不同的应用领域,对图像类型的要求不同,就需要具体问题具体分析. 有研究者根据待配准图像之间的关系,将图像配准分为多源图像配准.基于模板的配准.多角度图像配准.时间序列图像配准四大类.详见下图 目前,较

图像配准

1.定义 维基百科上的定义:图像配准与相关是图像处理研究领域中的一个典型问题和技术难点,其目的在于比较或融合针对同一对象在不同条件下获取的图像,例如图像会来自不同的采集设备,取自不同的时间,不同的拍摄视角等等,有时也需要用到针对不同对象的图像配准问题.具体地说,对于一组图像数据集中的两幅图像,通过寻找一种空间变换把一幅图像映射到另一幅图像,使得两图中对应于空间同一位置的点一一对应起来,从而达到信息融合的目的.如图所示   图1  左图为基准影像,右图为配准影像                  

全面理解iOS开发中的Scroll View

转自:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法,但这些方法只是UIView一些属性的表面而已.因此,要想弄懂UIScrollView是怎么工作之前,你需要了解 UIView,特别是视图渲染过程的两步. 光栅化和组合 渲染过程的第一部分是众所周知的光栅化,光栅化简单的说就是产生一组绘图指令并且生成一张图片.比如绘制一个圆角矩形.带图片.标题居中的U

Java进阶(五十七)-基于感知哈希算法的图像配准

Java进阶(五十七)-基于感知哈希算法的pHash图像配准算法 ??毕业论文提交之后,老师交给自己一项任务:图像配准,也就是给你两幅图像,通过系统来判定两幅图像是否为同一副图像.自己作为这一方面的小白,先去网上搜索一下相应的检测方法,当然有现成的API调用最好,花钱也无所谓. ??我们这里采用的基础关键技术叫做 "感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同

图像配准建立仿射变换模型并用RANSAC算法评估

当初选方向时就因为从小几何就不好.缺乏空间想像能力才没有选择摄影测量方向而是选择了GIS.昨天同学找我帮他做图像匹配,这我哪里懂啊,无奈我是一个别人有求于我,总是不好意思开口拒绝的人.于是乎就看着他给的一章节内容开始写程序了,今天总算给他完成了.做的比较简单,中间也遇到了不少问题,尤其是计算量大的问题,由于老师给的数据是粗配准过的数据, RANSAC算法评估时就简化了下. 理论内容: 第5章 图像配准建立几何变换模型 特征点建立匹配关系之后,下一步就是求解图像之间的变换关系.仿射变换能够很好的表

干货 | 深入理解深度学习中的激活函数

理解深度学习中的激活函数 在这个文章中,我们将会了解几种不同的激活函数,同时也会了解到哪个激活函数优于其他的激活函数,以及各个激活函数的优缺点. 1. 什么是激活函数? 生物神经网络是人工神经网络的起源.然而,人工神经网络(ANNs)的工作机制与大脑的工作机制并不是十分的相似.不过在我们了解为什么把激活函数应用在人工神经网络中之前,了解一下激活函数与生物神经网络的关联依然是十分有用的. 一个典型神经元的物理结构由细胞体.向其他神经元发送信息的轴突以及从其他神经元接受信号或信息的树突组成. ? 图