SURF算法分析
机器视觉中基于SURF算法的目标识别研究

机器视觉中基于SURF算法的目标识别研究第一章:引言随着计算机技术的不断发展,机器视觉技术逐渐应用于各种领域。
其中,目标识别是机器视觉技术的重要应用之一,可以在自动控制、工业制造、军事等领域中发挥重要作用。
在目标识别中,特征点检测和匹配是关键技术。
SURF算法是一种快速有效的特征点检测和匹配算法,已经得到广泛应用。
本文将介绍机器视觉中基于SURF算法的目标识别研究,具体包括SURF算法原理、SURF算法在目标识别中的应用及其优劣势分析、SURF算法在实际系统中的应用及其发展趋势等。
第二章:SURF算法原理SURF算法是加速稳健特征(Speeded Up Robust Feature)的缩写。
它是基于尺度空间理论的特征点检测和匹配算法。
SURF算法主要包括三个步骤:尺度空间构建、特征点检测和特征描述。
尺度空间构建是指先将原始图像进行高斯滤波,得到不同尺度下的图像金字塔,然后通过差分的方式得到尺度不变的DoG (Difference of Gaussian)图像组。
特征点检测是指在DoG图像组中检测出极值点,SURF算法中采用的是Hessian矩阵。
特征描述是指在检测到的特征点周围的邻域内,计算一组具有较强区分度的局部特征描述子,SURF算法中采用的是基于积分图像的Haar小波特征描述子。
第三章:SURF算法在目标识别中的应用及其优劣势分析SURF算法在目标识别中的应用主要包括两个方面:特征点检测和匹配。
特征点检测是指在图像中寻找具有独特性、稳定性和可重复性的特征点,SURF算法对尺度空间建立和特征点检测都有良好的性能,能够有效地检测到目标物体中的关键点。
匹配是指在两个图像中寻找相似的特征点,SURF算法具有较高的匹配准确率和速度,能够实现快速准确地目标匹配。
但是,SURF算法也存在一些不足之处,比如对图像旋转、缩放、变形等变化不够鲁棒,需要额外的操作来进行补偿。
第四章:SURF算法在实际系统中的应用及其发展趋势SURF算法在实际系统中的应用非常广泛,例如在工业机器人、自动驾驶、安防监控等领域中都得到了应用。
SURF算法分析

2021/10/10
15
标出特征点的图像
2021/10/10
16
二.特征点 匹配
2021/10/10
17
特征点匹配
步骤1. 在检测特征点的过程中,计算了 Hessian 矩阵
的行列式,与此同时,计算得到了 Hessian 矩阵的迹,矩
阵的迹为对角元素之和。
按照亮度的不同,可以将特征点分为两种,第一种为
用stitching算法 进行图像拼接
2021/10/10
1
• 第一部分:用surf算法提 取特征点
• 第二部分:特征点匹配
• 第三部分:构建透视矩阵 完成拼接
• 第四部分 : 图像融合
2021/10/10
2
一.用SURF算法 提取特征点
1.SURF 介绍
SURF (Speeded Up Robust Feature)是一种高鲁棒性的局 部特征点检测器。由Herbert Bay 等人在2006年提出。该算法 可以用于计算机视觉领域例如物体识别或者三维重建。根据 作者描述该算法比SIFT更快更加具有鲁棒性。该算法中采用 积分图像、Haar小波变换和近似的Hessian矩阵运算来提高时 间效率,采用Haar小波变换增加鲁棒性。
给定图像f(x,y)中一个点 (x,y),其Hessian矩阵H(x,o) 定义如下:
2021/10/10
位置 尺度
快速 Hessian
5
• Lxx(x, ϭ )是高斯二阶微分在点X=(x,y)处与图像I的卷积 。
• Bay指出,高斯函数虽然是最佳的尺度空间分析工具, 但由于在实际应用中总要对高斯函数进行离散化和剪 切处理,从而损失了一些特性(如重复性)。这一因 素为我们用其他工具代替高斯函数对尺度空间的分析 提供了可能,只要误差不大就可以。所以就引入了盒 装滤波器。
surf算法代码 -回复

