首页 > 编程知识 正文

特征抽取,图像的特征提取方法

时间:2023-05-04 18:08:34 阅读:12457 作者:2429

前言本节主要介绍提取低级特征信息的方法。 在某些情况下,这些信息足以理解图。 然而,低级特征提取函数的目的通常是为更高级的分析提供信息。 用于边界、拐角和运动提取的方法具有Robustness和性能所需的特别长的特性。

基本概述低级特征是可以从图像中自动提取而不需要形状/空间关系信息的基本特征,例如,通用阈值方法是作为点的低级特征提取方法。 可以将所有低级方法应用于高级特征提取,以便在图像中找到形状。 众所周知,我们可以从漫画家画的图像中识别人。 这是我们知道的第一个低级特征,叫做“边缘检测”。 其目的是绘制线条图。 既有基础技术,也有先进技术。 我知道其中几个最受欢迎的方法。 一次检测算子相当于一次微分法,二次边缘检测算子相当于一次微分处理。 边缘检测的另一种形式称为相位一致性。 其次,考虑以下转角检测,将检测线条高曲率突然弯曲的地方视为局部特征提取技术,并以更先进的方法扩展到局部区域/感兴趣块的检测。 本节由一阶、二阶边缘检测算子、其他边缘检测算子、相位一致性和局部特征检测几个具体内容组成。

基于一阶边缘检测算子边缘检测的分析不易受到整体照度变化的影响,许多图像理解方法都是基于边缘的。 边缘检测强调图像的对比度。 通过检测对比度,即亮度的差异,可以增强图像中边界的特征。 这些边界出现的就是图像亮度的差异。 目标边界实际上是亮度级别的楼梯变化,边缘是楼梯变化的位置。 除了输入扫频信号没有变化的情况以外,可以使用一阶微分来强调边缘的变化并检测边缘位置。

可以通过对相邻的点进行差分处理来强调亮度的变化。 对水平方向上的相邻点进行差分是能够检测垂直方向上的亮度变化,通常被称为水平边缘检测算子。 由于该差分值为0,所以在水平操作员搜索中不显示水平方向的亮度变化。 另一方面,由于垂直边缘检测算子需要对垂直方向上的相邻点进行差分处理,以能够确定水平方向上的亮度变化而不是垂直方向上的亮度变化,所以检测水平边缘。 常见的一阶边缘检测算子如下。

Sobel边缘检测操作符Sobel操作符是将两个Prewitte模板的中心像素的权重加倍后的值。 它由两个用矢量方法确定边缘的掩码组成。 Sobel算子的这一常见形式是由一个坐标轴上的最佳平滑和另一个坐标轴上的最佳差分缩合而成的。 换言之,Sobel运算符有两个,一个是检测水平边缘; 另一个是检测垂直边缘。 这很有效,因为可以对像素位置的影响进行加权,以降低边缘的模糊度。

Sobel算子是滤波器算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此得到了广泛的应用。 有关详细信息,请访问http://www.Sina.com/http://www.Sina.com /。

Canny边缘检测算子Canny边缘算子由三个主要目标形成。 第一,无附加响应的最优检测,即不丢失重要边缘,不允许有虚假边缘; 第二博文实际边缘与检测到的边缘位置之间的偏差最小; 第三,减少单个边缘的复用响应以获得单个响应。 这是首要目标是降低噪声响应。 第二个目标是准确的,在正确的位置检测边缘。 第三个目标是将单个边缘点合并到亮度变化的位置。 Canny指出fzdkj算子最适合图像平滑处理。

有关详细信息,请参阅【特征提取】差分近似图像导数算子之Sobel算子

二次边缘检测算子的一次边缘检测,前提是微分处理强调变化,且图像亮度在特征边界发生变化。 该过程如下图所示。

图a的图像数据的横向屏幕截图表示图b所示的一阶边缘检测的结果f(x )=df/dx是峰值,图a所示的信号f ) x的变化比例最大。 另外,也可以使用高次导数; 当应用于相同横向的屏幕截图数据时,对于图c所示的导数f’(x )=df’(x )/dx,在信号的变化比例最大的情况下其值也最大,在变化比例为常数的情况下其值为0。 一阶导数在峰值位置的变化比例是常数。 这就是二次导数的过零位置,在该位置变为正负符号。 由此可知,作为1次微分以外的方法,有应用2次微分,在2次信息中找到零交叉点的方法。

Laplacian运算符Laplacian运算符是实现二阶微分的模板。 二阶微分可以利用相邻的两个一阶微分之差来近似。 如果对原始图像进行拉普拉斯变换,以增强图像中灰度急剧变化时的对比度,则图像中的细小部分会得到强调,图像背景的色调得到保留,图像的细节会比原始图像更清晰。 拉普拉斯变换图像增强已成为锐化图像的基本工具。 如下图所示。

 

