一、特征提取
- 计算机视觉领域(cv)主要目标是智能的处理图像,其中图像描述领域最关键的便是特征的提取以及更人性化的提取目标图片中人类所更关注的特点,学好特征提取就是为学好图像描述打好重要的基础。
二、特征检测和提取算法
有许多用于特征检测和提取的算法,OpenCV最常使用的特征检测和提取算法有:
- Harris:该算法用于检测角点;
- SIFT:该算法用于检测斑点;
- SURF:该算法用于检测角点;
- FAST:该算法用于检测角点;
- BRIEF:该算法用于检测斑点;
- ORB:该算法代表带方向的FAST算法与具有旋转不变性的BRIEF算法;
三、特征匹配方法
- 暴力(Brute-Force)匹配法;
- 基于FLANN匹配法;
- 可以采用单应性进行空间验证。
四、特征提取算法比较
- 计算速度: ORB>>SURF>>SIFT(各差一个量级)
- 旋转鲁棒性: SURF>ORB~SIFT(表示差不多)
- 模糊鲁棒性: SURF>ORB~SIFT
- 尺度变换鲁棒性: SURF>SIFT>ORB(ORB并不具备尺度变换性)
五、基本概念
- 特征向量 用于表示和量化图像的数字列表,简单理解成将图片转化为一个数字列表表示。特征向量中用来描述图片的各种属性的向量称为特征矢量。
- 特征描述符(特征描述子)Descriptor 是一种算法和方法,输入1个图像,返回多个特征向量(主要用来处理图像的局部,往往会把多个特征向量组成一个一维的向量)。主要用于图像匹配(视觉检测),匹配图像中的物品。
- SIFT特征算法与DoG尺度空间 实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。
- SIFT 尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。
- 尺度空间 对现实中物体的描述一定要在一个十分重要的前提下进行,这个前提就是对自然界建模时的尺度。当用一个机器视觉系统分析未知场景时,计算机没有办法预先知道图像中物体的尺度,因此我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。图像的尺度空间表达指的是图像的所有尺度下的描述。