surf算法代码-回复什么是Surf算法Surf算法(Speeded Up Robust Features)是一种用于图像特征检测和描述的计算机视觉算法。
它是在2006年由Herbert Bay等人提出的,旨在提高图像处理中的特征点检测与匹配的速度和准确性。
Surf算法在计算机视觉和图像处理领域中得到广泛应用,它的主要目标是在图像中找到稳定且唯一的局部特征点。
Surf算法的步骤1. 尺度空间构建:Surf算法在图像中使用多尺度空间来有效地检测特征点。
它通过不断模糊图像,并计算模糊后的图像与原始图像的差异来构建多尺度空间。
算法使用一个高斯滤波器来进行图像模糊,并通过逐渐增加滤波器的方差来构建不同尺度下的图像。
这样做的目的是使得算法能够在不同尺度下检测到特征点,而不受图像缩放的影响。
2. 关键点检测:在构建好尺度空间后,Surf算法会在每个尺度中检测关键点。
关键点是那些在图像中具有稳定尺度和位置,并且对缩放、旋转和光照变化具有不变性的点。
Surf算法使用Hessian矩阵来检测关键点。
Hessian矩阵是一个用于测量图像局部变化的矩阵,在Surf算法中,它被用来检测图像中的高强度点。
3. 关键点定位:在检测到关键点后,Surf算法会对关键点进行精确定位。
它使用一个Haar 小波响应来定位关键点的位置和方向。
Haar小波是一种多尺度基函数,它能够识别出图像中的边缘和纹理特征。
Surf算法利用Haar小波响应来定位出关键点的具体位置和方向,以便后续的特征描述步骤。
4. 特征描述:在完成关键点定位后,Surf算法会对每个关键点进行描述,以便后续的特征匹配。
Surf算法使用了一种叫做加速权重积分(Fast Hessian)的方法来生成特征描述子。
特征描述子是一个向量,它能够描述关键点周围区域的结构和纹理信息。
Surf算法会通过计算关键点周围区域的灰度变化来生成特征描述子。
5. 特征点匹配:在完成特征描述后,Surf算法会使用一种叫做KD树的数据结构来进行特征点的匹配。
S U R F 算 法

特征点检测学习(surf算法)网上有些文章对surf做了介绍,比如:surf算法原理,有一些简单介绍.对surf的某些细节做了通俗易懂的解释.一、Surf描述子形成步骤1. 构造高斯金字塔尺度空间其实surf构造的金字塔图像与sift有很大不同,就是因为这些不同才加快了其检测的速度。
Sift采用的是DOG图像,而surf采用的是Hessian矩阵行列式近似值图像。
首先来看看图像中某个像素点的Hessian 矩阵,如下:即每一个像素点都可以求出一个Hessian矩阵。
但是由于我们的特征点需要具备尺度无关性,所以在进行Hessian矩阵构造前,需要对其进行高斯滤波。
这样,经过滤波后在进行Hessian的计算,其公式如下:公式中的符号,估计有点数学基础的朋友都能够猜到,这里就不多解释了。
最终我们要的是原图像的一个变换图像,因为我们要在这个变换图像上寻找特征点,然后将其位置反映射到原图中,例如在sift中,我们是在原图的DOG图上寻找特征点的。
那么在surf中,这个变换图是什么呢?从surf的众多资料来看,就是原图每个像素的Hessian矩阵行列式的近似值构成的。
其行列式近似公式如下:由于求Hessian时要先高斯平滑,然后求二阶导数,这在离散的像素点是用模板卷积形成的,这2中操作合在一起用一个模板代替就可以了,比如说y方向上的模板如下:该图的左边即用高斯平滑然后在y方向上求二阶导数的模板,为了加快运算用了近似处理,其处理结果如右图所示,这样就简化了很多。
并且右图可以采用积分图来运算,大大的加快了速度,关于积分图的介绍,可以去查阅相关的资料。
同理,x和y方向的二阶混合偏导模板如下所示:上面讲的这么多只是得到了一张近似hessian行列式图,这例比sift中的DOG图,但是在金字塔图像中分为很多层,每一层叫做一个octave,每一个octave中又有几张尺度不同的图片。
在sift算法中,同一个octave层中的图片尺寸(即大小)相同,但是尺度(即模糊程度)不同,而不同的octave层中的图片尺寸大小也不相同,因为它是由上一层图片降采样得到的。
S U R F 算 法

