OpenCV+Python特征提取算法与图像描述符之SIFTSURFORB

OpenCV+Python特征提取算法与图像描述符之SIFTSURFORB,第1张

算法效果比较博文

用于表示和量化图像的数字列表,简单理解成将图片转化为一个数字列表世灶表示。特征向量中用来描述图片的各种属性的向量称为特征矢量。

参考

是一种算法和方法,输入1个图像,返回多个特征向量(主要用来处理图像的局部,往往会把多个特征向量组成一个一维的向量)。主要用于图像匹配(视觉检测),匹配图像中的物品。

SIFT论文

原理

opencv官网解释

实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。

尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。

其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。

对现实中物体的描述一定要在一个十分重要的前提下进行,这个前提就是对自然界建模时的尺度。当用一个机器视觉系统分析未知场景时,计算机没有办法预先知道图像中物体的尺度,因此我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。图像的尺度空间表达指的是图像的所有尺度下的描述。

KeyPoint数据结构解析

SURF论文

原理

opencv官网解释

SURF是SIFT的加速版,它善于处理具有模糊和旋转的图像,但是不善于处理视角变化和光照变化。在SIFT中使用DoG对LoG进行近似,而在SURF中使用盒子滤波器对LoG进行近似,这样就可以使用积分图像了(计算图像中某个窗口内所有像素和时,计算量的大小与窗口大小无关)。总之,SURF最大的特点在于采用了Haar特征以及积分图改团像的概念,大大加快了程序的运行效率。

因为专利原因,OpenCV3.3开核返橘始不再免费开放SIFT\SURF,需要免费的请使用ORB算法

ORB算法综合了FAST角点检测算法和BRIEFF描述符。

算法原理

opencv官方文档

FAST只是一种特征点检测算法,并不涉及特征点的特征描述。

论文

opencv官方文档

中文版

Brief是Binary Robust Independent Elementary Features的缩写。这个特征描述子是由EPFL的Calonder在ECCV2010上提出的。主要思路就是在特征点附近随机选取若干点对,将这些点对的灰度值的大小,组合成一个二进制串,并将这个二进制串作为该特征点的特征描述子。文章同样提到,在此之前,需要选取合适的gaussian kernel对图像做平滑处理。

1:不具备旋转不变性。

2:对噪声敏感

3:不具备尺度不变性。

ORB论文

OpenCV官方文档

ORB采用了FAST作为特征点检测算子,特征点的主方向是通过矩(moment)计算而来解决了BRIEF不具备旋转不变性的问题。

ORB还做了这样的改进,不再使用pixel-pair,而是使用9×9的patch-pair,也就是说,对比patch的像素值之和,解决了BRIEF对噪声敏感的问题。

关于计算速度:

ORB是sift的100倍,是surf的10倍。

对图片数据、特征分布的一种统计

对数据空间(bin)进行量化

Kmeans

边缘:尺度问题->不同的标准差 捕捉到不同尺度的边缘

斑点 Blob:二阶高斯导数滤波LoG

关键点(keypoint):不同视角图片之间的映射,图片配准、拼接、运动跟踪、物体识别、机器人导航、3D重建

SIFT\SURF

角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域中。也称为特征点检测。 角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。而实际应用中,大多数所谓的角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。

这些角点通常在图像中是稳定存在的。角点的微小偏移就能反映出图像帧的相对运动。

Harris角点检测算法就是对角点响应函数R进行阈值处理:R >threshold,即提取R的局部极大值。

特点:具有角度不变性

SIFT克服了Harris的不足,缩樱橘放也没影响,具有尺度不变性。

特点:角度不变性,尺度不变性

SURF是SIFT的加速版,它善于处理具有模糊和旋转的图像,但是不善于处理视角变化和光照变化。在SIFT中使用DoG对LoG进行近似,而在SURF中使用盒子滤波器对LoG进行近似,这样就可以使用积分图像了(计算图像中某个窗口内所有像素和时,计算量的大小与窗口大小无关)。总之,SURF最脊嫌团大的特点在于采用了Haar特征以及积分图像的概念,大大加快了程序的运行效率。

特点:角度不变性,尺度不变性

更多

ORB(Oriented FASTand Rotated BRIEF)算法是目前最快速稳定的特征点检测和提取算法,许多图像拼接和目标追踪技术利用ORB特征进行实现。

ORB采用FAST(features from accelerated segment test)算法来检测特征点,采用BRIEF算法来计算一个特征点的描述子。

特点:角度不变性,尺度不变性,计算速度者孝快(ORB是sift的100倍,是surf的10倍)

1、OpenCV版本


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12343214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存