有关详细信息,请参阅

Marr-Hildreth算子Marr-Hildreth方法也利用fzdkj滤波。 理论上,需要将图像fzdkj运算符和图像进行卷积计算得到的2阶微分即帧图像。 Marr-Hildr

eth算子的一个优点是赛马场能够给出封闭的边缘边界,而Canny算子不能。另一个优点是它能够避免延后Threshold的递归计算。更为详细知识,请参考博文【特征提取】Marr-Hildreth边缘检测器

LoG算子

Laplacian of Gaussian计算可以利用fzdkj差分来近似,其中差分是由两个fzdkj滤波与不同变量的卷积结果求解获得。从两个平滑算子的差分得出的是二阶边缘检测。图下所示,在1-D空间,不同变量的两个fzdkj分布相减形成一个一维算子,其横截面图与LoG算子的形状是一样的。


更为详细知识,请见参考博文【特征提取】LOG算子

DoG算子

fzdkj函数的差分是可以通过将图像与fzdkj函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和fzdkj低通滤波器的fzdkj一样,是一个函数,即为正态分布函数。同时,它对fzdkj拉普拉斯LoG的近似,在某一尺度上的特征检测可以通过对两个相邻fzdkj尺度空间的图像相减,得到DoG的响应值图像。如下图所示:

 

关于DoG算子更为详细知识,请见参考博文【特征提取】DOG算子

其它边缘检测算子

边缘检测方法有许多。很显然,任何实现在计算成本和效率都要有折中。在有些情况下,很难判断Canny和Marr-Hilderth算子相关的复杂性。这一定程度在于图像本身。即:很少图像图像不含一些不利的noise。这些情形都需要要让边缘检测算子来处理。而且,找到形状后,经常需要提取许多低层次次信息,以便根据信息是否用来判断是用于更加精确的形状检测处理。

xxdxtg算子源于一个只想找出边缘方法,由于除了边缘,还可以用于找到corner并在保存结构的情形下减少图像noise,实质上,xxdxtg处理是最小核相似区,主要累计以核为中心的模板各个成分之间的差质.更为详细知识,请见参考博文【特征提取】xxdxtg算子。此算子还含有一个利用非极大值亦制计算边缘方向的方法。其优点是简便,因为处理简单,而且可以找到时其他特征类型扩展。

相位一致性

边缘检测算子的比较研究突出了它们的一些内在问题:不完全整Contour,Threshold选择和noise响应问题。当局部光照变化,选择单个阈值值通常不能用于图像中的所有区域。我们将发现其中有些问题可以在高层次上得到处理,因为高层次处理时形状提取可以调节部分数据而屏弃假的信息。

相位一致性(phase congruency)方法是一个特征检测算子,它有两个主要优点:第一,可以检测大范围的特;第二、对局部和平滑光照变化具有不变性。正如其名,它是基于相位(即时间)考虑的频域处理。图下所示是显示检测出的1-D特征,其中特征是实线。


图(a)所示的是有noise阶梯函数,图(b)所示的是峰值。通过Fouier变换分析,任何函数都是由不同频率的sina波控制叠加而成的。就阶梯函数而言,各个频率(图(a)中的虚线)都在同一时间上产生多种变化,叠加起来成为边缘。同样地,峰值是各个频率在同一时间达到峰值而产生的;图(b)中实线表示峰值,虚线表示其中一些组成的频率。这表明,为了找到我们相要的特征,可以确定一些同时发生事件点:这就是相位一致性。 通过一般化处理,一个三角形波由峰值和谷值组成:相位一致性意味组成信号的峰值各谷值是完全一致。图(a)所示的组成sina波是这样得到的,对一个阶梯(step)进行Fouier变换,然后根据其幅度和相位麦乳精确定那些sina波。

这两个优点其实就是一致性检测具有局部对比度不变性:即使阶梯边缘强度变小,sina波不断叠加,其变化位置不变。在图像中,这意味着即使我们变化对比度,仍然可要检测边缘。如图下所示。

图中图像右下方的建筑特在Canny算子图像中没有被检测到,而在相味一致性方法图中显示得很清楚。如查对度再次变化,那么canny算子参数也要重新的进行调整优化。而相位一致性方法不存在类似问题。

定位特征提取

通过测量特殊的图像特征来得到局部特征是传统的方法。其主要局部曲率的峰值(即:角点),利用角点来分析图像。以及一些最新方法,利用基于区域或图像块(SIFT,SURF)的分析来提高性能。首先,我们先介绍一些经典的算子检测方法。

Trajkovic算子检测