opencv之SURF算法原理及关键点检测在基础篇里面讲模板匹配的时候已经介绍过,图像匹配主要有基于灰度和基于特征两种方法。
基于特征匹配的方法有很多种如:FAST、HARRIS、SIFT、SURF、SUSAN等。
其中SIFT算法由D.G.Lowe于1999年提出,2004年完善总结。
SIFT是一种鲁棒性好的尺度不变特征描述方法,但SIFT算法计算数据量大、时间复杂度高、算法耗时长。
针对上述缺点许多研究者对SIFT算法做了不同的改进,Yanke等人提出用PCA-SIFT方法对特征描述进行数据降维,但在没有任何先验知识的情况下反而增加了计算量;Delpont等人提出用SVD方法进行特征匹配,但匹配过程计算复杂,且不能用于宽基线匹配;Grabner等人用积分图像虽提高了SIFT的计算速度,但是降低了SIFT方法的优越性。
Herbert Bay等人于2006年提出了SIFT算法的改进算法SURF算法,其性能超过了SIFT算法且能够获得更快的速度。
SURF在光照变化和视角变化不变性方面的性能接近SIFT算法,尤其对图像严重模糊和旋转处理得非常好。
且标准的SURF算子比SIFT算子快好几倍,SURF算法最大的特征在于采用了harr特征以及积分图像的概念,这大大加快了程序的运行速度。
SURF算法和SIFT算法在opencv中是一种很高级的算法,opencv提供了SURF算法的API接口。
需要说明的是SURF和SIFT算法在OpenCV提供的nonfree中,而且在OpenCV3.x后不再集成到OpenCV发行版中,同意存放到opencv_contrib中,需要去opencv github页面手动下载编译。
点击跳转,编译方法网上有很多教-程。
2.Surf原理特征点的提取基于尺度空间理论,我们通过检测图像局部极值点来锁定特征点坐标,即局部的最亮点或最暗点。
2.1构建Hessian矩阵SURF算法检测特征点是基于Hessian矩阵实现的,Hessian矩阵是SURF 算法的核心。
S U R F 算 法

SURF算法详解Speeded Up Robust Features(SURF,加速稳健特征)一.积分图像什么是积分图像积分图像是输入的灰度图像经过一种像素间的累加运算得到种新的图像媒介。
对于一幅灰度的图像,积分图像中的任意一点(x,y)的值是指从图像的左上角到这个点的所构成的矩形区域内所有的点的灰度值之和积分图像的作用积分图像是SURF算法减小计算量的关键,从SIFT到SURF算法的性能提升很大程度归功于积分图像的使用积分图像与原始图像的关系a.相同点:积分图像与原始图像的尺寸相同,积分图像中每个位置坐标与原始灰度图像的像素坐标相对应。
b.不同点:不同的是,在原始图像采用灰度图像的情况下,灰度图像每个像素使用8bit表示,而积分图像由于像素的累加运算,或者由于图像尺度的变化,积分图像中每个像素位宽将会需要积分的像素尾款来表示如何得到积分图像a.积分像素值1.坐标系的建立对于一幅原始的灰度图像,以图像中的第一个像素位置作为坐标原点,向右为轴正向,向下为轴正向建立坐标系。
2.积分像素值的确定将任意像素与坐标原点之间围成的矩形区域内所有像素值相加得到一个新的值,在这里我们把它定义为积分像素值。
b.积分图像的确定原始图像中每个像素经过运算都会得到新的积分像素值,最终构成一幅新的积分图像。
c.积分图像的作用有了积分图像的概念,在原始图像中我们可以计算任意矩形区域内的像素之和。
这种运算方式有效的减少了运算量,因为矩形的面积大小不会影响到运算量。
任意矩形内的像素累加只需要使用矩形四个顶角位置的积分像素值进行加减运算即可得到。
如果要计算矩形内的所有像素的累加值只需要再积分图像中找到对应,,,四个位置的积分像素的值进行加减运算:二.Hessian矩阵0.与SIFT算法对比a. SIFT算法采用的是DoG图像,而SURF采用的是Hessian矩阵行列式近似值图像b. SIFT算法中使用高斯差分对、和进行近似估计,使用、和函数代替高斯拉普拉斯函数,即Hessian矩阵通过高斯差分后得到近似估计的Hessian矩阵高斯函数的高阶微分与离散的图像函数做卷积运算时相当于使用高斯滤波模板对图像做滤波处理其行列式为a.图像中某个像素点Hessian矩阵即每一个像素点都可以求出一个Hessian矩阵。
SURF算法

