特征点提取

知乎链接

特征提取算法(多种角度比较sift/surf/brisk/orb/akze/freak/gftt)

 

一、基本概念:

作用:特征点提取在“目标识别、图像拼接、运动跟踪、图像检索、自动定位”等研究中起着重要作用;

主要算法:

•FAST ,Machine Learning forHigh-speed Corner Detection, 2006

•SIFT,Distinctive ImageFeatures from Scale-Invariant Keypoints,2004,invariant
to image translation, scaling, and rotation, partially invariant 
toillumination changes and robust to local geometric distortion

•SURF,Speeded Up RobustFeatures,2006,受SIFT启发,比SIFT快,健壮

•ORB,ORB: an efficientalternative to SIFT or SURF,2011,基于FAST,比SIFT快两个数量级,可作为SIFT的替代

•BRISK,BRISK:Binary Robust Invariant Scalable Keypoints

•STAR,Censure: Centersurround extremas for realtime featuredetection and matching,引用次数不高

•MSER,RobustWide Baseline Stereo from Maximally Stable ExtremalRegions,2002,斑点检测

•GFTT,GoodFeatures to Track,1994,Determines strong corners on animage

•HARRIS,Harris and M. Stephens (1988).“A combined corner and edge detector”,也是一种角点检测方法

•FREAK

 

•AKAZE等

其中标红的5项是在OpenCV中已经进行了实现的。

 



OpenCV 中和 2D 特征检测相关的算法的头文件位于

  • opencv\modules\features2d\include\opencv2\features2d.hpp,除SIFT、SURF以外的特征。
  • opencv\modules\nonfree\include\opencv2\nonfree\features2d.hpp,只包含SIFT、SURF这两个受专利保护的特征,因此不是免费的(nonfree)。


我们来看具体的类
DescriptorExtractor 的子类都是描述子提取器,包含

  • FREAK
  • OpponentColorDescriptorExtractor
  • BriefDescriptorExtractor


FeatureDetector 的子类都是特征检测器,包含

  • MSER
  • StarDetector,又名 StarFeatureDetector
  • FastFeatureDetector
  • GFTTDetector,又名 GoodFeaturesToTrackDetector
  • SimpleBlobDetector
  • DenseFeatureDetector


FeatureDetector 还提供一系列特殊的适配器子类,用于增强或加速之前的 FeatureDetector 类

  • GridAdaptedFeatureDetector
  • PyramidAdaptedFeatureDetector
  • AdjusterAdapter
  • DynamicAdaptedFeatureDetector
  • FastAdjuster
  • StarAdjuster
  • SurfAdjuster


Feature2D 的子类既是 FeatureDetector,又是 DescriptorExtractor,包含

  • BRISK
  • ORB
  • SIFT
  • SURF

opencv3.2 contrib模块还加入了深度特征VGG

 

特征点识别主要流程为:

 

1、检测关键点、提取描述向量和特征匹配;

2、通过检测关键点和提取描述向量构造出局部特征描述子,

3、然后进行特征匹配

提纯:ransac,ground trurh,NCC,SSDA

BeMatcher

特征点提取_第1张图片

特征点提取_第2张图片

特征点提取_第3张图片

二、数据准备:

数据集为pascal中取出的6个数据,分别针对特征点提取的6个方面

特征点提取_第4张图片

 

特征点提取_第5张图片

 

其中特征点识别在以下6个方面进行比较

1、算法匹配速度比较 (ubc)

测试方法:在相同的匹配环境下,即使用同样配置的计算机,对相同的一对图像进行比较,测试算法的执行时间

2、旋转变换鲁棒性比较 (bark)

测试方法:对同一图像进行一定角度的旋转,旋转角度逐步递增,旋转后的图像逐一与原始图像进行匹配,比较能够正确匹配的特征点对数,并观察正确匹配对数的变化幅度

3、模糊变换鲁棒性比较 (bikes)

测试方法:对同一图像用不同的高斯核进行模糊处理,模糊处理后的图像逐一与原始图像进

行匹配,比较能够正确匹配的特征点对数,并观察正确匹配对数的变化幅度

4、光照变换鲁棒性比较 (leuven)

测试方法:对同一图像的亮度进行改变,逐

渐降低亮度,改变亮度后的图像逐一与原始图像进行匹配,比较能够正确匹配的特征点对数,并观察正确匹配对数的变化幅度

5、尺度变换鲁棒性比较 (bark)

测试方法:对原图像的尺度大小进行改变,尺度变化后的图像逐一与原始图像进行匹配,比较能够正确匹配的特征点对数,并观察正确匹配对数的变化幅度

6、视角变换鲁棒性比较 (graf)

测试方法:对原场景转一定角度进行拍摄,不同视角的图像逐一与原始图像进行匹配,比较能够正确匹配的特征点对数,并观察正确匹配对

数的变化幅度

 

 

 

你可能感兴趣的:(特征点提取)