Trajkovic算子角点提取方法存在价值是在角点提取的效果上,它优于同时期的其他角点(如Moravec角点,Harris角点)提取方法,同时,从算法的运行速度角度而言,它比同是期的其他角点提取方法要快很多。Trajkovic在速度方面的表现于决定它能够应用对实时要求比较高的系统中。但是Trajkovic也有缺点是它不具备旋转不变性,对噪声比较敏感,对对角点的响应值比较大等。对于这些缺点也会有相应的方法,但不能完全的解决这些缺点。Trajkovic算子计算角点量是在一个小的圆形窗口内,并且考虑了所有通过圆心的直线,即计算了每一个可能的方向上的灰度值变化程度。更为详细知识,请见参考博文【特征提取】图像角点检测之Trajkovic算子

Moravec检测器

Moravec的原理就是通过滑动二值矩形窗口寻找灰度变化的局部最大值。Moravec角点检测算法是最早的角点检测算法之一,虽然该算法有很多缺点而且实用性也很差,但是它是很多算法的基础,

该算法将角点定义为具有低“自相关性”的。算法会检测图像的每一个像素,将像素周边的一个邻域作为一个窗口,并检测这个窗口和周围其他窗口的相关性。这种相关性通过两个窗口间的平方差之和(SSD)来衡量,SSD值越小则相似性越高。如果像素位于平滑图像区域内,周围的窗口都会非常相似。如果像素在边缘上,则周围的窗口在与边缘正交的方向上会有很大差异,在与边缘平行的方向上则较为相似。而如果像素是各个方向上都有变化的特征点,则周围所有的窗口都不会很相似。Moravec会计算每个像素窗口和周围窗口的SSD最小值作为强度值,取局部强度最大的点作为特征点。更为详细知识,请见参考博文【特征提取】Moravec检测器

Harris检测器

Harris角点检测器的优点是对二维平移和旋转,少量光照变化,少量视角变化都不每感,而且其计算其很小。另一方面,当有较大变化,视角变化以及对比鲜明的剧烈变化时,它就失去了原先的不变性。从经典的Harris角点检测方法不难看出,该算法的稳定性和k有关,而k是个经验值,不好把握,浮动也有可能较大。鉴于此,改进的Harris方法直接计算出两个特征值,通过比较两个特征值直接分类,这样就不用计算Harris响应函数了。另一方面,我们不再用非极大值抑制了,而选取容忍距离:容忍距离内只有一个特征点。该算法首先选取一个具有最大最小特征值的点(即:max(min(e1,e2)),e1,e2是harris矩阵的特征值)作为角点,然后依次按照最大最小特征值顺序寻找余下的角点,当然和前一角点距离在容忍距离内的新角点呗忽略。更为详细知识,请见参考博文【特征提取】Harris角点检测

区域/图像块分析:尺度不变特征变换(SIFT)

SIFT算法主要包括两个阶段,一个是SIFT特征的生成,即从多幅图像中提取对尺度缩放、旋转、亮度变化无关的特征向量;第二阶段是SIFT特征向量的匹配。SIFT方法中的低层次特征提取是选取那些显特征,这些特征具有图像尺度(特征大小)和旋转不变性,而且对光照变化也具有一定程度的不变性。此外,SIFT方法还可以减少由遮挡、杂乱和噪声所引起的低提取概率。更为详细知识,请见参考博文【图像分析】尺度不变特征变换(SIFT)特征提取分析

区域/图像块分析:SURF

引入尺度不变的特征,主要的思想是每个检测到的特征点都伴随着对应的尺寸因子。当我们想匹配不同图像时,经常会遇到图像尺度不同的问题,不同图像中特征点的距离变得不同,物体变成不同的尺寸,如果我们通过修正特征点的大小,就会造成强度不匹配。

为了解决这个问题,提出一个尺度不变的SURF特征检测,在计算特征点的时候把尺度因素加入之中。SURF与SIFT算法相似,SIFT算法比较稳定,检测特征点更多,但是复杂度较高,而SURF要运算简单,效率高,运算时间短一点。第一、SURF算法是对SIFT算法加强版,同时加速的具有鲁棒性的特征。第二、标准的SURF算子比SIFT算子快好几倍,并且在多幅图片下具有更好的鲁棒性。SURF最大的特征在于采用了harr特征以及积分图像integral image的概念,这大大加快了程序的运行时间。为了实现尺度不变性的特征点检测与匹配,SURF算法则先利用Hessian矩阵确定候选点,然后进行非极大抑制,计算复杂度降低多了。更为详细知识,请见参考博文【图像分析】SURF特征提取分析

参考资料

[1] Feature Detection (Computer Vision) From Wikipedia, the free encyclopedia.

[2] Richard Szeliski,"Computer Vision:Algorithms and Applications", Microsoft Research, 2010.


关于Image Engineering & Computer Vision的更多讨论与交流,敬请关注本博和新浪微博songzi_tea.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。