SURF算法⼀、原理:Sift算法的优点是特征稳定,对旋转、尺度变换、亮度保持不变性,对视⾓变换、噪声也有⼀定程度的稳定性;缺点是实时性不⾼,并且对于边缘光滑⽬标的特征点提取能⼒较弱。
Surf(Speeded Up Robust Features)改进了特征的提取和描述⽅式,⽤⼀种更为⾼效的⽅式完成特征的提取和描述。
⼆、Surf实现流程如下:1. 构建Hessian(⿊塞矩阵),⽣成所有的兴趣点,⽤于特征的提取⿊塞矩阵(Hessian Matrix)是⼀个多元函数的⼆阶偏导数构成的⽅阵,描述了函数的局部曲率。
由德国数学家Ludwin Otto Hessian于19世纪提出。
surf构造的⾦字塔图像与sift有很⼤不同,Sift采⽤的是DOG图像,⽽surf采⽤的是Hessian矩阵⾏列式近似值图像。
Hessian矩阵是Surf算法的核⼼,构建Hessian矩阵的⽬的是为了⽣成图像稳定的边缘点(突变点),为下⽂的特征提取做好基础。
每⼀个像素点都可以求出⼀个Hessian矩阵。
Hessian矩阵的判别式为:当Hessian矩阵的判别式取得局部极⼤值时,判定当前点是⽐周围邻域内其他点更亮或更暗的点,由此来定位关键点的位置。
在SURF算法中,图像像素l(x,y)即为函数值f(x,y)。
但是由于我们的特征点需要具备尺度⽆关性,所以在进⾏Hessian矩阵构造前,需要对其进⾏⾼斯滤波,选⽤⼆阶标准⾼斯函数作为滤波器。
H矩阵的三个矩阵元素L_xx, L_xy, L_yy从⽽计算出H矩阵:Surf使⽤了盒式滤波器来近似替代⾼斯滤波器,提⾼运算速度。
盒式滤波器(Boxfilter)对图像的滤波转化成计算图像上不同区域间像素和的加减运算问题,只需要简单⼏次查找积分图就可以完成。
每个像素的Hessian矩阵⾏列式的近似值:2. 构建尺度空间同Sift⼀样,Surf的尺度空间也是由O组L层组成,不同的是,Sift中下⼀组图像的尺⼨是上⼀组的⼀半,同⼀组间图像尺⼨⼀样,但是所使⽤的⾼斯模糊系数逐渐增⼤;⽽在Surf中,不同组间图像的尺⼨都是⼀致的,但不同组间使⽤的盒式滤波器的模板尺⼨逐渐增⼤,同⼀组间不同层间使⽤相同尺⼨的滤波器,但是滤波器的模糊系数逐渐增⼤。
SIFTSURFORBFAST特征提取算法比较

