二值特征描述子 Brief ORB BRISK FREAK ppt
- 格式:pptx
- 大小:1.20 MB
- 文档页数:14
特征点检测与特征描述子SIFT特征:SIFT特征(Scale invariant feature transform)是一种局部特征检测的方法。
算法可以搜索出图像中的特征点,并且对特征点计算出一个128维的特征描述子以进行图像特征点匹配。
他具有尺度不变性,旋转不变性等优良性质,并且在一定程度上不受光照的影响。
原理介绍:在介绍SIFT之前,先引入LoG (Laplacian of Gaussian)算子的概念。
LoG算子实际就是在高斯滤波的基础上再求一个二阶导(拉普拉斯算子)。
图像经过与LoG的卷积,得到的新矩阵,我们通过寻找过0点就可以得到边缘角点等像素点。
并且使用归一化的LoG算子可以得到尺度不变性(无论图像的尺度大小,其极值点永远存在)。
之前曾经有人证明过,如果想要算子能够产生稳定的图像特征,可以使用尺度归一化的LoG算子。
但是由于直接进行计算比较费时,所以SIFT通过DOG(diference of Gaussian)来进行近似。
使用DOG来进行近似,需要构建高斯差分金字塔,在普通的图像金字塔基础上,在每个尺度的图像上使用标准差不同的高斯核做卷积。
之后,将相邻的图像相减得到最终的DOG结果,如下图所示。
在构造高斯图像金字塔时,需要以下几个参数。
O,图像降采样的次数,即有多少不同尺寸的图片;S,每个尺度的图片中,需要使用多少不同的高斯核进行卷积,σ,高斯核的标准差。
对于所有的DOG图,使用的高斯核的标准差满足下式:下图更直观的表现了这三个参数之间的关系,并且具体O的数量与图像实际大小以及最小尺寸图像的大小有关。
而在实际计算当中,S的取值为3-5左右,并且由于我们需要得到高斯模糊后图像的差值,所以我们实际需要S+2张高斯模糊的图像,相邻的图片作差以得到S 张DOG图。
在得到DOG之后,需要寻找关键特征点。
待寻找特征是DOG图中在空间上的极值点。
这样对于每个像素,在他周围有8个像素点,并且和他同图片大小但是高斯核标准差不同的两个相邻的图片间,他们在空间上也有相邻关系。
图像特征描述子之FREAK?在前【给力追-女生资-源】面的博文中,介绍的BRIEF、ORB、BRISK 算法都是基于特征点周围邻域像素点对之间的比较,形成二进制编码串作为特征【QQ】描述子,这种描述方法计算速度快,且占用内存小,满足一些实时【⒈】应用场景的需求。
对于这类特征描述子,关键是确定邻域哪些像【0】素点对进行比较,以及如何匹配。
BRIEF算法中特征点邻域的像素【1】点对是随机采样生成的,ORB算法是通过贪婪穷举的方法,在所有【6】可能的像素点对中选取相关性较小的若干点对,BRISK则是采用平【9】均采样的方法生成若干采样点。
特征匹配方法通常都是采样Ham【⒌】ming距离来进行度量,由于是二进制编码方式,可通过异或操作快速计【2】算。
特征点检【б】测?FAST算法可实现快速检测图像特征点,而且对应有一个加速版本AGAST,因此在诸多特征描述子中,都是首先通过FAST算法搜索定位特征点,再加以描述。
FREAK同BRISK算法类似,也是建立多尺度空间,在不同尺度的图像上使用FAST算法检测特征点。
采样模式?FREAK算法中采样模式接近于人眼视网膜接收图像信息的采样模型,如下图所示,人眼视网膜中,Fovea区域主要对高精度的图像信息进行处理,而Para区域则主要对低精度的图像信息进行处理。
在FREAK的采样模式中,图中每一个黑点代表一个采样点,每个圆圈代表一个感受野,每个采样点需进行高斯模糊处理,以降低噪声影响,感受野的半径表示高斯模糊的标准差。
这种采样模式与BRISK的不同之处在于,感受野之间存在重叠的区域;与BRIEF和ORB算法的不同之处在于,FREAK的采样点根据与特征点的距离远近,采用了不同大小的高斯核函数进行平滑处理。
不同大小的感受野在人眼视网膜中也存在类似的结构,通过重叠的感受野,可以获得更多的信息,使最终的描述符更具独特性和可区分性。
最终FREAK算法的采样结构为6、6、6、6、6、6、6、1,6代表每层中有6个采样点并且这6个采样点在一个同心圆上,一共有7个同心圆,最后的1表示特征点。
又快又准的特征匹配方法又快又准的特征匹配方法是计算机视觉领域中非常重要的一个问题。
特征匹配是指在两个或多个图像中找到具有相似性的特征点,并建立它们之间的对应关系。
特征匹配在很多应用中都有广泛的应用,如图像配准、目标检测和跟踪等。
在过去的几十年中,研究人员提出了许多特征匹配方法,其中一些方法即使在处理大规模数据集时也能提供很高的匹配准确性和效率。
下面将介绍几种又快又准的特征匹配方法。
1.SIFT(尺度不变特征变换)SIFT是一种非常经典的特征匹配算法,在很多应用中都被广泛使用。
它通过将图像中的特征点转换成尺度、旋转和亮度不变的向量,然后使用特征向量之间的欧氏距离来进行匹配。
SIFT算法具有很高的匹配准确性和鲁棒性,但在处理大规模数据集时会存在时间和空间复杂度较高的问题。
2.SURF(加速稳健特征)SURF是一种基于SIFT的改进算法,能够在保持较高匹配准确性的同时提高匹配的速度。
SURF算法用Hessian矩阵来检测特征点,并通过使用积分图像来加速特征描述子的计算。
这种基于加速稳健特征的特征匹配方法比SIFT更快、更鲁棒,适用于处理大规模数据集。
3.ORB(方向倒角二值描述子)ORB是一种在效率和准确性之间取得平衡的特征匹配算法。
它结合了FAST关键点检测器和BRIEF特征描述子,使用方向倒角二进制描述子来表示特征点,从而使得匹配速度更快。
ORB算法在实践中表现良好,尤其适用于移动设备上的实时应用。
4.BRISK(加速鲁棒特征)BRISK是一种能够提供快速、鲁棒特征匹配的算法。
它通过快速角点检测器来检测特征点,并使用二进制描述子来进行特征匹配。
BRISK算法具有较低的计算复杂度和内存消耗,并且能够在保持较高的匹配准确性的同时提供很高的速度。
TCH(局部联合二进制特征)LATCH是一种基于二进制特征匹配的算法,具有很高的匹配速度和鲁棒性。
LATCH算法通过使用快速特征检测器和局部联合二进制描述子来检测和匹配图像中的特征点。
图像分类学习笔记:词袋模型和空间金字塔匹配Image Classification Framework:Bag-of-Words&Spatial Pyramid Matching一、基础:词袋模型(Bag of Words)Bag-of-Words(词袋、词包)模型,或称Bag of Features模型,源于文本分类技术。
在信息检索中,假定对于一个文本,忽略其词序和语法、句法。
将其仅仅看作是一个词的集合,每个词都是彼此概率独立的。
这样可以通过文档中单词出现的频率来对文档进行描述与表达。
Csurka等[1]于2004年将其引入计算机视觉领域。
其核心思想在于,图像可以视为一种文档对象,图像中不同的局部区域或其特征可看作构成图像的词汇,其中相近的区域或其特征可以视作为一个词。
这样,可以把每幅图像描述为一个局部区域/关键点(Patches/Key Points)特征的无序集合。
理论对应关系如下:图像特征聚类中心特征聚类集合用词袋模型生成对一张图像的描述向量的处理步骤:1、局部特征提取通过兴趣点检测、密集采样或随机采集,结合图割区域、显著区域等方式获得图像各处的局部特征。
常用的是SIFT特征和Dense SIFT特征。
2、构建视觉词典在整个训练集上提取局部特征后,使用某种聚类算法(如K-means)将局部特征进行聚类,每个聚类中心可以看作是词典中的一个视觉词汇(Visual Word),相当于文本检索中的词,视觉词汇由聚类中心对应特征形成的码字(code word)来表示(可看作一种特征量化过程)。
所有视觉词汇形成一个视觉词典(Visual Vocabulary),词典中所含词的个数反映了词典的大小。
3、特征量化编码图像中的每个特征都将被映射到视觉词典的某个词上,然后统计每个视觉词在一张图像上的出现次数,即可将该图像描述为一个维数固定的直方图向量。
4、训练分类模型并预测用于图像分类时,如上对训练集提取Bag-of-Features特征,在某种监督学习(如SVM)的策略下,对训练集的Bag-of-Features特征向量进行训练,获得对象或场景的分类模型;在分类模型下,对该特征进行预测,从而实现对待测图像的分类。
常用的特征描绘子在计算机视觉和图像处理领域,特征描绘子是用于描述图像中的特定属性或纹理信息的数学表示。
特征描绘子对于图像匹配、对象识别和图像检索等任务非常重要。
下面将介绍一些常用的特征描绘子。
1.SIFT(尺度不变特征变换):SIFT是一种用于在不同尺度上检测和描述局部特征的算法。
它通过应用高斯滤波器来寻找具有高灵敏度的关键点,并使用关键点周围的局部图像区域来构建描述子。
SIFT特征具有尺度不变性和旋转不变性,因此在大规模图像检索和对象识别中广泛应用。
2. SURF(加速稳健特征):SURF是一种基于Hessian矩阵的局部特征描述子。
它通过计算图像中的灰度变化率来检测特征点,并构建了一种基于梯度直方图的描述子。
SURF特征具有尺度不变性、旋转不变性和光照不变性,且计算速度比SIFT更快,因此适用于实时图像处理任务。
3.ORB(方向鲁棒特征):ORB是一种结合了FAST角点检测器和BRIEF特征描述子的特征描绘子。
它通过检测图像中的角点,并使用二进制描述子来描述这些角点的特征。
ORB特征具有尺度不变性、旋转不变性和仿射不变性,且计算速度比SIFT和SURF都更快,因此适用于实时图像处理应用。
4.HOG(方向梯度直方图):HOG是一种用于物体检测和人体姿态估计的特征描述子。
它通过计算图像中局部区域的梯度直方图来描述图像的形状和纹理信息。
HOG特征在人体检测和行人识别等任务中表现出色,并且对于图像的尺度和旋转变化具有一定的鲁棒性。
5.LBP(局部二值模式):LBP是一种用于纹理分析和表情识别的特征描述子。
它通过将局部图像区域与其周围像素比较,并将比较结果编码为二进制数来描述纹理特征。
LBP特征在纹理分类和人脸识别等任务中表现出色,并且对于光照变化和噪声干扰具有一定的鲁棒性。
除了上述特征描绘子,还有许多其他的常用特征描绘子,如GIST(总体图像特征)、BRISK(加速旋转不变特征)、FREAK(快速稳定特征)等。
多种角度比较SIFT、SURF、BRISK、ORB、FREAK算法一、本文概述随着计算机视觉技术的飞速发展,特征点检测与描述算法在图像匹配、目标识别、三维重建等领域扮演着举足轻重的角色。
在众多特征点算法中,SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)、SURF(Speeded Up Robust Features,加速鲁棒特征)、BRISK(Binary Robust Invariant Scalable Keypoints,二进制鲁棒不变可伸缩关键点)、ORB(Oriented FAST and Rotated BRIEF,带方向性的FAST和旋转的BRIEF)以及FREAK(Fast Retina Keypoint,快速视网膜关键点)等算法因其优秀的性能而备受关注。
本文旨在对这五种算法进行多角度的比较分析,以便读者更全面地了解它们的性能特点,为实际应用提供参考。
我们将从算法原理、计算效率、特征点稳定性、抗噪声干扰能力、旋转不变性、尺度不变性等多个维度对五种算法进行深入探讨。
通过理论分析和实验验证,本文将揭示各算法在不同应用场景下的优势和不足,为算法的选择和优化提供有力依据。
本文还将结合实际应用案例,展示各算法在图像匹配、目标跟踪、全景拼接等领域的实际应用效果,以便读者更好地理解各算法在实际应用中的表现。
通过本文的阅读,读者将能够全面掌握五种主流特征点检测与描述算法的核心原理、性能特点和应用场景,为计算机视觉领域的深入研究和实践应用提供有力支持。
二、算法原理比较在深入了解SIFT、SURF、BRISK、ORB和FREAK这五种算法的原理之后,我们可以从多个角度对它们进行比较。
首先是特征点检测与描述子生成。
SIFT(尺度不变特征变换)通过DOG(差分高斯)金字塔来检测关键点,并使用128维向量进行描述。
SURF(加速鲁棒特征)则使用Hessian矩阵和积分图像进行关键点检测,并生成64维描述子。
特征点抗光照变化的描述子抗光照变化的特征点描述子是用于识别和匹配图像特征点的一种特征表示方法。
由于光照变化对图像的影响很大,传统的特征点描述子例如SIFT和SURF在光照变化下往往无法准确匹配特征点。
因此,研究者提出了一些抗光照变化的特征点描述子,目的是提高特征点的鲁棒性和匹配准确性。
下面是一些常见的抗光照变化的特征点描述子:1. BRISK(Binary Robust Invariant Scalable Keypoints):BRISK是一种二进制描述子,它通过计算边缘方向和角度差异来抵抗光照变化。
BRISK采用自适应尺度分析的方式提取特征点,并计算特征点周围区域的ORB描述子。
2. LATCH(Learned Arrangements of Three Patch Codes):LATCH是一种基于深度学习的抗光照变化的描述子。
LATCH 通过训练神经网络学习特征点的描述子,从而在光照变化下保持较好的匹配性能。
3. BRIEF(Binary Robust Independent Elementary Features):BRIEF是一种基于二进制编码的特征点描述子。
它通过计算特征点周围的灰度差异来表征特征点,并使用二进制编码形式表示描述子。
4. ORB(Oriented FAST and Rotated BRIEF):ORB是一种结合了FAST角点检测器和BRIEF描述子的抗光照变化的特征点描述子。
ORB通过FAST角点检测器提取特征点,然后计算特征点周围区域的BRIEF描述子。
这些抗光照变化的特征点描述子在图像特征点匹配、物体识别、三维重建等领域具有广泛的应用。
它们的共同特点是能够在光照变化下保持较好的稳定性和鲁棒性,从而提高了图像处理和计算机视觉任务的性能。
BRIEF特征描述⼦Binary Robust Independent Elementary Features1. BRIEF的基本原理我们已经知道SIFT特征采⽤了128维的特征描述⼦,由于描述⼦⽤的浮点数,所以它将会占⽤512 bytes的空间。
类似地,对于SURF特征,常见的是64维的描述⼦,它也将占⽤256bytes的空间。
如果⼀幅图像中有1000个特征点(不要惊讶,这是很正常的事),那么SIFT或SURF特征描述⼦将占⽤⼤量的内存空间,对于那些资源紧张的应⽤,尤其是嵌⼊式的应⽤,这样的特征描述⼦显然是不可⾏的。
⽽且,越占有越⼤的空间,意味着越长的匹配时间。
但是实际上SFIT或SURF的特征描述⼦中,并不是所有维都在匹配中有着实质性的作⽤。
我们可以⽤PCA、LDA等特征降维的⽅法来压缩特征描述⼦的维度。
还有⼀些算法,例如LSH,将SIFT的特征描述⼦转换为⼀个⼆值的码串,然后这个码串⽤汉明距离进⾏特征点之间的匹配。
这种⽅法将⼤⼤提⾼特征之间的匹配,因为汉明距离的计算可以⽤异或操作然后计算⼆进制位数来实现,在现代计算机结构中很⽅便。
下⾯来们提取⼀种⼆值码串的特征描述⼦。
BRIEF[1]应运⽽⽣,它提供了⼀种计算⼆值串的捷径,⽽并不需要去计算⼀个类似于SIFT的特征描述⼦。
它需要先平滑图像,然后在特征点周围选择⼀个Patch,在这个Patch内通过⼀种选定的⽅法来挑选出来n d个点对。
然后对于每⼀个点对(p,q),我们来⽐较这两个点的亮度值,如果I(p)>I(q)则这个点对⽣成了⼆值串中⼀个的值为1,如果I(p)<I(q),则对应在⼆值串中的值为-1,否则为0。
所有n d个点对,都进⾏⽐较之间,我们就⽣成了⼀个n d长的⼆进制串。
对于n d的选择,我们可以设置为128,256或512,这三种参数在OpenCV中都有提供,但是OpenCV中默认的参数是256,这种情况下,⾮匹配点的汉明距离呈现均值为128⽐特征的⾼斯分布。