更新时间:2023-05-15 09:02
在机器学习、模式识别和图像处理中,特征提取从初始的一组测量数据开始,并建立旨在提供信息和非冗余的派生值(特征),从而促进后续的学习和泛化步骤,并且在某些情况下带来更好的可解释性。特征提取与降维有关。特征的好坏对泛化能力有至关重要的影响。
对某一模式的组测量值进行变换,以突出该模式具有代表性特征的一种方法。通过影像分析和变换,以提取所需特征的方法。
特征提取是指使用计算机提取图像中属于特征性的信息的方法及过程。
至今为止特征没有万能和精确的定义。特征的精确定义往往由问题或者应用类型决定。特征是一个数字图像中“有趣”的部分,它是许多计算机图像分析算法的起点。因此一个算法是否成功往往由它使用和定义的特征决定。因此特征提取最重要的一个特性是“可重复性”:同一场景的不同图像所提取的特征应该是相同的。
特征提取是图象处理中的一个初级运算,也就是说它是对一个图像进行的第一个运算处理。它检查每个像素来确定该像素是否代表一个特征。假如它是一个更大的算法的一部分,那么这个算法一般只检查图像的特征区域。作为特征提取的一个前提运算,输入图像一般通过高斯模糊核在尺度空间中被平滑。此后通过局部导数运算来计算图像的一个或多个特征。
有时,假如特征提取需要许多的计算时间,而可以使用的时间有限制,一个高层次算法可以用来控制特征提取阶层,这样仅图像的部分被用来寻找特征。
由于许多计算机图像算法使用特征提取作为其初级计算步骤,因此有大量特征提取算法被发展,其提取的特征各种各样,它们的计算复杂性和可重复性也非常不同。
边缘
边缘是组成两个图像区域之间边界(或边缘)的像素。一般一个边缘的形状可以是任意的,还可能包括交叉点。在实践中边缘一般被定义为图像中拥有大的梯度的点组成的子集。一些常用的算法还会把梯度高的点联系起来来构成一个更完善的边缘的描写。这些算法也可能对边缘提出一些限制。
局部地看边缘是一维结构。
角
角是图像中点似的特征,在局部它有两维结构。早期的算法首先进行边缘检测,然后分析边缘的走向来寻找边缘突然转向(角)。后来发展的算法不再需要边缘检测这个步骤,而是可以直接在图像梯度中寻找高度曲率。后来发现这样有时可以在图像中本来没有角的地方发现具有同角一样的特征的区域。
区域
与角不同的是区域描写一个图像中的一个区域性的结构,但是区域也可能仅由一个像素组成,因此许多区域检测也可以用来检测角。一个区域监测器检测图像中一个对于角监测器来说太平滑的区域。
区域检测可以被想象为把一张图像缩小,然后在缩小的图像上进行角检测。
脊
长条形的物体被称为脊。在实践中脊可以被看作是代表对称轴的一维曲线,此外局部针对于每个脊像素有一个脊宽度。从灰梯度图像中提取脊要比提取边缘、角和区域困难。在空中摄影中往往使用脊检测来分辨道路,在医学图像中它被用来分辨血管。
特征被检测后它可以从图像中被抽取出来。这个过程可能需要许多图像处理的计算机。其结果被称为特征描述或者特征向量。
特征提取和特征选择都是从原始特征中找出最有效(同类样本的不变性、不同样本的鉴别性、对噪声的鲁棒性)的特征
特征提取:将原始特征转换为一组具有明显物理意义(Gabor、几何特征[角点、不变量]、纹理[LBP HOG])或者统计意义或核的特征
特征选择:从特征集合中挑选一组最具统计意义的特征,达到降维
两者作用:
1 减少数据存储和输入数据带宽;
2 减少冗余;
3 低纬上分类性往往会提高;
4 能发现更有意义的潜在的变量,帮助对数据产生更深入的了解。
1. 统计样本集中文档总数(N)。
2. 统计每个词的正文档出现频率(A)、负文档出现频率(B)、正文档不出现频率)、负文档不出现频率。
3.计算每个词的卡方值。
4.将每个词按卡方值从大到小排序,选取前k个词作为特征,k即特征维数。
1. 统计正负分类的文档数:N1、N2。
2. 统计每个词的正文档出现频率(A)、负文档出现频率(B)、正文档不出现频率)、负文档不出现频率。
3. 计算信息熵
4. 计算每个词的信息增益
5. 将每个词按信息增益值从大到小排序,选取前k个词作为特征,k即特征维数。
很多机器学习问题涉及自然语言处理(NLP),必然要处理文字信息。文字必须转换成可以量化的特征向量。下面我们就来介绍最常用的文字表示方法:词库模型(Bag-of-words model)。
词库模型是文字模型化的最常用方法。对于一个文档(document),忽略其词序和语法,句法,将其仅仅看做是一个词集合,或者说是词的一个组合,文档中每个词的出现都是独立的,不依赖于其他词是否出现,或者说当这篇文章的作者在任意一个位置选择一个词汇都不受前面句子的影响而独立选择的。词库模型可以看成是独热编码的一种扩展,它为每个单词设值一个特征值。词库模型依据是用类似单词的文章意思也差不多。词库模型可以通过有限的编码信息实现有效的文档分类和检索。
根据对图像信息处理的方法不同,特征点检测一般分为:
基于模板的方法
基于模板的方法主要是利用参数模型或模板来进行检测特征点的工作。因为需要构建各种不同的参数模型或模板,所以通常用于检测具备特定类型的特征点,计算速度一般较快。缺点是不适合用于形式比较复杂的模板。
基于边缘的方法
基于边缘的方法是把多边形的顶点,或曲率变化较大的物体边缘上的点作为特征点。因为特征点是物体边缘的集合,因此一定程度上对边缘的提取算法要求很高,如果边缘定位出现偏差,就会对检测结果造成很大的影响。
基于灰度的方法
基于灰度的方法是利用像素点灰度的局部变化来进行探测,特征点是建立在某种算法上,在该算法上灰度变化最大的像素点。可以利用微分运算来求取像素点周围灰度的导数,以此求出特征点的位置,该方法的缺点是噪声比较大。
基于空间变换的方法
基于空间变换的方法利用空间变换获取特性比较容易辨识的特征点,然后在变换空间中进行极值点的检测。通常空间分为尺度空间、频率空间、小波空间等。尺度空间是指在曲率尺度空间或在DOG尺度空间,将搜索到的绝对值最小或最大的点作为特征点。频率空间是将计算得到的局部相位或特定相位最大值当做特征点。小波变换是利用小波系数或模的局部极大值,利用最佳尺度进行极值点检测。