SIFTSURFORBFAST特征提取算法比较在计算机视觉领域中,SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)、SURF(Speeded Up Robust Features,加速鲁棒特征)、ORB(Oriented FAST and Rotated BRIEF,方向性的快速特征和旋转的BRIEF)、FAST(Features from Accelerated Segment Test,加速线段测试特征)都是常用的特征提取算法。
本文将对这四种算法进行比较,主要从算法原理、特点以及在不同应用场景的优缺点进行分析。
1.SIFT算法SIFT算法是由Lowe在1999年提出的一种获取图像局部特征的算法。
其主要兴趣点在于尺度不变特征的提取,通过尺度空间构建和关键点提取和描述来实现图像匹配。
SIFT算法的特点是具有旋转不变性、尺度不变性和光照不变性。
然而,SIFT算法计算复杂度较高,不适合实时应用。
2.SURF算法SURF算法是由Bay等人在2024年提出的一种加速鲁棒特征提取算法。
与SIFT算法相比,SURF算法主要优化了尺度空间构建、关键点检测和描述子生成等步骤。
SURF算法利用图像的Hessian矩阵来检测尺度空间的极值点,并通过Haar小波响应计算描述子。
该算法具有较好的尺度不变性和旋转不变性,同时计算速度更快。
然而,SURF算法对于局部对比度较低的图像特征提取效果较差。
3.ORB算法ORB算法是由Rublee等人在2024年提出的一种速度和描述能力兼具的特征提取算法。
该算法结合了FAST关键点检测和BRIEF描述子生成算法,并引入了旋转和尺度不变性。
ORB算法在FAST检测关键点时,通过计算像素灰度和检测周围点的弧长度来提高检测的稳定性。
在描述子生成过程中,ORB算法利用了方向梯度直方图(DOG)来提取关键点的旋转信息。
ORB算法具有快速、简单和可靠的特点,适合于实时应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 第一部分:用surf算法提 取特征点 • 第二部分:特征点匹配 • 第三部分:构建透视矩阵 完成拼接 • 第四部分 : 图像融合
一.用SURF算法 提取特征点
1.SURF 介绍
SURF (Speeded Up Robust Feature)是一种高鲁棒性的局 部特征点检测器。由Herbert Bay 等人在2006年提出。该算法 可以用于计算机视觉领域例如物体识别或者三维重建。根据 作者描述该算法比SIFT更快更加具有鲁棒性。该算法中采用 积分图像、Haar小波变换和近似的Hessian矩阵运算来提高时 间效率,采用Haar小波变换增加鲁棒性。
• •
最后总结
• Stitching函数不足之处:在拼接过程中 如遇到图像特征不明显,如一面墙的图 片,则无法采集到有用的特征点,在采 用此方法过程中会出现越界现象。
•Thank you for your attention!
• 加权平均法对于重叠部分的像素值不是简单的叠加求 平均值,而是先进行加权后,再进行叠加平均。假设 现在有两幅图像中的重叠部分分别定义一个权值,取 为d1和d2,并且d1和d2都满足条件属于(0,1),且 d1+d2=1。那么选择合适的权值,就能够使得重叠区 域实现平滑的过度。在重叠部分中,d1由1渐渐过渡到 0,到由0渐渐过渡到1。通过这样的监渐进变化进行融 合,其公式为:
特征点 方向分配
旋转窗口
1.8生成特征描述符
生成特征点的特征描述符需要计算图像的Haar小波响 应。在一个矩形的区域内,以特征点为中心,沿主方向将 20s*20s的图像划分成4*4个子块,每个子块利用尺寸2s 的Haar小波模板进行响应计算,然后对响应值进行统 计 dx , dx , dy , dy 形成的特征矢量 。
极值点 抑制
1.7.特征点方向分配 为了保证旋转不变性,需要对每一个特征点分配一个主要
方向。需要以特征点为中心,以6s(s为特征点的尺度)为半 径的圆形区域内,对图像进行Haar小波响应运算。这样做实 际就是对图像进行了梯度运算,但是利用积分图像,可以提 高计算图像梯度的效率。为了求取主方向值,需要设计一个 以方向为中心,张角为PI/3的扇形滑动窗口,以步长为0.2弧 度左右,旋转这个滑动窗口,并对窗口内的图像Haar小波的 响应值进行累加。 主方向为最大的Haar响应累加值对应的方 向。
Hessian矩阵的行列式的极值处即为特征点 而盒装滤波器代替高斯二阶微分算子要加 一定的权值w,作用是平衡因近似所带来的 误差,w约为0.9
Lxx是高斯模板与图像卷积 Dxx是盒子模板与图像卷积 用Dxx近似代替Lxx 加权系数 如果行列式的结果符号为负,则特征值有不同的符号,则 不是局部极值点。 如果行列式的符号为正,则该行列式的两个特征值同为正 或负,所以该点可以归类为极值点。
构建尺 度空间
图片 SIFT构建尺度空间 SURF构建尺度空间
1.5构建尺度空间
与SIFT相类似,SURF也将尺度空间划分成若干组 (Octaves)。一个组代表了逐步放大的滤波模板对同一个 输入图像进行滤波的一系列响应图像。每一组又有若干 固定的层组成。
变 化 量
51 27 15 27 15 51
通过(3.3)式和(3.4)式可以知道,选取4组对应点,就能够 计算出透视变换模型的8个参数,但是随机选取的对应 点不一定就能够得到模型的准确参数,所以在求其最 小值的过程中采用Levenberg—Marguqrdt迭代非线性 最小化方法对透视变换矩阵进行求精。
• 首先对于8个未知参数m,求偏导数,即:
•
(3.6)
• 式中的Di是(3.3)和(3.4)式的分母,然后计算两个矩阵 A和b,其中A中的元素为:
•
(3.7)
△
•
• 总结:采用这种变换矩阵的方法可以处 理图像之间存在平移、旋转、缩放等变 化条件下的拼接。
四.图像融合
• 四:图像融合
• 通过图像匹配将两幅图像变换到了同一坐标系后,得 到了两幅图像的拼接结果。但是,由于图像采集所带 来的光照、视野等的差异,拼接好的两幅图片在相结 合的部分会出现明显的拼接缝隙,图像融合技术就是 为了去除这种拼接缝隙的有力工具。图像融合应当满 足几个方面的要求:首先,为了消除图像的拼接缝隙 ,就必须采用一种渐变的方法来将拼接的缝隙部分像 素转变为从第一副图片渐变为第二幅图片;其次,图 像的融合应当只针对于拼接的结合部分有效,对于图 像的其他部分不能够产生影响;最后, • 融合算法在算法的复杂度上不能太高,不能影响了图 像拼接的整体速度。
1.1积分图像
A
C
B
D
积分图像
1.2Hessian矩阵
在SURF中,采用近似的Hessian矩阵的行列式的局部 最大值来定位感兴趣点的位置。当Hessian行列式的局部值 最大的时候,所检测出来的就是感兴趣点。感兴趣点的特 征为比周围邻域更亮或者更暗一些。 给定图像f(x,y)中一个点 (x,y),其Hessian矩阵H(x,o) 定义如下:
1.3盒子滤波器
• 下面介绍利用积分图像求Dxx、Dyy、Dxy的方法首先用前面的积分公式 把输入图像转化为积分图像,然后应用和状滤波器逐一对积分图像进行 处理,盒装滤波器灰色部分权值为0,不参与计算,Dxx模板和Dyy模板 各有两个白色部分和一个黑色部分,因此他们的盒装滤波器共有三个突 起部分,而Dxy模板有两个白色部分和两个黑色部分,因此它的盒装滤 波器共有四个突起部分,利用盒装滤波器对图像进行滤波处理得到响应 值得一般公式为:
标出特征点的图像
二.特征点 匹配
特征点匹配
步骤1. 在检测特征点的过程中,计算了 Hessian 矩阵 的行列式,与此同时,计算得到了 Hessian 矩阵的迹,矩 阵的迹为对角元素之和。 按照亮度的不同,可以将特征点分为两种,第一种为 特征点及其周围小邻域的亮度比背景区域要亮,Hessian 矩阵的迹为正;另外一种为特征点及其周围小邻域的亮度 比背景区域要暗,Hessian 矩阵为负值。根据这个特性, 首先对两个特征点的 Hessian 的迹进行比较。如果同号, 说明两个特征点具有相同的对比度;如果是异号的话,说 明两个特征点的对比度不同,放弃特征点之间后续的相似 特征点 性度量。
99
147 195
Octaves
6*n
75 99 构建尺 度空间
39 51
变化量 n*6
9
21 27
Scale
பைடு நூலகம்
1.6极值点抑制
为了在目标影像上确定SURF特征点,我们使用了 3*3*3的模板在3维尺度空间进行非最大化抑制,根据 预设的Hessian阈值H,当h大于H,而且比临近的26 个点的响应值都大的点才被选为兴趣点。最后进行插 值精确。
特征点 匹配
特征点匹配后图像
•三.构建透视矩 阵完成拼接
三.构建透视矩阵完成拼接
• 在参考图像和待拼接图像的重叠区域中提取到相应的 特征点集后,就需要构造变换透视矩阵,通过特征点 集不断进行迭代对透视矩阵求精,然后根据求得的透 视变换矩阵将待拼接图像变换到了参考图像的坐标。 但是从透视变换矩阵求得的变换坐标并不是整数,所 以还需要对求得的坐标进行灰度插值计算,以使图像 变换到正确的坐标系中。 • 透视变换矩阵是由Szeliski提出的图像变换法,首先通 过建立图像序列之间的变换模型,然后通过迭代算法 求出模型的变换参数,实现对图像序列的拼接,这就 是著名的8参数透视变换模型。对于相邻两幅图像之间 的变换关系,可以用一个具有8个参数的变换模型来描 述:
SURF 提取特征点
• 如下图所示第一行图像就是经过离散化,被剪切成9X9方格,=1.2的沿x 方向、y方向和xy方向的高斯二阶微分算子,即Lxx,Lxy,Lyy模板,这些 微分算子可以用9x9的盒装滤波器—Dxx模板、Dxy模板、Dyy模板替代 ,即图中第二行图像。盒装滤波器中白色部分权值为1,灰色部分权值为 0,Dxx和Dyy模板黑色部分的权值为-2,Dxy模板黑色部分权值为-1,白 色部分和黑色部分统称突起。
• •
(3.1)
•
(3.2)
• 其中,I(x,y)和Iʹ(xʹ,yʹ) 分别为两幅图像的对应点坐标 ,可以看出,计算透视变换矩阵H,实质上就是计算矩 阵中的8个参数。将(3.1)模型的矩阵形式进行改写,得 到
•
(3.3)
•
(3.4)
对于所有的对应点对,如果要确定8个未知参数,需要使 下式的值达到最小: (3.5)
•
N表示突起部分总和,对于Dxx模板和Dyy模板来说,N=3,对于Dxy模 板来说,N=4;Sn表示突起部分的面积,如对于9x9的Dxx模板和Dyy模板 来说,突起部分的面积都是是15(即像素数量),而对于9x9的Dxy模板 来说,突起部分面积都是9,除以Sn的作用是对模板进行归一化处理; Wn表示第n个突起部分的权值;而后面的括号部分就是前面的公式,求 模板的每个突起部分对应于图像四个点A、B、C、D所组成的矩阵区域 的灰度之和。
位置
尺度
快速 Hessian
• Lxx(x, ϭ )是高斯二阶微分在点X=(x,y)处与图像I的卷积 。 • Bay指出,高斯函数虽然是最佳的尺度空间分析工具, 但由于在实际应用中总要对高斯函数进行离散化和剪 切处理,从而损失了一些特性(如重复性)。这一因 素为我们用其他工具代替高斯函数对尺度空间的分析 提供了可能,只要误差不大就可以。所以就引入了盒 装滤波器。
旋转到主方向
主方向 5s*5s
Hear小波模板
生成特 征描述符
• 每个子块中又有25个采样像素,对于每 个区域内,我们需要累加所有25个采样 像素的dx和dy,这样形成描述符的一部 分,而为了把强度变化的极性信息也包 括今描述符中,我们还需要对dx和dy的 绝对值进行累加。这样每个区域就可以 用一个4维特征矢量表示,把所有4x4子 区域组合起来,就形成了一个64维特征 矢量,即surf描述符。